键盘扫描显示单片机实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、实验要求:

在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。

实验程序可分成三个模块:

1、键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。

2、显示模块:将显示单元的内容在显示器上动态显示。

3、主程序:调用键输入模块和显示模块

四、实验电路:

这里只是键盘草图,详细原理参见“8155键显模块”

六、实验框图:

列码

(0e101H)

行码

(0e103H)

显示缓冲区初始化

LED 显示

读取键值 键值转换为显示数据 有键输入? 否

主程序框图

读键输入子程序框图

七、实验程序如下:

GETKEY: MOV A,#0FFH ;;;;;扫描8X8键盘子程序 MOV P1,A ;;;;;占用资源ACC,35H,36H CLR P2.7 CLR P2.6 MOV P3,#00H MOV A,P1

JNB ACC.0,P10M JNB ACC.1,P11M JNB ACC.2,P12M JNB ACC.3,P13M JNB ACC.4,P14M JNB ACC.5,P15M JNB ACC.6,P16M JNB ACC.7,P17M

否 开始

输出列扫描信号

列扫描信号移位

该列有键输入?

读入行信号 6列扫描完?

初始化地址参数

按照行列计算键值

查表得键码

等待键盘释放

待按键释放

返回

RET

P10M: LCALL D5MS

MOV A,P1

JB ACC.0,OUT0 LJMP K10

P11M: LCALL D5MS

MOV A,P1

JB ACC.1,OUT0 LJMP K11

P12M: LCALL D5MS

MOV A,P1

JB ACC.2,OUT0 LJMP K12

P13M: LCALL D5MS

MOV A,P1

JB ACC.3,OUT0 LJMP K13

P14M: LCALL D5MS

MOV A,P1

JB ACC.4,OUT0 LJMP K14

P15M: LCALL D5MS

MOV A,P1

JB ACC.5,OUT0 LJMP K15

P16M: LCALL D5MS

MOV A,P1

JB ACC.6,OUT0 LJMP K16

P17M: LCALL D5MS

MOV A,P1

JB ACC.7,OUT0 LJMP K17

OUT0: RET

K10: SETB P2.7

SETB P2.6

MOV P3,#0FFH CLR P1.0

MOV 36H,#00H LCALL SCAN

RET

K11: SETB P2.7

SETB P2.6

MOV P3,#0FFH

MOV 36H,#08H LCALL SCAN RET

K12: SETB P2.7

SETB P2.6

MOV P3,#0FFH CLR P1.2

MOV 36H,#10H LCALL SCAN RET

K13: SETB P2.7

SETB P2.6

MOV P3,#0FFH CLR P1.3

MOV 36H,#18H LCALL SCAN RET

K14: SETB P2.7

SETB P2.6

MOV P3,#0FFH CLR P1.4

MOV 36H,#20H LCALL SCAN RET

K15: SETB P2.7

SETB P2.6

MOV P3,#0FFH CLR P1.5

MOV 36H,#28H LCALL SCAN RET

K16: SETB P2.7

SETB P2.6

MOV P3,#0FFH CLR P1.6

MOV 36H,#30H LCALL SCAN RET

K17: SETB P2.7

SETB P2.6

MOV P3,#0FFH CLR P1.7

MOV 36H,#38H

RET

SCAN: JNB P2.6,P26M JNB P2.7,P27M JNB P3.2,P32M JNB P3.3,P33M JNB P3.4,P34M JNB P3.5,P35M JNB P3.6,P36M JNB P3.7,P37M OUT1: RET

P26M: LCALL D5MS

JB P2.6,OUT1 MOV A,36H

ADD A,#07H

MOV 35H,A

RET

P27M: LCALL D5MS

JB P2.7,OUT1

MOV A,36H

ADD A,#06H

MOV 35H,A

RET

P32M: LCALL D5MS

JB P3.2,OUT1

MOV A,36H

ADD A,#00H

MOV 35H,A

RET

P33M: LCALL D5MS

JB P3.3,OUT1

MOV A,36H

ADD A,#01H

MOV 35H,A

RET

P34M: LCALL D5MS

JB P3.4,OUT1

MOV A,36H

ADD A,#02H

MOV 35H,A

相关文档
最新文档