ФОРУМ ПО ЭЛЕКТРОНИКЕ http://radio-uchebnik.ru/forum/ |
|
Микроконтроллер http://radio-uchebnik.ru/forum/viewtopic.php?f=64&t=3117 |
Страница 1 из 1 |
Автор: | payalnik [ 28 ноя 2014, 01:43 ] |
Заголовок сообщения: | Микроконтроллер |
Доброго времени суток, дорогие электронщики. Нашёл сайт со схемами, но всё равно не могу разобраться с "Динамической индексацией": http://www.radio-magic.ru/microcontrollers/84-dynamic там нет схемы, сложный вообще проект это? |
Автор: | Lukey+ [ 30 ноя 2014, 09:32 ] |
Заголовок сообщения: | Re: Микроконтроллер |
да,для новичка без схемы сложновато ,но схема здесь не *главное* в проекте даже не указан мк ,но можно поставить 2313 или мегу 8 или 16 самое нужное знать программу ,каждую строчку комментировать! я напишу коменты к семплу какие знаю и вспомню. #include <avr/io.h>//подключение самого мк авр к проекту #include <avr/delay.h>// пауза где надо #include <avr/interrupt.h>//привязка в схему таймера char numarray[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};//подключение переменной char размером 1 байт unsigned char num=0; // подключение переменной размером 1 байт без отриц.значений unsigned char raz1,raz2; int seg=0; ISR (TIMER0_OVF_vect) //включение таймера 0 оверфлау значит по переполнению { switch(seg) { case 0: PORTD=~numarray[raz1]; break; case 1: PORTD=~numarray[raz2]; break; } PORTB =(1<<seg); seg++; if(seg>2) seg=0; TCNT0=190; } int main(void) { DDRD=0xff;//настройка портов все выводы порта D будут сконфигурированы как выходы,будут 11111111 DDRB=0xff;//все выводы порта B будут сконфигурированы как выходы, PORTB=0x00;//все выводы порта B будут сконфигурированы как выходы 00000000 //Настраиваем таймер TCCR0 |=(0<<CS02)|(1<<CS01)|(1<<CS00);//прескалер или предделитель частоты TIMSK |=(1<<TOIE0); //------------------------ asm("sei");//разрешение прерывание асемблерская вставка while(1) { if (num>99) num=0; _delay_ms(600);//пауза 0.6 сек num=num+1; raz1=num/10; raz2=num-10*raz1; } } это не кодвижон ,среда winavr/ вот так и разбирайся . только не с таким проектов ,а чего нибудь проще для начала. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |