找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

简单电子钟显示时数码管乱跳的问题

[复制链接]
admin 发表于 2012-9-2 08:19:48 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
以下是程序,觉得写的也没什么问题啊。但仿真时,数码管乱显示!求解,什么地方出问题了呢?大虾们赐教啊
#include<reg51.h>
unsigned char t=0;
unsigned char second=0;
unsigned char tensec=0;
unsigned char minute=0;
unsigned char tenmin=0;
unsigned char hour=0;
unsigned char time[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void display();
void delay();
main()
{
TMOD=0x01;
TH0=0X3C;
TL0=0XB0;
ET0=1;
EA=1;
TR0=1;
while(1)
display();
}
void timer0() interrupt 1
{
t++;
TH0=0X3C;
TL0=0XB0;
if(t==20)
{t=0;
second++;
if(second==10)
{
second=0;
tensec++;
if(tensec==6)
{
tensec=0;
minute++;
if(minute==10)
{
minute=0;
tenmin++;
if(tenmin==6)
{
tenmin=0;
hour++;
if(hour==24)
{
hour=0;
}
}
}
}
}
}
}
void display()
{
P0=time[second];
P2=0x01;
delay();
P0=time[tensec];
P2=0x02;
delay();
P0=time[minute];
P2=0x04;
delay();
P0=time[tenmin];
P2=0x08;
delay();
P0=time[hour%10];
P2=0x10;
delay();
P0=time[hour/10];
P2=0x20;
delay();
}
void delay()
{
int i;
for(i=0;i<100;i++);
}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-24 09:33 , Processed in 0.056751 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表