编辑: XR30273052 | 2017-12-25 |
4 位7段LED 都在点亮.设计时,要注意每位显示的间隔时 间,由于一位
7 段LED 的熄灭时间不能超过 100ms,也就是说点亮其它位所用的 时间不能超过 100ms,这样当有 N 位的
7 段LED 用来显示时,每一位间隔的时间 t 就必须符合下面的式子: tQ100ms/(N-1) 比如,现在使用
4 位,也就是 N=4,则由式子可以算出 tQ33ms,就是每一 位的间隔时间不能超过 33ms.当然时间可以也设得短一些,比如 5ms 或1ms 也 可以. 段选位选图1-3
7 段LED 动态显示原理图 3. 7段LED与中颖单片机的接口及应用程序 ? 电路原理图 以SH69P43 控制芯片为例,
4 位7段LED 动态显示的电路原理图如图
4 所示. 使用 4MHz 晶振作为主振荡器,PE 口和 PF 口控制
4 位7段LED 的段选,PB 口控 制4位7段LED 的位选.将4个共阳极的
7 段LED 的段选线并联起来接到 PE 口和PF 口,dp、g、f 和e段选线接到 PF3~PF0 上,d、c、b 和a段选线接到 PE3~ PE0 上;
将4个公共端 VCC 分别接到 PB 口上. 由于 SH69P43 的I/O 口电流较小,所以在位选端要使用三极管来进行
7 段LED 的推动,向7段LED 提供足够大的电流来点亮 LED.在中颖单片机中,有些 芯片的 I/O 口是可以提供至少 200mA 的反向电流,比如 SH69P26 和SH69P55, SH69P26 有6个大电流 I/O 口(PORTA 和PORTD1~PORTD0) ,SH69P55 也是有
6 个大电流 I/O 口(PORTD 和PORTE1~PORTE0) .当使用这些有大驱动电流的 I/O 口的芯片来做
7 段LED 显示时, 当显示电路的位数不超过芯片所带有的大驱动电 流I/O 数时,比如在 SH69P26 和SH69P55 中做
6 位以内的
7 段LED 显示时,就无 需使用三极管,而可以直接去驱动 LED 了.要注意的是,由于这些 I/O 口是提供 大的反向电流, 也就是说, 电流是流向 I/O 的, 所以只能使用共阴极的
7 段LED, 而不能使用共阳极的
7 段LED. 图1-4
4 位7段LED 显示电路原理图 ? 程序 如图 1-4 的电路原理图,现以程序来举个例子.以SH69P43 为控制芯片,4M 晶振为主振荡器,以动态扫描方式驱动
4 位7段LED,1ms 扫描一个位,4 位循 环扫描.程序中有个加载数据的地方只是为了测试显示设定的,实际应用中可在 那里更新所要显示的数据.当全速运行程序时,就能从
4 位7段LED 中看到所要 显示的字符. 例[1-1]
4 位7段LED 显示 LIST P=69P43 ROMSIZE=3072 ;
系统寄存器 IE EQU 00H ;
中断使能标志 IRQ EQU 01H ;
中断请求标志 TM0 EQU 02H ;
Timer0 模式寄存器 TL0 EQU 04H ;
Timer0 装入/记数寄存器低四位 TH0 EQU 05H ;
Timer0 装入/记数寄存器高四位 TBR EQU 0EH ;
查表寄存器 PORTB EQU 09H ;
Port B 数据寄存器 PORTE EQU 0CH ;
Port E 数据寄存器 PORTF EQU 0DH ;
Port F 数据寄存器 INX EQU 0FH ;
间接寻址伪索引寄存器 DPL EQU 10H ;
INX 数据指针低四位 DPM EQU 11H ;
INX 数据指针中三位 DPH EQU 12H ;
INX 数据指针高三位 PBCR EQU 19H ;
PortB 输入/输出控制寄存器 PECR EQU 1CH ;
PortE 输入/输出控制寄存器 PFCR EQU 1DH ;
PortF 输入/输出控制寄存器 ;
用户定义寄存器 AC_BAK EQU 30H ;
AC 值备份寄存器 PB_BAK EQU 32H ;
PortB 数据备份寄存器 PE_BAK EQU 35H ;
PortE 数据备份寄存器 PF_BAK EQU 36H ;
PortF 数据备份寄存器 ;
用于 TIMER 定时 T1MS_CT EQU 37H ;
计数值=04H,定时 1ms F_TIMER EQU........