《51单片机外部中断详解》由会员分享,可在线阅读,更多相关《51单片机外部中断详解(4页珍藏版)》请在金锄头文库上搜索。
1、真诚为您提供优质参考资料,若有不当之处,请指正。一.外部中断相关寄存器1.定时器/计数器控制寄存器控制寄存器(TCON)IT0:外部中断0触发方式控制位当IT0=0时,为电平触发方式(低电平有效)当IT0=1时,为边沿触发方式(下降沿有效)IT1:外部中断1触发方式控制位当IT1=0时,为电平触发方式(低电平有效)当IT1=1时,为边沿触发方式(下降沿有效)2.中断允许控制寄存器(IE)EX0:外部中断0允许位;EX1:外部中断1允许位;EA :CPU中断允许(总允许)位。二.外部中断的处理过程1、设置中断触发方式,即IT0=1或0,IT1=1或02、开对应的外部中断,即EX0=1或EX1=1
2、;3、开总中断,即EA=1;4、等待外部设备产生中断请求,即通过P3.2,P.3.3口连接外部设备产生中断5、中断响应,执行中断服务函数三.程序编写要求:通过两位按键连接外部中断0和1,设定外部中断0为下降沿触发方式,外部中断1为低电平触发方式,按键产生中断使数字加减,用一位共阳极数码管来显示数值。目的:感受外部中断对程序的影响,体会低电平触发和下降沿触发的区别。#include#define uint unsigned int #define uchar unsigned char uchar code dat=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uint num;void main() EA=1; /开总中断 IT0=1; /下降沿触发 IT1=0; /低电平触发 EX0=1; /外部中断0允许 EX1=1; /外部中断1允许 while(1) P0=datnum%10; void plus() interrupt 0 /外部中断0 EX0=0; num+; EX0=1;void minus() interrupt 2 /外部中断1 EX1=0; num-; EX1=1; /