哈工大单片机PPT课件
.
3
表10-1 LED段码(8段)
显示字符 共阴极 共阳极 显示字符 共阴极 共阳极
段码 段码
段码 段码
0
3FH
C0H
c
39H
C6H
1
06H
F9H
d
5EH
A1H
2
5BH
A4H
E
79H
86H
3
4FH
B0H
F
71H
8EH
4
66H
99H
P73H8CHFra bibliotek56DH
92H
U
3EH
C1H
6
7DH
82H
T
31H
CEH
LJMP PKEY2
;S2键按下,转PKEY2处理
KEY3: CJNE A,#1BH,KEY4 ;S3未按下,转KEY4
LJMP PKEY3
;S3按下,转PKEY3处理
KEY4: CJNE A,#17H,KEY5 ;S4键未按下,转KEY5
LJMP PKEY4
;S4按下,转PKEY4处理
KEY5: CJNE A,#0FH,PASS ;S5未按下,转RETURN
1. 静态显示方式
各位的公共端连接在一起(接地或+5V)。
每位的段码线(a~dp)分别与一个8位的锁存器 输出相连。
显示字符一确定,相应锁存器的段码输出将维持 不变,直到送入另一个段码为止。显示的亮度高。
图10-3: 4位静态LED显示器电路。该电路各位
可独立显示。
.
7
2. 动态显示方式
所有位的段码线相应段并在一起,由一个8位I/O
7
07H
F8H
y
6EH
91H
8
7FH
80H
H
76H
89H
9
6FH
90H
L
38H
C7H
A
77FH
88H
“灭”
00H
FFH
b
7CH
83H
…
…
…
.
4
表10-1只列出了部分段码,可根据实际情况选用。
另外,段码是相对的,它由各字段在字节中所处的 位决定。例如表10-1中8段LED段码是按格式:
而形成的, “0”的段码为3FH(共阴)。反之,如 将格式改为下列格式:
相比,要节省很多的I/O口线。
.
19
(1)行列式键盘工作原理
无键按下,该行线为高电平,当有键按下时, 行线电平由列线的电平来决定。
由于行、列线为多键共用,各按键彼此将相互发 生影响,必须将行、列线信号配合起来并作适当的处 理,才能确定闭合键的位置。
(2)按键的识别方法
a. 扫描法
图10-10(b)中3号键被按下为例,来说明此键 时如何被识别出来的。
.
20
识别键盘有无键被按下的方法,分两步进行:
第10章 MCS-51与键盘、显示器、拨盘、打印机的接 口设计
输入外设:键盘、BCD码拨盘等; 输出外设:LED显示器、LCD显示器、打印机等。
10.1 LED显示器接口原理 LED(Light Emitting Diode):发光二极管的缩写。
显示器前面冠以“LED”。
10.1.1 LED显示器的结构
则 “0”的段码为7EH(共阴)。
字型及段码由设计者自行设定,习惯上还是以“a”
段对应段码的最低位。
.
5
10.1.2 LED显示器工作原理 图10-2是4位 LED显示器的结构原理图。
N个LED显示块有N位位选线. 和8×N根段码线。 6
段码线控制显示的字型,
位选线控制该显示位的亮或暗。
静态显示和动态显示两种显示方式。
基本思想:检测到有键按下,键对应的行线为低,软 件延时10ms后,行线如仍为低,则确认该行有键按下。
当键松开时,行线变高,软件延时10ms后,行线仍为 高,说明按键已松开。
采取以上措施,躲开了两个抖动期t1和t3的影响。
.
12
10.2.2 键盘接口的工作原理
独立式按键接口和行列式键盘接口。
1.独立式键盘接口 各键相互独立,每个按键各接一根输入线,通过检
口控制,形成段码线的多路复用,各位的公共端分别由
相应的I/O线控制,形成各位的分时选通。
.
8
图10-4:4位8段LED动态显示电路。其中段码线占用一 个8位I/O口,而位选线占用一个4位I/O口。
.
9
图10-5为8位LED动态显示2003.10.10的过程。
图(a)是显示过程,某一时刻,只有一位LED被选通 显示,其余位则是熄灭的;
测输入线的电平状态可很容易判断那个键被按下。
此种接口适于键数较少或操作速度较高的场合。
图10-7(a)为中断方式的独立式键盘工作电路
图10-7(b)为查询方式的独立式键盘工作电路。
.
13
.
14
图10-8为8255A扩展I/O口的独立式按键接口电路。
.
15
图10-9用三态缓冲器扩展的I/O口的按键接口电
图(b)是实际显示结果,人眼看到的是8位稳定的 同时显示的字符。
.
10
10.2 键盘接口原理 1. 键盘输入的特点
键盘:一组按键开关的集合。 行线电压信号通过键盘开关机械触点的断开、闭合, 输出波形如图10-6。
.
11
2. 按键的确认
检测行线电平 高电平:断开;低电平:闭合,
3.如何消除按键的抖动 常用软件来消除按键抖动。
LJMP PKEY5
;S5按下,转PKEY5处理
RETURN:RET
;重键或无键按下,从子程序返回
识别和编程简单,用在. 按键数较少的场合。 18
2. 行列式(矩阵式)键盘接口
用于按键数目较多的场合,由行线和列线组成, 按键位于行、列的交叉点上。如图10-10所示。
按键数目较多的场合,行列式键盘与独立式键盘
路。
.
16
对图10-9独立式键盘编程,软件消抖,查询方式检
测键的状态。仅有一键按下时才有效才处理。
KEYIN:MOV DPTR,#0BFFFH;键盘端口地址BFFFH
MOVX A,@DPTR ;读键盘状态
ANL A,#1FH MOV R3,A LCALL DELAY10
;屏蔽高三位 ;保存键盘状态值 ;延时10ms去键盘抖动
常用的LED显示器为8段(或7段,8段比7段多了一 个小数点“dp”段)。
有共阳极和共阴极两种。如图10-1所示。
.
1
.
2
为使LED显示不同的符号或数字,要为LED提供段码 (或称字型码)。
提供给LED显示器的段码(字型码)正好是一个字 节(8段)。各段与字节中各位对应关系如下:
按上述格式,8段LED的段码如表10-1所示。
MOVX A,@DPTR ;再读键盘状态
ANL A,#1FH
;屏蔽高三位
CJNE A,R3,RETURN ;两次不同,抖动引起转RETURN
CJNE A,#1EH,KEY2 ;相等,有键按下,不等转KEY2
.
17
LJMP PKEY1
;是K1键按下,转K1键处理 ;子程序PKEY1
KEY2: CJNE A,#1DH,KEY3 ;S2键未按下,转KEY3