《第24章LED数码管显示.ppt》由会员分享,可在线阅读,更多相关《第24章LED数码管显示.ppt(15页珍藏版)》请在优知文库上搜索。
1、第24章 LED数码管显示 对于人机交互式单片机系统来说,不仅需要响应用户输入,同时也需要将一些测控信息输出显示。这些显示信息可以提供实时的数据或图形结果,以便于掌握系统的状态并进行分析处理。目前,在单片机中最常用的是LED数码管显示。其成本低廉、使用简便,可以显示数字或几个特定的字符。本章将主要介绍LED数码管的种类与结构,以及使用51系列单片机如何实现显示,包括静态显示和动态显示。本章还通过实例介绍了单个LED和多个LED的使用方法。24.1 LED数码管概述LED即发光二极管,英文全称为Light Emitting Diode。单独的发光二极管便是一个最简单的LED,通过控制其的亮灭来作
2、为信号指示,一般用于电源指示灯、工作状态指示等。单个的发光二极管使用比较简单。LED数码管是由若干个发光二极管组成的显示字段的显示器件,一般简称为数码管。当数码管中的某个发光二极管导通的时候,相应的一个字段便发光,不导通的则不发光。LED数码管可以根据控制不同组合的二极管导通,来显示各种数据和字符。单片机应用系统中使用最多的是7段LED,其可以显示十进制数字以及一些英文字符。7段LED显示模块可以分为共阴极和共阳极两种,下面分别进行介绍。24.1.1 7段共阳极LED结构及显示段码7段共阳极LED数码管是由7个条形发光二极管和一个小数点位构成,其引脚配置,如图所示,其内部结构,如图所示。从图中
3、可以看出,其中7个发光二极管构成字形“8”,可以用来显示数字,另一个发光二极管构成小数点。因此,这种数码管有时也被称为8段LED数码管显示器。24.1.2 7段共阴极LED结构及显示段码共阴极7段LED数码管和共阳极LED数码管结构类似,其引脚配置,如图所示。从图中可以看出7段LED数码管同样由8个发光二极管组成,其中7个发光二极管构成字形“8”,另一个发光二极管构成小数点。共阴极7段LED数码管的内部结构,如图所示。其中所有发光二极管的阴极为公共端,接GND。如果发光二极管的阳极极为高电平的时候,发光二极管导通,该字段发光;反之,如果发光二极管的阳极为低电平的时候,发光二极管截止,该字段不发
4、光。24.2 单个LED驱动实例 前面介绍了LED数码管的结构及其显示方式。LED数码管主要用于显示数字和一些特定的字符。这里通过一个具体的实例介绍一下,如何使用51系列单片机来进行数字和字母的显示。24.2.1 电路图本例主要用来使用共阳极LED数码管显示数字或字符,读者可以从中掌握LED数码管的基本操作方法。这里给出完整的电路原理图,如图所示。24.2.2 程序设计 这里采用LED的静态显示的方式,根据按键的不同,使LED数码管有不同的显示输出。1创建项目 2程序代码24.3 多个LED驱动方式在实际的单片机应用系统中,使用单个LED数码管的情况比较少,经常需要同时使用多个LED数码管来显
5、示大于1位的数据或字符串。以4个LED数码管并列使用的情况为例。这4个数码管可以显示-9999999之间的任何数字,也可以同时显示4个字符构成的字符串。可见使用多个LED数码管可以大大扩展显示的信息量。对于使用单个LED数码管的场合,直接用单片机的一个并行口便可以控制显示。如果仍然采用这种方法来控制显示N个LED数码管显然是不太可能的,因为典型的8051单片机只有4个I/O并口,而且有些I/O口还需要用作其他用途。而对于一些多引脚的型号,通常也不够为每个LED分配一个I/O并口用于显示。此时便需要根据系统资源占用情况,来选用合理的显示控制方式。24.3.1 静态驱动显示LED数码管静态显示方式
6、是指,当数码管显示某个字符的时候,相应字段的发光二极管恒定地导通或者截止,即亮灭是完全不变的。在这种情况下,多个LED是同时显示的。这里以4个共阴极LED数码管为例,如图所示。其公共端接GND,每个LED数码管的字段引脚分别接单片机的P0、P1、P2、P3端口,这样便可以为每个数码管单独赋值操作。24.3.2 动态驱动显示动态显示是指每隔一段时间循环点亮每个LED数码管,每次只有一个LED被点亮。根据人眼的视觉暂留效应,当循环点亮的速度很快的时候,可以认为各个LED是稳定显示的。动态显示的硬件连接比较简单。这里使用了8个LED数码管,将所有LED的8段引脚并联在一起,连接到8位的I/O数据总线
7、上。而各个LED的共阳极引脚或共阴极引脚分别由另一组I/O线控制,从图中可以看出,使用两个8位的I/O端口便可以动态显示8位LED数码管。其中一个并口作为LED数码管的控制引脚,另一个并口作为公共的数据总线。程序中采用扫描显示的方式,即在同一时刻,只使用一个LED显示数据。通过为共阴极LED(或共阳极LED)的公共引脚赋低电平(或高电平),从而选择某个LED显示。如此循环,使每个LED显示该LED应显示的数据,并进行适当的延时,形成视觉暂留效果。这样便可以达到动态显示的目的。24.3.3 LED驱动器前面介绍的LED的动态驱动显示在程序设计上比较复杂,实际上可以将相应的LED扫描动态显示电路交
8、由特定功能的芯片来完成。目前,市场上有多种LED数码管显示驱动芯片。MAXIM公司生产的MAX7219显示驱动器。24.4 多个LED驱动实例 前面介绍了各种驱动多个LED数码管的方法,其中以外接LED驱动器最为方便,占用单片机资源少,而且程序控制简单。这里便以实例讲解如何使用MAX7219芯片和51系列单片机来驱动多个LED数码管。24.4.1 LED驱动器电路图系统完整的电路图,如图所示。这里的单片机选用ATMEL公司的新型单片机AT89S51,也可以采用其他兼容的51系列单片机,如AT89S52、AT89C51、8051等。24.4.2 程序设计 本例的程序功能是演示MAX7219的各个寄存器操作,以及控制8个LED数码管显示数字及字符。24.5 小结 本章详细介绍了LED数码管显示器件,包括共阳极7段LED数码管和共阴极7段LED数码管,然后介绍了LED的静态显示技术及其应用实例。本章还重点讲解了LED数码管的动态显示技术,包括静态驱动、动态驱动和LED驱动器驱动。最后通过一个具体的实例讲解了使用LED驱动器控制多个LED的显示。LED数码管显示是单片机系统中常用的显示接口,读者应该熟练掌握其使用方法。