数码管显示

51单片机——数码管(共阴)

一.数码管的工作原理
数码管的本质是led的并联,分为共阴共阳两种。共阴数码管中led的负极都连接在一起然后接地,这样如果要让led亮就只需要让单片机的I/o口输出高电平。共阳数码管是led的正极连接在一起然后接上VCC,要led亮就输出低电平。在这里插入图片描述

二.数码管显示
1.芯片74HC573在这里插入图片描述(1)OE为使能端,当他为低电平的时候, 锁存器开始工作;OE默认接GND。
(2)LE为锁存端,当LE为高电平的时候,Q0Q7都跟D0D7状态一样;当LE为低电平的时候,Q0Q7都锁存数据,无论D0D7怎么变化,Q0~Q7都保持锁存之前的那个状态。
(3)HC573控制数码管的段选,要点亮数码管,需将段选拉高。

2.芯片74HC138(3.8译码器)
在这里插入图片描述

在这里插入图片描述
HC138控制的是数码管(共阴)的位选,所以,想要点亮数码管就要将位选拉低。

三.数码管显示的程序
1.首先写好头文件,宏定义管脚在这里插入图片描述
2.然后,我们需要定义一个数组,保存好,我们想要显示的数字(或字母)
比如这样呢,就是1~f,16个元素了。在这里插入图片描述
3.然后我们简单的定义一个延时函数
在这里插入图片描述
4.编写数码管显示函数
在这里插入图片描述
需要注意的是,首先让段选拉低,熄灭所有的数码管是有必要的,然后用switch语句,case的后面一定要记得跟上break(跳出循环)。最后很重要的一点,数码管的动态显示要记得消影。动态显示实际上是一个接一个的循环的接通位选,只是延时的时间比较短,让人产生数码管在同时显示的错觉。
5.最后,main函数中记得调用数码管显示函数。

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页