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

下载本文档

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

文档简介

任务5非编码键盘系统设计项目2键盘与显示系统组装一个单片机系统,外接16个按键(代表0~F),以及1位数码管显示器(或其他显示器)。要求实时显示当前按下的按键值。任务内容看一看:各种终端设备中的键盘知识要求

独立键盘和矩阵键盘的结构,能够完成单片机与它们的接口电路设计;了解按键抖动的原因,能够解决如何消除按键抖动的问题;矩阵键盘按键的识别和检测方法,能够用多分支结构的编程方法实现按键的检测;能将键盘识别模块代码和显示模块代码组合,完成系统设计。知识点1非编码键盘

1、编码键盘与非编码键盘2、线性非编码键盘1个MCU的IO口,可以检查一个按键的状态5V结构简单编程容易口线资源占用严重!行列结构,节省口线编程略复杂3、矩阵非编码键盘【例】完成4*4矩阵键盘与单片机的接口设计小练习1知识点2按键的抖动与消抖按键是控制系统中最常见的输入设备。按键的闭合和打开将在单片机的输入引脚上分别加入高、低电平,这样CPU就可以根据读入引脚的信号来判断按键的状态。1.按键的抖动现象现象:持续5~10ms

后果:CPU的误判RS触发电路实现消抖2.硬件消抖5ms延时消抖3.软件消抖延时5ms再次读取端口,如果前后两次结果相同,就认为状态稳定知识点3线性非编码键盘的识别知识点4矩阵非编码键盘的识别行线和列线:一个输出,另一个输入常用方法:一是行扫描法,二是线反转法键名与键值1、行扫描法5V行端口列端口01111111对第一行进行扫描:行输出端口输出0111

检查列回读端口的值5V行端口列端口10111011对第二行进行扫描:行输出端口输出1011

检查列回读端口的值最坏的情况下需要进行4次扫描过程,能否更快?对第一行进行扫描:行输出端口输出0111

检查列回读端口的值11112、线反转法5V行端口列端口11010000行端口输出0000检查列端口的值根据列端口的值,已经可以确定在哪一列有键按下11115V行端口列端口1111行端口输出0000检查列端口的值根据列端口的值,确定哪一列有键按下将行端口和列端口输入输出方向反转列端口输出0000检查行端口的值根据行端口的值,确定哪一行有键按下000010113、键名与键值键名键值键名键值00xee80xeb10xde90xdb20xbeA0xbb30x7eB0x7b40xedC0xe750xddD0xd760xbdE0xb770x7dF0x77一一对应(键值表)知识点5多分支语句(switch)

switch语句的一般形式:

switch(表达式){ case常量表达式1:语句1; case常量表达式2:语句2; …… case常量表达式n:语句n; default:语句n+1; }switch语句中的break语句

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

switch(表达式){ case常量表达式1:语句1;break; case常量表达式2:语句2;break; …… case常量表达式n:语句n;break; default:语句n+1; }使用break语句后,switch语句的执行过程如图所示。【例】4个按键控制4个LED开关。用switch语句实现。小练习2【例】利用本任务的电路(4*4按键),编写程序,控制数码管,实时显示按键输入值。小练习3典型问题分析案例1(运算问题)案例2(循环结构问题)带参数和返回值的子程序设计子程序1(键盘检

温馨提示

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

评论

0/150

提交评论