1、/使用AT89c51单片机控制四个数码管动态显示0-9999 ,12MHz#includevoid jiayi();/加1函数void chufa();/除法函数void xianshi();/显示函数void delay();/延时函数sbit P2_0=P20;/个位位码sbit P2_1=P21;/十位位码sbit P2_2=P22;/百位位码sbit P2_3=P23;/千位位码unsigned char qianwei,baiwei,shiwei,gewei;unsigned int count=0;unsigned char code dis10=0xc0,0xf9,0xa4,0x
2、b0,0x99,0x92,0x82,0xf8,0x80,0x90;/共阳极0-9void main() while(1) jiayi(); chufa(); xianshi(); void chufa()/将数字的各个位拆开 qianwei=count/1000;/千位数 baiwei=count%1000/100; /百位数 shiwei=count%100/10; /十位数 gewei=count%10; /个位数void jiayi() count=count+1; if(count=10000) count=0; void delay()/延时 unsigned int i,j; for(i=0;i10;i+) for(j=0;j200;j+); void xianshi()/显示当前数值 P2_0=1; /显示个位 P1=disgewei; delay(); P2_0=0; P2_1=1;/显示十位 P1=disshiwei; delay(); P2_1=0; P2_2=1; /显示百位 P1=disbaiwei; delay(); P2_2=0; P2_3=1; /显示千位 P1=disqianwei; delay(); P2_3=0;