常用外设接口设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▪ INAL,DX
▪ ANDAL,1FH
▪ CMPAL,1FH
▪ JNZKEYDN2
▪ SHLBL,1
▪
MOVAL,40H
▪
CMPAL,BL
;所有行都扫描完否
▪
JNZKEYDN1
▪
JMPDISUP
;完转显示
▪ KEYDN2: MOVCH,00H;键盘译码程序
▪ KEYDN3: DECCH
▪
SHRBL,1
常用外设接口设计
▪ 一、 LED接口
▪
1. LED数码管
▪
LED数码管是工业控制系统中十分
常见的一种显示装置。
▪
LED数码管分为共阳和共阴两种结
构。
10
6
a
f
b
g
e
c
d DP
1
5
3
8
12 ed
4 5 6 7 9 10 c DP b a f g
图19 共阳LED数码管的示意图
▪
2. 接口电路
▪
下面一段程序可判断按钮的状态。当K闭合时,
值表,我们将行寄存器和列寄存器两个
字节的值拼成一个字节。拼字的规律是:
▪
(FFH-行号)×16+
▪
从而得到查表值。例如,键“8”
的查表值可按上述规律计算得:
▪ 键 “ 8” 查 表 值 =(FFH03H)×16+17H=C0H+17H=D7H
表8 键值表
▪
4) 键盘扫描及译码程序
▪
键盘扫描及译码程序的流程图如
是否有键按下? 是
否
否
BL左移 一位,为扫 描 下一 行作准备
按下 键 是否释 放?
是
键值 送A L
否
所有 行是
否都 扫描完?
是 转显 示程序
图23 键盘扫描及译码程序流程图
▪
;键盘扫描程序
▪ DECKY: MOV AL,3FH
▪
MOV DX,DIGLH
▪
OUT DX,AL
▪
MOV DX,KBSEL
图23所示。首先向行寄存器送FFH,由
于8锁存器输出加有反相器,故使所有行
线置为低电平。
启动
键盘 所有行均 送“0” 否
是否 有键按下 ? 是
设置 行扫描初 值01H
行扫 描初值送BL
根据 行列寄存 器值, 计算 按下键的 查表值 (FFH-行号)×1 6+ (AL)
输出 行扫描值
查键 值表,并送BL
▪
JMP START
a b c d e f g DP - 5V
~ ~
D0 D7 IO W
74 06 74 LS27 3
D0 Q0
1
D7 Q1
1
≥1
CP Q2
1
Q3
1
系
Q4 1
A15 统 A14
≥1
A13 总 A12
G2A
A11
Q5
1
Q6 1
线
A10 A9
A8
74 LS13 8 Y0
Q7
1
51 0Ω ×8
82 79
IRQ
RL0
▪
~
D0
微
~
RL7
键
D7
处
RD
理
WR
SL0
~
CS
器
A0
SL3
CLK SH IFT
盘
RE SE T CNTL/ STB
图24 利用8279作为键盘接口的框图
CP U
82 51
TxD RTS
RxD CTS
RxC TxC CLK
分频
SSK81 4
RxD CTS
TxD RTS X1
RE T0 RE T7
&
输出
&
+ 5V
图22 按键的硬件消抖电路
▪
3) 键值的确定
▪
如图22所示,当某一个键按下时,
根据该键所处的行列号,CPU可以通过
接口得到相表7应.7 行的列行寄存寄器值存一器览表值及列寄存器
值,如表7所示。
▪
▪
例如,键“8”处于第3行,第3列。
那么,当按下该键时,行寄存器和列寄
存器的值分别为08H和17H。为了简化键
X0
LED
~ ~
RL0~ RL7 8×8
键
9 SL0 盘 HC4 514 SL7 矩
阵 4- 10译 码 8
SH IFT + 5V
图25 利用SSK814作为键盘接口的框图
▪
3) PC键盘
▪
所 有 的 PC 键 盘 都 是 完 全 可 互 换
的,它是PC中少数的几个从不会与其他
部件发生冲突的设备之一。PC键盘采用
0FE
D
R4
R3
R2
R1
R0
DIGLH
KBSEL
图21 矩阵式键盘及其接口
▪
2) 键盘接口
▪
该键盘有6条行选择线和5条列选
择线。使用一个输出口作为行选择线输
出,其对应关系如下:
▪ 在扫描键盘过程中,应注意如下问题: ▪ ①键抖动。 ▪ ②串键。 ▪ ③应防止按一次键而产生多次处理的情况。
+ 5V
▪
JNZKEYDN3
▪
SHLCH,1
▪
SHLCH,1
▪ SHLCH,1 ▪ SHLCH,1 ▪ ADDAL,CH
;实现(FFH-行号)×16+列
▪ MOVDI,OFFSETKYTBL ;端口值
▪ KEYDN4: CMPAL,[DI]
▪ JZKEYDN5
▪ INCDI
▪ INCBL
;表序号加1
▪ JMPKEYDN4
的一个重要输入工具。
▪
1. 非编码式键盘
▪
1) 键盘的基本结构
▪
一般非编码式键盘采用矩阵结构,
如图7.44所示。
+ 5V
来自百度文库
锁存器
10k 10k 10k 10k 10k
D5
D5 Q5
L5
D4
D4 Q4
L4
L3
7
8
9A
D3
D3 Q3
D2
D2 Q2
L2
4
5
6
B
L1
1
2
3
C
D1
D1 Q1
D0
D0 CPQ0
L0
▪ KEYDN5: MOV DX,KBSEL
▪ KEYDN6: INAL,DX
▪
AND AL,1FH
▪
CMP AL,1FH
;检测键是
▪
JNZ KEYDN6 ;未释放继
▪
CALLD20MS
;消除键抖
▪
MOV AL,BL ;键值送AL
▪
…
▪
2. 编码式键盘
▪
1)与系统的连接方式
▪
2)专用键盘接口芯片
▪
IN AL,DX
▪
AND AL,1FH
▪
CMP AL,1FH ;判有无键闭合
▪
JZ DISUP
;无键闭合转显示程序
▪ CALLD20MS ;消除键抖动,D20MS为20ms
▪ MOVBL,01H
;初始化行扫描值
▪ KEYDN1: MOVDX,DIGLH
▪ MOVAL,BL
▪ OUTDX,AL
▪ MOVDX,KBSEL
智能接口与微机相连,该智能接口在微
A7 A6
&
G
A5
D0
A4
A3 A2
G2B C
Y1 ≥1
A1
B
A0
A
IO R
10 kΩ K
图20 LED数码管及按钮的一种接口电路
▪ 二、 键盘接口
▪
键盘是微机应用系统中不可缺少
的外围设备,即使是单板机通常也配有
十六进制的键盘。操作人员通过键盘可
以生成程序,进行数据输入/输出、程序
查错、程序执行等操作。它是人—机会话
显示3;当K断开时显示6。
▪
START:MOV DX,00F1H
▪
IN AL,DX
▪
TEST AL,01H
▪
JNZK OPEN
▪
MOV DX,00F0H
▪
MOV AL,4FH
▪
OUT DX,AL
▪
JMP START
▪ KOPEN: MOV DX,00F0H
▪
MOV AL,7DH
▪
OUT DX,AL