Изучение и работа с интегрированной средой разработки CodeVisionAVR. Методы разработки и отладки программ для однокристальных микроконтроллеров семейства AVR фирмы Atmel, страница 4

Далее для выполнения пошагового режима нажимайте на клавишу 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. Как создается окно просмотра переменных?