t0_test.c
来自「51系列单片机定时器的使用」· C语言 代码 · 共 91 行
C
91 行
//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 + =
减小字号Ctrl + -
显示快捷键?