⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer_led.c

📁 用KEILC写的单片机典型C51编程
💻 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 + -