标题: 按键怎样切换数码管显示温度值 [打印本页]

作者: 一叶知秋!    时间: 2023-11-10 11:11
标题: 按键怎样切换数码管显示温度值
按键怎样切换数码管显示温度值和上下阈值,上下值闪烁几下后还可以回到温度值

作者: Hephaestus    时间: 2023-11-10 22:50
检测到按键,闪烁显示几秒上阈值,闪烁显示几秒下阈值,回到正常显示温度状态。
作者: zhuls    时间: 2023-11-11 00:45
设标志计数,按下按键计数++,
计数1,显示上限,计数2,显示下限,计数0返回,计数大于=于4计数=0;
再设按键超时值,有键按下,赋值10秒,无键按下超时值--,
标志计数>0且超时值>0,对应显示闪烁。无操作10秒后返回不闪。
作者: wulin    时间: 2023-11-11 07:21
闪烁几下后还可以回到正常界面,参考以下示例中相关代码 4位数码管时钟温度表仿真.rar (331.88 KB, 下载次数: 9)


作者: 一叶知秋!    时间: 2023-11-11 09:16
这个上限值和温度值显示都需要写在同一个定时器函数里用switch语句选择吗?上限值显示时怎么停留一段时间,然后自己回到温度显示值,定时器里可以用delay,或则fou循环吗?如果这时候执行按键加减会不会影响数码管显示不正常
作者: yzwzfyz    时间: 2023-11-11 09:49
程序这样做:
1、显示内容只从XSBUF变量中取数字显示,即不显示其它值。好处是:显示程序SS单一简单。
2、下限值放到D_BUF变量中。
3、上限值放到U_BUF变量中。
4、当前温度值放到N_BUF变量中。
当你要显示上限时,送U_BUF到XSBUF,就可以了。
当你要显示下限时,送D_BUF到XSBUF,就可以了。
当你要显示当前温度时,送N_BUF到XSBUF,就可以了。
5、如何闪烁呢?在显示程序SS中做文章,以显示某个LED为例讲解,显示更多的LED,自己扩延。
假设要显示的是A(0或1),不要将A直接送到IO口驱动LED。而是将A*B之后再送到IO口,这样A就受B控制了。让B每0.3秒闪动一次(用定时中间很易做到),这样LED就闪动了。
6、如何控制闪与不闪呢?再用C来控制,假设:C=1闪,C=0不闪。你就这样做:
LED = A*B*C + A*(!C)。
关键点:不要直接送A至IO,而是加上控制计算后再送至IO。你会了吧。
如此,你只要对让C=0/1,就可以控制显示闪与不闪。能过修改XSBUF,控制显示的内容。简单方便吧。







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1