Далее для выполнения пошагового режима нажимайте на клавишу F11 и наблюдайте за значениями переменной count и регистрами порта В.
Можно проверить работы программы в автоматическом пошаговом режиме, то есть в пошаговом режиме с периодом следования команд 0,5-2 секунды. Для этого выберите пункт меню Debug >Auto Step. Наблюдайте за изменениями содержимого переменной counter и регистров порта В. Остановить работу программы можно с помощью пункта меню Debug > Break.
Для выполнения программы с начала, то есть после включения питания микроконтроллера, следует выбрать пункт меню Debug > Reset.
После тестирования программы закройте окно AVR Studio.
4. Задания для самостоятельной работы
Задание 1. Необходимо проверить работу программы, которая в бесконечном цикле выводит данные в порт C микроконтроллера ATmega16, а затем вводит информацию с выводов этого порта (непосредственно ножек микросхемы). Текст программы:
/*****************************************************************
out_in.c – программа вывода кода в порт C и чтения кода
****************************************************************/
#include<mega16.h>
void main(void)
{
DDRC = 0xFF; // настроить порт C на вывод
while(1)
{
PORTC = 0b00001111; // вывод в порт С
PINC = PORTC; // чтение состояния выводов (ножек) порта С
PORTC = 0b11110000;
PINC = PORTC;
}
}
Для выполнения задания создайте в CVAVR новый проект с именем out_in.prj и поместите его в новую папку Out_in. Затем запишите текст программы в файл с именем out_in.c и добавьте его в проект. Обязательно установите опции для построения проекта. Выполните компиляцию созданного проекта. После этого с помощью симулятора AVR Studio проверьте правильность работы программы. Для отображения выходов порта С щелкните по строке PORTC в окне I/O View. Внизу окна появятся имена регистров порта C: DDRC – регистр направления, PINC - регистр ввода, PORTC – регистр вывода. Кроме этого появятся их адреса и содержимое в HEX-коде, а также разрядная сетка, в которой пустые клетки соответствуют логическому нулю, а черные клетки – логической единице в соответствующих разрядах.
Выполните проверку программы в пошаговом режиме и наблюдайте за изменением содержимого регистров порта С.
Задание 2. Разработайте и протестируйте программу, в которой используются поразрядные логические операции с портом D микроконтроллера ATmega16. Программа после инициализации в бесконечном цикле выполняет следующую последовательность действий:
1. Вывод на все линии порта D нулей.
2. Инвертировать содержимое всех разрядов порта D.
3. Выделить младшую тетраду порта D (разряды PD0-PD3).
4. Инвертировать разряды PD2, PD3, PD5, PD7.
5. Сдвинуть вправо на два разряда содержимое порта D.
6. Установить «1» в разрядах PD1, PD6, PD7.
7. Сдвинуть влево на три разряда содержимое порта D.
8. Инвертировать разряды PD1, PD4, PD6, PD7.
9. Очистить (обнулить) старшую тетраду (разряды PD4-PD7) порта D.
Программу назовите log.c. Создайте новый проект с именем log.prj, который будет в новой папке Logic. Выполните компиляцию проекта. С помощью симулятора AVR Studio проверьте в пошаговом режиме правильность работы программы.
5. Содержание отчета
Наименование и цель работы. Краткое описание процесса создания проекта программы в CodeVisionAVR. Тексты программ к заданиям для самостоятельной работы (комментарии в тексте обязательны!).
Контрольные вопросы
1. Что такое CodeVisionAVR?
2. Перечислите состав встроенных компонентов CVAVR.
3. Как выполняется создание нового проекта в CVAVR?
4. Как происходит компиляция исходного файла?
5. Какой отладчик можно использовать в CodeVisionAVR?
6. Как создается окно просмотра переменных?
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.