




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程名称: 基于嵌入式系统键盘设计 专业班级: 姓 名: 学 号: 批阅时间: 指导教师: 成 绩: 在ARM嵌入式应用中,人机交互对话最通用的方法就是通过键盘和LCD显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。1 实例说明在ARM应用系统中,键盘扫描只是ARM的工作之一,ARM在忙于各项工作任务时,如何兼顾键盘的输入,则取决于键盘的工作方式。键盘工作方式的选取原则是既要保证能及时响应按键操作,又要不过多占用ARM的工作时间。本实例介绍ARM系统中常用的行列式键盘电路的硬件设计、键盘扫描及键盘测试,行列式键盘
2、适应于按键数量较多,又不想使用专用键盘芯片的场合。这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。2键盘工作原理2.1常用键盘接口常用按键接门可分为独立式按键接口、行列式按键接口和专用芯片式等。具体采用哪 种方式,可根据所设计系统的实际情况而定。下面分别介绍这几种接口方式的优缺点及适用场合。1. 独立式按键接口独立式按键接口设计优点是电路配置灵活,软件实现简单。但缺点也很明显,每个按键需要占用一根口线,若按键数量较多,资源浪费将比较严重,电路结构也变得复杂。因此本方法主要用于按键较少或对操作速度要求较高的场合。软件实现时,可以采用中断方式,也可以采用查询方式
3、,示意图如图13-1所示。 2. 行列式按键接口行列式按键接口示意图如图13-4(a)所示,其使用原理将在下节详细讲述。行列式按键接口适应于按键数量较多,又不想使用专用键盘芯片的场合。这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。这种方式的优点就是相对于独立接口方式可以节省很多I/O资源,相对于专用芯片键盘可以节省成本,且更为灵活。缺点就是需要用软件处理消抖、重键等。行列式按键接口是一种老式的键盘接口,其键扫描方法是几乎所有PC键盘所采用的方法。3专用芯片式设计专用键盘处理芯片一般功能比较完善,芯片本身能完成对按键的编码、扫描、消抖和重键等问题的处理,甚至还
4、集成了显示接口功能。专用键盘处理芯片的优点很明显,可靠性高,口简单,使用方便,适合处理按键较多的情况。但在很多应用场合,考虑成本因素,可能并不是最佳选择。2.2行列式键盘工作原理ARM嵌入式系统使用常用的行列式键盘电路,此电路的优点是比较节省I/0口线,并且接口简单。它的工作模式如图13-2所示。它的行线与按键的一个引脚相连,列线与按键的另一个引脚相连。平时列线被置成低电平,没有按键被按下时,行线保持高电平,而有按键被按下时,行线被拉成低电平。这时候控制器知道有按键被按下,但只能判断出在哪一行,不能判断出在哪一列,因此接下来就要进行键盘扫描,以确定具体是哪个按键被按下。2.3键盘扫描流程在行列
5、式键盘方式中,ARM对键盘的扫描采取程序控制方式,一旦进入键扫描状态,则反复地扫描键盘,等待用户从按键上输入命令或数据。而在执行键入命令或处理键入数据过程中,ARM将不再响应键入要求,直到ARM返回重新扫描键盘为止。编程扫描程序流程图如图13-3所示。3硬件电路设计3.1 ARM键盘接口ARM由通用接口GPl支持键盘行扫描(Scanning keyboard row)和支持键盘阵列扫描(Scanning keyboard mattix)。其中,Port A、Port B、Port D丰要用于外围芯片信号的控制,Port E有双重作用。例如,Port A控制键盘的行信号,P
6、ort B用于RS-232,Port D用丁控制MODEM、FPGA。ARM内置点阵式键盘,专用的8位列输出COL7:0 ,Port A口可复用作键盘的行输入,任意一个键按下时都会产生中断。其特点如下:·列输出能被驱动成全低、全高或者全高阻,允许8x8键矩阵的任意组和按键;·Port A8位或的结果驱动一个键盘中断;·键盘中断能够唤醒系统。3.2键盘电路原理图实现的系统硬件构成为4×4的行列式键盘,键盘的连接电路如图13-4所示。行线通过一个电阻被上拉到VCC,VCC是+5V电压。行线与按键的一个引脚相连,列线与按键的另一个引脚相连。平时列线被置成低电平
7、,没有按键被按下时,行线保持高电平:而有按键被按下时,行线被拉成低电平,这时候控制器知道有按键被按下,但只能判断出在哪一行,不能判断出在哪一列,因此接下来就要进行键盘扫描,以确定具体是哪个按键被按下。键盘扫描的过程是将列线逐列置成低电平,然后读取行线状态,直到行线中出现低电平,这时可知哪一列是低电平;然后将行线与列线的状态装入键码寄存器,进行按键译码,得到按下的按键的相应编码,这样就完成了按键扫描过程。当然,一个完整的按键扫描过程还需要配合相应的键盘去抖动手段才能正确地识别按键,不会发生重键和错误判断等情况。对于使用者来说,利用此电路可以作为底层嵌入式的键盘控制器,即实现对键盘的扫描,识别出键
8、码。控制器与ARM的通信协议可以采用串口、并行、PS/2、USB等。4.proteus仿真1)4X4矩阵键盘控制条形LED显示源代码/*名称:4X4矩阵键盘控制条形LED显示说明:运行本例时,按下的按键值越大点亮的LED越多。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int/矩阵键盘按键特征码表uchar code KeyCodeTable=0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,
9、0x44,0x48,0x81,0x82,0x84,0x88;/延时void DelayMS(uint x)uchar i;while(x-) for(i=0;i<120;i+);/键盘扫描uchar Keys_Scan()uchar sCode,kCode,i,k;/低4位置0,放入4行P1=0xf0;/若高4位出现0,则有键按下if(P1&0xf0)!=0xf0)DelayMS(2);if(P1&0xf0)!=0xf0)sCode=0xfe;/行扫描码初值for(k=0;k<4;k+)/对4行分别进行扫描P1=sCode;if(P1&0xf0)!=0xf0
10、)kCode=P1;for(i=0;i<16;i+)/查表得到按键序号并返回if(kCode=KeyCodeTablei)return(i);elsesCode=_crol_(sCode,1); return(-1);/主程序void main()uchar i,P2_LED,P3_LED;uchar KeyNo=-1;/按键序号,-1表示无按键while(1)KeyNo=Keys_Scan();/扫描键盘获取按键序号KeyNo if(KeyNo!=-1)P2_LED=0xff;P3_LED=0xff;for(i=0;i<=KeyNo;i+)/键值越大,点亮的LED越多if(i&l
11、t;8)P3_LED>>=1;elseP2_LED>>=1;P3=P3_LED; /点亮条形LEDP2=P2_LED;将以上程序在keil中打开,编译,生成.hex文件。2)4X4矩阵键盘控制条形LED显示电路图3)添加4X4矩阵键盘控制条形LED显示源代码路径4)4X4矩阵键盘控制条形LED显示仿真展示以上展示分别是按键6、1、15的数码键值显示,试验成功。5.总结通过本次实验,我们受益匪浅,对keil和proteus软件有了更深层次的掌握与运用,并且在两个软件之间的联调也加强巩固,相信无论在以后的学习或工作中都会有所帮助。此外,团队合作的精神也很重要,这是一个人最基
12、本的良好素质,通过这次机会,我们得到了很好的锻炼。在ARM嵌入式应用中,人机交互对话最通用的方法就是通过键盘和LCD显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。1 实例说明在ARM应用系统中,键盘扫描只是ARM的工作之一,ARM在忙于各项工作任务时,如何兼顾键盘的输入,则取决于键盘的工作方式。键盘工作方式的选取原则是既要保证能及时响应按键操作,又要不过多占用ARM的工作时间。本实例介绍ARM系统中常用的行列式键盘电路的硬件设计、键盘扫描及键盘测试,行列式键盘适应于按键数量较多,又不想使用专用键盘芯片的场合。这
13、种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。2键盘工作原理2.1常用键盘接口常用按键接门可分为独立式按键接口、行列式按键接口和专用芯片式等。具体采用哪 种方式,可根据所设计系统的实际情况而定。下面分别介绍这几种接口方式的优缺点及适用场合。1. 独立式按键接口独立式按键接口设计优点是电路配置灵活,软件实现简单。但缺点也很明显,每个按键需要占用一根口线,若按键数量较多,资源浪费将比较严重,电路结构也变得复杂。因此本方法主要用于按键较少或对操作速度要求较高的场合。软件实现时,可以采用中断方式,也可以采用查询方式,示意图如图13-1所示。 2.
14、;行列式按键接口行列式按键接口示意图如图13-4(a)所示,其使用原理将在下节详细讲述。行列式按键接口适应于按键数量较多,又不想使用专用键盘芯片的场合。这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。这种方式的优点就是相对于独立接口方式可以节省很多I/O资源,相对于专用芯片键盘可以节省成本,且更为灵活。缺点就是需要用软件处理消抖、重键等。行列式按键接口是一种老式的键盘接口,其键扫描方法是几乎所有PC键盘所采用的方法。3专用芯片式设计专用键盘处理芯片一般功能比较完善,芯片本身能完成对按键的编码、扫描、消抖和重键等问题的处理,甚至还集成了显示接口功能。专用键盘处理芯片的优点很明显,可
15、靠性高,口简单,使用方便,适合处理按键较多的情况。但在很多应用场合,考虑成本因素,可能并不是最佳选择。2.2行列式键盘工作原理ARM嵌入式系统使用常用的行列式键盘电路,此电路的优点是比较节省I/0口线,并且接口简单。它的工作模式如图13-2所示。它的行线与按键的一个引脚相连,列线与按键的另一个引脚相连。平时列线被置成低电平,没有按键被按下时,行线保持高电平,而有按键被按下时,行线被拉成低电平。这时候控制器知道有按键被按下,但只能判断出在哪一行,不能判断出在哪一列,因此接下来就要进行键盘扫描,以确定具体是哪个按键被按下。2.3键盘扫描流程在行列式键盘方式中,ARM对键盘的扫描采取程序控制方式,一
16、旦进入键扫描状态,则反复地扫描键盘,等待用户从按键上输入命令或数据。而在执行键入命令或处理键入数据过程中,ARM将不再响应键入要求,直到ARM返回重新扫描键盘为止。编程扫描程序流程图如图13-3所示。3硬件电路设计3.1 ARM键盘接口ARM由通用接口GPl支持键盘行扫描(Scanning keyboard row)和支持键盘阵列扫描(Scanning keyboard mattix)。其中,Port A、Port B、Port D丰要用于外围芯片信号的控制,Port E有双重作用。例如,Port A控制键盘的行信号,Port B用于RS-232,Port D用丁控制MO
17、DEM、FPGA。ARM内置点阵式键盘,专用的8位列输出COL7:0 ,Port A口可复用作键盘的行输入,任意一个键按下时都会产生中断。其特点如下:·列输出能被驱动成全低、全高或者全高阻,允许8x8键矩阵的任意组和按键;·Port A8位或的结果驱动一个键盘中断;·键盘中断能够唤醒系统。3.2键盘电路原理图实现的系统硬件构成为4×4的行列式键盘,键盘的连接电路如图13-4所示。行线通过一个电阻被上拉到VCC,VCC是+5V电压。行线与按键的一个引脚相连,列线与按键的另一个引脚相连。平时列线被置成低电平,没有按键被按下时,行线保持高电平:而有按键被按下时
18、,行线被拉成低电平,这时候控制器知道有按键被按下,但只能判断出在哪一行,不能判断出在哪一列,因此接下来就要进行键盘扫描,以确定具体是哪个按键被按下。键盘扫描的过程是将列线逐列置成低电平,然后读取行线状态,直到行线中出现低电平,这时可知哪一列是低电平;然后将行线与列线的状态装入键码寄存器,进行按键译码,得到按下的按键的相应编码,这样就完成了按键扫描过程。当然,一个完整的按键扫描过程还需要配合相应的键盘去抖动手段才能正确地识别按键,不会发生重键和错误判断等情况。对于使用者来说,利用此电路可以作为底层嵌入式的键盘控制器,即实现对键盘的扫描,识别出键码。控制器与ARM的通信协议可以采用串口、并行、PS
19、/2、USB等。4.proteus仿真1)4X4矩阵键盘控制条形LED显示源代码/*名称:4X4矩阵键盘控制条形LED显示说明:运行本例时,按下的按键值越大点亮的LED越多。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int/矩阵键盘按键特征码表uchar code KeyCodeTable=0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88;/延时void DelayMS(uint x)uchar i;while(x-) for(i=0;i<120;i+);/键盘扫描uchar Keys_Scan()uchar sCode,kCode,i,k;/低4位置0,放入4行P1=0xf0;/若高4位出现0,则有键按下if(P1&0xf0)!=0xf0)DelayMS(2);if(P1&0xf0)!=0xf0)sCode=0xfe;/行扫描码初值for(k=0;k<4;k+)/对4行分别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省永州市东安县第一中学2025年高考冲刺押题(最后一卷)化学试卷含解析
- 子宫颈癌病人的护理
- 2025年汽车节油器项目建议书
- 2025届广西壮族自治区南宁市兴宁区第三中学高考仿真模拟化学试卷含解析
- 二年级数学(上)计算题专项练习
- 2025年湿式氧化装置项目构思建设方案
- 2025年夹板模压门项目可行性建设方案
- 2025年专业仓储服务项目合作计划书
- 陕西青年职业学院《建筑设备(电)》2023-2024学年第二学期期末试卷
- 2025年超声无损检测设备项目发展计划
- 2024年北京电子科技职业学院高职单招语文历年参考题库含答案解析
- 《智能轮椅的整体结构设计案例综述》1400字
- 临床医学个人能力提升
- 2025年焦虑症健康教育课件:创新与实践相结合
- 北师大版八年级下学期期末数学练习题及答案
- 定额〔2025〕2号文-关于发布2020版电网技术改造及检修工程概预算定额2024年下半年价格
- 《脑出血的外科治疗》课件
- 《普通高中体育与健康》(水平五)体能模块教学计划
- 职业生涯规划-体验式学习知到智慧树章节测试答案2024年秋华侨大学
- 主要施工机械设备、劳动力、设备材料投入计划及其保证措施
- 基本公共卫生服务项目培训
评论
0/150
提交评论