- •1. Принцип работы микропроцессорной системы и ее основные функциональные узлы.
- •2. Что происходит в микропроцессорной системе при обращении к подпрограмме? стек, указатель стека.
- •3. Режимы работы таймера мк51.
- •4.Разработайте программу очистки (обнуления) n ячеек резидентной памяти данных мк51, начиная с пятидесятой.
- •5. Что происходит в микропроцессорной системе при появлении запроса на прерывание программы? вектор прерывания, разрешение прерываний, приоритет прерываний.
- •6.Программная модель микроконтроллера мк51. Память программ, память данных, регистры специальных функций.
- •7. Сравнительная характеристика микроконтроллеров avr и мк51. Пути повышения быстродействия в avr-микроконтроллере.
- •8. Оцените содержимое аккумулятора мк51 после выполнения команд
- •10. Регистр состояния программы мк51. Назначение отдельных битов psw.
- •11. Разработайте программу перестановки элементов массива резидентной памяти данных мк51 в обратном направлении.
- •13. Разработайте программу перемещения (копирования) массива резидентной памяти данных мк51.
- •15. Программная модель avr – микроконтроллера.
- •16. Достоинства avr – микроконтроллера.
- •18. Принцип действия канала выходного сравнения таймера микроконтроллера avr.
- •19. Принцип действия канала входного захвата таймера микроконтроллера avr.
- •20. Разработать программу преобразования двоично-десятичного кода числа в двоичный.
- •9. Режимы работы последовательного порта мк51
- •12. Как работает стек и указатель стека в мк51?
- •14. Определить содержимое аккумулятора после выполнения команд ( два шестнадцатеричных символа )
3. Режимы работы таймера мк51.
При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле. При работе в качестве счетчика событий содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на входы Т0 (Р3.4) или Т1 (Р3.5). Для управления режимами работы Т/С и организации взаимодействия таймеров с системой прерывания используются регистры TMOD и TCON. С помощью битов М1 и М0 задаются четыре возможных режима работы Т/С0 и Т/С1.
M1M0=00 - 13-битовый счетчик. При его переходе из состояния «все единицы» в состояние «все нули» устанавливается флаг TF. Работа разрешена, когда TR=1 и либо GATE=0, либо INT=1.
M1M0=01 - 16-битовый счетчик. Так же как и предыдущий, только 16 битовый.
M1M0=10 - 8-бит с автоперезагрузкой. TL работает как 8-битовый автоперезагружаемый таймер. TH хранит значение, которое должно быть записано в TL каждый раз по его переполнению.
M1M0=11 - два 8-битовых счетчика. TL0 работает как 8-битвый Т/С и его режим определяется управляющими битами Т/С0. ТН0 работает только как 8-битовый таймер, управляющим битом TR1 и использующий флаг TF1. Работа Т/С1 постоянно разрешена в режимах 0,1,2 без использования прерываний.
4.Разработайте программу очистки (обнуления) n ячеек резидентной памяти данных мк51, начиная с пятидесятой.
mov R1,#50
mov R2,#N
m1: mov @R1,0
inc R1
DJNZ R2,m1
5. Что происходит в микропроцессорной системе при появлении запроса на прерывание программы? вектор прерывания, разрешение прерываний, приоритет прерываний.
При поступлении запроса на прерывание устанавливаются соответствующие флаги. Если эти прерывания индивидуально разрешены в регистре IE и в общем (EA), то программа выполнения перейдет по нужному вектору прерывания. Каждому прерыванию можно присвоить высший приоритет, устанавливая определенные биты.
Если прерывания разрешены и сформировался соответствующий флаг, система прерываний помещает в стек содержимое счетчика команд РС и загружает в счетчик команд адрес вектора подпрограммы обслуживания. По адресу вектора обычно располагается команда безусловной передачи управления к начальному адресу подпрограммы обслуживания прерывания. Подпрограмма обслуживания должна в случае необходимости начинаться командами записи в стек (PUSH) PSW, ACC, B, DPTR и заканчиваться командами восстановления их из стека (РОР). Подпрограммы обслуживания обязательно заканчиваются командой RETI, снимающей блокировку прерываний от других источников.
При использовании прерывании нужно не забывать о том, что после системного сброса указатель стека настроен на область первого банка регистров общего назначения. Содержимое стека можно модифицировать, например, MOV SP,#99.
6.Программная модель микроконтроллера мк51. Память программ, память данных, регистры специальных функций.
C точки зрения программиста микроконтроллер представляет набор регистров и ячеек памяти с конкретными адресами и обозначениями. Резидентную память данных (РПД) составляют четыре банка регистров общего назначения, выбор которых осуществляется установкой и сбросом битов RS1 и RS0 в PSW, 128 программно управляемых флагов пользователя (регистры с адресами 20H-2FH) и регистры с адресами 30H-7FH, которые можно использовать как ОЗУ пользователя или стек. Стек - специально организованная область ОЗУ, предназначенная для временного хранения данных или адресов. Число, записанное в стек последним, извлекается из него первым. Указатель стека SP хранит адрес последней ячейки стека, в которой записана информация. К адресному пространству РПД непосредственно примыкают адреса регистров специальных функций РСФ.
К полному адресному пространству ячеек внешнего ОЗУ данных обращение производится косвенно через 16-битовый регистр-указатель данных DPTR. Для чтения данных из таблиц, зашитых в памяти программ, используется косвенно-регистровая адресация. Любой байт из таблицы может быть выбран по адресу, определяемому суммой содержимого DPTR или РС (программный счетчик) и содержимого аккумулятора. В памяти программ есть пять адресов, которым соответствуют векторы прерываний от пяти источников.