![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
Init_Timer1(); 这个函数是什么意思?具体是怎么用的?最好能够通过一个实例说明,谢谢!
Init_Timer1(); 这个函数是初始化定时器T1的意思。Init_ 是初始化的缩写 。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0;
void Init_Timer1( ) //初始化定时器T1
{
TMOD=0X10; //T1定时器工作方式1
EA=1; //开总中断
ET1=1; //允许定时器T1中断
TR1=1; //开定时器T1
TH1=(65536-50000)/256; //赋定时初值
TL1=(65536-50000)%256; //定时时间为50ms
}
void main()
{
Init_Timer1();
while(1);
}
void timer1int() interrupt 3
{
uchar time;
TH1=(65536-50000)/256; //重新加载定时初值
TL1=(65536-50000)%256;
time++;
if(time==10) //50ms中断一次,10次计0.5秒
{
time=0;
LED=~LED; //接P1.0的LED,每秒亮灭1次
}
}
它表示初始化定时器1即T1
这个函数里可以初始化 定时器中断使能位,定时时间等等;
如:
void Init_Timer1(void)
{
IE=0X82; //开总中断,允许T1定时中断
TMOD=0X01; //T1定时器工作于方式1
TH1=(65536-600)/256; //设定定时时间为600us 系统时钟为12MHZ
TL1=(65536-600)%256;
}
然后写
Init_Timer1();
及相当于调用上面的函数,及对定时器1进行初始化。