fero_zezina: po uprave jsem to uz nezkousel, ale snad to pofrci
Je to psany pro megu32. Kdybys to chtel pouzit pro m8, je potreba vymenit myslim PORTA za jinej
[code]#include <avr/io.h>
#define POCET_CISLIC 4
int main(void)
{
unsigned char poradi_cislice = 0, i, j;
unsigned char pole_zobrazeni]={~63,~48,~91,~79,~102,~109,~125,~7,~127,~111};
unsigned char pole_data[POCET_CISLIC];
//PORTA - segmenty, "0" segment sviti
//PORTB - vyber cislice, "1" cislice sviti
DDRA = 0xFF;
DDRB = 0x0F; //vyuzivam pouze dolni 4b
//pro zkousku
pole_data[0] = 4; //nejnizsi rad (cislice)
pole_data[1] = 3;
pole_data[2] = 2;
pole_data[3] = 1;
for(;;)
{
PORTB = 0; //zhasne disp.
PORTA = pole_zobrazeni[pole_data[poradi_cislice]]; //hodnota pro pozadovanou cislici
PORTB = (1<<poradi_cislice); //rozsviti pozadovany rad (cislici)
//poradi_cislice++;
if(++poradi_cislice == POCET_CISLIC)
{
poradi_cislice = 0;
}
//------------------- zpozdeni kolem 1 ms
for(i=0; i<19; i++)
{
for(j=0; j<255;j++)
{
//nutno mit vypnute optimalizace,
//jinak by byla smycka odstranena
}
}
//-------------------
}
return 0;
}
[/code]