- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘要
本实验是在基于PROTUES平台下,运用 80C51芯片编写程序设计实现的矩阵式键盘。通过对矩阵键盘的硬件电路的设计及对其进行程序汇编和运行,通过单片机的内部控制实现对硬件电路的设计,从而实现对4×4矩阵键盘的识别。用单片机的并行P1口连接4×4矩阵键盘,并以单片机的P1.0-P1.3口作键盘输入的列线,以单片机的P1.4-P1.7口作为键盘输入的行线,然后用P0.0-P0.6作输出线,通过上拉电阻在显示器上显示不同的符号按键 “0-F”。在硬件电路的基础上加上软件程序的控制来设计实现。其工作过程为:先判断是否有键按下,如没有键按下,则继续扫描整个程序,如有键按下,就识别是哪一个键按下,最后通过显示器把该键所对应的键的序号显示出来。
关键词:80C51芯片;4×4矩阵;键盘识别;显示器
目 录
TOC \o 1-2 \h \z \u HYPERLINK \l _Toc230688593 1 问题描述 PAGEREF _Toc230688593 \h 1
HYPERLINK \l _Toc230688594 2 设计原理 PAGEREF _Toc230688594 \h 1
HYPERLINK \l _Toc230688595 2.1电路硬件说明 PAGEREF _Toc230688595 \h 1
HYPERLINK \l _Toc230688596 2.2矩阵式键盘的工作过程 2
HYPERLINK \l _Toc230688597 2.3程序设计内容 2
HYPERLINK \l _Toc230688598 2.4硬件电路设计及其电路图 2
HYPERLINK \l _Toc230688599 3 程序说明及其流程图 3
HYPERLINK \l _Toc230688595 3.1程序系统 3
HYPERLINK \l _Toc230688596 3.2判别是否有键按下程序 4
HYPERLINK \l _Toc230688597 3.3识别哪个键按下程序 6
HYPERLINK \l _Toc230688598 3.4显示程序 7
HYPERLINK \l _Toc230688598 3.5延时程序 8
HYPERLINK \l _Toc230688603 4 仿真结果分析 9
HYPERLINK \l _Toc230688606 5 汇编程序 12
HYPERLINK \l _Toc230688606 6 课程设计总结与体会 16
HYPERLINK \l _Toc230688607 参考文献资料
1 问题描述
(1)设计一个4×4矩阵式键盘,以实现矩阵式键盘的程序识别。
(2)用单片机的并行口P1连接4×4矩阵键盘,并以单片机的P1.0-P1.3各管脚作输入线,以单片机的P1.4-P1.7各管脚作输出线,在数码管上显示每个按键 “0-F”的序号。
键盘中对应按键的序号排列如下图
图1.1 键盘序号图
2 设计原理
2.1 电路硬件说明
(1)在“单片机系统”区域中,把单片机的P1.0-P1.7端口通过8联拨动拨码开关JP3连接到“4×4行列式键盘”区域中的M1-M4,N1-N4端口上。即将P1口作为整个系统的输入接口电路 。 (2)在“单片机系统”区域中,把单片机的P0.0-P0.6端口通过上拉电阻连接到“静态数码显示模块”区域中的任何一个a-g端口上;作为整个系统的并且P0.0对应着a,P0.1对应着b,……,P0.6对应着g。 (3)此实验采用的是共阴极LED显示块,只有当a-g端口输入高电平时才有效,即显示块中的对应的发光二极管才发光,低电平时不显示,通过a-g端口的不同输入使显示器显示不同的字符。 (4)系统中的上拉电阻RP1和RP2是限流电阻,起到限流的作用,阻值一般在100-300欧姆之间。
2.2 矩阵式键盘的工作原理
(1)CPU先使行线平P1.4线为低,其余行线P1.5-P1.7为高,即P1.4所在的行线为“0”状态,其余行为“1’状态。
(2)CPU读入输入缓冲器的状态,以确定哪条列线为“0”状态,此时,若P1.0为“0”状态,则为0键按下;若P1.1为“0”状态,则为“1”键按下;以此类推。
(3)若输入缓冲器的状态全部为“1”状态,则CPU继续使使行线P1.5为低,其余行线为高。再读入输入缓冲器的状态,以确定那条列线为“0”状态,从而判断是哪个键压下。
(4)判断出哪个键压下之后,程序转入相应的键处理程序
?2.3 程序设计内容
(1)4×4矩阵键
您可能关注的文档
最近下载
- 第10讲-地球科学概论_生物圈.pptx VIP
- 土方开挖施工方案(筏板、独立基础、条形基础、桩间土).pdf VIP
- 地球科学概论 第10讲 _生物圈——[武汉大学 地球科学概论].pdf VIP
- 通用汽车ECU密码一致性规范CYS9100 - The Per-ECU Password Utility.pdf VIP
- 2024秋《战场侦察监视技术与装备》答案.docx VIP
- 某公司年度经济活动分析报告.ppt VIP
- 明清时期举人名录.pdf VIP
- 苏教版小学科学五年级下册教学设计教案.pdf VIP
- 人教版七年级上册英语第一次月考试题(含答案).docx VIP
- 梅赛德斯-奔驰-R级-产品使用说明书-R350 4MATIC-251165-Rclass.pdf VIP
文档评论(0)