51?1、先
初始化,设置外部中断、
串口工作模式,开中断;2、写中断服务程序;//--------------------------------------------*///初始化//--------------------------------------------*/voidinit(void){TMOD|=0x20//工作模式SCON=0x50TH1=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//串口中断{ucharif(RI)//接收{RI=0ud=SBUF//取收到的字节}elseTI=0//发送完成}外部中断初始化失败排查和解决的方式如下。
1、检查中断处理程序的正确性,包括中断向量表、中断服务程序等是否正确配置。
2、检查硬件设备是否正常工作,包括外部中断控制器、中断源等设备是否损坏或配置错误。
3、检查外部中断控制器的配置是否正确,包括中断控制器的寄存器设置等是否正确。
4、尝试重启系统或重新初始化外部中断控制器,看是否能够解决问题。
评论列表(0条)