要用AT89S51单片机的定时器实现电子时钟或闹钟,用4位数码管显示,用点的闪烁表示秒,做好有电路原理图等
发布网友
发布时间:2022-05-29 16:11
我来回答
共2个回答
热心网友
时间:2023-10-24 08:33
一般的7段数码管没有点 。你说这个数码管的PROTUES代码 我帮你试试。
热心网友
时间:2023-10-24 08:33
#include<reg52.h>
sbit P10=P1^0; //第0位数码管
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
#define THCO 0xee
#define THLO 0x00
unsigned char miao=0,fen=0,shi=0;
unsigned char code an[]=;
main(void)
{
TMOD=0x11;
TH0=THCO;
TL0=THLO;
EA=1;
ET0=1;
TR0=1;
while(1);
}
void timw0() interrupt 1
{
static unsigned char c=0,k=0;
TH0=THCO;
TL0=THLO;
P1|=0xff;
c++;
if(c>200) {
miao++;
if(miao>=60)
if(fen>=60)
c=0;
}
if(k>3)
k++;
switch(k-1)
{
case(0):P10=0;P0=an[shi/10];break;
case(1):P11=0;P0=an[shi%10];break;
case(2):P12=0;P0=an[fen/10];break;
case(3):P13=0;P0=an[fen%10];break;
}
}
这是时钟程序,可以运行,无小数点,显示时分,
小数点断码是0x80,其余的只有靠你自己了。
有问题的话,qq :1499648096