第7章 LED数码显示器和键盘接口电路 (2)
数码显示管及键盘的接口电路

数字显示器及键盘的接口电路一显示器接口电路单片机应用系统中,常使用LED(发光二极管Light Emitting Diode )、CRT(阴极射线管Cathode Ray Tube)显示器和LCD(液晶显示器Liquid Crystal Display )等作为显示器件。
其中LED和LCD应用较为广泛。
1。
LED显示器LED是由若干个发光二极管组成的。
当发光二极管导通时,相应的一个点或一个笔划发亮。
控制不同组合的二极管导通,就能显示出各种字符。
这种笔划式的七段显示器,能显示的字符数量少,但控制简单、使用方便。
发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。
?LED的结构及其工作原理?通常的七段LED显示块中有八个发光二极管,故也有人叫做八段显示块。
其中七个发光二极管构成七笔字形“8”。
一个发光二极管构成小数点。
七段显示块与单片机接口非常容易。
只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。
8位并行输出口输出不同的字节数据即可获得不同的数字或字符。
通常将控制发光二极管的8位字节数据称为段选码或段数据。
?共阴极结构的数码管显示“0”的段选码为: 3FH? D7 D6 D5 D4 D3 D2 D1 D0?段选码 dp g f e d c b a? 0 0 1 1 1 1 1 1 3FH共阳极与共阴极的段选码互为反码,二者之和为FFH。
其他一些字形的段选码如下表:LED的结构及其工作原理点亮显示器有静态和动态两种方法。
1)静态显示:当显示某一个字符时,相应的发光二极管恒定地导通或截止。
例如七段显示器的a、b、c、d、e、f导通,g、dp截止,显示0。
静态显示的特点是:每一位都需要一个8位输出口控制,用于显示位数较少(仅一、二位)的场合;较小的电流能得到较高的亮度,可以由8255的输出口直接驱动。
图示为三位显示器的接口逻辑。
2)动态显示:一位一位地轮流点亮各位显示器(扫描)。
第07章显示器与键盘接口技术资料

16/52
7.1 LED数码管显示接口
图示为51单片机控制的4位LED数码管动态显示接口电路
LED3
LED2
LED1
LED0
共阳
a b c d e f g dp G a b c d e f g dp G a b c d e f g dp G a b c d e f g dp G
XRL A,
#10
JNZ DSP
MOV CNT_H, #00H
DSP: LCALL DISPLAY
;调用显示子程序
LJMP LOOP
13/52
7.1 LED数码管显示接口
DISPLAY:MOV DPTR, #TABLE ;显示子程序 MOV A, CNT_H MOVC A, @A+DPTR MOV P3, A MOV DPTR, #TABLE MOV A, CNT_L MOVC A, @A+DPTR MOV P1, A RET
10/52
LED2
a
b
c
d
G
e
f g
e
f
g
LED1
7.1 LED数码管显示接口
开始
初始化系统
延时1S
个位计数值加1 N
个位计数值=10? Y
个位计数值清0,且十位计数值加1
◆ 完成0~99循环计数 静态显示功能的程序 流程图。
LED2显示十位计数值 LED1显示个位计数值
十位计数值=10? N Y
什么叫显示缓冲区?
18/52
4位LED数码管动态显示子程序
DPLAY: MOV R0, #30H ;R0指针指向显示缓冲区首址
第7章 显示、开关键盘及微型打印机接口设计-键盘

17
当某个按键按下时,按键所在行的行线为低电平,经过8输 入与非门74LS30的输出以及74LS04反相后向单片机的中断请 求输入引脚发出低电平的外部中断请求,单片机响应中断,进 入外部中断的中断服务子程序,在中断服务子程序中,再进行 按键的查询扫描,根据扫描结果跳向按下键的键处理程序。
5
按键开关的两端分别连接在 t1和t3分别为键的闭合和断开过
行线和列线上,
程中的抖动期(呈现一串负脉
列线接地,行线通过电阻接 冲),抖动时间长短与开关机械
到+5V上。
特性有关,一般为5~10ms,t2
图7-20
键盘开为关稳及定其的行线闭波合形期,其时间由按键 动作确定,一般为十分之几秒到
几秒,t0、t4为断开期。
7
非编码键盘是利用按键直接与单片机的I/O口线(或外部扩 展的I/O口线)相连接,键盘按下时不能直接得到键号,还要通 过编写程序判断I/O口线的电平来求得键号。 编码键盘是键盘按下时能直接获取按下键的键号,最典型的 是专用键盘/显示器接口芯片HD7279,当键盘有键按下时,能直 接得到按下键的键号。
(1)让行线编程为输入,列线编程为输出,并使输出线为全 低电平,则行线电平由高变低的所在行为按键所在行;
(2)再把行线编程为输出,列线编程为输入,并使输出线输 出为全低电平,则列线中电平由高变低所在列为按键所在列。
36
结合上述两步,可确定按键所在的行和列,从而识别出所按的 键。 假设k3键被按下。第一步,P1.4~P1.7输出全为“0”,然后 ,读入P1.0~P1.3线的状态,结果P1.0=0,而P1.1~P1.3均 为1,因此,第0行出现电平的变化,说明第0行有键按下;第 二步,让P1.0~P1.3输出全为“0”,然后,读入P1.4~P1.7 的状态,结果P1.7=0,而P1.4~P1.6均为1,因此第3列出现 电平的变化,说明第3列有键按下。综合上述分析,即第0行、 第3列按键被按下,此按键即为键k3。因此,线反转法非常简 单适用,但在实际编程中不要忘记还要进行按键去抖动处理。
微机原理与接口技术-键盘和LED显示接口

键盘的基本工作原理
键盘的种类
键盘的工作任务可以用硬件或软件来完成, 相应地分为编码键盘和非编码键盘。 1.编码键盘:即每一次按键时,键盘能自动地产生 按键的键值。同时产生一选通脉冲信号通知单片 微机系统读取键值。一般具有去抖动和同时按键 保护功能。这种键盘易于使用,但硬件较复杂。 2.非编码键盘:只简单提供键盘的行列矩阵,其它 操作如键的识别、键值读取、去抖动等均由软件 完成,故硬件较简单。我们下面讨论的重点是这 种非编码键盘与单片微机系统的接口。
键盘接口的任务
1、判别键盘中是否有键按下 2、如果有键按下,判别是哪一个键按下――即按 键识别。 3、确定被按键的位置(即获得按键的特征值—— 行、列的编码),称为读键值。 4、判别是否同时有两个或两个以上的按键按下。 5.键值译码。每个按键都有一定的功能定义,将 读取的键值解释为定义键的功能过程称为键值 译码。 ⒍ 去除按键抖动 。
独立式按键与8051的接口
独立式按键的编码接口与8051的连接
按键
0
1 2 3 4
A2
1
1 1 1 0
A1A011 0 110 1 0 1
5
6
0
0
1
0
0
1
7
0
0
0
矩阵式键盘接口
七段LED显示器
LED显示器的驱动:
LED的译码原理:
LED静态显示器
LED显示器的动态显示
键盘与显示器接口

AJMP KEY1 NEXT1: MOV R4,#88H
RET
;2列无键闭合,转判3列 ;2列有键闭合,02H→A
;3列无键闭合,转判下一行 ;3列有键闭合,03H→A ;列线号+(R4)作为键值→A ;键值→R4 ;返回
;键号寄存器加4
;判是否已扫描到最后一行 ;扫描模式左移一位
2、串键保护
有三种处理串键的技术:两键同时按下、n键同时按下和n 键锁定。
“两键同时按下”技术是在两个键同时按下时产生保护作 用。最简单的办法是当只有一个键按下时才读取键盘的输出, 最后仍被按下的键是有效的正确按键。当用软件扫描键盘时 常采用这种方法。另一种方法是当第一个按键未松开时,按 第二个键不产生选通信号。这种方法常藉助硬件来实现。
MAX7219的内部寄存器及其地址
寄存器
NO-OP 数字0 数字1 数字2 数字3 数字4 数字5 数字6 数字7 译码方式 亮度 扫描界限 停机 显示测试
D15~D12 × × × × × × × × × × × × × ×
地
址
D11 D10 D9 D8
0000
0001
0010
0011
0100
0101
存储器 地址 SEG SEG+1 SEG+2 SEG+3 SEG+4 SEG+5 SEG+6 SEG+7 SEG+8 SEG+9 SEG+10
SEG+11
SEG+12
SEG+13
SEG+14
SEG+15
显示 数字
0 1 2 3 4 5 6 7 8 9 A
单片机键盘显示接口电路设计

单片机键盘显示接口电路设计设计单片机键盘显示接口电路,需要考虑到键盘输入与显示输出两个方面。
以下是一个简单的设计示例,供参考:键盘通常采用矩阵键盘连接电路的方式,通过扫描矩阵的方式读取键盘输入信息。
以下是矩阵键盘接口电路的设计流程:1.确定键盘的规格和类型:键盘一般有正方形、矩形、圆形等几种形状,需要根据键盘的规格和类型选择适合的扫描方式。
2.确定键盘的逻辑矩阵大小:根据键盘的布局和规格,确定键盘的逻辑矩阵的行和列数,例如4行4列。
3.确定键盘的连接方式:键盘的连接方式一般有行列扫描、列行扫描、行列+列行扫描等几种方式,需要根据键盘的输出信号特点和单片机的输入要求进行适当的选择。
4.设计按键输入的译码电路:将键盘的输出信号通过译码电路解码成易于读取的二进制数,以便单片机的输入端口读取。
显示输出接口电路设计一般有两种方式:数码管和液晶显示。
1.数码管显示电路设计:数码管是通过控制各个数码管的段选和位选,实现数字或字符的显示。
以下是数码管显示电路的设计流程:a.确定显示的数字或字符类型:根据设计需求,确定要显示的数字或字符类型,例如整数、小数、字母等。
b.确定数码管的位数和类型:根据显示需求,确定数码管的位数和类型,有共阴数码管和共阳数码管两种类型,需要选择适合的数码管。
c.设计数码管的译码电路:根据数码管的类型和位数,设计数码管的译码电路,将输入的数字或字符转换为控制各个数码管的段选和位选的电信号。
2.液晶显示电路设计:液晶显示器是一种常见的显示设备,通过控制液晶的极性来实现图形和字符的显示。
以下是液晶显示电路设计的流程:a.确定显示的内容类型:根据设计需求,确定要显示的内容,例如字符、图像等。
b.选择适合的液晶显示器:根据显示的内容和要求,选择适合的液晶显示器,有字符型液晶显示器和图形型液晶显示器两种类型。
c.设计液晶的驱动电路:根据液晶显示器的类型和特性,设计液晶的驱动电路,将输入的数字或字符转换为控制液晶的电信号。
显示和键盘接口技术详解

现在是1页\一共有25页\编辑于星期六
(优选)显示和键盘接口技术
现在是2页\一共有25页\编辑于星期六
5.1.1 LED数码管的结构及原理
一、LED数码管的结构 在单片机系统中,经常采用LED数码管来显示单片机系
统的工作状态、运算结果等各种信息,LED数码管是单片机 人机对话的一种重要输出设备。
现在是16页\一共有25页\编辑于星期六
5.1.3 LED数码管动态显示
请大家思考:如果在LED数码管动态显示程序中,把延 时50ms函数修改为延时1s,LED数码管显示会有什么变化, 为什么?
答案是6个数码管上轮流显示“012345”,间隔时间为 1s,不能稳定显示。具体原因是人的眼睛存在“视觉驻留效 应”,必须保证每位数码管显示间断的时间间隔小于眼睛的 驻留时间,才可以给人一种稳定显示的视觉效果,如果延时 时间太长,每位数码管闪动频率太慢,就不能产生稳定的显 示效果。
现在是6页\一共有25页\编辑于星期六
5.1.2 LED数码管静态显示
以下是两位数码管静态显示的接口电路,两个共阳极数 码管的段码分别由单片机的P1和P2口来控制,com公共端都 接在+5V电源上。
现在是7页\一共有25页\编辑于星期六
5.1.2 LED数码管静态显示
静态显示是指当数码管显示某一字符时,相应的发光二 极管恒定导通或恒定截止。这种显示方式的各位数码管的公 共端恒定接地(共阴极)或+5V电源(共阳极)。每个数码管的8 个段控制引脚分别与一个8位的端口相连。只要I/O端口有显 示字型码输出,数码管就显示给定的字符,并保持不变,直 到I/O端口输出新段码。
现在是25页\一共有25页\编辑于星期六
第7章 LED数码显示器和键盘接口电路 (2)

7.1用并行口设计LED显示电路
7.2用并行口设计LED键盘电路
键盘是计算机系统中不可缺少的输入设备, 当按键少时可接成线性键盘,当按键较多时,这 样的接法占用口线较多。将按键接成矩阵的形式, 可以节省口线,例如两个接口可按8*8的形式接 64个按键。每个按键有它的行值和列值,行值和 列值的组合就是识别这个按键的编码。矩阵的行 线和列线分别通过两并行接口和CPU通信。每个 按键的状态同样需变成数字量“0”和“1”,开 关的一端通过电阻接Vcc(列)、而接地是通过程 序输出数字“0”实现的。
7.1用并行口设计LED显示电路 例:如图是接有五个共阴极数码管的动态显示接口电 路,用74LS373接成直通的方式作驱动电路,阴极用非 门74LS04反相门驱动,字形选择由P1口提供,位选择 P3口控制。
当P3.0~P3.4轮流输出1时,五个数码管轮流显示。 P1.7接开关,当开关打向位置“1”时, 显示“12345” 字样,当开关打向“2”时,显示“HELLO”字样。
符
d
号
c b a
十六进制代码 共阴 共阳
0 1 2 3 4 5 6 7 8 9 A B C D E F H P
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1
1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1
7.1用并行口设计LED显示电路 显示”2”,字形码为5bh.
com
10 9 8 a
f 7 6
a b c d
b
g
c
e
e
f g dp com
d
1
2 3 4 5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉科技大学
电信系
EE DE BE 7E ED DD BD 7D EB DB BB 7B E7 D7 B7 77
20
7.2用并行口设计LED键盘电路 键盘处理程序的任务是:
确是什么; 还要消除按键在闭合或断开时的抖动。 两个并行口中,一个输出扫描码, 使按键逐行动态 接地(称行扫描),另一个并行口输入按键状态(称回馈 信号,键盘的列值), 由行扫描值和回馈信号共同形成 键编码而识别按键、通过软件查表,查出该键的功能。 也可由硬件编码器完成键的编码
7.2用并行口设计LED键盘电路 例如图中的“a”键,当行扫描值 sccode=FEH=11111110B,读入列值到P1口和F0H相 与即保 留高四位读入值,屏蔽了低四位,再和0Eh相或得 recole=DEH=11011110B。
所以“a”键的编码DEH,此值是A的键码,同样可得 “5” 键编码为10111011B即BBH,由此可将每个按键 的编码排出来,通过查表程序转不同的按键处 理程序。此 程序部分请读者自行编出。该程序同样可用汇编语言编出。
7.1用并行口设计LED显示电路
7.1用并行口设计LED显示电路
用汇编语言编程 ORG 0000H MOV P3,#0 ;清显示 TEST: SETB P1.7 JB P1.7,DIR1 ;检测开关 MOV DPTR,#TAB 1 ; 开关置于1,‘12345’字形地 址 SJMP DIR DIR1: MOV DPTR,#TAB2 ; 开关置于2,“HELLO”字形地 址 DIR: MOV R0,#0 ;R0存字形表偏移量 MOV R1,#01 ;R1置数码表位选代码 NEXT: MOV A,R0 MOVC A,@A+DPTR ; 查字形码表1 MOV P1,A ;送P1口输出
7.1用并行口设计LED显示电路
ACALL DAY ;延时 INC R0 ;指向下一位字形 RL A ;指向下一位 MOV R1,A CJNE R1,#20H,NEXT ;五个 数码管显示完? SJMP TEST DAY:MOV R6,#20 ; 延时20ms子程序 DL2: MOV R7,#7DH DL1: NOP DJNZ R7,DL1 DJNZ R6,DL2 RET TAB1:db 06H,5BH,4FH,66H,6DH ; “1~5”的字形码 TAB2:db 76H,79H,38H,38H,3FH ; “HELLO”的字形码
LED数码管的g~a七个发光二极管因加正电压而发亮,因加 零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组 合称之为字形码(段码),如显示”0”,字形码为3fh.
g f
com a b
7 6
10 9 8 a f
a b
b
c
d e f
5
g
c
e
d
1 2 3 4
g dp com
com e d c dp
的接线形式,可分成共阴极型图 (b)和共阳极型图(c)。
7.1用并行口设计LED显示电路
com
g f com a f e d
1
2 3 4
a b
7 6
10 9 8
a b c
a b c d e f g dp
g
b
d e
f g
c
5
com e d c dp (a)
dp
com
(b)
(c)
7.1用并行口设计LED显示电路
LED数码显示器和键盘接口电路
键盘和显示器是单片机应用系统中常用的 输入输出装置。LED数码显示器是常用的显示器 之一,下面介绍用单片机并行口设计LED数码显 示电路和键盘电路的方法。
7.1用并行口设计LED显示电路 1. LED显示器及其原理 LED有着显示亮度高,响应速度快的特点,最常用 的是七段式LED显示器,又称数码管。七段LED显示器 内部由七个条形发光二极管和一个小圆点发光二极管 组成,根据各管的亮暗组合成字符。常见LED的管脚排 列见图(a)。其中COM为公共点,根据内部发光二极管
7.1用并行口设计LED显示电路 显示”2”,字形码为5bh.
com
10 9 8 a
f 7 6
a b c d
b
g
c
e
e
f g dp com
d
1
2 3 4 5
com e d c
dp
x g f e d c b a 0 1 0 1 1 0 1 1 5bh
7.1用并行口设计LED显示电路
显示 字符 段
dp g f e
1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1
1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0
1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0
1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1
1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1
用汇编语言编程 ORG 0000H MOV P3,#0 ; 清显示 MOV DPTR,#TAB 1 ; ‘12345’段码首地址 DIR: MOV R0,#0 ; R0存段码表偏移量 MOV R1,#01 ; R1置位选码 NEXT: MOV A,R0 MOVC A,@A+DPTR ; 查段码表 MOV P1,A ; 送P1口输出 MOV A,R1 MOV P3,A ; 输出位选码 ACALL DAY ; 延时 INC R0 ; 指向下一位段码 RL A ; 指向下一位 MOV R1,A CJNE R1,#20H,NEXT ;五个 数码管显示完? SJMP DIR DAY:MOV R6,#20 ; 延时20ms子程序 DL2: MOV R7,#7DH DL1: NOP DJNZ R7,DL1 DJNZ R6,DL2 RET TAB1:db 06H,5BH,4FH,66H,6DH ; “1~5”的字形码 END
符
d
号
c b a
十六进制代码 共阴 共阳
0 1 2 3 4 5 6 7 8 9 A B C D E F H P
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1
1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1
7.2用并行口设计LED键盘电路
下图中,用8XX51的并行口P1接4×4矩阵键盘,以P1.0~P1.3 作输出线,以P1.4~P1.7作输入线,键盘扫描程序的流程如图5.10 所示。
7.2用并行口设计LED键盘电路
开始 置行扫描初值 扫描位从P1.0口输出 读P1.3~P1.4值 Y P1.4~P1.7全为1? Y(无键按下) N(有键) 延时去抖动 扫到最后一行? P1.4~P1.7全为1? N 返回键编码 Y 该行有键按下?
7.1用并行口设计LED显示电路 例:如图是接有五个共阴极数码管的动态显示接口电 路,用74LS373接成直通的方式作驱动电路,阴极用非 门74LS04反相门驱动,字形选择由P1口提供,位选择 P3口控制。
当P3.0~P3.4轮流输出1时,五个数码管轮流显示。 P1.7接开关,当开关打向位置“1”时, 显示“12345” 字样,当开关打向“2”时,显示“HELLO”字样。
x g f e d c b a 0 0 1 1 1 1 1 1 3fh
7.1用并行口设计LED显示电路
显示”1”,字形码为06h.
g f
com a
f
a b
7 6
10 9 8
a b
b
c
d e f
5
g
c
e
d
1 2 3 4
g dp
com
x g f e d c b a 0 0 0 0 0 1 1 0 06h
7.1用并行口设计LED显示电路
7.2用并行口设计LED键盘电路
键盘是计算机系统中不可缺少的输入设备, 当按键少时可接成线性键盘,当按键较多时,这 样的接法占用口线较多。将按键接成矩阵的形式, 可以节省口线,例如两个接口可按8*8的形式接 64个按键。每个按键有它的行值和列值,行值和 列值的组合就是识别这个按键的编码。矩阵的行 线和列线分别通过两并行接口和CPU通信。每个 按键的状态同样需变成数字量“0”和“1”,开 关的一端通过电阻接Vcc(列)、而接地是通过程 序输出数字“0”实现的。
3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH 39H 5EH 79H 71H 76H F3H
C0 F9 A4 B0 99 92 82 F8 80 90 88 83 C6 A1 86 8E FF BF
7.1用并行口设计LED显示电路 2.LED数码管的接口 数码管的接口有静态接口和动态接口。 静态接口为固定显示方式,无闪烁,其电路可采用一 个并行口接一个数码管,数码管的公共端按共阴或共阳分 别接地或Vcc。这种接法占用接口多,如果PO口和P2口要 用作数据线和地址线,仅用单片机的并行口就只能接二个 数码管。也可以用串行接口的方法接多个数码管, 使之 静态显示。 动态接口采用各数码管循环轮流显示的方法,当循环 显示频率较高时,利用人眼的暂留特性 ,看不出闪烁显 示现象,这种显示需要一个接口完成字形码的输出(字形 选择),另一接口完成各数码管的轮流点亮(数位选择)。
N
P1.0~P1.3输出0
形成下一行扫描码
N
P1口的高四位和低四位 相或得键编码
7.2用并行口设计LED键盘电路
ORG 0000H TEST: MOV P1,#0F0H ;P1.0~P1.3输出0, P1.4~P1.7输出1 MOV A,P1 ;读键盘,检测有无键按下 ANL A,#0F0H ;屏蔽P1.0~P1.3,检测P1.4~P1.7是否全为1 CJNE A, #0F0H,HAVE ;P1.4~P1.7不全为1有键按下 SJMP TEST ;P1.4~P1.7全为1,无键按下,重检测键盘 HAVE: MOV A,#0FE ;有键按下,逐行扫描键盘,置扫描初值 NEXT: MOV B,A ; 扫描码暂存于B MOV P1,A ;输出扫描码 READ: MOV A,P1 ;读键盘 ANL A,#0F0H ;屏蔽P1.0~P1.3,检测P1.4~P1.是否全为1 CJNE A,#0F0H,YES ;P1.4~P1.7不全为1该行有键按下 MOV A,B ;被扫行无键按下,准备查下一行 RL A ;置下一行扫描码 CJNE A,#0EFH,NEXT ;未扫到到最后一行循环 YES: ACALL DELAY ;延时去抖动 AREAD: MOV A,P1 ;再读键盘 ANL A,#0F0H ; 屏蔽P1.0~P1.3,保留P1.4~1.7(列码) CJNE A,#0F0H,YES1 ;P1.4~P1.7不全为1该行依然有键按下 AJMP TEST YES1: MOV R2,A ;暂存列码 MOV A, B ANL A,#0FH ;取行扫描码 ORL A,R2 ;行码、列码合并为键编码 MOV B,A ;键编码存于B LJMP SAM ;转键分析处理程序 AJMP TEST SAM:………RET DELAY :………..RET