在使用基本显示部分做实验时最多会用到16个I/O口,这样太占单片机资源了。
线路板厂为了减少数码管占用单片机I/O口的数量,也考虑到数码管在实验中的接法较灵活,该实验板上还集成了数码管专用的显示译码器(74LS47)和用于产生位扫描信号的3-8线译码器(74LS138),译码器部分的电路如图所示。
74LS138是很常用的3-8线译码器,是它的逻辑符号和引脚图,表1是它的真值表。A0~A2为BCD码输入引脚,Y0~Y7为扫描码输出引脚,G为使能端。如果在A0~A2端依次输入BCD码0~7,则Y0~Y7依次输出低电平。使用了3-8线译码器之后,不需要在微控制器中用软件一位一位产生扫描信号,节省了I/O口资源。
74LS47是将BCD码转换成7段LED数码管显示相应数字所需字形段码的译码驱动器,图4是它的逻辑符号。A0~A3是BCD码输入端,a~g为驱动数码管的输出端,由A端输入的BCD码经过芯片转化为二进制字形段码送至数码管以显示出相应的数字,较为方便。该芯片为低电平驱动,可驱动共阳型数码管。
JP5为译码器芯片的5V电源接口,也为整个实验板供电。在拨码开关S1、S2拨到ON端的情况下,两个译码器都连接在电路中,应从JP4接口的高3位输入扫描信号,低4位输入显示数据段码。8位共阳数码管实验模块只需要7根线即可工作。
制作与使用
整个实验板电路并不复杂但比较繁琐,制作时一定要细心,特别是一定要熟悉数码管的管脚排列。笔者用万用电路板自制的本实验板如图5和图6。JP1~JP5全部使用排针,这几处排针和两个拨码开关的设置使接线灵活、方便。需要使用译码器时,不管是使用其中一个还是两个都使用,只需将对应的译码器输出口的拨码开关打开,信号从相应的端口插座输入即可。
使用时需注意三点:1、由于实验板中的LED1、LED2与LED3共用一条数据总线,又共阳数码管和共阴数码管分别需要低电平驱动和高电平驱动,所以共阳数码管实验模块和共阴数码管实验模块是不能同时使用的,当然,在一个系统或一次实验中也很少出现既用到共阳型数码管又用到共阴型数码管的情况。2、考虑到在单片机系统中常使用共阳型数码管,译码器电路是针对八位共阳数码管实验模块设计的,与四位共阴数码管实验模块没有联系,使用四位共阴数码管实验模块时必须将拨码开关设置为断开状态。3、显示译码器74LS47不能产生小数点的显示段码,如果需要显示小数点还得靠微控制器的软件来控制。