项目2任务5非编码键盘系统设计_第1页
项目2任务5非编码键盘系统设计_第2页
项目2任务5非编码键盘系统设计_第3页
项目2任务5非编码键盘系统设计_第4页
项目2任务5非编码键盘系统设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、任务任务5 5 非编码键盘系统设计非编码键盘系统设计项目2 键盘与显示系统 组装一个单片机系统,外接组装一个单片机系统,外接16个按键(代个按键(代表表0F),以及),以及1位数码管显示器(或其他显示位数码管显示器(或其他显示器)。要求实时显示当前按下的按键值。器)。要求实时显示当前按下的按键值。 任务内容看一看:各种终端设备中的键盘知识要求 独立键盘和矩阵键盘的结构,能够完成单片独立键盘和矩阵键盘的结构,能够完成单片机与它们的接口电路设计;了解按键抖动的原因,机与它们的接口电路设计;了解按键抖动的原因,能够解决如何消除按键抖动的问题;矩阵键盘按能够解决如何消除按键抖动的问题;矩阵键盘按键的识

2、别和检测方法,能够用多分支结构的编程键的识别和检测方法,能够用多分支结构的编程方法实现按键的检测;方法实现按键的检测; 能将键盘识别模块代码和能将键盘识别模块代码和显示模块代码组合,完成系统设计。显示模块代码组合,完成系统设计。 1、编码键盘与非编码键盘、编码键盘与非编码键盘2、线性非编码键盘、线性非编码键盘o 1个MCU的IO口,可以检查一个按键的状态5Vo 结构简单结构简单o 编程容易编程容易o 口线资源占用严重!口线资源占用严重!o 行列结构,节省口线行列结构,节省口线o 编程略复杂编程略复杂3、矩阵非编码键盘、矩阵非编码键盘【例】【例】 完成完成4*4矩阵键盘与单片机的接口设计矩阵键盘

3、与单片机的接口设计小练习1ALEP20P22P23P24P25P26P27P21P20P21P22P23P24P25P26P10P11P12P13P14P15P16P17P10P11P12P13P14P15P16P17XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT01

4、2P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52PROGRAM=.rwrw.hexC130pFC230pFX112MHzBUTTON1R210kR310kC310uF234567891RP1RESPACK-8R1100R4100R5100R6100R7100R8100R9100R10100123456789ABCDEF0 按键是控制系统中最常见的输入设备。按键是控制系统中最常

5、见的输入设备。 按键的闭合和打开将在单片机的输入引脚上按键的闭合和打开将在单片机的输入引脚上分别加入高、低电平,这样分别加入高、低电平,这样CPU就可以根据读入就可以根据读入引脚的信号来判断按键的状态。引脚的信号来判断按键的状态。 1. 按键的抖动现象 o RS触发电路实现消抖2. 硬件消抖o 5ms延时消抖3. 软件消抖延时延时5ms再次再次读取端口,如读取端口,如果前后两次结果前后两次结果相同,就认果相同,就认为状态稳定为状态稳定o 行线和列线:一个输出,另一个输入o 常用方法:一是行扫描法行扫描法,二是线反转法线反转法o 键名与键值5V行端口列端口01111111对第一行进行扫描:对第一

6、行进行扫描: 行输出端口输出行输出端口输出 0111 检查列回读端口的值检查列回读端口的值5V行端口列端口10111011对第二行进行扫描:对第二行进行扫描: 行输出端口输出行输出端口输出 1011 检查列回读端口的值检查列回读端口的值最坏的情况下需要进行最坏的情况下需要进行4次扫描过次扫描过程,能否更快?程,能否更快?对第一行进行扫描:对第一行进行扫描: 行输出端口输出行输出端口输出 0111 检查列回读端口的值检查列回读端口的值11115V行端口列端口11010000行端口输出行端口输出 0000检查列端口的值检查列端口的值根据列端口的值,已经根据列端口的值,已经可以确定在哪一列有键可以确

7、定在哪一列有键按下按下11115V行端口列端口1111行端口输出行端口输出 0000检查列端口的值检查列端口的值根据列端口的值,确定根据列端口的值,确定哪一列有键按下哪一列有键按下将行端口和列端口将行端口和列端口输入输出方向输入输出方向反转反转列端口输出列端口输出0000检查行端口的值检查行端口的值根据行端口的值,确定根据行端口的值,确定哪一行有键按下哪一行有键按下00001011键名键名键值键值键名键名键值键值00 xee80 xeb10 xde90 xdb20 xbeA0 xbb30 x7eB0 x7b40 xedC0 xe750 xddD0 xd760 xbdE0 xb770 x7dF0

8、 x77o 一一对应(键值表)一一对应(键值表) switch语句的一般形式:语句的一般形式: 又称为又称为,其作用是使程序的执行,其作用是使程序的执行立即跳出立即跳出switch 语句,从而使语句,从而使switch 语句真正起到分支的语句真正起到分支的作用。作用。 为了解决上述存在的问题,必须在为了解决上述存在的问题,必须在switch 语句中使用语句中使用break 语句,即在每个语句的后面添加一条语句,即在每个语句的后面添加一条“break; ”语句。语句。 使用使用break 语句后,语句后,switch 语句的一般格式:语句的一般格式: 使用使用break 语句后,语句后,swit

9、ch 语句的执行过程如语句的执行过程如图所示。图所示。【例】【例】 4个按键控制个按键控制4个个LED开关。用开关。用switch语句实现。语句实现。小练习2【例】【例】 利用本任务的电路(利用本任务的电路(4*4按键),编写程序,控制按键),编写程序,控制数码管,实时显示按键输入值。数码管,实时显示按键输入值。小练习3ALEP20P22P23P24P25P26P27P21P20P21P22P23P24P25P26P10P11P12P13P14P15P16P17P10P11P12P13P14P15P16P17XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039

10、P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52PROGRAM=.rwrw.hexC130pFC230pFX112MHzBUTTON1R210kR310kC310uF234567891RP1RESPACK-8R1100R4100R5100R6100R7100R8100R9100R10100123456789ABCDEF0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论