资源描述:
《并行接口应用:数码管动态显示设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1并行接口应用:—数码管动态显示设计九江学院谢辉程邮箱:martinxhc@126.com电话:13879219468QQ:20205161(加好友请注明班级学号姓名)2一、LED显示器结构LED显示系统中通常使用的是七段LED。这种显示块有共阴极与共阳极两种,如图1所示。块是由发光二极管显示字段的显示器件。3abcdefgdpCOM(3.8)(c)abcdefgdpCOM(3.8)(d)abcdefgdpcde54321gfab109876(a)(b)共阴共阳图1七段LED显示块?如何判断数码管的极性?4(1)分析硬件连接方法;(2)判断LED极性(共阴/共阳);(3)确定显示编码。共阳
2、数码管0的显示编码:hgfedcbaabcdefgh1100000000000011七段LED显示编码的确定方法:5理论上,八个笔段可以显示128种不同的字符,扣除其中没有意义的组合状态后,七段LED数码管可以显示的字符如表1所示。七段LED的显示编码Page195共阴6LED显示器与显示方式在微机应用系统中使用LED显示块构成N位LED显示器。LED显示器有两种方式:(1)LED静态显示方式(2)LED动态显示方式7LED动态显示方式ds1ds2ds3ds4ds5ds6共阴874573功能介绍974573时序让DS6显示2的方法:MOVP0,#5BHSETBP2.6CLRP2.6MOVP
3、0,#11011111BSETBP2.7CLRP2.7SJMP$送位码送段码课堂练习:设计程序令DS5显示310思考题:如何让6个数码管同时亮,且分别显示654321?可以自己做一下实验,设计不同的延时时间,当时间足够短时,六个数码管就同时亮起来了。11在动态显示方式中,各LED数码显示器轮流工作,为了防止产生闪烁现象,每个LED数码管刷新频率必须大于25Hz,即相邻两次点亮的时间间隔要小于40ms。显然,显示的位数越多,每一位的显示时间越短,在驱动电流一定的情况下,亮度越低,因此,在动态LED显示电路中,要适当增大驱动电流,一般取20mA~35mA,以抵消因显示时间短造成亮度下降,所以没
4、有接限流电阻,为了保证一定的亮度,实验表明:在驱动电流取30mA的情况下,每位显示时间不能小于1ms。动态显示程序设计中延时时间的选择在设计程序时要注意不能让某一位LED数码管常亮!否则会烧毁数码管。12前面已掌握固定字符动态显示原理,而单片机运行时所需显示字符往往是变化的,那么非固定字符的显示如何实现?问题1:如何存储待显示数据?问题2:如何将待显示数据转换成段码?问题3:如何设计循环程序显示6位不同数据?动态显示子程序设计1313567835H34H33H32H31H30H显存位码:11111110B段码:06H位码:11011111B段码:7FH每一位数码管的位码是固定的。输出的段码
5、不同,则显示的内容不同问题1:如何存储待显示数据?14TAB:DB3FH,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,6FH,77H,7CHDB39H,5EH,79H,71H问题2:如何将待显示数据转换成段码?关键是段码在数组中的位置要和实际数值相对应15例:将30H单元的数据显示在数码管ds6上。MOVA,30HMOVDPTR,#TABMOVCA,@A+DPTRMOVP0,ASETBP2.6CLRP2.6MOVP0,#11011111BSETBP2.7CLRP2.7。。。TAB:DB3FH,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,6FH
6、,77H,7CHDB39H,5EH,79H,71H不同的数码管位只需修改显存地址和位码即可16动态显示子程序流程图DISPLAY:MOV36H,#06H;循环次数MOVR0,#30H;数据指针MOV37H,#11011111B;字位选择DISLOOP:MOVA,@R0MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,ASETBP2.6CLRP2.6MOVP0,37HSETBP2.7CLRP2.7INCR0MOVA,37HRRAMOV37H,AACALLDELAY;延时1msDJNZ36H,DISLOOPMOVP0,#0FFHSETBP2.7CLRP2.7RET18示例程序:滚动
7、显示HELLOTAB:DB76H,79H,38H,3FH,00H;分别为H,E,L,O,全灭显示编码