МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ
Ю. В. Китаев
ПРОГРАММИРОВАНИЕ МК НА
АССЕМБЛЕРЕ ASM-51 и AVR Pascal
Учебное пособие
Санкт-Петербург
2011
2
Китаев Ю. В. “Программирование МК на ассемблере ASM-51 и AVR
Pascal”. Учебное пособие: СПб: СПбГУ ИТМО, 2011. 90 с. Приведены лабораторные работы по проектированию и
программированию некоторых типовых устройств ввода-вывода для МК
семейства MCS-51 и Atmel AVR. Для студентов, обучающихся по направлениям “Приборостроение”,
“Телекоммуникации” и “Оптотехника”: 210401 Физика и технология
элементов систем оптической связи, 200600. 62 Фотоника и
оптоинформатика, 20020104 Лазерная технология
Рекомендовано к печати Советом ИФФ от 05 октября 2010г. , протокол
№2. В 2009 году Университет стал победителем многоэтапного конкурса, в
результате которого определены 12 ведущих университетов России,
которым присвоена категория «Национальный исследовательский
университет». Министерством образования и науки Российской
Федерации была утверждена Программа развития государственного
образовательного учреждения высшего профессионального образования
«Санкт-Петербургский государственный университет информационных
технологий, механики и оптики» на 2009–2018 годы. © Санкт-Петербургский государственный университет
информационных технологий, механики и оптики, 2011
© Ю. В. Китаев, 2011
3
ОГЛАВЛЕНИЕ
ЛАБОРАТОРНАЯ РАБОТА № 18 “РАЗРАБОТКА ПРОСТОГО
ПРИБОРА НА МК ATMEGA128” ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
1. 1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 5
1. 2 ЦЕЛЬ РАБОТЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 5
1. 3 ЗАДАЧИ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 5
1. 4 ОБЩИЕ СВЕДЕНИЯ О МИКРОКОНТРОЛЛЕРЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 5
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 6
2. 1 СОЗДАНИЕ ШАБЛОНА ПРОГРАММЫ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 6
2. 2 РАЗРАБОТКА И ОТЛАДКА ПРОГРАММЫ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
. 8
2. 2. 1 НАСТРОЙКА ПОРТОВ. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 9
2. 2. 2 ЗАГРУЗКА И ВЫПОЛНЕНИЕ ПРОГРАММЫ. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 12
2. 2. 3 ПРОГРАММИРОВАНИЕ ТАЙМЕРА... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13
2. 2. 4 ПРОГРАММИРОВАНИЕ 8-МИ СЕГМЕНТНОГО ИНДИКАТОРА. ... ... ... ... ... ... . 20
2. 2. 5 ВСПОМОГАТЕЛЬНЫЕ ПОДПРОГРАММЫ. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 24
2. 2. 6 ПРОГРАММИРОВАНИЕ АЦП. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 27
2. 2. 7 ПРОГРАММИРОВАНИЕ EEPROM... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 34
2. 2. 8 САМОСТОЯТЕЛЬНОЕ ЗАДАНИЕ. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 35
ПРИЛОЖЕНИЯ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 35
ПРИЛОЖЕНИЕ 1.