极数码管,它们的发光原理是一样的,只是它们的电源极性不同而已。部电路如下:
下载可编辑
f
点亮LED显示器有两种方式:一是静态显示,二是动态显示。动态显示,就一位一位地轮流点亮各位显示器(扫描),对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。本文采用4位LED动态显示电路如图
图64位动态LED显示电路根据设计的复位、晶振、显示电路电路,我们做了一总电路图。
下载可编辑
f
程序设计方案
本系统采用89C52中T0定时器和T1计数器配合使用对转速脉冲定时计数。计数器T1工作于计数状态对外部脉冲进行计数;TO工作为定时器方式每次定时50ms,采用60次中断,即在计数器T1在3秒钟对外部脉冲进行计数,然后根据3秒钟的计数值推算出。
(1)定时计数器的初始化
定时计数器的方式控制字TMOD,TMOD是一个不可按位寻址的特殊功能寄存器,其高四位专供T1作计数用,低四位供T0作定时用。
(1)定时计数器的启动方式为GATE0,用软件设置使TOCN中的运行控制位TR0和TR1为1,就可以启动T0和T1,称为软启动。
(2)CT定时计数器方式选择位,CT0时作定时器用。CT1作计数器用。
(3)M1M0工作方式选择位,这里我们选M1M001,方式一,作16位定时计数器用。综上所述,我们给TMOD应赋给二进制的01010001B,是十六进制的0x51。TMOD0x51
TMOD寄存器如下表:
下载可编辑
f
GATECTM1M0GATECTM1M0
T1
T0
对定时器T0与计数器T1的初始化程序如下timer_i
it初始化子程序EA1开中断总允许
ET01开定时器T0中断允许ET11开计数器T1中断允许TMOD0X51TMOD01010001BTH06553550000256初值的高位。定时器一个机器周期加1,一次中断为50ms对应50000个机器周期(振荡频率为12MHZ)TL06553550000256初值的低位TH10T1作计数器用,初值定为0x00TL10TR01软启动方式TR11
(2)定时器中断程序
中断部分要对单片机产生的中断次数计数,定时器每次触发中断需要的时间为50ms,我们
需要单片机在3秒钟对脉冲计数,所以要对中断计数60次。中断程序要给TH0,TL0赋初值,
同时要开启定时器T0。
定时器中断程序
voidtimer0i
terrupt1
TR00T0停止工作
TR10
TH06553550000256赋初值
TL06553550000256
下载可编辑
f
if
r