Вход

Умножение чисел, представленных в прямом коде, начиная со старших разрядов мноителя при неподвижных частичных произведениях (МУРА)

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 156776
Дата создания 2010
Страниц 26
Источников 4
Мы сможем обработать ваш заказ (!) 3 июня в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 150руб.
КУПИТЬ

Содержание

Введение
1.Составление словесного алгоритма
2.Синтез операционного устройства
3.Синтез управляющего устройства в формате автомата Мура
1.1. Построение схемы алгоритма в микрооперациях
1.2.Построение схемы алгоритма в микрокомандах
1.3.Построение графа функционирования
1.4. Кодирование состояний устройства
1.5. Структурная схема управляющего устройства
1.6. Построение таблицы функционирования комбинационного узла
1.7.Запись логических выражений для выходных величин комбинационного узла
1.8.Построение схемы комбинационного узла и процессора
2.Программирование операции умножение на базе МК51

Фрагмент работы для ознакомления

Входящие в выражения значения а0, а1, а2, …, а6, определяемые комбинацией значений Q3, Q2 и Q1, могут быть получены с помощью дешифратора. Остальная часть схемы строится в соответствии с полученными для выходных величин логическими выражениями. Схема комбинационного узла приведена на рис. 6.
Рис. 6. Логическая схема комбинационного узла.
Рис. 7. Логическая схема управляющего устройства.
Рис. 8. Логическая схема процессора.
4. ПРОГРАММИРОВАНИЕ ОПЕРАЦИИ УМНОЖЕНИЕ НА БАЗЕ МК51
Для выполнения операции умножения воспользуемся регистрами R1, R2 и R3. Все действия в МК51 осуществляются через аккумулятор A, поэтому предусмотрим его обнуление в программе. Флаг переноса C будем использовать для анализа бита множителя и для передачи результата из аккумулятора, который и будет служить нам для временного хранения промежуточного результата, в регистр R2. В регистр R2 будет записан результат умножения. Так как регистр R2 восьми разрядный, то операцию сдвига нужно выполнить восемь раз для получения правильного результата. Регистр R3 будем использовать в качестве счетчика.
0000 C3 CLR C ; обнуление флага перенос
0001 E4 CLR A ; обнуление аккумулятора
0002 7905 MOV R1,#05 ; загрузка множимого в R1
0004 7A05 MOV R2,#05 ; загрузка множителя в R2
0006 7B04 MOV R3,#08 ; загрузка счетчика R3
0008 CA XCH A,R2 ; обмен содержимым A и R2
0009 13 RRC A ; сдвиг A вправо
000A CA XCH A,R2 ; обмен содержимым A и R2
000B 5001 JNC 000E ; переход, если С=0
000D 29 ADD A,R1 ; сложение A и R1
000E 13 RRC A ; сдвиг A вправо
000F CA XCH A,R2 ; обмен содержимым A и R2
0010 13 RRC A ; сдвиг A вправо
0011 CA XCH A,R2 ; обмен содержимым A и R2
0012 DBF7 DJNZ R3,000B ; переход, если R3 ? 0
Составим таблицу результатов, т.е. таблицу 6 содержимого регистров после каждого шага программы.
Таблица 6. Результаты пошагового выполнения программы
Шаг R1 R2 R3 A C Команда 1 2 3 4 5 6 7 0 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx x Так как начальные значения неизвестны, то в этих регистрах находятся любые неизвестные значения 1 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 0 0000 Обнуление переноса 2 xxxx xxxx xxxx xxxx xxxx xxxx 0000 0000 0 0001 Обнуление аккумулятора 3 0000 0101 xxxx xxxx xxxx xxxx 0000 0000 0 0002 Запись значения в регистр R1
Продолжение таблицы 6. Результаты пошагового выполнения программы

1 2 3 4 5 6 7 4 0000 0101 0000 0101 xxxx xxxx 0000 0000 0 0004 Запись значения в регистр R2 5 0000 0101 0000 0101 0000 1000 0000 0000 0 0006 Загрузка счетчика – R3 6 0000 0101 0000 0000 0000 1000 0000 0101 0 0008 Обмен содержимым аккумулятора и R2 7 0000 0101 0000 0000 0000 1000 0000 0010 1 0009 Сдвиг A вправо и перенос младшего разряда в C 8 0000 0101 0000 0010 0000 1000 0000 0000 1 000A Обмен содержимым аккумулятора и R2 9 0000 0101 0000 0010 0000 1000 0000 0000 1 000B Анализ значения C. С=1 ( выполнить сложение 10 0000 0101 0000 0010 0000 1000 0000 0101 1 000D Сложить значения R1 и аккумулятора 11 0000 0101 0000 0010 0000 1000 0000 0010 1 000E Сдвиг A вправо и перенос младшего разряда в C 12 0000 0101 0000 0010 0000 1000 0000 0010 1 000F Обмен содержимым А и R2, запись С в R2ст 13 0000 0101 0000 0010 0000 1000 1000 0001 0 0010 Сдвиг A вправо и перенос C в Аст 14 0000 0101 1000 0001 0000 1000 0000 0010 0 0011 Обмен содержимым аккумулятора и R2 15 0000 0101 1000 0001 0000 0111 0000 0010 0 0012 R3 – 1 и переход на команду B, т.к. R3?0 16 0000 0101 1000 0001 0000 0111 0000 0010 0 000B Анализ значения C. С=0 ( выполнить переход на E 17 0000 0101 1000 0001 0000 0111 0000 0001 0 000E Сдвиг A вправо и перенос младшего разряда в C 18 0000 0101 0000 0001 0000 0111 1000 0001 1 000F Обмен содержимым аккумулятора и R2 19 0000 0101 1000 0001 0000 0111 0100 0000> 1 0010 20 0100 0000 <-> 0000 0001 0011 21 0000 0110 ? 0012 22 ? 000B 23 + 0000 0110 0 000D 24 0000 0011> 0 000E 25 0000 0011 <-> 0100 0000 000F 26 0010 0000> 0 0010 27 0010 0000 <-> 0000 0011 0011 Продолжение таблицы 6. Результаты пошагового выполнения программы
1 2 3 4 5 6 7 28 0000 0101 ? 0012 29 ? 000B 30 0000 0001> 1 000E 31 0000 0001 <-> 0010 0000 1 000F 32 1001 0000> 0 0010 33 1001 0000 <-> 0000 0001 0011 34 0000 0100 ? 0012 35 ? 000B 36 0000 0000> 1 000E 37 0000 0000 <-> 1001 0000 1 000F 38 1100 1000> 0 0010 39 1100 1000 <-> 0000 0000 0011 40 0000 0011 ? 0012 41 ? 000B 42 0000 0000> 0 000E 43 0000 0000 <-> 1100 1000 0 000F 44 0110 0100> 0 0010 45 0110 0100 <-> 0000 0000 0011 46 0000 0010 ? 0012 47 ? 000B 48 0000 0000> 0 000E 49 0000 0000 <-> 0110 0100 0 000F 50 0011 0010> 0 0010 51 0011 0010 <-> 0000 0001 0011 52 0000 0001 ? 0012 53 ? 000B 54 0000 0000> 0 000E 55 0000 0000 <-> 0011 0010 0 000F 56 0001 1001> 0 0010 57 0001 1001 <-> 0000 0000 0011 58 0000 0000 Конец 0012
Ниже приведена программа в шестнадцатеричных кодах, записанных в память.
---- PGM ROM ---
0000 C3 E4 79 05 7A 05 7B 04 - CA 13 CA 50 01 29 13 CA
0010 13 CA DB F7
Вся программа занимает в памяти 20 байт и в ней используется 7 команд: CLR, MOV, XCH, RRC, JNC, ADD, DJNZ. Команды используют различное количество байт в памяти, и на их выполнение затрачивается различное количество машинных циклов (см. таб. 7).
Таблица 7.
Команда Байт Циклов /тактов Количество выполненных команд Всего тактов CLR
MOV
XCH
RRC
JNC
ADD
DJNZ 1
1
1
1
2
1
2 1/12
1/12
1/12
1/12
2/24
1/12
2/24 2
3
18
17
8
2
8 24
36
216
204
192
24
192 Итого: 888
5. ЛИТЕРАТУРА
Калабеков Б.А. Цифровые устройства и микропроцессорные системы. Учебник для техникумов. М: «Горячая линия - ТЕЛЕКОМ», 2002
Бродин В.Б, Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. М: «ЭКОМ», 2002
Фрунзе А.В. Микроконтроллеры? Это же просто! М: ООО «ИД СКИМЕН», 2002
Электронная справочная система по языку программирования ASM51.

8
26

Список литературы [ всего 4]

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