|
謝謝指導(dǎo),我把上面程序重編輯如下: #include <iom16v.h> #include <macros.h> #define uchar unsigned char #define uint unsigned int uchar num=0; #pragma interrupt_handler miao:9 #pragma data:code const table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(uint ms) { uint i,j; for(i=0;i<ms;i++) { for(j=0;j<1141;j++); } } void show(uchar j,uchar k) { PORTA|=BIT(3); PORTB=table[j]; PORTA&=~BIT(3); PORTB=0XFF; PORTB&=~BIT(k); PORTA|=BIT(4); PORTA&=~BIT(4); delay(1); } void miao() { if(num==60) num=0; num++; TCNT1H=0X85; TCNT1L=0XED; } void main() { DDRB=0XFF; DDRA|=0X18; TCCR1B=0X04; TCNT1H=0X85; TCNT1L=0XED; TIMSK|=BIT(2); SREG|=BIT(7); while(1) { show(num/10,0); show(num%10,1); } } |
|