51单片机定时器中断
Posted yimeimanong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51单片机定时器中断相关的知识,希望对你有一定的参考价值。
/*
配置的寄存器有
TMOD:模式控制寄存器
TCON:定时器控制器控制寄存器
IE:中断允许寄存器
IP:中断优先级寄存器
*/
#include "reg52.h"
#define BASE (50000/(12/11.0592)) // 定义50ms的基数
sbit led = P1^0;
void time_init()
{
TMOD = 0x01; // 使用模式1
TH0 = (65535 - BASE) / 255;
TL0 = (65535 - BASE) % 255;
EA = 1; // 启动总中断
ET0 = 1; // 启动定时器0中断
TR0 = 1; // 启动定时器0
}
void mian()
{
char count = 0;
time_init();
while(1)
{
if(count == 20) // 定时1s
{
led ~= led;
count = 0;
}
}
}
void timer0() interrupt 1
{
TH0 = (65535 - BASE) / 255;
TL0 = (65535 - BASE) % 255;
count++;
}
以上是关于51单片机定时器中断的主要内容,如果未能解决你的问题,请参考以下文章