- •А.В. Шарапов
- •Часть 1. Микроконтроллеры мк51
- •Предисловие
- •1 Принципы построения цифровых устройств управления
- •2 Общая характеристика микроконтроллеров семейства мк51
- •3 Программная модель и система команд мк51 ( лабораторная работа №1)
- •Программная модель микроконтроллера мк51
- •Система команд микроконтроллера
- •Команды микроконтроллера семейства мк51
- •Команды, влияющие на флаги результата
- •Запись программы на языке ассемблера и ее трансляция
- •Загрузка программы в эмулятор и управление его работой
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •4 Таймеры и система прерываний mк51 (лабораторная работа №2)
- •Таймеры/счетчики событий mcs-51
- •Система прерываний mк51
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •Машинные коды команд mк51
- •5 Упражнения по решению задач
- •6 Примеры программ обработки данных
- •7 Последовательный порт мк51
- •8 Организация линий портов мк51. Подключение внешних устройств
- •9 Направление развития элементной базы 8-разрядных микроконтроллеров Отличительные признаки современной элементной базы
- •Направления развития 8-разрядных мк
- •Модульный принцип построения
- •Резидентная память мк
- •Таймеры и процессоры событий
- •Сторожевой таймер
- •Контроллеры последовательного ввода/вывода
- •Минимизация потребления энергии в системах с мк
- •10 Микроконтроллеры семейства ат89 фирмы Atmel
- •Микроконтроллер at89c4051
- •Микроконтроллер at89s51
- •11 Примеры вопросов компьютерной контрольной работы
- •Литература
- •Часть 2. Микроконтроллеры avr
- •Предисловие
- •1 Общая характеристика микроконтроллеров avr, программная модель и система команд
- •2 Директивы ассемблера
- •Include — Вложить другой файл
- •Форматы представления чисел
- •3 Программный пакет avrStudio
- •4 Микроконтроллер aTtiny15l(лабораторная работа №3)
- •Таймеры aTtiny15l
- •Энергонезависимая память данных еeprom
- •Аналоговый компаратор
- •Аналого-цифровой преобразователь
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •Перечень команд микроконтроллера aTtiny15l
- •5 Микроконтроллер aTmega8 (лабораторная работа № 4)
- •Порты ввода-вывода
- •Регистры таймера т1
- •Режимы работы таймера т1
- •Нормальный режим работы (Normal)
- •Режим сброса таймера при совпадении (стс)
- •Режим быстрой шим (Fast pwm)
- •Режим шим с фазовой коррекцией
- •Режим шим с фазовой и частотной коррекцией
- •Прерывания от таймеров /счетчиков
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •6 Средства разработки программы на языке си, компиляторы и симуляторы
- •7 Язык си для микроконтроллеров
- •Структура программы на языке Си
- •Пункт 4. Объявление переменных
- •8 Загрузка программы в микроконтроллер
- •9 Моделирование работы микроконтроллера avrс помощью симулятораvmlab (лабораторная работа №5)
- •Программа работы
- •Содержание отчета
- •10 Моделирование работы микроконтроллера avr с помощью симулятора proteus vsm
- •11 Измеритель частоты сети
- •Обоснование алгоритма решения задачи
- •Разработка прикладной программы
- •Моделирование работы устройства с помощью vmlab
- •Моделирование работы устройства с помощью симулятора
- •Литература
Контрольные вопросы
Разрешены ли прерывания после системного сброса?
Может ли быть прервано выполнение программы обработки прерывания с высоким уровнем приоритета?
Транслировать команду JB ТF0,$+5.
Что происходит при выполнении команды CJNE A,#40,M1?
Какой флаг устанавливается после выполнения команды MOV SBUF,B?
Какими командами можно загрузить в Т/С0 дополнительный код числа 10000?
Содержание отчета
Отчет должен содержать листинги отлаживаемых программ, ответы на контрольные вопросы и комментарии по ходу выполнения пунктов программы работы.
Машинные коды команд mк51
Мнемоника КОП |
Мнемоника КОП |
ACALL 0xxH 11 ACALL 1xxH 31 ACALL 2xxH 51 ACALL 3xxH 71 ACALL 4xxH 91 ACALL 5xxH B1 ACALL 6xxH D1 ACALL 7xxH F1 ADD A,ad 25 ADD A,R0 28 ADD A,R1 29 ADD A,R2 2A ADD A,R3 2B ADD A,R4 2C ADD A,R5 2D ADD A,R6 2E ADD A,R7 2F ADD A,@R0 26 ADD A,@R1 27 ADD A,#d 24 ADDC A,ad 35 ADDC A,R0 38 ADDC A,R1 39 ADDC A,R2 3A ADDC A,R3 3B ADDC A,R4 3C ADDC A,R5 3D ADDC A,R6 3E ADDC A,R7 3F ADDC A,@R0 36 ADDC A,@R1 37 ADDC A,#d 34 ANL A,ad 55 ANL A,R0 58 ANL A,R1 59 ANL A,R2 5A ANL A,R3 5B ANL A,R4 5C ANL A,R5 5D ANL A,R6 5E ANL A,R7 5F ANL A,@R0 56 ANL A,@R1 57 ANL A,#d 54 ANL ad,A 52 ANL ad,#d 53 ANL C,bit 82 DJNZ R5,adr DD DJNZ R6,adr DE DJNZ R7,adr DF INC A 04 INC ad 05 INC DPTR A3 INC R0 08 INC R1 09 INC R2 0A INC R3 0B INC R4 0C INC R5 0D INC R6 0E INC R7 0F INC @R0 06 INC @R1 07 JB bit,adr 20 JBC bit,adr 10 JC adr 40 JMP @A+DPTR 73 JNB bit,adr 30 JNC adr 50 JNZ adr 70 JZ adr 60 LCALL ad16 12 LJMP ad16 02 MOV A,ad E5 MOV A,R0 E8 MOV A,R1 E9 MOV A,R2 EA MOV A,R3 EB MOV A,R4 EC MOV A,R5 ED MOV A,R6 EE MOV A,R7 EF MOV A,@R0 E6 MOV A,@R1 E7 MOV A,#d 74 MOV ad,A F5 MOV ad,R0 88 MOV ad,R1 89 MOV ad,R2 8A MOV ad,R3 8B MOV ad,R4 8C MOV ad,R5 8D MOV ad,R6 8E MOV ad,R7 8F MOV ad,@R0 86 MOV ad,@R1 87 MOV ad,#d 75 ORL A,R5 4D ORL A,R6 4E ORL A,R7 4F ORL A,@R0 46 ORL A,@R1 47 ORL A,#d 44 ORL ad,A 42 ORL ad,#d 43 ORL C,bit 72 ORL C,/bit A0 POP ad D0 PUSH ad C0 RET 22 RETI 32 RL A 23 RLC A 33 RR A 03 RRC A 13 SETB bit D2 SETB C D3 SJMP adr 80 SWAP A C4 SUBB A,ad 95 SUBB A,R0 98 SUBB A,R1 99 SUBB A,R2 9A SUBB A,R3 9B SUBB A,R4 9C SUBB A,R5 9D SUBB A,R6 9E SUBB A,R7 9F |
ANL C,/bit B0 AJMP 0xxH 01 AJMP 1xxH 21 AJMP 2xxH 41 AJMP 3xxH 61 AJMP 4xxH 81 AJMP 5xxH A1 AJMP 6xxH C1 AJMP 7xxH E1 CJNE A,ad,adr B5 CJNE A,#d,adr B4 CJNE R0,#d,adr B8 CJNE R1,#d,adr B9 CJNE R2,#d,adr BA CJNE R3,#d,adr BB CJNE R4,#d,adr BC CJNE R5,#d,adr BD CJNE R6,#d,adr BE CJNE R7,#d,adr BF CJNE @R0,#d,adr B6 CJNE @R1,#d,adr B7 CLR A E4 CLR bit C2 CLR C C3 CPL A F4 CPL bit B2 CPL C B3 DA A D4 DEC A 14 DEC ad 15 DEC R0 18 DEC R1 19 DEC R2 1A DEC R3 1B DEC R4 1C DEC R5 1D DEC R6 1E DEC R7 1F DEC @R0 16 DEC @R1 17 DIV AB 84 DJNZ ad,adr D5 DJNZ R0,adr D8 DJNZ R1,adr D9 DJNZ R2,adr DA DJNZ R3,adr DB DJNZ R4,adr DC MOV add,ads 85 MOV bit,C 92 MOV C,bit A2 MOV DPTR,#d16 90 MOV R0,ad A8 MOV R0,A F8 MOV R0,#d 78 MOV R1,A F9 MOV R1,ad A9 MOV R1,#d 79 MOV R2,A FA MOV R2,ad AA MOV R2,#d 7A MOV R3,A FB MOV R3,ad AB MOV R3,#d 7B MOV R4,A FC MOV R4,ad AC MOV R4,#d 7C MOV R5,A FD MOV R5,ad AD MOV R5,#d 7D MOV R6,A FE MOV R6,ad AE MOV R6,#d 7E MOV R7,A FF MOV R7,ad AF MOV R7,#d 7F MOV @R0,A F6 MOV @R0,ad A6 MOV @R0,#d 76 MOV @R1,A F7 MOV @R1,ad A7 MOV @R1,#d 77 MOVС A,@A+DPTR 93 MOVС A,@A+PC 83 MOVX A,@DPTR E0 MOVX A,@R0 E2 MOVX A,@R1 E3 MOVX @DPTR,A F0 MOVX @R0,A F2 MOVX @R1,A F3 MUL AB A4 NOP 00 ORL A,ad 45 ORL A,R0 48 ORL A,R1 49 ORL A,R2 4A ORL A,R3 4B ORL A,R4 4C SUBB A,@R0 96 SUBB A,@R1 97 SUBB A,#d 94 XCH A,ad C5 XCH A,R0 C8 XCH A,R1 C9 XCH A,R2 CA XCH A,R3 CB XCH A,R4 CC XCH A,R5 CD XCH A,R6 CE XCH A,R7 CF XCH A,@R0 C6 XCH A,@R1 C7 XCHD A,@R0 D6 XCHD A,@R1 D7 XRL A,ad 65 XRL A,R0 68 XRL A,R1 69 XRL A,R2 6A XRL A,R3 6B XRL A,R4 6C XRL A,R5 6D XRL A,R6 6E XRL A,R7 6F XRL A,@R0 66 XRL A,@R1 67 XRL A,#d 64 XRL ad,A 62 XRL ad,#d 63
|
На рис. 4.4. показан граф возможных пересылок данных, который иллюстрирует структуру информационных связей в микроконтроллере.
Операнды, участвующие в операциях пересылки, различаются по месту расположения и способу адресации.
Взаимодействие с памятью программ ПП (только для чтения) и внешней памятью данных ВПД (для чтения и записи) осуществляется только через аккумулятор А с использованием косвенной адресации.
К ячейкам резидентной памяти данных РПД можно обратиться как с помощью косвенной адресации (в качестве указателей памяти используются регистры R0 или R1), так и с помощью прямой адресации.
Прямая адресация байтов используется при обращении к регистрам специальных функций РСФ.
При работе с битами всегда используется прямая адресация битов. Пересылка битов возможна только через триггер переноса С.
Шестнадцатиразрядный операнд может быть непосредственно загружен в регистр-указатель данных DPTR.