timer1_light.c

来自「定时器T1方式1+软件计数循环定时1Sec」· C语言 代码 · 共 59 行

C
59
字号
/*
*******************************************************
文件名:timer1_light

功能:定时器T1方式1+软件计数循环定时1Sec,控制LED闪烁


时间:2007-6-30

Crystal:12MHz
*******************************************************
*/

#include<reg52.h>
#include<absacc.h>
 
#define unit unsigned int
#define uchar unsigned char

sbit L0 = P3^4;

uchar data time_50ms_No = 0;	 /*定时器计数变量*/

void main(void)
{
	L0 = 0;						 /*初始化端口*/
	EA = 1;
	ET1 = 1;
	TMOD = 0x10;				 /*T1方式1定时50mSec*/
	TH1 = 0x3C;
	TL1 = 0xB0;
	TR1 = 1;				     /*启动定时器*/

	while(1);
}

/*
*******************************************************
             定时计数器1的中断服务子程序
*******************************************************
*/

void timer1(void)  interrupt 3 using 1
{
	TH1 = 0x3C;
	TL1 = 0xB0;
	/*TH1 = -50000 / 256;		  定时器T1高四位赋值
	TL1 = -50000 % 256;			  定时器T1低四位赋值*/

	time_50ms_No++;	             
	if(time_50ms_No == 20)		 /*百分秒进位*/
	{
		L0 = !L0;
		time_50ms_No = 0;
	}
	
}

 

⌨️ 快捷键说明

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