回顾上一篇,我们使用一个一维数组定义一个数字,然后发送给数码管显示。但如果让数码管从0~9滚动显示,就要给0~9每个数字各自定义一个一维数组,这样虽然也可以,但是在实际开发当中,需要在这十个一维数组中来回切换,就显得繁琐又低效了。如何解决这个问题呢?
引言LED数码管是单片机系统常用的显示器件,1英寸以上的LED数码管的每个字段都是由多个发光二极管串、并联组成,在此称为大尺寸数码管。大尺寸数码管虽然不能显示汉字等复杂字符,但数字显示效果好,可视距离远,成本低,符合人的视觉习惯,有着广泛的用途。
今天咱聊聊数码管,其实数码管这个器件,本身没有什么好讨论的。为什么这里作为单独一节拿出来讨论呢?个人认为,这个小东西虽然简单,实际使用过程中,其实包含了很多。单片机知识以外的内容,譬如一些简单的编程技巧、编程与实际现象的关联,非常值得入门者认真思考。
导语:我相信在都市中奔波的人们总会有这种感觉:每到夜晚,当黑夜染满了七彩斑斓的霓虹灯,这样的夜晚被都市的绚烂感染,让人们沉迷在这种莫名的美丽之中,而这七彩的灯光也是现代电子科技的结晶,而它的载体就是我们所熟知的二极管,这或许也让大家疑惑,为什么我们看到的不是无数的零件和接线的呢?
华大的单片机开发,是可以使用IAR和KEIL,但因为我个人因为一直使用Keil,之前用GD和STM32都是使用KEIL用习惯了,所以华大单片机我也使用keil开发,不过对版本有要求,需要KEIL5,推荐使用MDK5.26这个版本。
这个问题,在你学单片机驱动数码管显示大于10位数的时候,就会遇到。举个栗子:在三位数码管上显示一个三位数。比如这个数x=186,怎么把1显示到第一个数码管,8显示到第二个数码管,6显示到第三个数码管?看起来是不是很简单?想着简单,做起来难!
一. 实验任务如图 4.3.1 所示,AT89S51 单片机的 P1.0-P1.3 接四个发光二极管 L1-L4,P1.4-P1.7 接了四个开关 K1-K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)。二. 电路原理图图 4.3.