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