关于数码管动静结合的显示求助

2019-07-15 19:37发布

要想用定时器定时1s显示下一个数据
如:用4位数码管,静态显示3210,隔1s后再显示1234,1s后再显示BA98,1s后显示FEDC,然后就这样循环下去
有谁知道可否教我,如何用定时器实现这样的显示
主要是在显示函数和定时器的调用中不懂
求助!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
bigbigmule
1楼-- · 2019-07-16 00:23
 精彩回答 2  元偷偷看……
jiangxiaowenzsz
2楼-- · 2019-07-16 02:55
楼上正解
依然落叶飘零
3楼-- · 2019-07-16 05:51
首先设置一个数组Num[4];分别保存四个要显示的数。
主函数就是讲Num[4]里面的数不断扫描显示。这个我想你应该会。主函数里面还得初始化定时器0,
设置定时器0定时时间1s,定时器不能直接设置1s的必须计算多次中断实现。
定时器0中断里面就改变Num[4]里面的数,好像一楼所说的那样。每次进中断标志位flag加一,有四种状态,每种状态通过switch语句设置对应的数字。
思路就这样,不懂再上来问。参考http://bbs.elecfans.com/jishu_431105_1_1.html
上善若水120
4楼-- · 2019-07-16 11:35
bigbigmule 发表于 2014-5-22 22:40
只要在定时中断里设置一个标志flag,每次进入定时中断后flag++,在主程序中利用switch(case)语句进行flag ...


你好!谢谢你的回答
我还想问一下:
如果要显示的这样的数据不止4组,也许更多,或者说有没有通用的方法,比如显示的数据直接使用查表的方式实现
bigbigmule
5楼-- · 2019-07-16 16:48
上善若水120 发表于 2014-5-24 14:59
你好!谢谢你的回答
我还想问一下:
如果要显示的这样的数据不止4组,也许更多,或者说有没有通用的方法 ...

可以,还是一样,建立一个数组,将需要显示的数字放入数组中,将数组中标号改为flag,每次flag变化显示的就变化了,number[flag][4],你这个应该是二元的。上面我说的那种是状态机的思想,任务多内存不足以支持操作系统的时候多采用。
上善若水120
6楼-- · 2019-07-16 17:05
 精彩回答 2  元偷偷看……

一周热门 更多>