您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于51单片机的外部中断实例
51单片机一般有两个外部中断输入端,并允许外部中断源以低电平或负边沿两种触发方式输入中断请求信号。本例就是利用一只按钮,在按下时产生的负边沿触发外部中断。1硬件设计将一只按钮接在外部中断输入0(12脚),八支发光二极管分别接在P0.0~P0.7,其电路如下图所示。⒉软件设计通过按下按钮SW触发外部中断,从而改变发光二极管D1~D8的亮、灭,当第一次按下按钮时,只有D1发光二极管亮;第二次按下按钮时,只有D2发光二极管亮;第三次按下按钮时,只有D3发光二极管亮;……第八次按下按钮时,只有D8发光二极管亮;第九次按下按钮时,D1~D8发光二极管全亮;第十次按下按钮时,D1~D8发光二极管全都不亮;第十一次按下按钮时,只有D1发光二极管亮;按钮SW触发外部中断,从而控制D1~D8亮灭的详细C51程序如下。/***************外部中断****************/#includereg51.hunsignedcharcount=0;//外部中断计数unsignedcharF0=0;main(){F0=0;IE=0X81;//打开外部中断0和总中断使能或者(EX0=1;EA=1)IT0=1;//标志位清零,开中断,边沿激活(或者TCON|=0X01)while(1){while(F0==0);switch(count%10){case(0):P0=0XFF;break;case(1):P0=0XFE;break;case(2):P0=0XFD;break;case(3):P0=0XFB;break;case(4):P0=0XF7;break;case(5):P0=0XEF;break;case(6):P0=0XDF;break;case(7):P0=0XBF;break;case(8):P0=0X7F;break;case(9):P0=0X00;break;}F0=0;}}voidint_int0()interrupt0//外部中断{count++;F0=1;}
本文标题:基于51单片机的外部中断实例
链接地址:https://www.777doc.com/doc-2567825 .html