#include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit dula=P3^7; uchar aa,qian,bai,shi,ge; uint i; void init(); void delay(uint z); void display(uchar qian,uchar bai,uchar shi,uchar ge); uchar code num_table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void main() { init(); //初始化 i=0; while(1) { if(aa==20) { aa=0; if (i==9999) i=0; i++; qian=i/1000; bai=i%1000/100; shi=i%100/10; ge=i%10; } display(qian,bai,shi,ge); } } void init() { TMOD=0x01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; } void timer0()interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; aa++; } void display(uchar qian,uchar bai,uchar shi,uchar ge) { P2=0; dula=1; P0=num_table[qian]; dula=0; delay(1) ; P2=0x01; dula=1; P0=num_table[bai]; dula=0; delay(1) ; P2=0xb02; dula=1; P0=num_table[shi]; dula=0; delay(1); P2=0x03; dula=1; P0=num_table[ge]; dula=0; delay(1) ; } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
图片如下:


