Помощь в написании студенческих работ
Антистрессовый сервис

Разработка 8 разрядного процессора с использованием принципа схемной логики, выполняющего операцию деления чисел, представленных в двойной системе счисления, представленных в двойной системе чисел

Курсовая Купить готовую Узнать стоимостьмоей работы

Все действия в МК51 осуществляются через аккумулятор A, поэтому предусмотрим его обнуление в программе. Флаг переноса C будем использовать для анализа знака частичного остатка и для передачи отдельных битов из аккумулятора, который и будет служить нам для временного хранения промежуточного результата, в регистры R4 и R6. В регистр R6 будет записан результат деления. Так как регистр R2 восьми… Читать ещё >

Разработка 8 разрядного процессора с использованием принципа схемной логики, выполняющего операцию деления чисел, представленных в двойной системе счисления, представленных в двойной системе чисел (реферат, курсовая, диплом, контрольная)

Содержание

  • 1. Составление словесного алгоритма
  • 2. Синтез операционного устройства
  • 3. Синтез управляющего устройства в формате автомата Мура
    • 3. 1. Построение схемы алгоритма в микрооперациях
    • 3. 2. Построение схемы алгоритма в микрокомандах
    • 3. 3. Построение графа функционирования
    • 3. 4. Кодирование состояний устройства
    • 3. 5. Структурная схема управляющего устройства
    • 3. 6. Построение таблицы функционирования комбинационного узла
    • 3. 7. Запись логических выражений для выходных величин комбинационного узла
    • 3. 8. Построение схемы комбинационного узла и процессора
  • 4. Программирование операции умножение на базе МК

Входящие в выражения значения а0, а1, а2, определяемые комбинацией значений Q2 и Q1, могут быть получены с помощью дешифратора. Остальная часть схемы строится в соответствии с полученными для выходных величин логическими выражениями. Схема комбинационного узла приведена на рис. 6.

Рис. 6. Логическая схема комбинационного узла.

Логическая схема управляющего устройства приведена на рис. 7.

Рис. 7. Логическая схема управляющего устройства.

Логическая схема процессора приведена на рис. 8.

Рис. 8. Логическая схема процессора.

4. ПРОГРАММИРОВАНИЕ ОПЕРАЦИИ ДЕЛЕНИЯ НА БАЗЕ МК51

Для выполнения операции деления воспользуемся регистрами R1 — R6.

В регистр R3 запишем делитель. В регисты R1 и R2 запишем соответственно старшие и младшие разряды 16-ти разрядного делимого.

Все действия в МК51 осуществляются через аккумулятор A, поэтому предусмотрим его обнуление в программе. Флаг переноса C будем использовать для анализа знака частичного остатка и для передачи отдельных битов из аккумулятора, который и будет служить нам для временного хранения промежуточного результата, в регистры R4 и R6. В регистр R6 будет записан результат деления. Так как регистр R2 восьми разрядный, то операцию сдвига нужно выполнить восемь раз для получения правильного результата. Регистр R5 будем использовать в качестве счетчика.

0001 0000 .org 0

0002 0000 ;

—————————————-;

0003 0000 C3 CLR C; обнуление флага переноса

0004 0001 E4 CLR A; обнуление аккумулятора

0005 0002 7E 00 MOV R6, #0; обнуление регистра частного

0006 0004 79 02 MOV R1, #02; запись в RD делителя

0007 0006 7A 00 MOV R2, #00; запись в RD1 старших разрядов делимого

0008 0008 7B 06 MOV R3, #06; запись в RD2 младших разрядов делимого

0009 000A 7D 07 MOV R5, #07; запись в регистр счетчика RS количества циклов

0010 000C; запись в регистр частичного остатка RTO содержимого регистра старших разрядов делимого

0011 000C EA MOV A, R2

0012 000D FC MOV R4, A

0013 000E JUMP0:

0014 000E; сдвиг влево содержимого регистра частичного остатка RTO

0015 000E EC MOV A, R4

0016 000 °F 33 RLC A

0017 0010 FC MOV R4, A

0018 0011; перенос старшего разряда регистра RD2 в младший разряд регистра RTO

0019 0011 EB MOV A, R3

0020 0012 33 RLC A

0021 0013 FB MOV R3, A

0022 0014 EC MOV A, R4

0023 0015 33 RLC A

0024 0016; анализ знака частичного остатка

0025 0016 EC MOV A, R4

0026 0017 33 RLC A

0027 0018 50 03 JNC JUMP1

0028 001A 29 ADD A, R1; сложение аккумулятора и делителя

0029 001B 80 01 SJMP JUMP2

0030 001D JUMP1:

0031 001D 99 SUBB A, R1; вычитание R1 из A;

0032 001E JUMP2:

0033 001E ;Записать в регистр частного

0034 001E EE MOV A, R6

0035 001 °F 33 RLC A

0036 0020 FE MOV R6, A

0037 0021 50 05 JNC JUMP3

0038 0023 D3 SETB C

0039 0024 EE MOV A, R6

0040 0025 D3 SETB C

0041 0026 33 RLC A

0042 0027 FE MOV R6, A

0043 0028 JUMP3:

0044 0028; вычитание <1> из R5 и переход, если он не равен 0;

0045 0028 DD E4 DJNZ R5, JUMP0

0046 002A ;Формирование знака частного

0047 002A E9 MOV A, R1

0048 002B 6A XRL A, R2

0049 002C 50 05 JNC END

0050 002E E9 MOV A, R1

0051 002 °F 33 RLC A

0052 0030 D3 SETB C

0053 0031 13 RRC A

0054 0032 FE MOV R6, A

0055 0033 END:

0056 0033 ;

————————————;

0057 0033 .end

Составим таблицу результатов, т. е. табл. 6 содержимого регистров после каждого шага программы.

Таблица 6. Результаты пошагового выполнения программы.

Шаг R2 R3 R1 R4 R5 R6 A C Команда 1 2 3 4 5 6 7 8 9 10 0 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx x Так как начальные значения неизвестны, то в этих регистрах находятся неизвестные значения 1 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 0 0000

Обнуление флага переноса 2 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 0000 0000 0 0001

Обнуление аккумулятора 3 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 0000 0000 0000 0000 0 0001

Обнуление регистра частного R6 4 0000 0010 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 0000 0000 0000 0000 0 0002

Запись значения в регистр R2 5 0000 0010 0000 1001 xxxx xxxx xxxx xxxx xxxx xxxx 0000 0000 0000 0000 0 0002

Запись значения в регистр R3 6 0000 0010 0000 1001 0000 0111 xxxx xxxx xxxx xxxx 0000 0000 0000 0000 0 0002

Запись значения в регистр R1 7 0000 0010 0000 1001 0000 0111 xxxx xxxx 0000 0111 0000 0000 0000 0000 0 0002

Загрузка счетчика — R5 8 0000 0010 0000 1001 0000 0111 0000 0010 0000 0111 0000 0000 0000 0000 0 0002

Запись R2 в R4 9 0000 0010 0000 1001 0000 0111 0000 0000 0000 0111 0000 0000 0000 0010 0 0002

Обмен содержимым A и R4 10 0000 0010 0000 1001 0000 0111 0000 0000 0000 0111 0000 0000 0000 0100 0 0002

Сдвиг, А влево 11 0000 0010 0000 1001 0000 0111 0000 0100 0000 0111 0000 0000 0000 0000 0 0002

Обмен содержимым A и R4

Продолжение табл. 6. Результаты пошагового выполнения программы.

1 2 3 4 5 6 7 8 9 10 12 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 0000 0000 0 0002

Пересылка старшего разряда R2 в С 13 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 0000 0000 0 0002

Пересылка C в младший разряд R4 14 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 0000 0100 0 0002

Запись R4 в A 15 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 0000 0100 0 0002

Пересылка в C знака R4 16 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 1111 0111 0 0002

Анализ значения C. С=0 (выполнить вычитание R1 из A 17 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 1111 0011 0 0002

Вычитание R1 из A 18 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 1111 0011 1 0002

Пересылка в C знака аккумулятора 19 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 0000 0000 1 0002

Запись R6 в A 20 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 0000 0000 1 0002

Сдвиг A влево 21 0000 010 0000 001 0000 0111 0000 0100 0000 0111 0000 0000 0000 0000 1 0002

Анализ значения C. С=1 (R6.7 не меняем 22 0000 010 0000 001 0000 0111 0000 0000 0000 0111 0000 0000 0000 0100 1 0002

Обмен содержимым A и R4 … 0000 0000

Конец Ниже приведена программа в шестнадцатеричных кодах, записанных в память.

—— PGM ROM —;

0: C3 E4 7E 00 79 02 7A 00 — 7B 06 7D 07 EA FC EC 33

10: FC EB 33 FB EC 33 EC 33 — 50 03 29 80 01 99 EE 33

20: FE 50 05 D3 EE D3 EC 33 — DD E4 E9 6A 50 05 E9 33

30: D3 13 FE

Вся программа занимает в памяти 51 байт и в ней используется 11 команд: CLR, MOV, RLC, RRC, JNC, ADD, SUBB, XRL, DJNZ, SETB, SJMP.

5.

Список литературы

Калабеков Б. А. Цифровые устройства и микропроцессорные системы. Учебник для техникумов. М.: «Горячая линия — ТЕЛЕКОМ», 2002.

Бродин В. Б, Калинин А. В. Системы на микроконтроллерах и БИС программируемой логики. М.: «ЭКОМ», 2002.

Фрунзе А. В. Микроконтроллеры? Это же просто! М.: ООО «ИД СКИМЕН», 2002.

Электронная справочная система по языку программирования ASM51.

Показать весь текст

Список литературы

  1. .А. Цифровые устройства и микропроцессорные системы. Учебник для техникумов. М.: «Горячая линия — ТЕЛЕКОМ», 2002.
  2. Бродин В. Б, Калинин А. В. Системы на микроконтроллерах и БИС программируемой логики. М.: «ЭКОМ», 2002.
  3. А.В. Микроконтроллеры? Это же просто! М.: ООО «ИД СКИМЕН», 2002.
  4. Электронная справочная система по языку программирования ASM51.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ