Pozz svima
Nisam nigdje nasao temu vezano za ovo programiranje pa sam odlucio otvoriti novu temu pa ako mi neko moze pomoci oko ovoga zadatka
Treba napisati program koji ce ispisivati brojeve redom od 0-9999 na ova cetiri 7-segmentna display-a (kod spajanja display-a izvrseno je multipleksiranje) ,ja imam jedan dio zadatka uradjen samo ne znam kako bih ovo uradio ovo je ono sto sam ja dosad uradio :
unsigned short shifter, digit, portd_index;
unsigned int number;
unsigned short portd_array[4];
void interrupt() {
PORTA = 0;
PORTD = portd_array[portd_index];
PORTA = shifter;
shifter <<= 1;
if (shifter > 8)
shifter = 1;
portd_index++ ;
if (portd_index > 3)
portd_index = 0;
TMR0 = 0;
INTCON = 0x20;
}
unsigned short mask(unsigned short num) {
switch (num) {
case 0 : return 0x3F;
case 1 : return 0x06;
case 2 : return 0x5B;
case 3 : return 0x4F;
case 4 : return 0x66;
case 5 : return 0x6D;
case 6 : return 0x7D;
case 7 : return 0x07;
case 8 : return 0x7F;
case 9 : return 0x6F;
} //case end
}//~
void main() {
OPTION_REG = 0x80;
portd_index = 0;
shifter = 1;
TMR0 = 0;
INTCON = 0xA0;
PORTA = 0;
TRISA = 0;
PORTD = 0;
TRISD = 0;
while(1) {
x++;
Delay_ms(250);
portd_array[0] = mask(1);
portd_array[1] = mask(2);
portd_array[2] = mask(3);
portd_array[3] = mask(4);
}
}
evo na slici je sema ovog kola za koje treba napisati program
