📄 timer_led.c
字号:
/*********************************************************************************/
//程序名:Timer_led.c
//功能描述:利用定时器精确定时1ms控制LED闪烁
//调用函数:Timer_1ms(uint_1ms),Led_Off(),Led_On()
//输入:
//返回:
//设计者:wei 日期:2006.10.25
//修改者: 日期:
//版本:
/********************************************************************************/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P1_0 = P1^0;
sbit P1_1 = P1^1;
sbit P1_2 = P1^2;
sbit P1_3 = P1^3;
sbit P1_4 = P1^4;
sbit P1_5 = P1^5;
sbit P1_6 = P1^6 ;
#define OSC_FREQ 12000000
#define C50us (65536-OSC_FREQ/(12000000/35))
#define C1ms (65536-OSC_FREQ/(12000000/980))
#define C10ms (65536-OSC_FREQ/(12000000/9970))
//考虑到重装时时间上的误差,将10000调整为9970达到准确定时的目的
void Timer_1ms(uint _1ms);
void Led_Off();
void Led_On();
/******************************************************************************************
*********************************主函数:初始化CPU****************************************
*****************************************************************************************/
void main()
{
do{
Led_On();
Timer_1ms(1000); //定时1s函数
Led_Off();
Timer_1ms(1000);
}while(1);
}
/******************************************************************************************/
//函数名:void Timer_1ms(uint count)
//功能:利用定时器精确延时1ms
//调用函数:
//输入参数:count,1ms计数
//输出参数:
//说明:总共延时时间为1ms乘于count
/*******************************************************************************************/
void Timer_1ms(uint _1ms)
{
TMOD=TMOD & (0x0f) | 0x10; //启动定时器工作
TR1 = 1;
while(_1ms--)
{
TH1 = C1ms/256; //ms的高位十六进制装入TH1
TL1 = C1ms%256; //ms的低位十六进制装入TL1
while(!TF1); //TF不等于零时,等待
TF1 = 0;
}
TR1 = 0;
}
/*****************************************************************************************
函数名:void Led_Off()
功能:
调用函数:
输入参数:
输出:
说明:
******************************************************************************************/
void Led_Off()
{ P1_0 = 0;
P1_1 = 0;
P1_2 = 0;
P1_3 = 0;
P1_4 = 0;
P1_5 = 0;
P1_6 = 0;
}
/*********************************************************************************************
函数名:void Led_On()
功能:
调用函数:
输入参数:
输出:
说明:
******************************************************************************************/
void Led_On()
{
P1_0 = 1;
P1_1 = 1;
P1_2 = 1;
P1_3= 1;
P1_4 = 1;
P1_5 = 1;
P1_6 = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -