📄 time0.c
字号:
//**********************************************************
//** 定时器0中断程序 **
//** 单片机: STC12C5410AD 主频: 24MHz **
//** Jumping <2008.04.20> **
//**********************************************************
//#include <REGx051.H> // AT89C4051头文件
#include "../inc/STC12C5410AD.H" // AT89C4051头文件
#include "def.h" // 类型定义文件
#include "config.h" // 条屏配置头文件
#include "uart.h" // uart通讯程序头文件
#include "IIC.h" // IIC驱动程序头文件
// *** 全局变量定义 ***
uint data link_cont; // 链接失败计数
uint data ccctmp; // 链接失败计数
// *** 函数声明 ***
void timer0_init (void);
void delay_2ms (void);
/*******************************************************************************
* 名 称: timer0_int
* 功 能: timer0中断程序
* 入口参数: 无
* 出口参数: 无
*******************************************************************************/
void timer0_isr (void) interrupt 1
{
TH0 = 0xdc; // 每秒中断100次
TL0 = 0x00; // 中断周期:10mS
if (uart_over!=0) uart_over--; // uart超时计数器非0则减1
else ;//jumpingMustRecover-LED = 1; // 关LED
ccctmp++;//jumping
if(link_cont<800)link_cont++; //5秒钟
}
/*******************************************************************************
* 名 称: timer0_init
* 功 能: timer0初始化
* 入口参数: 无
* 出口参数: 无
*******************************************************************************/
void timer0_init (void)
{
TH0 = 0xdc; // 每秒中断100次
TL0 = 0x00; // 中断周期:10mS
TMOD = (TMOD & 0xf0) | T0_MODE_1; // 设置T0工作模式
TR0 = 1; // 启动T0
ET0 = 1; // 允许T0中断
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -