定时器实现数码管动态显示 C语言程序,KST-51单片机:c语言编程实现数码管动态显示秒表的倒计时...

本文介绍了如何使用C语言编程在KST-51单片机上实现一个60秒倒计时的数码管动态显示秒表。程序通过定时器T0进行1ms中断,用中断标志位和switch语句简化了数码管的切换,实现了个位和十位数码管的动态更新,避免了00状态的出现。
摘要由CSDN通过智能技术生成

/*60S倒计时*/

/*个位每1S变一次,从0~9*/

/*十位,个位为0的下一秒十位发生变化*/

#includesbit ADDR0=P1^0;

sbit ADDR1=P1^1;

sbit ADDR2=P1^2;

sbit ADDR3=P1^3;

sbit ENLED=P1^4;

unsigned char code LedChar[]=

{

0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,

0x80,0x90

};

void main()

{

unsigned int cnt=0; //记录中断次数

unsigned int sec=0; //记录秒数

unsigned char g=0; //个位数码管

unsigned char s=6; //十位数码管

ENLED=0; //使能U3 选中数码管DS1

TMOD=0x01; //T0为模式1

TH0=0xB8; //T0赋初值0xB800

TL0=0x00;

TR0=1; //启动T0

while(1)

{

ADDR3=1;

P0=0xff;

ADDR2=0;

ADDR1=0;

ADDR0=0;

P0=LedChar[g]; //选中个位数码管

if(TF0==1) //判断T0是否

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值