#include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar temp,aa,numdu,numwe; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x7b,0x71}; uchar code tablewe[]={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; sbit wela=P2^0; sbit dula=P2^1; void main() { numdu=0; numwe=0; aa=0; TMOD=0x01; //设置定时器0工作方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256;//装初值。 EA=1;//开总中断。 ET0=1;//开定时器0中断。 TR0=1;//定时器开始工作。 //temp=0xfe; //P1=temp; while(1) { if(aa==20) { aa=0; numdu++; if(numdu==9) numdu=1; dula=1; P0=table[numdu]; dula=0; wela=1; P0=tablewe[numwe]; wela=1; numwe++; if(numwe==8) numwe=0; } } } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; }