器材
AT89C52RC
最小系统板
8位共阳极数码管
连线
sbit DIO = P1^0;
sbit RCK = P1^1;
sbit SCK = P1^2;
代码
void Timer1() interrupt 3
{
ET1=0;
TH1 = (65536-46080)/256;
TL1 =(65536-46080)%256;
ET1=1;
jishu++;
if(jishu == 20)
{
jishu = 0;
miao++;
if(miao == 60)
{
miao = 0;
fen++;
if(fen == 60)
{
fen = 0;
miao = 0;
}
}
}
miao_L = miao%10;
miao_H = miao/10;
fen_L = fen%10;
fen_H = fen/10;
}
把分秒显示在数码管上
void shizhongDisplay (void)
{
Nixie_Display(fen_H,1);
Delay(5);
Nixie_Display(fen_L,2);
Delay(5);
Nixie_Display(miao_H,3);
Delay(5);
Nixie_Display(miao_L,4);
Delay(5);
}
调试遇到的问题
码管显示时钟
1 闪的频率很高可能需要消隐
加了延时后不再闪烁
数码管每一位都显示8.
部分位置改成数字就好了, 分秒这里不能用数组代替数直接用分秒的个十位。