码迷,mamicode.com
首页 > 其他好文 > 详细

51单片机定时器中断

时间:2020-04-17 21:44:43      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:使用   com   fine   ini   51单片机   clu   定义   中断   ++   

/*
配置的寄存器有
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单片机定时器中断

标签:使用   com   fine   ini   51单片机   clu   定义   中断   ++   

原文地址:https://www.cnblogs.com/yimeimanong/p/12722599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!