06周第十章实-动态数码管显示与键盘NEW_第1页
06周第十章实-动态数码管显示与键盘NEW_第2页
06周第十章实-动态数码管显示与键盘NEW_第3页
06周第十章实-动态数码管显示与键盘NEW_第4页
06周第十章实-动态数码管显示与键盘NEW_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

第十章数码管的显示与键盘识别,10.1数码管的显示10.1.17段数码管原理与结构10.1.27段数码管编码10.1.3数码管动态扫描10.1.4数码管显示硬件设计10.1.5数码管显示软件设计10.2键盘识别10.2.1开关与键盘10.2.2键盘的消抖问题10.2.3键盘的识别功能10.2.4键盘的硬件设计10.2.5键盘扫描法软件设计10.2.6键盘的扫描策略,Page1,Page2,第十章数码管的显示与键盘识别数码管的显示,10.1.17(8)段数码管原理与结构把7个细长的LED排成日字型,还有一位控制小数点。8个LED,使用一个公用端,共阳型:所有LED的阳极连在一起,共阴型:所有LED的阴极连在一起单独控制每个段的亮灭,可以表示出数字09使用多个数码管表示数字应用非常广泛多种颜色,多种尺寸,使用单个数码管时公用端接入电源或地,用微控制器的IO控制每一个段LED的亮灭。多位数码管表示一个多位数时,每个数码管仅能表示一位,对每位都要进行编码转换多个数码管可以使用动态扫描的方法节约IO端口。,第十章数码管的显示与键盘识别数码管的使用,Page3,10.1.27(8)段数码管编码,Page4,第十章数码管的显示与键盘识别数码管的显示,10.1.27(8)段数码管编码,b,c,d,e,f,g,a,共阴型:1表示点亮0表示熄灭共阳型:取反,DP,Page5,第十章数码管的显示与键盘识别数码管的显示,10.1.3数码管动态扫描通过段控制信息确定数码管显示的数字(多位复用)通过位控制信号使得任意时刻只有一位数码管处于显示状态利用视觉暂留现象,定时更改位控制信息和段控制信息,得到稳定的数字显示多个LED同时点亮的电流都经过公共端,MCU的IO无法承受,必须使用三极管为了减小MCU的灌入电流,段控制端都连接了输出驱动器74LS07(六高压输出缓冲器/驱动器),段控制,位控制,注:所有引脚都是低电平有效,Page6,第十章数码管的显示与键盘识别数码管的显示,10.1.4数码管显示硬件设计实验板上有4位数码管,共阳极结构,引出12根连线,8根段控制,4根位控制,对应关系如下:实验中可将段控制连接到P口,将位控制连接到T口,连线关系如下:,Page7,第十章数码管的显示与键盘识别数码管的显示,10.1.4数码管显示软件设计显示一位数字:constunsignedcharDisplayDecode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/0-9和ABCDEFDDRP|=0XFF;DDRT|=0XFF;/点亮一个数码管,显示2PTP=DisplayDecode2;PTT=0 xfe;LED动态显示时,按人眼的反应,刷新频率得大于80Hz,即所有LED在12ms内必须刷新一次。现有4组LED,即每段显示3ms。这个3ms可以用软件延迟实现,但为提高CPU效率,一般使用定时器。,PTP(寄存器名):P、T、S、M、P、H、J命名相似。PORTA(寄存器名):A、B、E、K命名类似。,Page8,第十章数码管的显示与键盘识别数码管的显示,示例程序/unsignedcharshowdata4;voidShow()unsignedcharDisplayNumber;PTT=0 x0f;for(DisplayNumber=0;DisplayNumber4;DisplayNumber+)PTP=DisplayDecodeshowdataDisplayNumber;if(DisplayNumber=2)PTP,Page9,第十章数码管的显示与键盘识别数码管的显示,示例程序/unsignedcharshowdata4;voiddelay(unsignedintcountert)/3msunsignedinti,j;for(i=0;icountert;i+)for(j=0;j4000;)j+;,123/1,晶振16M,总线时钟8M,延时为:4000*(1+2+3)/(8*106)s=3ms,LED显示应用实例实验3任务:(1)在4个数码管上分时显示自己的班级(如C05)、学号(如H23)和目标要达到的考试成绩(如98.5,必须要带小数点)。(2)在4个数码管上实现“F”字符跑马灯。显示速度通过改变系统总线时钟来实现。(注意F字符的显示是否出现问题),Page10,第十章数码管的显示与键盘识别实验3,第十章数码管的显示与键盘识别实验3,硬件连线,Page11,数码管12线连P口和T口,第十章数码管的显示与键盘识别实验3,硬件连线,Page12,数码管12线引出口,P口引出口,T口引出口,第十章数码管的显示与键盘识别键盘识别,10.2.1开关与键盘开关(Switch)开关有两种状态闭合和断开船形开关,拨位开关按键:带有自恢复装置的开关,常开常闭型各种形状,各种尺寸耐高压,轻触式,带指示键盘:由多个按键组合而成为了区分按键,给每个按键安排了一个代码,称键码。编码键盘和非编码键盘前者较复杂,较贵。后者较简单,极便宜。非编码键盘分为独立式键盘和行列式键盘,Page13,第十章数码管的显示与键盘识别键盘识别,10.2.2键盘的消抖问题按键用于产生一个脉冲,1个MCU的IO口可以检查一个按键的状态按下和释放的时刻会有抖动需要设计硬件消抖电路或软件消抖硬件消抖:阻容滤波或双稳态触发器软件消抖:延时等待(12ms),Page14,voiddelay(void)unsignedinti,j;for(i=0;i4;if(Input!=0 x0F)delay(4);Input=PORTA4;if(Input!=0 x0F)Output=0 xFE;for(i=0;i4;if(Input!=0 x0F)switch(Input)case0 x0E:Keynumber=0;break;case0 x0D:Keynumber=1;break;case0 x0B:Keynumber=2;break;case0 x07:Keynumber=3;break;Keynumber=Keynumber+i*ColumnSize;Keyvalue1=KeyDecodeKeynumber;break;elseOutput=1;return(Keyvalue1);,第十章数码管的显示与键盘识别键盘识别(逐行扫描),Page32,5V,Y1(PA0),X1(PA4),Y2(PA1),Y3(PA2),Y4(PA3),X2(PA5),X3(PA6),X4(PA7),行端口输出,列端口输入,注意:输入输出,第十章数码管的显示与键盘识别键盘识别(逐行扫描),10.2.6键盘的扫描策略循环扫描:可行、可靠,占用CPU时间;定时扫描:可能丢失按键动作,需要确定扫描频率,触点接触时间在几十到几百ms量级;键盘中断:发现有任何按键按下时启动键盘扫描,需要设计相应的硬件电路,Page33,示例程序:voidmain(void)/*putyourowncodehere*/unsignedcharKeyresult;showdata0=1;showdata1=2;showdata2=3;showdata3=4;EnableInterrupts;Init_PORT();Show();/PPT的第8页for(;)Keyresult=KeyScan();/键盘扫描if(Keyresult!=0 xFF)showdata0=Keyresult;Show();/显示,示例程序:见书P182页。,第十章数码管的显示与键盘识别键盘识别(反转扫描),5V,Y1(PA7),Y2(PA6),Y3(PA5),Y4(PA4),X1(PA0),X2(PA1),X3(PA2),X4(PA3),

温馨提示

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

评论

0/150

提交评论