欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    hong动态数码管显示与键盘实验.pptx

    • 资源ID:87531086       资源大小:414.76KB        全文页数:21页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    hong动态数码管显示与键盘实验.pptx

    Page 1第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别数码管的显示数码管的显示14.1.1 7段数码管原理与结构段数码管原理与结构n把把7个细长的个细长的LED排成排成日日字型字型n8个个LED,使用一个公用端,共阳型:所有,使用一个公用端,共阳型:所有LED的阳极连在一起,的阳极连在一起,共阴型:所有共阴型:所有LED的阴极连在一起的阴极连在一起n单独控制每个段的亮灭,可以表示出数字单独控制每个段的亮灭,可以表示出数字 09n使用多个数码管表示数字使用多个数码管表示数字n应用非常广泛应用非常广泛n多种颜色,多种尺寸多种颜色,多种尺寸第1页/共21页 Page 2第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别数码管的显示数码管的显示14.1.2 7段数码管编码段数码管编码D6D5D4D3D2D1D0共阴级共阴级NgfedcBa字形码字形码01111113F111062111115B3111114F41111665111116D61111117D711107811111117F91111116F共阴型:1 表示点亮 0 表示熄灭共阳型:取反每一个能够显示的字符每一个能够显示的字符都有一个对应的段码。都有一个对应的段码。bcdefgaDP第2页/共21页 Page 3第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别数码管的显示数码管的显示14.1.3 数码管动态扫描数码管动态扫描n通过段控制信息确定数码管显通过段控制信息确定数码管显示的数字(多位复用)示的数字(多位复用)n通过位控制信号使得任意时刻通过位控制信号使得任意时刻只有一位数码管处于显示状态只有一位数码管处于显示状态n利用视觉暂留现象,定时更改利用视觉暂留现象,定时更改位控制信息和段控制信息,得位控制信息和段控制信息,得到稳定的数字显示到稳定的数字显示n多个多个LED同时点亮的电流都经同时点亮的电流都经过公共端,过公共端,MCU的的IO无法承受,无法承受,必须使用三极管必须使用三极管n为了减小为了减小MCU的灌入电流,段的灌入电流,段控制端都连接了输出驱动器控制端都连接了输出驱动器74LS07(PNP:集电极开路,:集电极开路,高压输出驱动器)高压输出驱动器)段控制位控制4个共阳极数码管个共阳极数码管注:所有引脚都是低电平有效注:所有引脚都是低电平有效第3页/共21页 Page 4第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别数码管的显示数码管的显示14.1.4 数码管显示硬件设计数码管显示硬件设计n实验板上有实验板上有4位数码管,共阳极结构,引出位数码管,共阳极结构,引出12根连线,根连线,8根段控制,根段控制,4根位控制,对应关系如下:根位控制,对应关系如下:n实验中可将段控制连接到实验中可将段控制连接到P口,将位控制连接到口,将位控制连接到T口,连线关系如下:口,连线关系如下:注:注:a-g,DP接接P0-P7,C1-C4接接T0-T3121110987654321C4 afC3 C2 bC1 gcdpde121110987654321T3P0P5T2T1P1T0P6P2P7P3P4第4页/共21页 Page 5第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别数码管的显示数码管的显示14.1.4 数码管显示软件设计数码管显示软件设计n显示一位数字:显示一位数字:const unsigned char const unsigned char DisplayDecode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,DisplayDecode=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 ABCDEF 0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/0-9 ABCDEF DDRP|=0XFF;DDRP|=0XFF;DDRT|=0XFF;DDRT|=0XFF;/点亮一个数码管,显示点亮一个数码管,显示2 2 PTP=DisplayDecode2;PTP=DisplayDecode2;PTT=0 xfe;PTT=0 xfe;nLED动态显示时,按人眼的反应,刷新频率得大于动态显示时,按人眼的反应,刷新频率得大于80Hz,即所有,即所有LED在在12ms内必须刷新一次。现有内必须刷新一次。现有4组组LED,即每段显示,即每段显示3ms。这个。这个3ms可以用软可以用软件延迟实现,但为提高件延迟实现,但为提高CPU效率,一般使用定时器。效率,一般使用定时器。第5页/共21页 Page 6第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别数码管的显示数码管的显示n示例程序示例程序 /unsigned char showdata4;void Show()void Show()unsigned char DisplayNumber;unsigned char DisplayNumber;PTT=0 x0f;PTT=0 x0f;for(DisplayNumber=0;DisplayNumber4;DisplayNumber+)for(DisplayNumber=0;DisplayNumber4;DisplayNumber+)PTP=DisplayDecodeshowdataDisplayNumber;PTP=DisplayDecodeshowdataDisplayNumber;if(DisplayNumber=2)PTP&=0 x7f;if(DisplayNumber=2)PTP&=0 x7f;switch(DisplayNumber)switch(DisplayNumber)case 0:case 0:PTT=0 xfe;PTT=0 xfe;break;break;case 1:case 1:PTT=0 xfd;PTT=0 xfd;break;break;case 2:case 2:PTT=0 xfb;PTT=0 xfb;break;break;default:default:PTT=0 xf7;PTT=0 xf7;break;break;delay(1);delay(1);第6页/共21页 Page 7第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别数码管的显示数码管的显示n示例程序示例程序 /unsigned char showdata4;void delay(unsigned int countert)/3msvoid delay(unsigned int countert)/3ms unsigned int i,j;unsigned int i,j;for(i=0;icountert;i+)for(i=0;icountert;i+)for(j=0;j4000;)j+;for(j=0;j4000;)j+;1 12 23/13/1晶振晶振16M,总线时钟,总线时钟8M,延时为:,延时为:4000*(1+2+3)/(8*106)s=3ms第7页/共21页第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别键盘识别键盘识别14.2.1 开关与键盘开关与键盘n开关(开关(Switch)开关有两种状态闭合和断开开关有两种状态闭合和断开船形开关,拨位开关船形开关,拨位开关n按键:带有自恢复装置的开关,常开按键:带有自恢复装置的开关,常开常闭型常闭型各种形状,各种尺寸各种形状,各种尺寸耐高压,轻触式,带指示耐高压,轻触式,带指示n键盘键盘:由多个按键组合而成:由多个按键组合而成为了区分按键,给每个按键安为了区分按键,给每个按键安排了一个代码,称键码。排了一个代码,称键码。编码键盘和非编码键盘前者较编码键盘和非编码键盘前者较复杂,较贵。后者较简单,极复杂,较贵。后者较简单,极便宜。便宜。非编码键盘分为独立式键盘和非编码键盘分为独立式键盘和行列式键盘行列式键盘 Page 8第8页/共21页第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别键盘识别键盘识别14.2.2 键盘的键盘的消抖问题消抖问题n按键用于产生一个脉冲,按键用于产生一个脉冲,1个个MCU的的IO口可以检查一个按键的状态口可以检查一个按键的状态n按下和释放的时刻会有抖动按下和释放的时刻会有抖动n需要设计硬件消抖电路或软件消抖需要设计硬件消抖电路或软件消抖硬件消抖:阻容滤波或双稳态触发硬件消抖:阻容滤波或双稳态触发器器(P180)软件消抖:延时等待(软件消抖:延时等待(12ms),时),时间长度与机械弹性有关间长度与机械弹性有关 Page 9void delay(void)unsigned int i,j;for(i=0;i4;i+)for(j=0;j4;if(Input!=0 x0F)delay(4);Input=PORTA4;if(Input!=0 x0F)Output=0 x01;for(i=0;i4;if(Input!=0 x0F)switch(Input)case 0 x0E:Keynumber=0;break;case 0 x0D:Keynumber=1;break;case 0 x0B:Keynumber=2;break;case 0 x07:Keynumber=3;break;Keynumber=Keynumber+i*ColumnSize;Keyvalue1=KeyDecodeKeynumber;break;else Output=1;return(Keyvalue1);第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别键盘识别键盘识别 Page 145V000011011111Y1(PA0)X1(PA4)Y2(PA1)Y3(PA2)Y4(PA3)X2(PA5)X3(PA6)X4(PA7)0123456789ABCDEF第14页/共21页第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别键盘识别键盘识别 Page 151234567890ABCDEF键值键值表:表:const unsigned char KeyDecode=0 x01,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08,0 x09,0 x00,0 x0a,0 x0b,0 x0c,0 x0d,0 x0e,0 x0f;行端口输出000011011111Y1X1Y2Y3Y4X2X3X4 列端口输入0123456789ABCDEF第15页/共21页第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别键盘识别键盘识别 Page 16 5V行端口输出000011011111 X1(PA4)X2(PA5)X3(PA6)X4(PA7)列端口输入0123456789ABCDEF14.2.6 键盘反转法软件键盘反转法软件设计设计n当所有行输出为当所有行输出为0,列输入码,列输入码若不全为若不全为1,说明有键按下;,说明有键按下;n读入列值,存入读入列值,存入temp1;n令所有列输出为令所有列输出为0,读入行值,读入行值,存入存入temp2;ntemp=temp1|temp2;n查表,求键号或键值查表,求键号或键值n多键识别时需要依次扫描确多键识别时需要依次扫描确定行列(定行列(shift+A)n窜键问题:软件处理窜键问题:软件处理n连续输入问题:需要考虑扫连续输入问题:需要考虑扫描策略描策略Y1(PA0)Y2(PA1)Y3(PA2)Y4(PA3)第16页/共21页n反转法示例程序:反转法示例程序:unsigned char KeyScan1()/反转法 unsigned char Keyvalue1;Keyvalue1=0 xFF;DDRA=0 x0F;PORTA=0 xF0;if(PORTA&0 xF0)!=0 xF0)Show();if(PORTA&0 xF0)!=0 xF0)temp1=PORTA&0 xF0;DDRA=0 xF0;PORTA=0 x0F;/Show();asm nop;asm nop;temp2=PORTA&0 x0F;temp=temp1|temp2;while(PORTA&0 x0F)!=0 x0F)Show();switch(temp)case 0 xee:Keyvalue1=1;break;case 0 xde:Keyvalue1=2;break;/.return(Keyvalue1);第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别键盘识别键盘识别 Page 175V000011011111Y1(PA0)X1(PA4)Y2(PA1)Y3(PA2)Y4(PA3)X2(PA5)X3(PA6)X4(PA7)0123456789ABCDEF第17页/共21页第十四章数码管的显示与键盘识别第十四章数码管的显示与键盘识别键盘识别键盘识别14.2.7 键盘的键盘的扫描策略扫描策略n循环扫描:可行、可靠,循环扫描:可行、可靠,占用占用CPU时间;时间;n定时扫描:可能丢失按定时扫描:可能丢失按键动作,需要确定扫描键动作,需要确定扫描频率,触点接触时间在频率,触点接触时间在几十到几百几十到几百ms量级;量级;n键盘中断:发现有任何键盘中断:发现有任何按键按下时启动键盘扫按键按下时启动键盘扫描,需要设计相应的硬描,需要设计相应的硬件电路件电路 Page 18n示例程序:示例程序:void main(void)/*put your own code here*/unsigned char Keyresult;showdata0=1;showdata1=2;showdata2=3;showdata3=4;EnableInterrupts;Init_PORT();Show();for(;)Keyresult=KeyScan();/键盘扫描键盘扫描 if(Keyresult!=0 xFF)showdata0=Keyresult;Show();/显示显示 第18页/共21页一、实验任务一、实验任务 (1)在8位数码管上显示班级和学号,之间用小数点分隔。(2)在4个数码管上实现“0”字符跑马灯 (3)编制实验一中的已知年月,求天数的C程序,将天数显 示在数码管中间两位上,前后放上分隔符“_ _”例如:(4)键盘输入年和月,在数码管上显示对应的天数。(5)键盘键盘输入班级和学号,并在8位数码管上显示。(6)自由发挥,如:组合键:F+1,显示班级;F+2,显示学号反转法识别键盘编制函数y=3*x+4,x由键盘输入,y用数码管显示菜单 Page 19实验三、实验三、数码管的显示与键盘识别数码管的显示与键盘识别第19页/共21页第十章第十章 单片机片内外模块单片机片内外模块并行并行I/O二、硬件连线二、硬件连线 Page 20数码管12线连P口和T口数码管12线连P口和T口T口P口A口键盘8根线接A口第20页/共21页感谢您的观看!第21页/共21页

    注意事项

    本文(hong动态数码管显示与键盘实验.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开