|
功能要求:当DS1302的分秒是0时,L1点亮5秒后关闭(定时器计时5秒),L1亮的同时,数码管正常工作。
出现问题:L1正常点亮,但是数码管无法正常工作,5秒之后直接显示5;同时L1,5秒之后无法关闭。
重要提示:这是蓝桥杯的单片机开发板
time_zero初始状态是1,它是当分秒为0时的bit状态位。count_L1是为了在定时器中计数,当计到50时,清零。定时了5s。
L1就是led1;
void RunTimer0() interrupt 1
{
TH0=(65535-1000) / 256; 定时1ms
TL0=(65535-1000) % 256;
if(time_zero==0)
{
count_L1++;
if(count_L1==5000)
{
count_L1=0;
L1=1;
time_zero=1;
}
}
}
void displayLED()
{
if(Time[0]==0x00&&Time[1]==0x00)
{
Select573(4); //片选HC573
time_zero=0;
L1=0;
Select573(0);
while(time_zero!=1)
displaySMG();
Select573(0);
}
}
void main()
{
Write_1302_clock();
InitTimer0();
offbuzz();
offled();
while(1)
{
Read_1302_clock();
displayLED();
displaySMG();
}
}
|
-
1.jpg
(484.51 KB, 下载次数: 48)
分秒没有到0时,L1尚未点亮
-
2.jpg
(514.48 KB, 下载次数: 51)
-
3.jpg
(400.1 KB, 下载次数: 42)
|