矩阵键盘的设计.doc
上传人:慧红****ad 上传时间:2024-09-11 格式:DOC 页数:18 大小:193KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

矩阵键盘的设计.doc

矩阵键盘的设计.doc

预览

免费试读已结束,剩余 8 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

摘要本实验是在基于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\uHYPERLINK\l"_Toc230688593"1问题描述PAGEREF_Toc230688593\h1HYPERLINK\l"_Toc230688594"2设计原理PAGEREF_Toc230688594\h1HYPERLINK\l"_Toc230688595"2.1电路硬件说明PAGEREF_Toc230688595\h1HYPERLINK\l"_Toc230688596"2.2矩阵式键盘的工作过程2HYPERLINK\l"_Toc230688597"2.3程序设计内容2HYPERLINK\l"_Toc230688598"2.4硬件电路设计及其电路图2HYPERLINK\l"_Toc230688599"3程序说明及其流程图3HYPERLINK\l"_Toc230688595"3.1程序系统3HYPERLINK\l"_Toc230688596"3.2判别是否有键按下程序4HYPERLINK\l"_Toc230688597"3.3识别哪个键按下程序6HYPERLINK\l"_Toc230688598"3.4显示程序7HYPERLINK\l"_Toc230688598"3.5延时程序8HYPERLINK\l"_Toc230688603"4仿真结果分析9HYPERLINK\l"_Toc230688606"5汇编程序12HYPERLINK\l"_Toc230688606"6课程设计总结与体会16HYPERLINK\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矩阵键盘识别处理。(2)每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理