51单片机_数码管显示
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三 LED显示器动态显示及应用实例
1. 动态显示的特点 优点:当显示位数较多时,采用动态显示方式比较节省I/O 口,硬件电路也较静态显示简单。 缺点:其稳定度不如静态显示方式。而且在显示位数较多时 CPU要轮番扫描,占用CPU较多的时间。
三 LED显示器动态显示及应用实例 2. 应用实例 【例】 采用四位数码管动态扫描显示0、1、2、 3。硬件电路设计如下图所示。
二 LED显示器静态显示及应用实例
1. 静态显示的特点
静态显示就是单片机将所要显示的数据送出去后,数码管始终显示 该数据(不变),到下一次显示时,再传送一次新的显示数据。 静态显示的接口电路采用一个并行口接一个数码管,数码管的公共 端按共阴极或共阳极分别接地或接VCC。这种接法,每个数码管都要单 独占用一个并行I/O口,以便单片机传送字形码到数码管控制数码管的 显示。显然其缺点就是当显示位数多时,占用I/O口过多。
参考程序:
#include <reg51.h> void main() { P0=0x03; P1=0x9f; P2=0x25; }
3.串行静态显示
为了解决静态显示I/O口占用过多的问 题,可采用串行接口扩展LED数码管的技术。 利用串入并处移位寄存器74LS164可以 实现串行接口的扩展。
注意:74LS164的CLK端每产生一个下降沿, 输出端的数据左移一位。
分析:共阳极的数码管,COM端为高电平, 数据段为低电平时,对应的段亮。则
p0.7 p0.6 p0.5 p0.4 p0.3 p0.2 p0.1 p0.0接
dp g f e d c b a对应电平为 1 1 0 0 0 0 0 0 接下来让我们编程实现这个显示。
#include <reg51.h> /*包含头文件reg51.h*/ void main() /*无返回值的主程序*/ { P0=0xc0; } 但是若数码管如链接图中的接法,怎样 修改程序呢?
思考:用下图电路显示1、2的程序 怎样编写?
三 LED显示器动态显示及应用实例
1. 动态显示的特点 动态扫描方法是用一个接口电路把所有数码管的8个笔划段 a~g和dp同名端连在一起,而每一个数码管的公共极COM各自 独立地受一条I/O线控制。CPU向字段输出口送出字形码时, 所有数码管接收到相同的字形码。但究竟是哪个数码管亮, 则取决于COM端,COM端与单片机的I/O口相连接,由单片机 输出位码到I/O控制何时哪一位数码管亮。 动态扫描用分时的方法轮流控制各个数码管的COM端,使各 个数码管轮流点亮。在轮流点亮数码管的扫描过程中,每位 数码管的点亮时间极为短暂。但由于人的视觉暂留现象及发 光二极管的余辉,给人的印象就是一组稳定的显示数据。
数码管动态显示电路原理图
课后作业: 请同学们在实验板上练习本项目中的所 有情况,学会根据不同的电路修改程序。
一 LED显示器的结构与原理
a +5V a b b
c c
COM 10 9 g f a f g b 8 a 7 b 6
d d
e e
f e d g e 1 d 2 3 c 4 dp 5 dp COM GND dp g c f
(a )
(b )
(c )
管脚排列
共阴极数码管
共阳极数码管
一 LED显示器的结构与原理
Байду номын сангаас
LED字型显示代码表
显示 0 1 2 3 4 5 6 7 8 9 A b C d E F H P dp 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 g 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 f 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 段 e 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 符 d 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0 号 c 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 b 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 a 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 十六进制代码 共阴极 共阳极 3FH C0H 06H F9H 5BH A4H 4FH B0H 66H 99H 6DH 92H 7DH 82H 07H F8H 7FH 80H 6FH 90H 77H 88H 7CH 83H 39H C6H 5EH A1H 79H 86H 71H 8EH 76H 89H F3H 8CH
静态显示方式的优点是显示的数据稳定,无闪烁,占用CPU时间少。 其缺点是由于数码管始终发光,功耗比较大。
二 LED显示器静态显示及应用实例
2. 静态显示应用实例 【例】 用三位数码管分别显示1,2,3。电路如下图所示, STC89C52RC的P0\P1\P2口经74LS373接三个共阴极数码管, 数码管的公共端接地。
2. 数码管显示原理 LED数码管的a~g七个发光二极管。加正电压 的发光,加零电压的不能发光,不同亮暗的组合就 能形成不同的字型,这种组合称为字型码。共阳极 和共阴极的字型码是不同的,下面我们分析一下。 如下图所示,把一个共阳极的数码管接到 STC89C52RC单片机的P0口上,思考,怎样让此数码 管显示数字0?
项目二 数码管显示
本项目涉及数码管在实际应用中的各种不同情况,附有电路图 以及例程。
数码管实物
一 LED显示器(数码管)的结构与原理
1.数码管的结构 LED显示器(数码管)系发光器件的一种。常用的LED发光 器件有两类:数码管和点阵。 数码管内部由七个条形发光二极管和一个小圆点发光二 极管组成,根据各管的亮暗组合成字符。常见数码管有10 根管脚。管脚排列如下图所示。其中COM为公共端,根据内 部发光二极管的接线形式可分为共阴极和共阳极两种。 使用时,共阴极数码管公共端接地,共阳极数码管公共 端接电源。每段发光二极管需5~10mA的驱动电流才能正常 发光,一般需加限流电阻控制电流的大小。
思考:1.如果是共阴极的数码管怎样显示0呢? 2.大家能不能把所有数码管能显示的 字符的字型码分析出来? 3.怎样实现令一个数码管连续显示0— 9十个字符。
一个数码管显示0、1、2的程序 #include <reg51.h> void delay(int); void main() { P2=0x00; P0=0x03; delay(400); P0=0x9f; delay(400); P0=0x25; delay(400); } void delay(int x) { int i,j; for(i=0;i<x;i++) for(j=1;j<120;j++); }