8255键盘显示实验显示程序中延时函数起什么作用?如何调节数码块亮度
答案:2 悬赏:0 手机版
解决时间 2021-03-23 20:36
- 提问者网友:無理詩人
- 2021-03-23 01:10
8255键盘显示实验显示程序中延时函数起什么作用?如何调节数码块亮度
最佳答案
- 五星知识达人网友:狂恋
- 2021-03-23 01:54
写程序之前一定要先从系统的级别构建一下程序的结构。
你的程序中,有数码管扫描显示、按键扫描、RTC三部分。
在构建程序结构的时候,考虑到几个部分的特点,一般情况如下:
1、如果时间显示到秒,应在100ms左右读一次RTC。
2、为了保证显示不删,应在20ms以内完成一次显示刷新,假设你用了20个数码管显示日期和时间。
3、按键是随机的,需要检测,一般按键按下的时间不小于50ms,可以考虑在10ms检测一次按键。
程序可以定义一个1ms的定时器,设置几个变量对定时器进行计数。
每个1ms定时到时,自加对定时器的计数,并更新数码管显示,20ms更新完20个数码管。
每到10ms检测一次按键,记录状态,与上次状态进行比较,如果连续两次或三次检测到按键按下,设置按键动作的标记,并确定如何更改显示,改变显存。
如果不在设置状态,每100ms读一次RTC的值,将值更新到显存。
如果数码管需要调整亮度,可以将1ms定时器改为100us,分给每个数码管的1ms内,改变其点亮的时间,就可以调出十种亮度。
用这种架构做这个程序,处理器负担很轻,对所有的外设的响应一样迅速。你会感到51单片机还是能干很多活的。
你的程序中,有数码管扫描显示、按键扫描、RTC三部分。
在构建程序结构的时候,考虑到几个部分的特点,一般情况如下:
1、如果时间显示到秒,应在100ms左右读一次RTC。
2、为了保证显示不删,应在20ms以内完成一次显示刷新,假设你用了20个数码管显示日期和时间。
3、按键是随机的,需要检测,一般按键按下的时间不小于50ms,可以考虑在10ms检测一次按键。
程序可以定义一个1ms的定时器,设置几个变量对定时器进行计数。
每个1ms定时到时,自加对定时器的计数,并更新数码管显示,20ms更新完20个数码管。
每到10ms检测一次按键,记录状态,与上次状态进行比较,如果连续两次或三次检测到按键按下,设置按键动作的标记,并确定如何更改显示,改变显存。
如果不在设置状态,每100ms读一次RTC的值,将值更新到显存。
如果数码管需要调整亮度,可以将1ms定时器改为100us,分给每个数码管的1ms内,改变其点亮的时间,就可以调出十种亮度。
用这种架构做这个程序,处理器负担很轻,对所有的外设的响应一样迅速。你会感到51单片机还是能干很多活的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯