《并行接口应用:数码管动态显示设计课件》由会员分享,可在线阅读,更多相关《并行接口应用:数码管动态显示设计课件(18页珍藏版)》请在金锄头文库上搜索。
1、1,并行接口应用:数码管动态显示设计,九江学院 谢辉程 邮箱: 电话:13879219468 QQ:20205161(加好友请注明班级学号姓名),2,一、LED显示器结构,LED显示系统中通常使用的是七段LED。这种显示块有共阴极与共阳极两种,如图1所示。块是由发光二极管显示字段的显示器件。,3,图1 七段LED显示块,?如何判断数码管的极性?,4,(1)分析硬件连接方法; (2)判断LED极性(共阴/共阳); (3)确定显示编码。,共阳数码管 0的显示编码: h g f e d c b a a b c d e f g h 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1,七段L
2、ED显示编码的确定方法:,5,理论上,八个笔段可以显示128种不同的字符,扣除其中没有意义的组合状态后,七段LED数码管可以显示的字符如表1所示。,七段LED的显示编码 Page195,共阴,6,LED显示器与显示方式,在微机应用系统中使用LED显示块构成N位LED显示器。LED显示器有两种方式: (1)LED静态显示方式 (2)LED动态显示方式,7,LED动态显示方式,ds1 ds2 ds3 ds4 ds5 ds6,共阴,8,74573功能介绍,9,74573时序,课堂练习: 设计程序令DS5显示3,10,思考题:如何让6个数码管同时亮,且分别显示654321?,可以自己做一下实验,设计不
3、同的延时时间,当时间足够短时,六个数码管就同时亮起来了。,11,在动态显示方式中,各LED数码显示器轮流工作,为了防止产生闪烁现象,每个LED数码管刷新频率必须大于25Hz,即相邻两次点亮的时间间隔要小于40ms。显然,显示的位数越多,每一位的显示时间越短,在驱动电流一定的情况下,亮度越低,因此,在动态LED显示电路中,要适当增大驱动电流,一般取20mA35mA,以抵消因显示时间短造成亮度下降,所以没有接限流电阻,为了保证一定的亮度,实验表明:在驱动电流取30mA的情况下,每位显示时间不能小于1ms。,动态显示程序设计中延时时间的选择,12,前面已掌握固定字符动态显示原理,而单片机运行时所需显
4、示字符往往是变化的,那么非固定字符的显示如何实现? 问题1: 如何存储待显示数据? 问题2: 如何将待显示数据转换成段码? 问题3: 如何设计循环程序显示6位不同数据?,动态显示子程序设计,13,显存,每一位数码管的位码是固定的。输出的段码不同,则显示的内容不同,问题1: 如何存储待显示数据?,14,TAB: DB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,问题2: 如何将待显示数据转换成段码?,关键是段码在数组中的位置要和实际数值相对应,15,例:将30H单元的数据显示在数码管ds6上。,
5、MOVA,30H MOVDPTR,#TAB MOVCA,A+DPTR MOV P0,A SETBP2.6 CLRP2.6 MOV P0,#11011111B SETBP2.7 CLRP2.7 。 TAB: DB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,不同的数码管位只需修改显存地址和位码即可,16,动态显示子程序流程图,DISPLAY: MOV 36H,#06H ;循环次数 MOV R0,#30H ;数据指针 MOV 37H,#11011111B ;字位选择 DISLOOP: MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A SETB P2.6 CLR P2.6 MOV P0,37H SETB P2.7 CLR P2.7 INC R0 MOV A,37H RR A MOV 37H,A,ACALL DELAY ;延时1ms DJNZ 36H,DISLOOP MOV P0,#0FFH SETB P2.7 CLR P2.7 RET,18,示例程序:滚动显示HELLO,TAB:DB 76H,79H,38H,3FH,00H ;分别为 H,E,L,O,全灭显示编码,