02实验二:数码管动态显示程序设计_第1页
02实验二:数码管动态显示程序设计_第2页
02实验二:数码管动态显示程序设计_第3页
02实验二:数码管动态显示程序设计_第4页
02实验二:数码管动态显示程序设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

实验二:数码管动态显示程序设计实验目的要求:1、熟练掌握LED显示器的结构特点(共阳极和共阴极的区别)。2、掌握LED动态显示方式的工作特点(电路的构成与编程应用)。3、掌握利用数据口扩展LED显示器的方法。4、了解单片机实验系统的基本功能,掌握其使用方法。5、掌握仿真软件Wave的使用及ISP(在系统可编程)技术。

LED(LightEmittingDiode)是发光二极管英文名称的缩写。LED显示器是由发光二极管构成的能够显示字段的显示器件。在单片机应用系统中通常使用的是8段LED显示器(又常称为LED数码管)。这种显示器有共阴极与共阳极两种,如后图所示。10.1LED显示器接口原理10.1.1LED显示器的结构

LED显示器的结构:①共阳与共阴公共阳极abcdgefdpdpgf……a低电平点亮接高电平cdVccedpgfVccabLED显示器的结构:①共阳与共阴公共阴极abcdgefdpcdGNDedpgfGNDab高电平点亮接地dpgf……a10.1.1LED显示器的结构

单片机系统扩展LED显示器时多用共阳LED。共阳显示器每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴显示器段笔画是用高电平(“1”)点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。LED显示器的译码:硬件译码硬件译码特点:采用专用的译码芯片,驱动功率较大;增加了硬件的开销;字型固定(比如只可译数字);但软件编程简单。共阴LEDabcdgefdpgfedcbaDCBAP1.3P1.2P1.1P1.074LS48AT89C5174LS48是“BCD码→七段共阴译码/驱动”IC74LS47是“BCD码→七段共阳译码/驱动”ICLED显示器的译码:软件译码软件译码特点:不用专用的译码芯片,驱动功率较小;不增加硬件的开销;软件编程较复杂;字型灵活(比如既可译数字又可译字母)。共阳LEDabcdgefP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5VAT89C51dp公共阳极dpgfedcbaabcdgefdp公共阴极dpgfedcbaabcdgefdpdpgf……adpgf……a高电平点亮低电平点亮接高电平接地思考:如果要在8段显示器上显示P.

,那么共阳极和共阴极段码分别是什么?共阳极段码是:0CH

;共阴极段码是:F3H

共阳共阴字符字形理论上,八段可以显示128种不同的字符,扣除其中没有意义的组合状态后,八段LED显示器可以显示的字符如表所示。

(P195表10-2)八段LED段码表1、LED静态显示方式10.1.2LED显示器工作原理

LED显示器工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起,每位的段码线分别与1个8位的锁存器输出相连。之所以称为静态显示,是因为各个LED的显示字符一经确定,相应锁存器锁存的段码输出将维持不变,直到送入另一个字符的段码为止。正因为如此,静态显示的亮度都较高。ABCLKdpgfedcbaCLRABCLKCLRABCLKCLR+5VVCCTxDRxD

AT89C5174LS16474LS16474LS164dpgfedcbadpgfedcba+5V共阳LED显示器LED显示器静态显示结构有几个LED就要几个74LS164,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单。2、LED动态显示方式

在多位LED显示时,为了简化硬件电路,通常将所有位的段码线相应段并联在一起,由1个8位I/O口控制,形成段码线的多路复用,而各位的共阳极或共阴极分别由相应的I/O线控制,形成各位的分时选通。LED显示器的显示方式:(静态与动态)动态显示特点:用元器件少,占I/O线少,有闪烁,必须扫描,花费CPU时间,编程复杂。(有多个LED时尤为突出)静态显示特点:无闪烁,无须扫描,节省CPU时间,编程简单,用元器件多,占I/O线多。静态显示:各显示器在显示过程中持续得到送显信号,与各显示器接口的I/O口线是专用的。动态显示:各显示器在显示过程中轮流得到送显信号,与各显示器接口的I/O口线是共用的。动态显示中延时时间的选择

在动态显示方式中,各LED显示器轮流工作,为了防止产生闪烁现象,每个LED数码管刷新频率必须大于25Hz,即相邻两次点亮的时间间隔要小于40ms。LED显示器的位数越多,每一位的显示时间越短,在驱动电流一定的情况下,亮度越低(正因如此,在动态LED显示电路中,要适当增大驱动电流,一般取20mA~35mA(正常情况下的工作电流一般在10~20mA之间),以抵消因显示时间短造成亮度下降)。为了保证一定的亮度,实验表明:在驱动电流取30mA的情况下,每位显示时间不能小于1ms。实验原理图共阴LED数码管任务一:如何让6个数码管同时亮,且分别显示654321?结束将1的段码送L1调用延时子程序将2的段码送L2调用延时子程序......将6的段码送L6开始调用延时子程序思路一:实验内容:思路二:

将显示部分设计成子程序的结构,在子程序中利用查表的方法来获得相应的段码,这种思路经常用于显示变化的字符。

但需要注意以下问题:1、主程序、子程序各自要求独立成块,千万不能混淆。2、待转换的数据的存储区间的合理选择问题。思路二的显示子程序流程图:实验示例程序:(任务一)ORG0000HAJMPMAINORG0030HMAIN:MOV30H,#01HMOV31H,#02HMOV32H,#03HMOV33H,#04HMOV34H,#05HMOV35H,#06HLOOP:ACALLDISPLAYAJMPLOOPDISPLAY:PUSH00HMOV36H,#06HMOVR0,#30HMOV37H,#01111111BNEXT:MOVA,@R0MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AINCR0MOVP2,37HMOVA,37HRRAMOV37H,AACALLDELAYDJNZ36H,NEXTPOP00HRETDELAY:MOV7FH,#5;2.5ms延时程序DELAY1:MOV7EH,#250DJNZ7EH,$DJNZ7FH,DELAY1RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DHEND任务二:如何在上述基础上,让数码管显示的字符滚动起来?思路:

任务二和任务一的区别在于,任务一每个数码管显示相同的内容,而任务二的每个数码管显示的内容在不断变化,大家可从修改待显示数据区(显存区域)或修改显示段码表的思路来入手。实验示例程序:(任务二)ORG0000HAJMPMAINORG0030HMAIN:MOV30H,#01HMOV31H,#02HMOV32H,#03HMOV33H,#04HMOV34H,#05HMOV35H,#06H

MOV36H,#00HMOV37H,#00HMOV38H,#00HMOV39H,#00HMOV3AH,#00HMOV3BH,#00H

MOV3CH,#01HMOV3DH,#02HMOV3EH,#03HMOV3FH,#04HMOV40H,#05HMOV41H,#06H

MOVR2,#60MOVR0,#30HMOVR3,#12LOOP:ACALLDISPLAYDJNZR2,LOOPINCR0MOVR2,#60DJNZR3,LOOPAJMPMAINDISPLAY:PUSH00HMOV4DH,#06HMOV4EH,#01111111BNEXT:MOVA,@R0MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AINCR0MOVP2,4EHMOVA,4EHRRA

温馨提示

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

评论

0/150

提交评论