登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 单片机数码管的应用

[复制链接]
发表于 2018-1-27 20:03:36 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机数码管应用
学习安排: 《手把手教你学51单片机》第五章第六章
开始时间: 2018-01-26
结束时间: 2018-01-27
通过前面几次的笔记分享,相信大家对LED小灯掌握的已经非常好了,接下来我们来学习一种能表达更复杂信息的器件——LED 数码管。
先给大家提供一张原理图看一下 QQ截图20180127124939.png 这是比较常见的数码管原理图,我们板子上一共有6个数码管。从图中可以看出来,数码管共有a,b,c,d,e,f,g,dp这么8个段,而实际上,这8个段每一段都是一个LED小灯,所以一个数码管就是由8个LED小灯组成的。我们来看一下数码管内部结构示意图,数码管共分为共阳极和共阴极两种 QQ截图20180127125213.png ,共阴极数码管就是8只LED小灯的阴极连接在一起的,阴极是公共端,由阳极来控制单个小灯的亮灭。同理,共阳数码管就是阳极连接在一起。我们的板子上就是6个共阳极数码管 QQ截图20180127133649.png 6个数码管的C O M口都是接到了正极上,当然了,和LED小灯电路一样,也是由74HC138控制三极管的导通来控制整个数码管的使能。 QQ截图20180127133743.png
先来看最右边的DS1这个数码管,原理图上可以看出,控制DS1的三极管是Q2,控制Q2的引脚是LEDS0,对应到74HC138上边就是U3的Y0输出我们现在的目的是让LEDS0这个引脚输出低电平,相信大家现在可以根据前边学过的知识对你把P22,P21,P20,ENLED这四个所需输入的值写出来了,大家可以根据74HC138的手册去写一下,而数码管内部的8个LED小灯我们称之为数码管的段,那么数码管的段选择(即该段的亮灭)是同个P0口控制,经过74HC245驱动。
数码管的八个段,我们直接当成8个LED小灯来控制,那就是a,b,c,d,e,f,g,dp一共8个LED小灯。我们通过图一可以看出,如果点亮b和c这两个LED小灯,也就是数码管的b段和c段,其他的所有段都熄灭的话,就可以让数码管显示出一个数字1,呢么这个时候实际上P0的值就是0b11111001,十六进制就是0xF9。数码管显示的数字字符对应给P0的赋值,我们叫数码管的真值表。我们来列一下我们这个电路的真值表 QQ截图20180127173234.png 注意,这个真值表里显示的数字都不带小数点的。
那么我们写一个程序,来看一看数码管显示的效果。 QQ截图20180127173221.png 这个程序下载进我们的单片机,你会发现我们的最左边的数码管显示的就是1,与真值表对应一下,就可以理解了。
最后我来列一个利用定时器使单个数码管每秒变化一次数字的程序 QQ截图20180127183405.png 不过这个程序经过我的下载发现对应的数码管并不工作,而且我找不到问题在什么地方,希望有人能够把答案评论在帖子下面谢谢。
好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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