电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2314|回复: 0
收起左侧

单片机C语言实例-333-用LED数码管显示计数器T0的计数值

[复制链接]
发表于 2022-3-30 16:02:22 | 显示全部楼层 |阅读模式
单片机C语言实例-333-用LED数码管显示计数器T0的计数值

//实例67:用LED数码管显示计数器T0的计数值
#include<reg51.h>   //包含51单片机寄存器定义的头文件
sbit S=P3^2 ;  //将S位定义为P3.2引脚
unsigned char Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};  //段码表
unsigned char x;
/******************************************************************
函数功能: 延时约0.6ms
********************************************************************/
void delay(void)      
{
    unsigned char j;
          for(j=0;j<200;j++)
                ;
  }

/******************************************************************
函数功能:显示计数次数的子程序
入口参数:x
********************************************************************/
void Display(unsigned char x)
{
    P2=0xf7;        //P2.6引脚输出低电平,DS6点亮
    P0=Tab[x/10];   //显示十位
    delay();
    P2=0xfb;      //P2.7引脚输出低电平,DS7点亮
    P0=Tab[x%10];  //显示个位
    delay();
       
}

/*******************************************
函数功能:主函数
******************************************/       
void main(void)
  {
   EA=1;   //开放总中断
   EX0=1;  //允许使用外中断
   IT0=1;  //选择负跳变来触发外中断
        x=0;
       
        while(1)
    Display(x);

}
/**************************************************************
函数功能:外中断T0的中断服务程序
**************************************************************/
void int0(void) interrupt 0 using 0 //外中断0的中断编号为0
{
  x++;
  if(x==100)
   x=0;

}


更多详情参考附件文档
+08:00C376联盟网3054.png
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表