- •Часть I. Комбинационные и последовательностные цифровые устройства
- •Раздел 1 Комбинационные цифровые устройства
- •1.Основные термины и определения.
- •3.Задание логических функций с элементами структурных формул (сднф, скнф).
- •Смысловое (вербальное) описание цу
- •2.Табличное описание (представление) мажоритарного устройства
- •Мажоритарное устройство
- •3.Математическое описание мажоритарного устройства
- •4. Схемное представление мажоритарного устройства
- •5. Физическая реализация мажоритарного устройства
- •Раздел 2 Конечные автоматы (ка) с малым объемом памяти (последовательностные устройства - пцу)
- •Принцип аналого-цифрового и цифроаналогового преобразования.
- •2. Принцип аналого-цифрового преобразования
- •3. Ацп последовательного счета
- •4. Ацп с двойным интегрированием
- •5. Ацп компенсационного типа
- •6. Ацп по принципу напряжение-частота
- •7. Ацп прямого преобразования
- •Часть II: Микропроцессорные системы
- •Амосов в.В. Схемотехника и средства проектирования цифровых устройств. – сПб: бхв-Петербург, 2007г.
- •Микушин а., Сажнев а., Сединин в. Цифровые устройства и микропроцессоры. — сПб.: бхв-Петербург, 2010 г. — 832 с.
- •Структура (архитектура) однокристального восьмиразрядного микропроцессора мп580вм80
- •Принцип работа мп
- •([Fb])←(a). Из аккумулятора пересылаются данные в порт, адрес которого (fb) во 2-м байте команды (б2).
- •(В)←7Вh. В регистр в заносится 8-ми разрядная (одно байтная) константа 7Вh 16-й системы счисления
- •Режимы адресации в мп
- •Прямая адресация – код адреса в команде является исполнительным адресом обращения к памяти или устройству ввода вывода. Примеры:
- •Регистровая адресация– это адресация, при которой операнд содержится в одном из регистров мп.
- •Непосредственная адресация – это адресация, при которой операнд находится в самой команде.
- •Регистровая косвенная адресация – это адресация, при которой адрес ячейки памяти с операндом хранится в регистровой паре h-l.
- •1. Команды пересылки данных
- •Регистровая пересылка
- •Пересылка константы
- •Загрузка константы в пару регистров
- •1.4. Косвенная регистровая пересылка данных
- •Вычитание содержимого регистра из аккумулятора
- •Декрементные команды (аналогично вычитающему двоичному счетчику)
- •Инкрементные команды (аналогично суммирующему двоичному счетчику).
- •Логические операции (and, or, not, )
- •3.1. Логическое умножение содержимого аккумулятора с константой
- •Команды ввода и вывода данных.
- •Команда обращения к подпрограмме (call).
- •Команда hlt – останов выполнения программы
- •Пустая команда
- •Особенности разработки программ двоичных счетчиков
- •Алгоритм программы
- •Построение счетчиков на двух регистрах.
- •Построение программы с управляющими сигналами
- •4. Разработка программы счетчика табличным методом.
- •Алгоритм программы (основной) формирователя сигналов сложной формы
- •Программа формирователя сигналов сложной формы
- •Организация прерывания работы микропроцессоров Классификация прерываний в микропроцессоре
- •Организация прерываний в мп кр 580вм80 (симулятор Avsim85)
- •Интерфейс мп кр58вм80
- •Структура системного микроконтроллера.
- •Перспектива развития микропроцессорной техники Современные микроконтроллеры (мк). Определение и классификация микроконтроллеров.
- •Особенности построения мк avr фирмы «Atmel»
- •Память микроконтроллера
- •Особенности разработки и отладки программ для микроконтроллеров avr
- •2.1. Ассемблер
- •2.2. Формат программ на ассемблере
- •2.3. Система команд микроконтроллеров avr
- •2.4. Директивы транслятора ассемблера
- •2.5. Средства разработки программ avr – mk
Команда обращения к подпрограмме (call).
Сложные программы, как правило, включают в себя подпрограммы, т.е. создается алгоритм основной программы и в основной программе используются команды обращения к подпрограмме.
Синтаксис команды обращения к подпрограмме
Б1 Б2
Б3 |
CALL |
|
младшие разряды |
адрес ячейки памяти ЗУ с командой подпрогрпммы |
|
старшие разряды |
([SP-1]) ←(CPL)возвр.
([SP-2]) ←(CPH)возвр
(SP)←(SP)-2 ; измен.адр. вершины стека.
(CP)←([< Б3>< Б2>]).
Последовательность выполнения команды обращения к подпрограмме CALL.
В стековую память записывается 16-ти разрядный адрес ячейки памяти возврата после выполнения подпрограммы (CPL)возвр. , (CPH)возвр.
В указатель счетчика команд (PC) заносится адрес первой ЯП команды подпрограммы с КОП ([<Б3><Б2>]). . Поскольку стековая память использована для хранения адреса возврата из подпрограммы в основную программу, то изменяетсязначение указателя вершины стека (уменьшается на 2, т.е. SP=SP-2).
Команда возврата из подпрограммы
Б1 |
RET |
(CPL) ← ([SP+1]), (запись в счетчик команд PC адреса
(CPH) ← ([ SP+2]) возврата в основную программу)
(SP)←(SP)+2, (изменяется адрес вершины стека )
В счетчик команд PC записывается содержимое стековой памяти по адресу ([SP+1]) и ([SP+2]), т.е. адрес возврата в основную программу.
После выполнения команды значение указателя стека SP увеличивается на 2, т.е. SP=SP+2.
Команда hlt – останов выполнения программы
Б1 |
HLT |
МП прекращает выполнение программы и ждет указаний.
Пустая команда
Б1 |
NOP |
Эта команда используется для резервирования ячеек при написании программы. МП никаких действий не выполняет, но осуществляет первый этап (чтение и дешифрование). Кроме того, команда может применяться при написании программы временной задержки (для изучаемого симулятора AVSIM85 время выполнения 1-ого этапа команды четыре секунды).
Работа с имитатором (симулятором) процессора IntelI8085.
Построение программы.
Этапы создания программы для рассматриваемого микропроцессора IntelI8085 :
Разработка алгоритма программы и ее написание на языке ассемблер. Набор программы осуществляется только!!! в Блокноте или с использованием симулятора. Сохраняется программа в формате «все файлы» и имя программы – с расширением .asm. Например, testr3.asm.
Примечание: В редакторе Word или WordPad программу не набирать, а только в Блокноте
Трансляция программы – перевод программы с языка ассемблера в код микропроцессора. В результате появляется файл с расширением .hex, т.е. файл с цифрами в шестнадцатеричной системе счисления.
Компоновка программы. Результат компоновки – объединение нескольких оттранслированных программ в одну, в результате мы получаем файл с расширением .obj.
Отладка программы.
Структура программы.
Программа состоит из предложений. Каждое предложение имеет следующую структуру:
[метка] <мнемоника команды> [операнды]; [комментарии]
[] – не обязательное включение содержимого скобок в предложение
<> - обязательное наличие содержимого скобок в предложение
Поле метки: метка записывается с первой позиции и начинается обязательно с буквы.
Поле мнемоники: код операции (КОП) записывается после первой позиции.
Поле операнда: в этом поле записываются данные, которые обрабатываются в МП.
Поле комментария: комментарии записываются обязательно после точки с запятой (;). Если комментариев нет, точку с запятой ставить не обязательно. Если точка с запятой стоит в первой позиции, то строка транслятором воспринимается как комментарий.
Программа начинается с комментария, в котором записывается автор программы, название программы, какие микропроцессоры, микроконтроллеры и тактовая частота используются. Далее следуют директивы к транслятору.
В директивах записываются символические имена портов ввода и вывода, констант, команд присоединения и других команд.
Include – директива и после нее записываются имена файлов с расширением .asm.
Тело программы включает строки предложений, рассмотренные ранее.
Трансляция программы.
Для трансляции программы необходимо командной в строке, например, FAR или TotalCommander, записать:
avmac85 <имя исходного файла.asm>siallpublic
Помни уголки <>не использовать при написании команды.
В результате формируются объектный файл и листинг:
<имя исходного файла>.obj
< имя исходного файла >.prn
Для проверки программы на наличие в ней ошибок необходимо раскрыть файл с расширением .prn , и в нем будет показано, в какой строке находится ошибка. Исправлять ошибки только в файле с расширением .asm.
Компоновка программы.
Для компоновки программы пользователю необходимо создать командный файл компоновки. После создания командного файла компоновки в командной строке набрать команду:
avlink @<имя файла>.lnk
В результате компоновки формируется файл с расширением .hex.
Подготовка файлов выходных данных.
Для ввода данных (имитация ввода данных) формируется файл исходный данных. Для организации файла создать файл с именем indat.ad. Для создания файла используют следующее сочетание клавиш – Shift+F4. Значения входных данных записываются в десятичной системе. Цифры разделяются либо пробелом, либо переводом строки. Для перевода десятичной системы счисления в шестнадцатеричную в командной строке записывают команду:
iotran db indat.dat indat.ad
Лекция