这算是51单片机学习的一个入门知识点了,必须掌握的。
实现功能如下:
- 默认上电运行0-9循环显示
- 按左移/右移/上移/下移按键时,0-9按照对应的方向移动显示
- 按复位键时,恢复循环显示模式
关键点在于:
- 点阵数据。有些初学者点阵数据都是网上找的,根本不知道为什么这些数据就能显示0,1,2……这个一定要自己琢磨明白的,我这里就不多赘述了。明白原理后,这里推荐个方便的转换数据工具:PCtoLCD2002,可以将想要显示的字或者图片转换成对应的数组代码。
- 循环显示是最简单的,明白了点阵数据的来历之后,将数组中的数据一个个顺序调用就可以了。
- 上下左右移动,关键在于上一个字符的第一(或最后一)行(或列)消失的时候,下一个字符对应的行(或列)要同时出现。这个大家看对应的代码自己改动其中的数字体验一下就明白了。
- 每个显示控制的子函数中都有好几个break,这是检测是否有按键按下,以便及时响应的处理。当然这并不是最优的解决方法,大家可以找一下其他更好的方法。
Proteus原档我就不放了,不同版本的可能会有些问题。有需要的,可以在Proteus上照抄原理图,再把代码复制进去实际操作一下。
有问题欢迎评论区提问,谢谢!
阅读全文