单片外部中断定时器中断

mac2026-01-11  6

#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); }
最新回复(0)