图7-5中,采用了共阳极数码管,R1R7为限流电阻。单片机P0口输出段码,数码管的公共段接+5V。欲显示的数字0~9的字型码由于无规律可循,只能采用查表的方式来完成要求,这样可按着数字0~9的顺序,把每个数字的字型码按顺序排好,形成一个段码表。根据要显示的数字,香找到相应的段码,从而控制LED数码管显示相应的字符。读者通过本例应掌握段码查表程序的编写。参考程序如下:ORG0100HMOVSTART:DPTR,#TABLE:指针指向表头地址S1:MOVA, #0OH;设置地址偏移量MOVCA,@A+DPTR:查表取得段码,送ACJNEA,#01H,S2:判断A中段码是否为结束符01H,不是则跳S2继续显示21
图7-5中,采用了共阳极数码管,R1~R7为限流电阻。单 片机P0口输出段码,数码管的公共段接+5v。欲显示的数字 0~9的字型码由于无规律可循,只能采用查表的方式来完成要 求,这样可按着数字0~9的顺序,把每个数字的字型码按顺序 排好,形成一个段码表。根据要显示的数字,查找到相应的段 码,从而控制LED数码管显示相应的字符。读者通过本例应掌 握段码查表程序的编写。 参考程序如下: 21
LJMPSTART:是结束符01H,重新从0开始显示S2:MOVPO,A:段码送LED显示LCALLDELAYINCDPTR:指针加1S1LJMPMOVDELAY:R5,#20:延时子程序D2:MOVR6,#20MOVD1:R7,#248D3:DJNZR7,D3DJNZR6,D1DJNZR5,D2RETDBTABLE::共阳极数码管段码表OcOh.0f9h.Oa4h,Ob0h.99h,92h.82h.Of8h.80h.90hDB01H:结束符END22
22
程序设计中,为达到反复循环显示数字0~9的目的,在段码表中设置了一个结束符01H,来控制反复循环显示7.3.2LED数码管的显示方式单片机控制LED数码管有两种显示方式:静态显示和动态扫描显示。1.静态显示方式静态显示就是指无论多少位LED数码管,都同时处于显示状态。多位LED数码管工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或接+5V);每位数码管的23
程序设计中,为达到反复循环显示数字0~9的目的,在段码 表中设置了一个结束符01H,来控制反复循环显示。 7.3.2 LED数码管的显示方式 单片机控制LED数码管有两种显示方式:静态显示和动态扫 描显示。 1. 静态显示方式 静态显示就是指无论多少位LED数码管,都同时处于显示 状态。 多位LED数码管工作于静态显示方式时,各位的共阴极( 或共阳极)连接在一起并接地(或接+5V);每位数码管的 23
段码线(a~dp)分别与一个单片机控制的8位I/O口锁存器输出相连。如果送往各个LED数码管所显示字符的段码一经确定,则相应/O口锁存器锁存的段码输出将维持不变,直到送入下一个显示字符的段码。因此,静态显示方式的显示无闪烁,亮度较高,软件控制比较容易。图7-6所示为4位LED数码管静态显示电路,各个数码管可独立显示,只要向控制各位I/O口锁存器写入相应的显示段码该位就能保持相应的显示字符。这样在同一时间,每一位显示的字符可以各不相同。但是,静态显示方式占用I/O口线较多。24
段码线(a~dp)分别与一个单片机控制的8位I/O口锁存器输 出相连。如果送往各个LED数码管所显示字符的段码一经确定 ,则相应I/O口锁存器锁存的段码输出将维持不变,直到送入下 一个显示字符的段码。因此,静态显示方式的显示无闪烁,亮 度较高,软件控制比较容易。 图7-6所示为4位LED数码管静态显示电路,各个数码管可 独立显示,只要向控制各位I/O口锁存器写入相应的显示段码, 该位就能保持相应的显示字符。这样在同一时间,每一位显示 的字符可以各不相同。但是,静态显示方式占用I/O口线较多。 24
I/O口(1)I/O口(3)1/O口(4)I/O口(2)babababadpgdp gdpgdp g1?+5VIGND图7-64位LED静态显示的示意图25
图7-6 4位LED静态显示的示意图 25