找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 863|回复: 5
收起左侧

按键怎样切换数码管显示温度值

[复制链接]
ID:1099205 发表于 2023-11-10 11:11 | 显示全部楼层 |阅读模式
按键怎样切换数码管显示温度值和上下阈值,上下值闪烁几下后还可以回到温度值
回复

使用道具 举报

ID:883242 发表于 2023-11-10 22:50 | 显示全部楼层
检测到按键,闪烁显示几秒上阈值,闪烁显示几秒下阈值,回到正常显示温度状态。
回复

使用道具 举报

ID:69038 发表于 2023-11-11 00:45 | 显示全部楼层
设标志计数,按下按键计数++,
计数1,显示上限,计数2,显示下限,计数0返回,计数大于=于4计数=0;
再设按键超时值,有键按下,赋值10秒,无键按下超时值--,
标志计数>0且超时值>0,对应显示闪烁。无操作10秒后返回不闪。
回复

使用道具 举报

ID:213173 发表于 2023-11-11 07:21 | 显示全部楼层
闪烁几下后还可以回到正常界面,参考以下示例中相关代码 4位数码管时钟温度表仿真.rar (331.88 KB, 下载次数: 9)
回复

使用道具 举报

ID:1099205 发表于 2023-11-11 09:16 | 显示全部楼层
这个上限值和温度值显示都需要写在同一个定时器函数里用switch语句选择吗?上限值显示时怎么停留一段时间,然后自己回到温度显示值,定时器里可以用delay,或则fou循环吗?如果这时候执行按键加减会不会影响数码管显示不正常
回复

使用道具 举报

ID:123289 发表于 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,控制显示的内容。简单方便吧。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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