51单片机数码管显示.ppt
项目二 数码管显示,本项目涉及数码管在实际应用中的各种不同情况,附有电路图以及例程。,数码管实物,一 LED显示器(数码管)的结构与原理,1.数码管的结构 LED显示器(数码管)系发光器件的一种。常用的LED发光器件有两类:数码管和点阵。 数码管内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见数码管有10根管脚。管脚排列如下图所示。其中COM为公共端,根据内部发光二极管的接线形式可分为共阴极和共阳极两种。 使用时,共阴极数码管公共端接地,共阳极数码管公共端接电源。每段发光二极管需510mA的驱动电流才能正常发光,一般需加限流电阻控制电流的大小。,一 LED显示器的结构与原理,管脚排列 共阴极数码管 共阳极数码管,一 LED显示器的结构与原理,2. 数码管显示原理 LED数码管的ag七个发光二极管。加正电压的发光,加零电压的不能发光,不同亮暗的组合就能形成不同的字型,这种组合称为字型码。共阳极和共阴极的字型码是不同的,下面我们分析一下。 如下图所示,把一个共阳极的数码管接到STC89C52RC单片机的P0口上,思考,怎样让此数码管显示数字0?,分析:共阳极的数码管,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*/ void main() /*无返回值的主程序*/ P0=0 xc0; 但是若数码管如链接图中的接法,怎样修改程序呢?,思考:1.如果是共阴极的数码管怎样显示0呢? 2.大家能不能把所有数码管能显示的字符的字型码分析出来? 3.怎样实现令一个数码管连续显示09十个字符。,一个数码管显示0、1、2的程序 #include void delay(int); void main() P2=0 x00; P0=0 x03; delay(400); P0=0 x9f; delay(400); P0=0 x25; delay(400); void delay(int x) int i,j; for(i=0;i<x;i+) for(j=1;j<120;j+); ,LED字型显示代码表,二 LED显示器静态显示及应用实例,1. 静态显示的特点 静态显示就是单片机将所要显示的数据送出去后,数码管始终显示该数据(不变),到下一次显示时,再传送一次新的显示数据。 静态显示的接口电路采用一个并行口接一个数码管,数码管的公共端按共阴极或共阳极分别接地或接VCC。这种接法,每个数码管都要单独占用一个并行I/O口,以便单片机传送字形码到数码管控制数码管的显示。显然其缺点就是当显示位数多时,占用I/O口过多。 静态显示方式的优点是显示的数据稳定,无闪烁,占用CPU时间少。其缺点是由于数码管始终发光,功耗比较大。,二 LED显示器静态显示及应用实例,2. 静态显示应用实例 【例】 用三位数码管分别显示1,2,3。电路如下图所示,STC89C52RC的P0P1P2口经74LS373接三个共阴极数码管,数码管的公共端接地。,参考程序: #include void main() P0=0 x03; P1=0 x9f; P2=0 x25; ,3.串行静态显示,为了解决静态显示I/O口占用过多的问题,可采用串行接口扩展LED数码管的技术。 利用串入并处移位寄存器74LS164可以实现串行接口的扩展。 注意:74LS164的CLK端每产生一个下降沿,输出端的数据左移一位。,思考:用下图电路显示1、2的程序怎样编写?,三 LED显示器动态显示及应用实例,1. 动态显示的特点 动态扫描方法是用一个接口电路把所有数码管的8个笔划段ag和dp同名端连在一起,而每一个数码管的公共极COM各自独立地受一条I/O线控制。CPU向字段输出口送出字形码时,所有数码管接收到相同的字形码。但究竟是哪个数码管亮,则取决于COM端,COM端与单片机的I/O口相连接,由单片机输出位码到I/O控制何时哪一位数码管亮。 动态扫描用分时的方法轮流控制各个数码管的COM端,使各个数码管轮流点亮。在轮流点亮数码管的扫描过程中,每位数码管的点亮时间极为短暂。但由于人的视觉暂留现象及发光二极管的余辉,给人的印象就是一组稳定的显示数据。,三 LED显示器动态显示及应用实例,1. 动态显示的特点 优点:当显示位数较多时,采用动态显示方式比较节省I/O口,硬件电路也较静态显示简单。 缺点:其稳定度不如静态显示方式。而且在显示位数较多时CPU要轮番扫描,占用CPU较多的时间。,三 LED显示器动态显示及应用实例,2. 应用实例 【例】 采用四位数码管动态扫描显示0、1、2、3。硬件电路设计如下图所示。,数码管动态显示电路原理图,课后作业: 请同学们在实验板上练习本项目中的所有情况,学会根据不同的电路修改程序。,