懒到要死,一天写一点,发现很久才写完
第五章 定时器与数码管基础
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
结构
定时器的结构的核心是一个16位的加1计数器,有两个8位计数器组成,定时器T0由TH0和TL0组成,定时器T1由TH1和TL1组成.TMOD和TCON是定时器的控制寄存器。
寄存器TMOD主要用于制定各定时器的功能和工作模式;
寄存器TCON主要用于控制定时器的启动和停止计数,同时设置定时器的状态;
(当单片机进行系统系统复位时,寄存器TMOD和TCON的所有控制位都清零)
功能
定时:单片机在每个机器周期都将计数器的值加1,每个机器周期等于12个振荡器周期,我们的板子是32MHZ。 #include"STC12C5A60S2.H"
sbit ENLED=P1^1; unsigned char code LEDchar[] = { 0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8, 0X80,0X90 }; //定义0-9 //
void main() //声明主函数// { unsigned char cnt=0; unsigned char sec=0; P20=1; P21=0; P22=1; ENLED=0; //LEDS5输出低电平//
TMOD = 0X01; TH0 = 0X2F; TL0 = 0XAA; TR0 = 1; // 初值 //
while(1) { if(TF0 == 1) { TF0 = 0; TH0 = 0x2F; TL0 = 0xAA; cnt++; if(cnt >= 50)// 达到一秒 // { cnt = 0; P0 = LEDchar[sec]; if(sec >= 9)//数码管从0到9// { sec = 0; } else { sec++; } }
} }
}
|