В данном примере показан процесс настройки проекта на 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;
}
}
Комментарии