МОДЕЛИРОВАНИЕ РАБОТЫ МИКРОКОНТРОЛЛЕРА AVR С ПОМОЩЬЮ СИМУЛЯТОРА VMLAB

(лабораторная работа №5)

Цель работы.Целью лабораторной работы является отладка прикладных программ на языке Си для микроконтроллера AVR с помощью компилятора CVAVR и симулятора VMLAB.

Программа работы

1.Установите в директорию C:\CVAVR свободную версию компилятора CodeVisionAVR.В директории C:\CVAVR создайте папку z1 (задача 1) для файлов первого проекта.

Запустите компилятор. Для создания файла проекта нажимайте: Файл -> новый -> проект -> ОК -> No

- перейдите в созданную для проекта папку z1 и введите в поле "имя файла": z1
- нажмите "сохранить" - откроется окно конфигурации проекта

- перейдите на закладку "С compiler"

- выберите MK (Chip) ATmega16

- установите частоту тактирования МК (Clock) 4.0 МГц

- нажмите ОК.

Перед вами появится открытый текстовый файл Project Notes - z1.prj, в котором вы можете записывать свои замечания и мысли по проекту.

Теперь нужно создать главный для нас текстовый файл для набора исходного текста на Си - его расширение .с

- нажимайте:
Файл -> New -> Source -> ОК

появился файл untitled.c
- нажимайте:
Файл - Сохранить как
- введите в поле "имя файла": z1.c и нажмите Сохранить.

Нужно добавить созданный файл z1.c в список файлов проекта - откройте меню конфигурирования проекта: Project -> Configure.

В открывшемся диалоге, нужно выбрать ярлык "Files" и нажать кнопку "Add". В новом диалоге выберите файл "z1.c" и нажмите "Открыть". Теперь файл включен в проект.

- нажимайте: ОК

- максимизируйте (разверните) окно файла - z1.c

Теперь все готово к собственно программированию, т.е. к созданию текста программы на языке Си. Ниже в таблице подготовлен текст программы к задаче 1, реализующей следующее техническое задание: Разработать устройство на микроконтроллере ATmega16, которое будет отображать в двоичном виде горящими светодиодами 8-ми битное число, начиная с 0 и с постоянным увеличением на 1. Устройство питается постоянным стабилизированным напряжением от 4 до 5.5 вольт. Тактирование МК осуществляется от кварцевого резонатора с частотой 4 МГц. Всего подключено 8 светодиодов от ножек порта A через токоограничительные резисторы к питанию МК. Переключение светодиодов должно производиться с паузами в 65 мс.

 

#include <mega16.h> /* Вставить вместо этой строки текст файла mega16.h, содержащий описание регистров МК */ #define PA_OUT DDRA = 0xFF /* Заменить везде в тексте программы PA_OUT на DDRA = 0xFF */ // ++++ функция инициализации МК ++++ void initialization(void){ PA_OUT;//сделать весь PORTA выходом TCCR0 = 0x05;/* таймер включить считать, делая один отсчет каждые 1024 колебания на ножке XTAL1 */ } Char per=0; // ++++ Главная функция ++++ void main (void){ initialization(); /* Вызвать функцию инициализации МК - т.е. настройки нужных нам устройств МК в соответствии с поставленной задачей */ //Бесконечный цикл while (1){ //Делать всегда PORTA=~(per++); while (!(TIFR&0x01)); // ждем установки флага переполнения timer0 TIFR = 0x01; // очистить флаг переполнения timer0 }; //цикл закончен } //скобка для main()

 

Запишите (без комментариев) программу в окно исходного текста программы. Сохраните изменения: файл -> Save All.

Для компиляции программы нажмите кнопочку "Make the project".

Загляните в папку нашего проекта - z1. В результате компиляции там появилось много новых файлов. Главные для нас:

z1.hex - файл-прошивка для "загрузки" в МК;

z1__.с - копия файла z1.c для симуляторов;

z1.cof - информация, связывающая содержимое файлов z1__.с и z1.hex. Эта информация позволяет при симуляции в VMLAB наблюдать движение программы прямо по коду на языке Си. Указанные файлы будем использовать в симуляторе VMLAB. Необходимым для реального МК является лишь файл прошивки.

Следующие четыре файла содержат нашу программу, написанную на стандартном ассемблере для AVR с привязкой к тексту на Си: z1.asm, z1.lst, z1.vec, z1.inc. Остальные файлы практически не интересны.

 








Дата добавления: 2016-01-09; просмотров: 1398;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.