页数:16页文件大小:349.8 KB来源: 单片机原理及应用ppt课件
本课件讲解单片机人机交互接口:先说明七段LED数码管的共阳与共阴结构及十六进制字形代码表,再对比静态显示与动态显示的接口方法与优缺点,最后介绍按键的机械抖动特性与软硬件去抖措施以及独立式按键接口。
项目5「显示器及键盘」讲解LED数码管的结构、工作原理与静态/动态显示接口,以及按键特性、去抖动与独立式按键接口设计。
5.1 LED显示器及接口技术:在单片机系统设计中,信号的输出部分非常重要,常用的输出设备有显示器、打印机等。显示器种类很多,LED(发光二极管显示器)、LCD(液晶显示器)和CRT显示器都可以作为单片机的显示设备,通常用LED数码显示器来显示各种数字或符号。
由于LED具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
5.1.1 LED显示器结构与工作原理 1.LED内部结构:通常所说的LED显示器俗称数码管,由7个发光二极管组成,故又称7段LED显示器,其排列形状如图5-1所示。
实际上显示器中还有一个圆点型发光二极管(图中以dp表示)用于显示小数点。七个发光二极管构成「日」,一个构成小数点,故也称为8段显示器,通过发光二极管亮暗的不同组合,可以显示多种数字、字母以及其他符号。
LED显示器中的发光二极管共有两种连接方法:
图5-2给出一个二极管被点亮的条件。
图5-3 七段LED显示器:图中给出七段LED各发光段的排列位置,即a、b、c、d、e、f、g七个笔画段与小数点dp的分布,是确定字形代码位对应关系的基础。
2.LED工作原理:为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。七段发光二极管再加一个小数点位共计八段,因此提供给LED显示器的字形代码正好一个字节。各代码位的对应关系如下:
详见表5-1十六进制数的字形代码表。
表5-1 十六进制数的字形代码表:下表列出0~F、负号与熄灭状态在共阴极和共阳极两种接法下的字形代码。
| 字型 | 共阴极代码 | 共阳极代码 |
|---|---|---|
| 0 | 3FH | C0H |
| 1 | 06H | F9H |
| 2 | 5BH | A4H |
| 3 | 4FH | B0H |
| 4 | 66H | 99H |
| 5 | 6DH | 92H |
| 6 | 7DH | 82H |
| 7 | 07H | F8H |
| 8 | 7FH | 80H |
| 9 | 6FH | 90H |
| A | 77H | 88H |
| b | 7CH | 83H |
| C | 39H | C6H |
| d | 5EH | A1H |
| E | 79H | 86H |
| F | 71H | 8EH |
| - | 40H | BFH |
| 灭 | 00H | FFH |
5.1.2 LED显示器与单片机接口技术:LED显示器常用两种显示方法——静态显示和动态显示。
1.静态LED显示接口:所谓静态显示,就是每一个LED显示器都要占用80C51一个单独的输出口。这样单片机只要把要显示的字形代码发送到所连接的输出口,就可以显示相应的数字或字符,如图5-3所示为两位LED数码管静态显示示意图。
静态显示程序举例:在80C51单片机的输出端连接一只数码管,要求数码管依次显示0—F,每位数字显示100ms。所需元件如下表。
| 元件名称 | Proteus中的名称 | 元件标称值 | 元件标号 |
|---|---|---|---|
| 单片机 | AT89C51 | AT89C51 | U1 |
| 晶振 | CRYSTAL | 12MHz | X1 |
| 电容 | CAP | 30pF | C1、C2 |
| 电解电容 | CAP-ELEC | 10μF | C3 |
| 电阻 | RES | 8.2KΩ | R1 |
| 电阻 | RES | 200Ω | R2 |
| 开关 | BUTTON | — | K |
| 1位LED数码管 | 7SEG-MPX1-CA | 共阳极 | LED1 |
| 电阻 | RES | 330Ω | R3~R10 |
静态显示电路图:图中给出共阳极数码管的段选线与单片机I/O口之间串接限流电阻的连接方式,单片机把字形代码发送到输出口即可显示相应字符。
实践练习题目:在以上例子基础上更改条件完成以下题目:
2.动态LED显示接口:动态显示是一位一位地轮流点亮各位数码管。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制,如图5-4所示为8位LED数码管动态显示示意图。
5.2 键盘输入接口 5.2.1 按键的特性:按键按照结构原理可分为两类,一类是触点式开关按键,如常见的机械式开关等;另一类是无触点开关按键,如电气式按键、磁感应按键等。前者造价低,后者寿命长,目前单片机系统中最常见的是触点式开关按键。
按键按照接口原理可分为编码键盘与非编码键盘两类,主要区别是识别键符及给出相应键码的方法:
单片机系统键盘通常使用机械触点式按键开关,如图5-7所示,单片机的一个I/O口外接一个按键。按键没有闭合时I/O口经外接上拉电阻为高电平,按下按键则I/O口为低电平,松开又回到高电平;理想情况下每按一次按键,I/O口电平的变化应稳定地高→低→高。
但实际上机械式按键按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后触点才稳定下来,其抖动过程如图5-8所示。抖动时间的长短与开关的机械特性有关,一般为5~10ms。
在触点抖动期间检测按键的通与断状态,可能导致判断出错,即一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。
5.2.2 独立式按键接口 1.独立式按键结构及接口:单片机控制系统中往往只需要几个功能键,此时可采用独立式按键结构。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其他I/O口线的状态,典型应用如图5-10所示。
2.独立式按键的软件设计:常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后再转向该键的功能处理程序。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}