查看: 1616|回复: 0
打印 上一主题 下一主题

034、0~9999计数器

[复制链接]
跳转到指定楼层
沙发
发表于 2015-4-20 16:20:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


#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();
    }
}                               



                                                                          

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入中科因仑

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表