中断&定时器/计数器初始化说明

该博客介绍了51单片机中定时器0的中断初始化过程,包括设置TMOD寄存器选择工作模式,计算并装载初值到TH0和TL0,开启中断以及启动定时器。在中断处理函数中,强调了需要重新赋初值以维持定时功能,并提供了中断服务的框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时器/计数器初始化过程:

对TMOD赋值,以确定T0和T1的工作方式

计算初值,并将其写入TH0、TL0或TH1、TL1

中断方式时,则对IE赋值,开放中断

使TR0或TR1置位,启动定时器/计数器定时或计数

#include “reg52.h”

void timer0_init(void)//定时器0中断初始化函数

{

TMOD=0x80; //将定时器/计数器0当成13位定时器/计数器,TL0只用低5位参与分频,TH0整个8位全用。

TH0=0xXX;  //设定定时器0初始计数值的高8位

TL0=0xXX;  //设定定时器0初始计数值的低8位

TR0=1;    //定时器0开始计数

ET0=1;    //开定时器0中断允许

EA= 1;   //开总中断允许

}

void main(void)

{

timer0_init();

while(1);

}



void timer0int interrupt 1

{

TH0=0xXX;           //在中断处理函数里面记得给TH0重新赋初值哦

TL0=0xXX;           //在中断处理函数里面记得给TL0重新赋初值哦

加上你希望实现的功能哦。

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值