T4

Code Program

#define digit1 PORTB.F6
#define digit2 PORTB.F7

unsigned char segment[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int i=6,j=0;

void interrupt()
{
     j--;
     if(j<0)
     {
            j=9;
            i--;
     }
     if(i==0&&j==0)
     {
            T0CON.TMR0ON=0;
            PORTB.F5=1;
     }
     TMR0H=0xC2;
     TMR0L=0xF7;
     INTCON.TMR0IF=0;
}

void main()
{
     TRISB=0x01;
     TRISC=0;
     PORTB.F5=0;
     T0CON=0x05;
     TMR0H=0xC2;
     TMR0L=0xF7;
     INTCON.TMR0IE=1;
     INTCON.TMR0IF=0;
     INTCON.GIE=1;
     while(1)
     {
             if(PORTB.F0==0)T0CON.TMR0ON=1;
             digit1=0;digit2=1;
             PORTC=segment[i];
             delay_ms(50);
             digit1=1;digit2=0;
             PORTC=segment[j];
             delay_ms(50);
     }
}

ภาพจำลองการทำงานด้วยโปรแกรม Proteus





ความคิดเห็น

บทความที่ได้รับความนิยม