#include <reg52.h> 
#define uchar unsigned char 
#define uint  unsigned  int         
uchar duan[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};         //所需的段的位码 
//uchar wei[4]={0XEf,0XDf,0XBf,0X7f};                                 //位的控制端        (开发板) 
uchar wei[4]={0X80,0X40,0X20,0X10};                                 //位的控制端        (仿真) 
uint z,x,c,v, date;        //定义数据类型 
uint dispcount=0; 
/****************************************************************** 
 
延时函数 
 
******************************************************************/ 
void delay(uchar t) 
{ 
  uchar i,j; 
   for(i=0;i<t;i++) 
   { 
            for(j=13;j>0;j--); 
         { ; 
         } 
   } 
} 
 
/********************************************************************** 
                数码管动态扫描 
*********************************************************************/ 
void xianshi() 
 {  
 /*****************数据转换*****************************/  
  z=date/1000;                         //求千位 
  x=date%1000/100;                 //求百位 
  c=date%100/10;                 //求十位 
  v=date%10;                         //求个位 
 
      P2=wei[0]; 
          P0=duan[z]; 
          delay(50);   
            P2=wei[1]; 
      P0=duan[x]; 
          delay(50);   
             P2=wei[2]; 
      P0=duan[c]; 
          delay(50);   
      P2=wei[3]; 
      P0=duan[v]; 
          delay(50);   
                                         
 
       } 
 
 /************************************************************************* 
                                主函数         
**************************************************************************/ 
void ExtInt0() interrupt 0 //中断服务程序 
{ 
dispcount++; //每按一次中断按键,计数加一 
if (dispcount==9999) //计数范围0-9999 
{dispcount=0;} 
} 
 
 /************************************************************************* 
                                主函数         
**************************************************************************/ 
 void main() 
{   
 
TCON=0x01; //中断设置 
IE=0x81; 
 
 while(1) 
        {           
    date=dispcount; 
        xianshi(); 
    } 
}                                 
 
 
 
                                                                           
 
 |