版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CollegeofCommunicationEngineering,JilinUniversity9.3动态数码管显示与键盘识别2CollegeofCommunicationEngineering,JilinUniversity本章提要9.3.1键盘识别
1.开关与键盘
2.键盘的消抖问题
3.键盘的识别功能
4.键盘的硬件设计
5.键盘扫描法软件设计
6.键盘的扫描策略
7.键盘识别应用实例9.3.2数码管显示1.七段数码管原理与结构2.七段数码管编码3.数码管动态扫描4.数码管显示硬件设计5.数码管显示软件设计6.LED显示应用实例
3CollegeofCommunicationEngineering,JilinUniversity9.3.1键盘识别1.开关与键盘开关(Switch)状态-闭合和断开种类-船形开关,拨位开关按键带有自恢复装置的开关,常开常闭型各种形状,各种尺寸耐高压,轻触式,带指示键盘由多个按键组合而成为了区分按键,给每个按键安排了一个代码,称键码。编码键盘和非编码键盘相比,前者较复杂,较贵。后者较简单,极便宜。非编码键盘分独立式键盘和行列式键盘4CollegeofCommunicationEngineering,JilinUniversity9.3.1键盘识别2.键盘的消抖问题按键用于产生一个脉冲,1个MCU的IO口可以检查一个按键的状态按下和释放的时刻会有抖动需要设计硬件消抖电路或软件消抖硬件消抖:阻容滤波或双稳态触发器软件消抖:延时等待(12ms)voiddelay(void){unsignedinti,j;for(i=0;i<4;i++)for(j=0;j<4000;)j++;}5CollegeofCommunicationEngineering,JilinUniversity9.3.1键盘识别3.键盘的识别功能有无键按下软件延时消抖扫描求键码等待键释放查表求键值6CollegeofCommunicationEngineering,JilinUniversity9.3.1键盘识别4.键盘的硬件设计5V行端口输出00001101111Y1X1Y2Y3Y4X2X3X4列端口输入0123456789ABCDEF1234567890ABCDEF7CollegeofCommunicationEngineering,JilinUniversity9.3.1键盘识别4.键盘的硬件设计(续)实验板上有一个4*4的薄膜键盘,板上无上拉电阻,接口是X1-4、Y1-4,实验中可连接到PORTA口上,Y1-4(PA0-3)为输出,X1-4(PA4-7)做为输入,使能PORTA的上拉电阻0行端口输出00001101111Y1X1Y2Y3Y4X2X3X4列端口输入123456789ABCDEF8CollegeofCommunicationEngineering,JilinUniversity9.3.1键盘识别5.键盘扫描法软件设计当所有行输出为0,列输入码若不全为1,说明有键按下;令一行输出为0,其余行输出为1,列输入码若不全为1,说明该行有键按下:根据行输出码和列输入码中同时为0的行号和列号,可以确定键号。多键识别时需要依次扫描所有行(shift+A)窜键问题:软件处理连续输入问题:需要考虑扫描策略5V行端口输出00001101111Y1(PA0)X1(PA4)Y2(PA1)Y3(PA2)Y4(PA3)X2(PA5)X3(PA6)X4(PA7)列端口输入0123456789ABCDEF示例程序
unsignedcharKeyScan(){unsignedcharInput,Output,Keynumber,Keyvalue1,i;Keyvalue1=0xFF;Output=0xF0; PORTA=Output;Input=PORTA>>4; if(Input!=0x0F) { delay(4); Input=PORTA>>4; if(Input!=0x0F){ Output=0x01; for(i=0;i<RowSize;i++){ PORTA=~Output; Input=PORTA>>4; if(Input!=0x0F){ switch(Input){ case0x0E:Keynumber=0;break; case0x0D:Keynumber=1;break; case0x0B:Keynumber=2;break; case0x07:Keynumber=3;break;} Keynumber=Keynumber+i*ColumnSize; Keyvalue1=KeyDecode[Keynumber];break;} elseOutput<<=1; } } } return(Keyvalue1);}5V行端口输出00001101111Y1(PA0)X1(PA4)Y2(PA1)Y3(PA2)Y4(PA3)X2(PA5)X3(PA6)X4(PA7)列端口输入0123456789ABCDEF键值表constunsignedcharKeyDecode[]={0x01,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x00,
0x0a,
0x0b,
0x0c,
0x0d,
0x0e,
0x0f};5V行端口输出00001101111Y1(PA0)X1(PA4)Y2(PA1)Y3(PA2)Y4(PA3)X2(PA5)X3(PA6)X4(PA7)列端口输入0123456789ABCDEF1234567890ABCDEF11CollegeofCommunicationEngineering,JilinUniversity9.3.1键盘识别6.键盘的扫描策略循环扫描:可行、可靠,占用CPU时间;定时扫描:可能丢失按键动作,需要确定扫描频率,触点接触时间在几十到几百ms量级;键盘中断:发现有任何按键按下时启动键盘扫描,需要设计相应的硬件电路示例程序
voidmain(void){/*putyourowncodehere*/unsignedcharKeyresult;
showdata[0]=1;showdata[1]=2;showdata[2]=3;showdata[3]=4; EnableInterrupts; Init_PORT();Show();for(;;){Keyresult=KeyScan();//键盘扫描
if(Keyresult!=0xFF)showdata[0]=Keyresult;Show(); //显示
}}
12CollegeofCommunicationEngineering,JilinUniversity9.3.2数码管显示1.七段数码管原理与结构把7个细长的LED排成字型8个LED,使用一个公用端共阳型:所有LED的阳极连在一起共阴型:所有LED的阴极连在一起单独控制每个段的亮灭,可以表示出数字0~9使用多个数码管表示数字应用非常广泛多种颜色,多种尺寸13CollegeofCommunicationEngineering,JilinUniversity2.七段数码管编码共阴型:1–表示点亮
0–表示熄灭共阳型:取反Ngfedcba01111113F111062111115B3111114F41111665111116D61111117D711107811111117F91111116FbcdefgaDP9.3.2数码管显示14CollegeofCommunicationEngineering,JilinUniversity3.数码管动态扫描通过段控制信息确定数码管显示的数字(多位复用)通过位控制信号使得任意时刻只有一位数码管处于显示状态利用视觉暂留现象,定时更改位控制信息和段控制信息,得到稳定的数字显示多个LED同时点亮的电流都经过公共端,MCU的IO无法承受,必须使用三极管为了减小MCU的灌入电流,段控制端都连接了输出驱动器74LS07段控制位控制
注:共阳极,所有引脚低电平有效9.3.2数码管显示15CollegeofCommunicationEngineering,JilinUniversity4.数码管显示硬件设计121110987654321C4afC3C2bC1gcdpde121110987654321T3P0P5T2T1P1T0P6P2P7P3P4实验中可将段控制连接到P口,将位控制连接到T口,连线关系如下:实验板上有4位数码管,共阳极结构,引出12根连线,8根段控制,4根位控制,对应关系如下:9.3.2数码管显示16CollegeofCommunicationEngineering,JilinUniversity5.数码管显示软件设计LED动态显示:按人眼的反应,刷新频率得大于80Hz,即所有LED在12ms内必须刷新一次。现有4组LED,即每段显示3ms。这个3ms可以用软件延迟实现,但为提高CPU效率,一般使用定时器。显示一位数字:
constunsignedcharDisplayDecode[]={~0x3f,~0x06,~0x5b,~0x4f,~0x66,~0x6d,~0x7d,~0x07,~0x7f,~0x6f,~0x77,~0x7c,~0x39,~0x5e,~0x79,~0x71};//0-9ABCDEFDDRP|=0xFF; DDRT|=0xFF; //点亮一个数码管,显示2 PTP=DisplayDecode[2]; PTT=0xFE;9.3.2数码管显示17CollegeofCommunicationEngineering,JilinUniversity5.数码管显示软件设计示例程序
//unsignedcharshowdata[4];
voidShow() { unsignedcharDisplayNumber; PTT=0x0f; for(DisplayNumber=0;DisplayNumber<4;DisplayNumber++) { PTP=Displ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年辽宁辽阳中小学教师招聘考试试题题库及答案
- 资料文化进校园活动总结6篇
- 七年级生物下册 第四单元 第10章 第1节 食物中能量的释放教学设计 (新版)北师大版
- 第十一课 创新思维要善于联想教学设计高中政治统编版2019选择性必修3逻辑与思维-统编版2019
- 2026年医院医药合同(1篇)
- 第十三课“阳光”心态教学设计初中心理健康北师大版河南专版九年级全一册-北师大版河南专版
- 第2节 神经系统中信息的传递和调节教学设计高中生命科学沪科版第二册-沪科版
- 传统越剧伴奏乐器与音乐特色【课件文档】
- 山东省潍坊市2026届高三上学期一模考试化学试卷(含答案)
- 第10课 玲珑剔透的美教学设计小学美术赣美版四年级下册-赣美版
- 杯中百年:133款经典鸡尾酒和背后的故事
- 学校宿舍楼维修改造工程投标方案(完整技术标)
- 2023既有建筑地下空间加固技术规程
- 种类繁多的植物(课件)五年级下册科学冀人版
- 输变电工程技术标书【实用文档】doc
- 恋爱合同协议书可
- 人教版七年级下册数学平行线证明题专题训练(含答案)
- 第四章非晶态结构课件
- 公司环保考核细则
- 导管手术室(DSA)医院感染管理SOP
- 风生水起博主的投资周记
评论
0/150
提交评论