#include<reg52.h>
typedef unsigned int u16;
sbit k1=P3^2;
sbit led1=P2^0;
void init(){
IT0=1;//外部中断0 的触发方式控制位 1表示为下降沿触发
EX0=1;//打开ITO的中断允许
ET0=1;//打开定时器0中断允许
EA=1;//打开中断总开关
}
void delay(int i){
while(i--);
}
void Int0() interrupt 0{//处理外部中断0
delay(1000);
if(k1==0){//检测按键
TH0=0xfc;
TL0=0x18;
TR0=1;
}
else{
TR0=0;
led1=1;
}
}
void ETO() interrupt 1{//处理定时器0中断
static u16 i;
TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
i++;
if(i==1000){
i=0;
led1=~led1;
}
}
void main(){
init();
while(1);
}
单片外部中断定时器中断
最新推荐文章于 2023-06-29 16:16:18 发布