timer.h

来自「这是一个远程温度计 MCU: AT89S52 温度传感器: DS18B20」· C头文件 代码 · 共 24 行

H
24
字号
#ifndef __TIMER_H__
#define __TIMER_H__

#include "type.h"

// 定时器间隔(单位:亳秒)
#define PERIOD (50)		/* 50 milli-second interrupt period      */
// 这里的6UL 个机器周期用于
// 中断中的多余指令的时间
// LJMP, MOV TH0, MOV TL0,2个机器周期每指令
#define PRELOAD (65536UL + 6UL - PERIOD * (OSC_FREQ / 1000) / OSC_PER_INST)
// 定时器初值
#define PRELOAD_LOW ((uchar)(LOWBYTE(PRELOAD)))
#define PRELOAD_HIGH ((uchar)(HIGHBYTE(PRELOAD)))
// 每秒中断次数
#define SEC_COUNT ((uchar)(1000U / PERIOD))

extern void init_timer0(void);
extern bool check_timer0(void);
extern void do_timer0(void);

#endif //__TIMER_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?