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、将中断向量表(IVT)中定时器0的中断地址指向对应的中断服务程序。
2、设置相应的中断控制寄存器,使能定时器0和外部中断0两个中断。
3、设置定时器0的定时时间。
4、启动定时器0。
SETB IT0;set INT0 int type (1:Falling 0:Low level)
SETB EX0;enable INT0 interrupt
SETB EA;open global interrupt switch
五个中断有指定的IO口,一般51单片机是P3.2是INT0,zhiP3.3是INT1,P3.4是T0,P3.5是T1,INT0和INT1是外部中断,T0和T1是定时器,daoES是串行口中断允许位,ET1是定时器1中断允许位,EX1是外部中断允许位,ET0和EX0类似。
扩展资料
单片机在自主运行时一般是在执行一个死循环程序,在没有外界干预(输入信号)时它基本处于一个封闭状态。比如一个电子时钟,它会按时、分、秒的规律自主运行并通过输出设备(如液晶显示屏)把时间显示出来。
在不需要对它进行调校时它不需要外部干预,自主封闭地运行。如果这个时钟足够准确而又不掉电的话,它可能一直处于这种封闭运行状态。
参考资料来源:百度百科-外部中断
评论列表(0条)