51单片机实现倒计时
实验环境
软件: Keil5+Proteus7
元件: AT89C51 * 1,RESPACK-8 * 1,7S3G-COM-CATHODE * 2
仿真图
代码实现
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar num=60,shi,ge;
uchar code TAB[] = {
0x3F,
0x06,
0x5B,
0x4F,
0x66,
0x6D,
0x7D,
0x07,
0x7F,
0x6F,
};
void T0INTinit()
{
TMOD = 0x01;
TH0 = (65536 - 50000) / 256;
TL0 = (65536 - 50000) % 256;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void T0INT() interrupt 1
{
uchar i;
TH0 = (65536 - 50000) / 256;
TL0 = (65536 - 50000) % 256;
i++;
if (i == 20)
{
i = 0;
num--;
if (num == 0)
num = 60;
}
}
void main()
{
T0INTinit();
while (1)
{
shi = num / 10;
ge = num % 10;
P0 = TAB[shi];
P2 = TAB[ge];
}
}
成果图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)