Выбрать главу

• шиной SPI;

• управлением режимами пониженного потребления энергии;

• временными задержками.

Также в CodeVision имеется автоматический генератор программ, который позволяет в течение считанных минут получить готовый код для следующих функций:

• настройка доступа к внешней памяти;

• определение источника прерывания Reset;

• инициализация портов ввода/вывода;

• инициализация внешних прерываний;

• инициализация таймеров/счетчиков;

• инициализация сторожевого таймера;

• инициализация UART;

• инициализация аналогового компаратора;

• инициализация встроенного АЦП;

• инициализация интерфейса SPI;

• инициализация поддерживаемых библиотеками CodeVision микросхем, работающих с однопроводным интерфейсом и шиной I2С;

• инициализация модуля ЖКИ-индикатора со встроенным контроллером.

Среда CodeVision AVR включает в себя программное обеспечение для работы с совместимым с платой STK200 программатором. После компиляции исходной программы на языке С полученный код может быть непосредственно запрограммирован в микроконтроллер. Этот программатор использует всего четыре сигнала: MOSI, MISO, SCK, RESET. Известно много простейших программаторов, соединяющихся с последовательным или параллельным портом IBM совместимого персонального компьютера.

Читателям предлагается на примере простейшей схемы познакомиться с применением демонстрационной версии компилятора языка С CodeVisionAVR, Для этого придется изготовить простой совместимый с STK200 кабель внутрисхемного программирования и несложную схему с микроконтроллером AT90S2313. В итоге проделанную работу можно будет проверить, запустив простую программу на языке С.

Изготовление кабеля для внутрисхемного программирования «STK200/300»

На рис. 4.6 показана электрическая принципиальная схема кабеля. Микросхема 74НС244 представляет собой буфер с тремя состояниями на выходах, что позволяет избежать влияния кабеля на схему после программирования микроконтроллера, не отключая кабеля.

Адаптер получил свое название от комплектующихся им отладочных плат фирмы Atmel для быстрого начала работы с микроконтроллерами At90s8515 и Atmega103 соответственно. На самом деле приведенная схема соответствует одновременно обеим адаптерам, в ней присутствуют перемычки для определения наличия как адаптера STK200 (выводы 2-12 разъема XI), так и STK300 (выводы 3-11).

Разводка колодки Х2 на приведенной схеме соответствует принятой фирмой Atmel для производимых ею плат.

Рис. 4.6. Простой кабель для внутрисхемного программирования

Простая демонстрационная схема на микроконтроллере AT90S8535

Чтобы проверить эту схему в работе, вам нужно иметь только один микроконтроллер AT90S2313, источник питания +5 В и кварцевый резонатор частотой 4 МГц. Кроме этого, потребуется несколько пассивных элементов — конденсаторов и резисторов. Электрическая принципиальная схема устройства изображена на рис. 4.7.

Для управления светодиодом в схеме использован всего один вывод микроконтроллера — PD1.

Рис. 4.7. Простейшая схема с микроконтроллером AT90S2313

Пример программы

Для проверки работы кабеля внутрисхемного программирования и демонстрационной схемы предлагается несложная программа, которая заставляет мигать светодиод. Оттранслированный код для этой программы можно найти на прилагаемом к книге компакт диске в файле blink.hex.

Текст программы:

// blink.с

#include <90s2313.h>

#include <delay.h>

void main()

{

// инициализация порта D

DDRD=0xff; // Порт D работает на вывод

PORTD=0x00;

while(1)

{

   PORTD.1=0;

   delay_ms(1000);

   PORTD.1=1;

   delay_ms(1000);

} // while(1)

// main

Использование встроенного программатора CodeVision

Простейший способ работы с прорамматором — использование команды меню Project, подменю CONFIGURE. Если осуществить указанные на рис. 4.8 установки, оттранслированный код программы будет загружен в микроконтроллер непосредственно после успешной компиляции.

Рис. 4.8. Окно настройки проекта