概述
TMOD寄存器:
这里讲一下TMOD寄存器,这个寄存器可以选择开启定时器0还是1,还有可以决定定时器以什么方式工作。如图:
代码:
#include <reg51.h>
sbit LED=P2^0;
typedef unsigned char u8;
typedef unsigned int u16;
void time1_init(void)
{
TMOD|=0x10; //TMOD是一个寄存器,用来决定定时器的工作方式,高四位决定定时器1,目前是工作方式1,即16位定时计数。
TH1=0xfc; //定时器高八位
TL1=0x18; //定时器低八位
ET1=1; //中断允许
EA=1; //总中断打开
TR1=1; //打开定时器中断
}
void main(void)
{
time1_init(); //初始化
while(1)
{
}
}
void tmie1(void) interrupt 3 //中断服务函数
{
static u16 i; //不用赋值,自动初始化0
TH1=0xfc;
TL1=0x18;
i++;
if(i==1000)
{
i=0;
LED=!LED;
}
}
运行结果:
结果和定时器0一样,一秒钟闪烁一次,就不发图片了。
最后
以上就是飞快蜗牛为你收集整理的51单片机基础之定时器中断(二)的全部内容,希望文章能够帮你解决51单片机基础之定时器中断(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复