/ 外部中断参考程序
/
调 用:INT_init();
参 数:无
返回值:无
结 果:启动外部中断INT1、INT0中断,设置中断方式
备 注:
//
void INT_init (void){
EA = 1; //中断总开关
EX1 = 1; //允许外部中断1中断
EX0 = 1; //允许外部中断0中断
IT1 = 1; //1:下沿触发 0:低电平触发
IT0 = 1; //1:下沿触发 0:低电平触发
}
//
/
函数名:外部中断INT1中断处理程序
调 用:[外部引脚INT1中断处理]
参 数:无
返回值:无
结 果:用户处理外部中断信号
备 注:
//
void INT_1 (void) interrupt 2 using 2{ //切换寄存器组到2
//用户函数内容
}
//
/
函数名:外部中断INT0中断处理程序
调 用:[外部引脚INT0中断处理]
参 数:无
返回值:无
结 果:用户处理外部中断信号
备 注:
//
void INT_0 (void) interrupt 0 using 2{ //切换寄存器组到2
//用户函数内容
}
//
- 程序模块
/
程序名: 外部中断程序实例
编写人: 杜洋
编写时间:2009年9月24日
硬件支持:STC12C2052AD 外部12MHZ晶振
接口说明:
修改日志:
NO1-
/
说明:
两个按键分别控制LED灯的开关。
INT0接口的按键按下时开灯。
INT1接口的按键按下时关灯。
//
#include <REG51h> //51头文件
sbit LED = P1 ^ 0; //定义LED灯
//注:外部中断固定与P32和P33复用,无需定义这两个接口。
/
函数名:外部中断INT初始化函数
调 用:INT_init();
参 数:无
返回值:无
结 果:启动外部中断INT1、INT0中断,设置中断方式
备 注:
//
void INT_init (void){
EA = 1; //中断总开关
EX1 = 1; //允许外部中断1中断
EX0 = 1; //允许外部中断0中断
IT1 = 1; //1:下沿触发 0:低电平触发
IT0 = 1; //1:下沿触发 0:低电平触发
}
//
/
函数名:外部中断INT1中断处理程序
调 用:[外部引脚INT1中断处理]
参 数:无
返回值:无
结 果:用户处理外部中断信号
备 注:
//
void INT_1 (void) interrupt 2 using 2{ //切换寄存器组到2
LED = 1; //关灯
}
//
/
函数名:外部中断INT0中断处理程序
调 用:[外部引脚INT0中断处理]
参 数:无
返回值:无
结 果:用户处理外部中断信号
备 注:
//
void INT_0 (void) interrupt 0 using 2{ //切换寄存器组到2
LED = 0; //开灯
}
//
//
void main(void){
INT_init(); //外部中断初始化
while(1){
//其他程序
}
}
//
参考资料:
>
51看1、先初始化,设置外部中断、串口工作模式,开中断;2、写中断服务程序;//--------------------------------------------///初始化//--------------------------------------------/voidinit(void){TMOD|=0x20;//工作模式SCON=0x50;TH1=0xfd;//定时器1初值,设置波特率TL1=0xfd;//波特率为9600TR1=1;//启动定时器1ES=1;//串口中断允许工作于方式1IT0=1;//外部中断0下降沿触发方式IT1=1;//外部中断1下降沿触发方式EX0=1;//开外部中断0EX1=1;//开外部中断1EA=1;//开总中断}////中断服务程序//voidint0(void)interrupt0//外部0中断服务{}//--------------------------------------------//复位中断//--------------------------------------------voidint1(void)interrupt2//外部1中断服务{}//--------------------------------------------/voiduart(void)interrupt4//串口中断{uchar;if(RI)//接收{RI=0;ud=SBUF;//取收到的字节}elseTI=0;//发送完成}
初始化,就像是100赛跑前的准备工作,这个过程你要配置中断,如配置工作方式(我以什么方式跑)等。这样中断一直处于等待的状况(运动员等待哨响),一旦有中断请求信号(哨响),便立即进入中断服务程序(运动员跑起来了)。。。明白吗
以上就是关于C51单片机的中断设置全部的内容,包括:C51单片机的中断设置、合泰单片机的中断优先级如何设置、中断初始化配置方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)