📄 定时中断.txt
字号:
单片机定时中断程序
#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 + -