最新4×4矩阵式键盘识别技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4×4矩阵式键盘识别
技术
计
算
机
控
制
技
术
作
业
学校:西安科技大学
专业班级:自动化 0703班
姓名:张彦阳(0706050307)
QQ:805864469
设计题目:4×4矩阵式键盘识别技术
一.设计电路实现功能:
基于AT89C51编写程序完成4×4矩阵式开关控制灯泡点亮和熄灭,以显示从0000——1111十六位二进制数。
如以下原理图所示,当按下第一个开关时,所有灯泡为灭,按下第二个开关时,灯泡矩阵列最后一列点亮(即显示0001),依此类推,按下第二个开关时第三列灯泡点亮(即显示0010),按下第三个时第三第四列灯泡同时点亮(即显示0011),一直按便完成控制灯泡从0000——1111的依次点亮功能。
二.训练目的:
对proteus软件的基本使用进行学习掌握
对keilC51软件程序的整个调试过程要掌握
掌握键盘识别编程的方法
掌握软件键盘去抖得方法
三.实例环境
基于proteus完成实验原理图的绘制,用keil C51编程并调试通过,生成.hex文件,再将其导入AT89C51进行仿真模拟。
四.完整电路原理图:
五.Proteus调试通过,仿真部分结果显示如下:
1.当按下第二个开关时的仿真结果(即显示0001)。
2.当按下第三个开关时的仿真结果(即显示0010)。
3.当按下第四个开关时的仿真结果(即显示0011)。
4.当按下第十五个开关时的仿真结果(即显示1110)。
注:其他仿真结果没有列出。
六.源程序设计如下所示:
PRG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV P2,#0F0H LCALL DELAY
MOV A,P2
ANL A,#0F0H
CJMP A,#0F0H,L
AJMP MAIN
L: LCALL DELAY
MOV A,P2
JB ACC.4,L1
MOV R3,#00H
AJMP Q1
L1: JB ACC.5,L2
MOV R3,#01H
AJMP Q1
L2: JB ACC.6,L3
MOV R3,#02H
AJMP Q1 L3: JB ACC.7,MAIN MOV R3,#03H
AJMP Q1
Q1: MOV P2,#0FH
LCALL DELAY
MOV A,P2
ANL A,#0FH
JB ACC.0,Q2
MOV R4,#00H
AJMP JIA
Q2: JB ACC.1,Q3
MOV R4,#04H
AJMP JIA
Q3: JB ACC.2,Q4
MOV R4,#08H
AJMP JIA
Q4: JB ACC.3,MAIN
MOV R4,#0CH
AJMP JIA
JIA: MOV A,R3
ADD A,R4
MOV R1,A
AJMP MAIN DELAY: MOV R6,#20H Q6: MOV R5,#0BBH Q5: DJNZ R5,Q5
DJNZ R6,Q6
RET
END
七.实践总结:
本次试验基本取得成功,虽然是第一次接触proteus和keil C51软件,在做的过程出现了很多问题,主要涉及软件的基本使用,程序的调试等,但是经过同学的指导,我们自己的琢磨和查找一些资料,最终还是很顺利的完成了试验的整个设计过程,我们的能力也有所提高,对以后的学习有很大帮助。
八.参考文献:
【1】朱清慧.Proteus教程———电子线路设计,制版于仿真【M】.北京:清华大学出版社,2008
【2】李学礼.基于proteus的8051单片机实例教程【M】.北京:电子工业出版社,2008 【3】于海生.微型计算机控制技术【M】.北京:清华大学出版社,2008。