51单片机程序修改
发布网友
发布时间:2022-05-07 16:52
我来回答
共2个回答
热心网友
时间:2022-06-30 18:52
现在,你显示的是 num1,其范围是 0~60。
可以把它的上限,改为 30,这就符合你的要求了。
另外再增加一个变量 num2,其范围是 0~60。
用它来控制红绿黄的交替变化,即可。
void display(uchar ge,uchar shi)
{
if (num2 <= 25) { P1=0xfe;}
else if (num2 <= 30) { P1=0xff; delay(2); P1=0xfd;}
else if (num2 <= 60) { P1=0xfb;}
……
}
……
void time0() interrupt 1
{
TH1=(65536-5000)/256;//--应该是TH0=...
TL1=(65536-5000)%256;//--应该是TL0=...
num++;
if(num == 10) {
num = 0;
num1++;
if(num1 == 30) num1 = 0; //用于显示秒数
shi = num1 / 10;
ge = num1 % 10;
num2++;
if(num2 == 60) num2 = 0;//用于控制变换
}
}
热心网友
时间:2022-06-30 18:53
你好!没看懂你要怎么修改?