Отчет должен быть оформлен в соответствие с требованиями кафедры и включать в себя необходимые описания, листинги программ и скриншоты экранов по каждому пункту задания (конкретизировано в указаниях по выполнению каждого пункта). В конце работы должны быть сделаны общие выводы.
Варианты заданий.
- Поочередное мигание двух LED индикаторов порта B.0 и B.1 с периодом 1 с. Начало работы определяется моментом нажатия на кнопку порта С.1.
- Поочередное мигание двух LED индикаторов порта A.6 и A.7 с периодом 1 с. Начало работы определяется моментом двойного нажатия на кнопку порта A.5.
- «Бегущая волна». Постепенно зажигаются все индикаторы портов A, B, C, D. Индикаторы одного порта зажигаются одновременно. Затем в том же порядке индикаторы гаснут. Начало работы определяется моментом нажатия на кнопку порта A.0.
- «Бегущая волна». Постепенно зажигаются все индикаторы портов A, B, C, D. Индикаторы одного порта зажигаются одновременно. Затем в обратном порядке индикаторы гаснут. Начало работы определяется моментом нажатия на кнопку порта D.1
- «Змейка» Поочередно зажигаются индикаторы PA.0 -> PA.1 ->... -> PA.7 -> PB.7 -> PB.0 -> PC.0 ->... -> PD.0. При достижении последнего индикатора индикаторы в той же последовательности гаснут. Начало работы определяется моментом нажатия на кнопку порта D.1.
- «Короткая змейка» Поочередно зажигаются индикаторы PA.0 -> PA.1 ->... -> PA.7 -> PB.7 -> PB.0 -> PC.0 ->... -> PD.0. Длина змейки = 8, т. е. всегда активны не более 8 LED индикаторов.
- Вариация задания 6 – по достижении конца «экрана» «змейка» движется в обратную сторону до исчезновения.
- Вывод буквы «П» на светодиодных индикаторах. При нажатии кнопки PB.7, буква начинает мигать с частотой 1 раз в секунду.
- Вывод буквы «Н» на светодиодных индикаторах. Нажатие кнопки PC.0 управляет включением – выключением буквы.
- Вывод буквы «П» на светодиодных индикаторах. При нажатии кнопки PB.6 появляется буква «К».
Контрольные вопросы
- Особенности архитектуры микроконтроллера AtMega16?
- В чем особенность организации портов МК?
- Зачем используется Pull-Up резистор?
- Можно ли записать информацию в PINB?
- Какими способами можно обратиться к PORTA?
- Как прочитать реальное содержимое входного порта?
- Можно ли настроить отдельный бит порта B на ввод, а остальные на вывод?
- Какие способы подключения кнопки и светодиода можно применять?
- Можно ли на стенде отключить светодиодный индикатор PB5?
- Как подключены кнопки (push button) к выводам микроконтроллера? Можно ли изменить схему их подключения с помощью джамперов?
- В чем особенность GCC компилятора?
- Для чего используется утилита “make”?
- Как описывается (чем управляется) поведение (работа) утилиты “make”?
- Можно ли написать и использовать собственный «Makefile»?
- В чем особенность использования имен регистров и портов в тексте программы?
- Как можно обратиться к отдельному биту регистра, порта? Какой макрос для этого используется?
- Для чего используется программный симулятор? Какие у него достоинства и недостатки?
- Для чего используется JTAG эмулятор? Какие у него достоинства и недостатки? В чем основное отличие от программного симулятора?
- Можно ли использовать JTAG для программирования МК?
- Останавливается ли работа МК при «паузе» в режиме JTAG эмуляции?
Литература.
http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh/start.htm
http://avr.ru/docs/books/avr