char letter_M[] ={0xfe,0xfe,0x60,0x30,0x60,0xfe,0xfe};
char letter_i[] = { 0x00,0x82,0xfe,0xfe,0x82,0x00,0x00};
char letter_c[] = { 0x38,0x7c,0xc6,0x82,0x82,0xc6,0x44};
char letter_R[] = {0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62};
char letter_O[] = {0X38,0X7C,0XC6,0X82,0XC6,0X7C,0X38};
char letter_p[] = { 0x82,0xfe,0xfe,0x92,0x90,0xf0,0x60};
char letter_R[] = { 0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62};
char i = 0;
char shift = 0 , count = 0;
void TIMER0() iv 0x0004 ics ICS_AUTO {
if(INTCON.TMR0IF==1){
INTCON.TMR0IF = 0;
count++;
if(count>= 4){
count = 0;
shift++;
}
}
}
void main() {
INTCON |= 1<<GIE | 1<<T0IE ;
OPTION_REG &= ~1<<T0CS & ~1<<PSA ;
OPTION_REG |= 0X07; // PRESC=256
trisb=0x01;
portb=0;
//cmcon=7;
//trisa=0x01;
porta=0;
while(1){
while(portb.b0==1){}
vdelay_ms(shift * 1);
for(i=0; i<7; i++){portb=letter_M[i]; delay_us(600);}
portb=0; delay_us(1200);
for(i=0; i<7; i++){portb=letter_i[i]; delay_us(600);}
portb=0; delay_us(1200);
for(i=0; i<7; i++){portb=letter_c[i]; delay_us(600);}
portb=0; delay_us(1200);
for(i=0;i<7;i++){portb=letter_R[i]; delay_us(600);}
portb=0; delay_us(1200);
for(i=0;i<7;i++){portb=letter_O [i]; delay_us(600);}
portb=0; delay_us(1200);
for(i=0;i<7;i++){portb=letter_P[i]; delay_us(600);}
portb=0; delay_us(1200);
for(i=0;i<7;i++){portb=letter_R[i]; delay_us(600);}
portb=0;
}
}
|