求基于51单片机的c语言程序,一个数码管显示的秒表
设计3位数码管,每位用三极管驱动。设计3个按键,第一个为功能键,第二个为加键,第三个为减键。利用定时器来设计。按一次功能键,时间停止,调秒。此时按加键,秒加1,加到59后...
设计3位数码管,每位用三极管驱动。
设计3个按键,第一个为功能键,第二个为加键,第三个为减键。
利用定时器来设计。
按一次功能键,时间停止,调秒。此时按加键,秒加1,加到59后,再按加键,显示0。按减键,秒减1,减至0时,再按一次减键,显示59。
按二次功能键,时间仍停,调分。此时按加键,分加1,加到9后,再按加键,显示0。按减键,分减1,减至0时,再按一次减键,显示9。
按三次功能键,时间在此基础上走,最大显示9分59秒。
发我邮箱1173673053@qq.com 展开
设计3个按键,第一个为功能键,第二个为加键,第三个为减键。
利用定时器来设计。
按一次功能键,时间停止,调秒。此时按加键,秒加1,加到59后,再按加键,显示0。按减键,秒减1,减至0时,再按一次减键,显示59。
按二次功能键,时间仍停,调分。此时按加键,分加1,加到9后,再按加键,显示0。按减键,分减1,减至0时,再按一次减键,显示9。
按三次功能键,时间在此基础上走,最大显示9分59秒。
发我邮箱1173673053@qq.com 展开
展开全部
功能键设置好久行了~
比方变量s调秒,变量m调分
则功能键设置为中断,按一次时间停止,进入调时状态
再按一次中断启发,时间再次运行,退出调时状态
sbit add_s= P1^1; //按下按键为低电平~
.....
void interrupt_s() interrupt 0
{
while(1)
{
if(add_s== 0) {s++;while(add_s==0);} //秒加
if(s==60) s=0;// 59后,自然回0
dislpay_(); //动态显示,不然调整效果哪里看。
.....
if(flag==0)break;
}
}
这是参考,仿真有空再做,protues吧?
比方变量s调秒,变量m调分
则功能键设置为中断,按一次时间停止,进入调时状态
再按一次中断启发,时间再次运行,退出调时状态
sbit add_s= P1^1; //按下按键为低电平~
.....
void interrupt_s() interrupt 0
{
while(1)
{
if(add_s== 0) {s++;while(add_s==0);} //秒加
if(s==60) s=0;// 59后,自然回0
dislpay_(); //动态显示,不然调整效果哪里看。
.....
if(flag==0)break;
}
}
这是参考,仿真有空再做,protues吧?
追问
可不可以看一下完整的程序
追答
没写,这只是思路,你可以自己参考~
我建议你自己写写然后自己仿真试试,不懂再问,一定要有思路!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询