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

📄 t0_test.c

📁 51定时计数器的应用实例
💻 C
字号:
//author: zzwj5120
//email:  zzwj5120@sina.com
//date:   2004/5/19

#include <reg52.h>

sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;

#define LED_ON   0
#define LED_OFF  1

unsigned char count;
unsigned char delay1;
unsigned char delay2;
unsigned char delay3;
unsigned char delay4;

void timer0(void) interrupt 1 using 0
{
	TL0=0x06;
	TH0=0xf8;
	if (++count > 200){
		count = 0;
	}
}
void serial() interrupt 4 using 3
{

}

main(){
	EA = 1;         //开总中断
	ET0 = 1;        //允许定时器0中断

	TMOD = 1;       //定时器工作方式选择
	TL0 = 0x06;     
	TH0 = 0xf8;     //定时器赋予初值

	TR0 = 1;        //启动定时器

	delay1 = 4;
	delay2 = 2;
	delay3 = 4;
	delay4 = 2;

	while(1){
		if (count == 0){
			if (++delay1 > 4){
				delay1 = 0;
			}
			if (++delay2 > 4){
				delay2 = 0;
			}
			if (++delay3 > 4){
				delay3 = 0;
			}
			if (++delay4 > 4){
				delay4 = 0;
			}
		}
		if (delay1 < 2){
			led1 = LED_OFF;
		}
		else {
			led1 = LED_ON;
		}
		if (delay2 < 2){
			led2 = LED_OFF;
		}
		else {
			led2 = LED_ON;
		}
		if (delay3 < 2){
			led3 = LED_OFF;
		}
		else {
			led3 = LED_ON;
		}
		if (delay4 < 2){
			led4 = LED_OFF;
		}
		else {
			led4 = LED_ON;
		}
	}
}

⌨️ 快捷键说明

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