数码管在实际应用中,由于单片机的端口资源有限,故大多采用动态显示技术,即多个数码管共用同一组数据线,通过有顺序的位选信号使数码管轮流导通。这样就达到了单片机资源有效利用的目的。
动态扫描方法,即动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。对于显示的字形码数据我们采用查表方法来完成。
由于数码管轮流导通,这就要求单片机端口有一定的驱动能力,而实际中单片机的驱动能力不是很强,下面介绍几种数码管驱动电路。
1.晶体管驱动
晶体管有两种结构,即PNP型和NPN型。其在电路中的接法如图9-14所示。
图9-14 晶体管驱动电路
图9-15 ULN2003外形和结构
其中电阻R为限流电阻,U1采用NPN管驱动,当IN1为高电平时数码管选通;U2采用PNP管驱动,当IN2为低电平时数码管选通。常用的NPN管有9013、9014等,PNP管有9012等。
图9-16 74LS244外形和结构
2.集成芯片驱动
常用的数码管驱动器有ULN2003、74LS244和74LS47等。下面将一一介绍。ULN2003的外形和结构如图9-15所示。使用时只要由B到C的方向接线即可,10引脚接地。
74LS244的外形和结构如图9-16所示。
74LS244内部分为两组,1G和2G为两个控制端,当低电平时有效,数据传输方向由A到Y。
74LS47为共阳极七段数码管专用驱动芯片,其引脚定义如图9-17所示,其功能见表9-3。
图9-17 74LDS47引脚定义(www.xing528.com)
表9-3 74LS47功能表
注:H—高电平;L—低电平;×—任意。
3.应用电路
P0接口作为数据接口,P2接口为位选接口,使用74LS244作为数码管驱动。数码管动态显示电路如图9-18所示。
图9-18 数码管动态显示电路
4.程序设计
(1)程序功能 单片机通过P1.7口读入开关信号,P1.7接一个开关,当开关接高电平时,显示“12345”字样;当开关接低电平时,显示“HELLO”字样。
(2)程序流程图 数码管动态显示流程如图9-19所示。
图9-19 数码管动态显示流程图
(3)参考程序
1)汇编参考程序:
2)C语言参考程序:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。