关于51单片机外部中断的触发方式 |
您所在的位置:网站首页 › mcs51单片机的复位信号是什么有效 › 关于51单片机外部中断的触发方式 |
51单片机有两个外部中断申请输入端:INT0 和 INT1。51单片机的外部中断,分为低电平触发和下降沿触发。在单片机内部,分别由控制位 IT0 和 IT1 来控制。复位时,IT0/1 都为 0,即默认为低电平触发。 一般来说,外设第一次向单片机申请外部中断时,单片机使用那种触发方式,并无什么差别。但是,返回主程序后,如果外部申请信号仍然是低电平,就有区别了。 在采用低电平触发时,单片机执行了一条主程序的指令后,就会又重新进入中断程序。 而采用下降沿触发时,即使 INT0/1 引脚仍然是低电平,单片机也不会重新进入中断程序。如果外设想要申请第二次中断,必须是先恢复高电平,重新再送来一次下降沿才行。 那么,为了避免仅仅来了一次申请,就产生多次中断的现象,还是应该采用下降沿触发中断的方式。 如果非要使用低电平触发呢,那必须在退出前,反复的检测中断输入端的电平。只有当外设撤消了中断申请之后,再退出中断程序,这才能避免多次的重新中断。 到底应该采用那种触发方式,这个确实是应该根据外设的特点来选取。但是在多数场合,采用下降沿触发方式,还是比较适用的。即在复位后,应该先执行: SETB IT0 SETB IT1 有人在百度知道,提出了一个问题,希望能显示出低电平触发和下降沿触发的区别。 题目的基本内容如下。 ;单片机汇编程序题:要求一定是汇编 ;AT89C51中P3.2接开关1,P3.3接开关2。;当开关1, 2全都断开时运行主程序,P1口的8个LED从P1.0~P1.7逐个点亮并反复循环。;当开关1闭合时进入中断服务程序P2口的8个LED闪烁6次。;开关2起到对开关1触发方式进行选择的作用:;第一次闭合开关2时开关1为下降沿触发且P0.0连接的LED点亮;;第二次闭合开关2时开关1为低电平触发且P0.0连接的LED熄灭。;求一个用汇编语言编写的完整程序。 根据上述题目要求,做而论道画出了PROTEUS仿真实验电路如下:
;下列程序,可以满足要求。 ORG 0000H LJMP MAIN ORG 0003H LJMP X0_INT ORG 0013H LJMP X1_INT;------------------------------------MAIN: SETB IT1 MOV SP, #60H MOV IE, #85H MOV A, #254M_LOOP: MOV P1, A RL A CALL DL_500MS SJMP M_LOOP;------------------------------------X0_INT: PUSH PSW SETB RS1 MOV R4, #12SH_6: XRL P2, #255 CALL DL_500MS DJNZ R4, SH_6 POP PSW RETI;------------------------------------X1_INT: CPL IT0 CPL P0.0 RETI;-------------------------------延时子程序DL_500MS: MOV R5, #9 ;1TDL1: MOV R6, #128 ;1TDL2: MOV R7, #215 ;1T NOP ;1TDL3: DJNZ R7, DL3 ;2T 2 * 215 = 430 T DJNZ R6, DL2 ;2T [1+1+430+2] * 128 = 55552 T DJNZ R5, DL1 ;2T [1+55552+2] * 9 = 499995 T RET ;2T 1 + 499995 + 2 = 499998 T;------------------------------------END ;===============================================原题网址:http://zhidao.baidu.com/question/270426318.html提问者对于答案的评价:谢了,采用你的答案;=============================================== |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |