Курсовая работа: Микропроцессорные средства и системы

Курсовая работа: Микропроцессорные средства и системы




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Кременчугский Государственный Политехнический Институт
Преобразовать числа из десятичной системы счисления в двоичную и шестнадцатеричную : 5 ; 38 ; 93 ; 175 ; 264.
Преобразовать числа, записанные в прямом двоичном коде в десятичный и шестнадцатеричный код : 0011 ; 1000010 ; 00011011000 .
Выполнить следующие арифметические действия с двоичными числами, заданными в прямом коде : 0011 + 1000110 ; 10000001 - 1000110
Выполнить следующее арифметическое действие в 8-ми разрядной сетке ( старший бит содержит знак числа ) : 5 х 25
Определить размер памяти в килобайтах ( байтах ), если данная память адресуется с адреса A0EDH по адрес EF34H. Одна ячейка памяти занимает 8 бит
Для решения определим вначале кол-во ячеек памяти, адресуемых одним разрядом при 16- теричной системе адресации.
Таким образом, начальный и конечный адреса в десятичной системе будут :
A0EDH = 4096 * 10 + 256 * 0 + 16 * 14 + 1 * 13 + 1= 41198 ;
EF34H = 4096 * 14 + 256 * 15 + 16 * 3 + 1 * 4 +1 = 61237 .
Итак, размер памяти будет 20039 байт или 19 кБ. 583 байт
Символьная строка расположена в ОЗУ начиная с адреса 0006H. Известно, что под каждый символ отводится одна ячейка памяти. Число символов в строке = 731. Определить адрес для обращения к последнему символу строки.
Порядковый номер последней ячейки памяти в десятичной системе будет 731 + 6 = 737. Переведем 738 из десятичной системы в двоичную :
Теперь переводим в 16 - теричную : 001011100001 2
= 02E1 16

Ответ : адрес последнего символа 02E1H
Составить программу на Ассемблере с комментариями :
Подсчитать число символов в строке, расположенной в области начиная с адреса 1000H и заканчивая адресом 2000Hбез учета пробелов, если известно, что каждый символ занимает одну ячейку памяти и пробел кодируется как 01H.
Максимальное число символов в строке 2000h -1000h=1000h=4096 10

После выполнения программы результат будет помещен в HL.
LXISP,3000h ; указание вершины стека
LXIH,1000h ; адрес 1-го элемента => в HL
LXID,1000h ; загрузка счетчика в D,E
STA 2001h ; обнуление счетчика количества символов
STA 2002h ; обнуление счетчика количества символов
MOVA,M ; загрузить символ из ячейки М в аккумулятор
JNZCOUNT ; если не совпадает, переход к COUNT, иначе - дальше
JZEXIT ; если счетчик = 0, на выход
PUSHH ; выгрузить содержимое HL в стек
LHLD 2001h ; загрузить HL содержимым счетчика количества символов
SHLD 2001h ; сохранить счетчик количества символов в 2001h, 2002h
POPH ; восстановить в HL сохраненный адрес
LHLD 2001h ; загрузить HL содержимым счетчика количества символов
Составить программу на Ассемблере, направленную на решение математической функции :
Натуральный и десятичный логарифмы одного и того же числа (в данном случае - выражения) связаны простым соотношением, позволяющим переходить от одного к другому :
lgx = Mlnx , где M = 1/ln10 = 0,434294481903252…
т.е., десятичный логарифм числа x = натуральному логарифму этого же числа, умноженному на постоянный множитель M = 0,434294481903252…, называемый модулем перехода от натуральных логарифмов к десятичным.
В соответствии с вышесказанным, lg (x+1) = 0,434294481903252…* ln(x+1)
Для вычисления ln(x+1) используем разложение в ряд :
ln(x+1) = x-x 2
/2+x 3
/3-x 4
/4+x 5
/5-x 6
/6+x 7
/7-x 8
/8+…
В результате алгоритм решения сводится к четырем арифметическим действиям : + ; - ; * ; /.
Перед выполнением арифметических действий над числами с плавающей запятой условимся первое число размещать в регистрах EHL, второе – в регистрах DBC; результат операции оставлять в EHL.
Формат представления чисел с плавающей запятой :
Где : S – знак числа ( 1-отрицательный, 0-положительный ), P0…P7 – 8-битный смещенный порядок, M1 … M15 – мантисса . Скрытый бит целой части мантиссы в нормализованных числах содержит 1
До начала вычислений число Х должно быть размещено в памяти по адресам 1000h-1002h.;начало цикла вычислений
LXI H,1003h ; сохранение адреса первой ячейки
CALC2: CALL LOAD1 ;Загрузка Х в DBC CALL MULF ; Умножение чисел с плавающей точкой
LHLD 1020h ;загрузить адрес ячейки памяти для хранения Х n

SHLD 1020h ;запомнить адрес ячейки памяти для следующего Х n

LDA 1021h ;содержимое ячейки => в аккумулятор
CPI 15h ;если получены все значения Х n
,
MVI M,01h ;загрузить в ячейку 1022h делитель
SHLD 1020h ;содержимое HL => в память
;цикл вычисления X N
/NCALC4: MOV B,H ; HL=>BC MOV C,L LHLD 1020h ;загрузить адрес ячейки памяти для хранения N MOV E,M ;Х n
=> в регистры INX H MOV B,M INX H MOV C,M SHLD 1020h ;запомнить адрес ячейки памяти для следующего Х n

CALL DIVF ; Деление чисел с плавающей точкой
LHLD 1020h ;загрузить адрес ячейки памяти для хранения Х n
/N
SHLD 1020h ;запомнить адрес ячейки памяти для следующего Х n
/N
LDA 1021h ;содержимое ячейки => в аккумулятор
CPI 15h ;если получены все значения Хn,
LHLD 1020h ;загрузить адрес ячейки памяти для хранения N
SHLD 1020h ;запомнить адрес ячейки памяти для следующего Хn/N
CALC7: CALL LOAD ; Загрузка Х в EHL CALL SUBF ; Вычитание чисел с плавающей точкой CALL CALC8 ; загрузка Х n+1
/N+1 в регистры D,B,C. CALL ADDF ; Сложение чисел с плавающей точкой CALL CALC8 ; загрузка Х n+1
/N+1 в регистры D,B,C. CALL SUBF ; Вычитание чисел с плавающей точкой
CALL CALC8 ; загрузка Х n+1
/N+1 в регистры D,B,C.
CALL ADDF ; Сложение чисел с плавающей точкой
CALL CALC8 ; загрузка Х n+1
/N+1 в регистры D,B,C.
CALL SUBF ; Вычитание чисел с плавающей точкой
CALL CALC8 ; загрузка Х n+1
/N+1 в регистры D,B,C.
CALL ADDF ; Сложение чисел с плавающей точкой
CALL CALC8 ; загрузка Х n+1
/N+1 в регистры D,B,C.
CALL MULF ; Умножение ln(x+1) на модуль перехода к lg
;;загрузка Х n+1
/N+1 в регистры D,B,C.CALC8: PUSH H LHLD 1020h ;загрузить адрес ячейки памяти для хранения N MOV D,M ;Х n
/N => в регистры D,B,C. INX H MOV B,M INX H MOV C,M INX H SHLD 1020h ;запомнить адрес ячейки памяти для следующего Х n
/N
;Загрузка Х в EHLLOAD: LXI H,1000h ;загрузка в HL адреса порядка Х MOV E,M ;загрузка порядка Х в Е LHLD 1001h ;загрузка мантиссы в HL
LXI H,1000h ;загрузка в HL адреса порядка Х
;Образование дополнительного кода числа в регистре HL
;Проверка знака и образование дополнительного кода
CALL COMP ; Образование дополнительного кода числа в регистре HL
;Сдвиг содержимого HL вправо на 1 бит:
;Обмен содержимого регистров EHL и DBC
;Восстановление числа с плавающей точкой
;Преобразование числа в стандартный формат
CALL SWAP ; Обмен содержимого регистров EHL и DBC
CALL SWAP ; Обмен содержимого регистров EHL и DBC
CALL REC ; Восстановление числа с плавающей точкой
CALL SWAP ; Обмен содержимого регистров EHL и DBC
; В EHL большее число, в аккумуляторе разность потенциалов
;Можно сдвигать мантиссу меньшего числа
CALL SWAP ; Обмен содержимого регистров EHL и DBC
CALL SHIFT ; Сдвиг содержимого HL вправо на 1 бит:
;В регистре Е общий порядок. Можно складывать мантиссы
CALL SHIFT ; Сдвиг содержимого HL вправо на 1 бит:
CALL PACK ; Преобразование числа в стандартный формат
;Вычитание чисел с плавающей точкой
JMP ADDF ; Сложение чисел с плавающей точкой
CALL SWAP ; Обмен содержимого регистров EHL и DBC
CALL REC ; Восстановление числа с плавающей точкой
CALL SWAP ; Обмен содержимого регистров EHL и DBC
CALL REC ; Восстановление числа с плавающей точкой
;операнды не равны, необходимо вычитать
CALL SWAP ; Обмен содержимого регистров EHL и DBC
CALL SWAP ; Обмен содержимого регистров EHL и DBC
;В регистре А разность порядков, в DBC больший операнд
CALL SHIFT ; Сдвиг содержимого HL вправо на 1 бит:
;нормализовать и проверить антипереполнение
CALL PACK ; Преобразование числа в стандартный формат
;Умножение чисел с плавающей точкой
CALL SWAP ; Обмен содержимого регистров EHL и DBC
;операнды ненулевые, можно умножать
CALL REC ; Восстановление числа с плавающей точкой
CALL SWAP ; Обмен содержимого регистров EHL и DBC
CALL REC ; Восстановление числа с плавающей точкой
;в аккумуляторе А смещенный порядок произведения
CALL SHIFT ; Сдвиг содержимого HL вправо на 1 бит:
CALL PACK ; Преобразование числа в стандартный формат
CALL REC ; Восстановление числа с плавающей точкой
CALL SWAP ; Обмен содержимого регистров EHL и DBC
CALL REC ; Восстановление числа с плавающей точкой
CALL SWAP ; Обмен содержимого регистров EHL и DBC
JC DIVF7 ; возикло антипереполнение
JMP DIVF2 ; перейти на деление мантисс
JC DIVF7 ; возникло антипереполнение
MVI A,16 ; инициализировать счетчик
MOV A,E ; вычесть делитель из остатка
CPI 0FFH ; проверить антипереполнение
JZ DIVF7 ; возникло антипереполнение
CALL PACK ; Преобразование числа в стандартный формат
Построить модель распределения адресного пространства с указанием диапазонов адресов в 16-й системе счисления. В качестве дешифратора адресов используется стандартный дешифратор, к информационным входам которого подключены линии А15, А12, А9 16-разрядной шины адреса.
0000h-01FFh, 0400h-05FFh, 0800h-0DFFh
2000h-21FFh, 2400h-25FFh, 2800h-2DFFh
4000h-41FFh, 4400h-45FFh, 4800h-4DFFh
6000h-61FFh, 6400h-65FFh, 6800h-6DFFh
0200h-03FFh, 0600h-07FFh, 0A00h-0FFFh
2200h-23FFh, 2600h-27FFh, 2A00h-2FFFh
4200h-43FFh, 4600h-47FFh, 4A00h-4FFFh
6200h-63FFh, 6600h-67FFh, 6A00h-6FFFh
1000h-11FFh, 1400h-15FFh, 1800h-1DFFh
3000h-31FFh, 3400h-35FFh, 3800h-3DFFh
5000h-51FFh, 5400h-55FFh, 5800h-5DFFh
7000h-71FFh, 7400h-75FFh, 7800h-7DFFh
1200h-13FFh, 1600h-17FFh, 1A00h-1FFFh
3200h-33FFh, 3600h-37FFh, 3A00h-3FFFh
5200h-53FFh, 5600h-57FFh, 5A00h-5FFFh
7200h-73FFh, 7600h-77FFh, 7A00h-7FFFh
8000h-81FFh, 8400h-85FFh, 8800h-8DFFh
A000h-A1FFh, A400h-A5FFh, A800h-ADFFh
C000h-C1FFh, C400h-C5FFh, C800h-CDFFh
E000h-E1FFh, E400h-E5FFh, E800h-EDFFh
8200h-83FFh, 8600h-87FFh, 8A00h-8FFFh
A200h-A3FFh, A600h-A7FFh, AA00h-AFFFh
C200h-C3FFh, C600h-C7FFh, CA00h-CFFFh
E200h-E3FFh, E600h-E7FFh, EA00h-EFFFh
9000h-91FFh, 9400h-95FFh, 9800h-9DFFh
B000h-B1FFh, B400h-B5FFh, B800h-BDFFh
D000h-D1FFh, D400h-D5FFh, D800h-DDFFh
F000h-F1FFh, F400h-F5FFh, F800h-FDFFh
9200h-93FFh, 9600h-97FFh, 9A00h-9FFFh
B200h-B3FFh, B600h-B7FFh, BA00h-BFFFh
D200h-D3FFh, D600h-D7FFh, DA00h-DFFFh
F200h-F3FFh, F600h-F7FFh, FA00h-FFFFh
В итоге адресное пространство размером в 64 Кбайт разбито на диапазоны для 8 устройств. В каждом диапазоне выделено 8 участков по 512 байт и 4 участка по 1536 байт.
Требуется выделить зоны адресного пространства для размещения в них адресов для устройств, указанных в таблице. В качестве адресного дешифратора используется ПЗУ. Построить схемы выделения соответствующих блоков адресов и таблицу диапазонов адресов.
Так как наименьший блок имеет размер 1К ячеек, то разрешающая способность дешифратора должна обеспечивать деление адресного пространства с точностью до зон размером 1К ячеек. Анализируя шесть старших разрядов адреса, получаем необходимую точность, поскольку они делят все адресное пространство обьемом 64К ячеек на 2 6
= 64 части по 1К ячеек, что и требуется.
Выбираем за основу ПЗУ с 10 адресными входами 2716 ( К573РФ2 ), имеющее структуру 2К*8 бит . Выходы 00 - 05 этого ПЗУ подключаем к инверсным входам выбора кристалла соответсвующих микросхем.
Разделить адресное пространство 64 килобайта на 18 равных частей. В качестве дешифратора адреса используется ПЛМ. Разбиение адресного пространства показать в виде схемы и таблицы.
Размер одной части 65536 / 18 = 3640 байт. Т.к. 3640 * 18 = 65520, последние 16 ячеек не будут использоваться.
Произведем разбиение 3640 байт на участки 2 N
:
3640 = 2048 + 1024 + 512 + 32 + 16 + 8
В результате получим 6 областей памяти по 18 участков в каждой :
0000h-8FFFh ( участки размером 2048 )
9000h-D7FFh ( участки размером 1024 )
D800h-FBFFh ( участки размером 512 )
FC00h-FE3Fh ( участки размером 32 )
FE40h-FF5Fh ( участки размером 16 )
В результате получена таблица прошивки ПЛМ для разделения адресного пространства 64 кБ на 18 несплошных равных частей.
Исходя из требуемого количества произведений ( 18 * 6 = 108 ) и количества выходных функций (18), выбираем в качестве элементной базы выпускаемую фирмой ADVANCEDMICRODEVICES микросхему ПЛМ PLS30S16. Эта микросхема позволяет за счет мультиплексирования четырех адресных входов с выходами иметь от 12 до 17 входов и от 8 до 12 выходов при количестве произведений до 64.
Для решения поставленной задачи берем две ПЛМ, запараллеленные входы которых подключены к шине адреса, а выходы – к входам выбора кристалла соответствующих микросхем.
Технические данные на ПЛМ PLS30S16 фирмы AMD :
Section :PROGRAMMABLE LOGIC DEVICES
Programmable~Registered/Combinatorial Outputs
Manufacturer's Name:ADVANCED MICRO DEVICES

Название: Микропроцессорные средства и системы
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа
Добавлен 15:25:42 29 октября 2004 Похожие работы
Просмотров: 171
Комментариев: 21
Оценило: 4 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Если Вам нужна помощь с учебными работами, ну или будет нужна в будущем (курсовая, дипломная, отчет по практике, контрольная, РГР, решение задач, онлайн-помощь на экзамене или "любая другая" учебная работа...) - обращайтесь: https://clck.ru/P8YFs - (просто скопируйте этот адрес и вставьте в браузер) Сделаем все качественно и в самые короткие сроки + бесплатные доработки до самой сдачи/защиты! Предоставим все необходимые гарантии.
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Курсовая работа: Микропроцессорные средства и системы
Эссе На Тему Традиции И Обычаи
Реферат: Офицерская этика. Скачать бесплатно и без регистрации
Духовный Подвиг Александра Невского Сочинение
Контрольная работа: Темперамент и характер
Курсовая работа: Технология возделывания гороха на зерно и на зеленый горошек
Мой Первый Гербарий Эссе
Курсовая работа по теме Бюджетно-налоговая политика
Написание Сочинения 9.3 Огэ 2022
Реферат по теме Межнациональные конфликты: их особенности, воздействие на состояние общества
Волейбол Реферат Казакша
Контрольная Работа По Русскому Языку Диктант
Лекция по теме Леции по общей геологии
Права Граждан На Местное Самоуправление Реферат
Дипломная работа по теме Первая мировая война на австро-венгерском фронте
Аннотация К Реферату Образец
Реферат: Исследование на тему связь науки и искусства
Реферат: Антидепрессанты
Курсовая работа: Исследование организационной структуры управления на предприятии
Контрольная Работа На Тему Понятие И Значение Материально-Технической Базы Сельского Хозяйства
Реферат: Оказание самопомощи и взаимопомощи при ранениях, переломах и ожогах.. Скачать бесплатно и без регистрации
Реферат: Наступит ли конец эпохи огнестрельного оружия?
Реферат: Система морской космической разведки и целеуказания
Реферат: Ирония Андрея Белого — мемуариста

Report Page