Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [ 43 ] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

PORTD=0)(00: DDRD=0)(00;

Инициализация Timer 1

Clock source: System Clock

Clock value: 3906 kHz

Mode: Output Compare

0C1 output: Discon.

Noise Canceler: Off

Input Capture on Falling Edge

TCCR1A=0)(00:

TCCR1B=0)(05:

TCNT1H=0)(ff;

TCNTILOxfd:

0CR1H=0x00:

0CR1L=0x00;

Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x80;

P0RTB=0x00;

while (1);

>

Модель светофора

К линиям О, 1 и 2 порта В подсоединены соответственно красный, желтый и зеленый светодиоды. Микроконтроллер: AT90S2313. Кварцевый резонатор: 4 МГц.

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

Sinclude <90s23l3.h>

Timer 1 overflow interrupt service routine interrupt [TIM1 0VF] void timer1 ovf isr(void) {

Reinitialize Timers 1 value

TCNT1H=0xb3;

TCNT1L=0xb5;

Place your code here

P0RTB=P0RTB«1;

if (PINB.2==1) P0RTB=0x01;

>

Declare your global variables here

void main(void) {

Declare your local variables here



II Input/Output Ports initialization

Port В

DDRB=OxFF;

PORTB=OxOO;

Port D

PORTD=OxOO;

DDRD=OxOO:

Timer/Counter 1 initialization

Clock source: System Clock

Clock value: 3906 kHz

Mode: Output Compare

0C1 output: Discon.

Noise Canceler: Off

Input Capture on Falling Edge

TCCR1A=OxOO;

TCCR1B=0x05:

TCNT1H=0xb3;

TCNT1L=0xb5;

0CR1H=0x00;

OCR1L=OxO0;

Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0xB0;

P0RTB=0x01;

while (1);

>

4.3. Компилятор Imagecraft С

Очень интересен для рассмотрения С компилятор фирмы ImageCraft. Этот оптимизирующий компилятор достаточно компактен: дистрибутив имеет объем всего 2,5 Мбайт. После установки на диск компилятор занимает чуть больще 4 Мбайт. Несмотря на скромные размеры, он позволяет создавать вполне серьезные программы. Интегрированная среда разработки (IDE) работает в среде Windows 95/98/NT и включает в себя текстовый редактор с полноценной поддержкой русского языка и подсветкой синтаксиса программ, и менеджер проекта. Компилятор поддерживает работу практически со всеми AVR-микроконтроллерами, в том числе с новыми ATmegal6I/163 и FPSLIC АТ94. Для микросхем семейства ATtiny и



AT90S1200, не имеющих внутреннего ОЗУ, имеется пакет ICC Tiny AVR. Опции компиляции можно выбрать из стандартного набора или установить самостоятельно, выбрав в поле «тип микросхемы» - custom device. Компилятор позволяет получить стандартный НЕХ-файл для загрузки в микросхему, и файл в формате COFF, необходимый для работы с отладчиком AVR Studio. Компилятор совместим со стандартом ANSI С. В исходном тексте можно использовать вставки на ассемблере.

Библиотеки, поставляемые в комплекте с компилятором, включают достаточно большое количество функций, в том числе специализированных, ориентированных на специфические особенности микроконтроллеров, такие как доступ к ЭСПЗУ, АЦП и SPI-интерфейсу. В интегрированной среде имеется достаточно подробно написанный help-файл, практически полностью повторяющий содержание книги, входящей в комплект поставки компилятора. Есть очень полезная возможность обратиться за помощью непосредственно на фирму ImageCraft, написав письмо по адресу info@imagecraft.com. В отличие от многих других производителей программного обеспечения, эта фирма достаточно оперативно отвечает на вопросы пользователей. Несомненным преимуществом работы с компилятором ImageCraft С является возможность полноценной работы до приобретения С-компилятора. Последняя де-мо-версия пакета доступна на сайте производителя программы по адресу http: www.imagecraft.com, причем эта версия максимально дружелюбна: пользователь может работать с исходными текстами неограниченной длины и компилировать файл для любой микросхемы. Единственным ограничением является время работы - 30 дней. Его достаточно для разработки даже крупного проекта. По истечении месяца пользователь должен принять решение: или переформатировать винчестер, чтобы еще раз установить де-мо-версию, либо приобрести официальный дистрибутив и право на техническую поддержку. Демонстрационная версия этого компилятора имеется на компакт-диске, прилагаемом к книге.

Ниже приведен пример простейшей программы для компилятора Imagecraft. Эта программа заставляет мигать восемь светодиодов, подключенных к порту В.



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [ 43 ] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.0012