T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。这些功能都由特殊功能寄存器TMOD和TCON所控制。 当设置为定时工作方式时,定时器计数89C51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。当89C51采用12MHz晶振时,一个机器周期为1μs,计数频率为1MHz。
当设置为计数工作方式时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的下降沿时,定时器的值加1。 在每个机器周期的S5P2期间采样T0和T1引脚的输入电平,若前一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的数值装入计数器。所以,检测一个1至0的跳变需要二个机器周期,故最高计数频率为振荡频率的1/24。 对输入信号的占空比无特殊要求,但为了确保某个电平在变化之前至少被采样一次,要求电平保持时间至少是一个完整的机器周期,对输入脉冲的基本要求如下图所示,Tcy为机器周期。
>Tcy >Tcy
对输入脉冲宽度的要求
2.374HC573锁存器 2.3.1 锁存器作用
锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题。
2.3.2 74HC573
74HC573的八个锁存器都是透明的D 型锁存器,当使能LE为高时,Q 输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时, 新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。
内部原理图
真值表
2.4显示器设计
显示器工作原理:数码管一种是半导体发光器件,其基本单元是发光二极管,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字,能够显示时
间、日期、温度等所有可用数字表示的参数的器件。
七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码见表
数字对应数码管显示控制转换字节(共阴编码) 显示--HGFE,DCBA--编码 0 -- 0011,1111--3FH; 1 -- 0000,0110--06H; 2 -- 0101,1011--5BH; 3 -- 0100,1111--4FH; 4 -- 0110,0110--66H; 5 -- 0110,1101--6DH; 6 -- 0111,1101--7DH; 7 -- 0000,0111--07H; 8 -- 0111,1111--7FH; 9 -- 0110,1111--6FH;
七段数码管驱动方式:直流驱动,即每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。
数码管结构:
数码管正面图
4连排8段数码管
2.5完整电路图
3.软件设计
ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV SP,#60H MOV 40H,#0 MOV 41H,#0 MOV 42H,#0 LOOP: LCALL DISP
JNB P3.4,STAR ;开关按下转移STAR SJMP LOOP
STAR: MOV R5,#100 ;给个延时 LP: LCALL DISP
DJNZ R5,LP ;寄存器非0则转移LP,继续减
LP2: JNB P3.4,LP1 ;开关按下转移LP1,开关抬起就执行下一条 INC R6
LCALL H2BCD SJMP LOOP LP1: LCALL DISP SJMP LP2
DISP: MOV DPTR,#TAB ;显示 MOV A,40H
MOVC A,@A+DPTR MOV P0,A SETB P2.6 CLR P2.6
MOV P0,#0FEH SETB P2.7 CLR P2.7 LCALL DELY MOV A,41H
MOVC A,@A+DPTR SETB P2.6 MOV P0,A CLR P2.6 SETB P2.7
MOV P0,#0FDH CLR P2.7 LCALL DELY MOV A,42H
MOVC A,@A+DPTR SETB P2.6 MOV P0,A