📄 time.c
字号:
/*========================================================/
/ /
/ Copyright (C), 2001-2005, Pangu Automation. Co., Ltd. /
/ FileName: time.c /
/ Author: Zheng M.D. /
/ Version: 1.0 /
/ Date: 2005.11.12 /
/ Description: 酸度计(pH计)AD板程序时序 /
/ Modify: /
/ /
/========================================================*/
#include <reg52.h>
#include "include/time.h"
static unsigned char Timer2Count; //定时中断计数器
static bit TimeSlice;
/*************************************************
//函 数 名: delay_us()
//功 能: 延时子程序
//输入参数: ms(uchar)
//返 回 值: 无
//备 注: 无
*************************************************/
void delay_us(unsigned char us)
{
while(--us);
}
/*void delay_ms(unsigned char ms){
unsigned char i,j;
for(j=0;j<ms;j++){
for(i=0;i<4;i++){
delay_us(250);
}
}
}*/
/*************************************************
//函 数 名:FlashLed
//功 能:指示灯闪闪闪
//输入参数:闪动次数count(unsigned char)
//返 回 值:无
//备 注:
*************************************************/
void FlashLed(unsigned char count)
{
unsigned char temp,i;
for(temp = 0;temp < count;temp++)
{
i = 100;
while(i--)
delay_us(200);
__RUN = ~__RUN;
i = 100;
while(i--)
delay_us(200);
}
}
/*************************************************
//函 数 名: IintTimer2()
//功 能: 初始化定时器2并启动定时器2
//输入参数: 无
//返 回 值: 无
//备 注: 无
*************************************************/
void InitTimer2(void)
{
T2CON = 0x00; // 16位定时器,自动重装载,清除溢出标志
TH2 = 0xb8; // 定时器定时时间 = 20ms
RCAP2H = 0xb8; //
TL2 = 0x00; //
RCAP2L = 0x00; //
//Timer2Count = 0; // 定时器2计数器
ET2 = 1; // 允许定时器2中断
TR2 = 1; // 定时器2启动
}
/*************************************************
//函 数 名: timer2()
//功 能: 定时间片
//输入参数: 无
//返 回 值: 无
//备 注: 定时器2中断服务函数(中断方式)
*************************************************/
void timer2(void) interrupt 5
{
TF2 = 0; //手工清除溢出标志
Timer2Count ++;
if(Timer2Count == 10)
{
TimeSlice = 1;
Timer2Count = 0;
}
}
/*************************************************
//函 数 名: GetTimer2Flg()
//功 能: 获得定时间片标志
//输入参数: 无
//返 回 值: TimeSlice(bit)
//备 注:
*************************************************/
bit GetTimer2Flg(void)
{
return TimeSlice;
}
/*************************************************
//函 数 名: ClrTimer2Flg()
//功 能: 清定时间片标志
//输入参数:
//返 回 值:
//备 注:
*************************************************/
void ClrTimer2Flg(void)
{
TimeSlice = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -