В данном примере показан процесс настройки проекта на WinAVR под микроконтроллерAtmega8 и его программирования. Сначала создаем проект в среде WinAVR, для этого нам необходимо создать отдельную папку под проект. Туда нам необходимо сохранить два файла. Первый файл это сама программа на языке Си, а второй файл представляет собой некую настройку проекта.
Для того чтобы откомпилировать файл программы сначала нам нужно создать MakeFile – специальный файл который «объясняет» компилятору с каким контроллером имеем дело в данном проекте и на какой частоте он будет работать и другие настройки. Очень важно в данном файле указать главный файл программы, если этого не сделать, то компиляции не будет .
Произвести вышесказанную настройку можно с помощью утилиты MFile, которая находится в папке с установленной программой. Сгенерированный с ее помощью файл необходимо сохранить в папку с проектом.
Статическая индикация означает что все сегменты индикатора горят одновременно.
В этом примере просчитаем от 0 до 9 и отобразим это значение на семисегментном индикаторе. В данном примере не используется специальной дешифратор для него. Выводы индикатора присоединены к порту B , всего 7 выводов. Определенные комбинации битов этого порта отображают ту или иную цифру. Значения этих цифр в двоичном формате представлены в массиве numarray[]. После компиляции программы в папке проекта появится файл cрасширением .hex. Этот файл мы и будем использовать для программирования контроллера atmega8. Прошивка осуществляется с помощью программатора USBasp
#include <avr/io.h> #include <avr/delay.h> int main(void) { unsigned char numarray[10]= {0b11001111, 0b00010001, 0b00000101, 0b01001100, 0b00100100, 0b00100000, 0b10001111, 0b00000000, }; DDRB=0xff; unsigned char num=0; while(1) { if (num>9) num=0; PORTB=numarray[num]; _delay_ms(50); num=num+1; } }
Комментарии