欢迎来到天天文库
浏览记录
ID:44170926
大小:37.26 KB
页数:4页
时间:2019-10-19
《51单片机外部中断详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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或0 2、开对应的外部中断,即EX0=1或EX1=1; 3、开总中断,即
2、EA=1; 4、等待外部设备产生中断请求,即通过P3.2,P.3.3口连接外部设备产生中断 5、中断响应,执行中断服务函数三.程序编写要求:通过两位按键连接外部中断0和1,设定外部中断0为下降沿触发方式,外部中断1为低电平触发方式,按键产生中断使数字加减,用一位共阳极数码管来显示数值。 目的:感受外部中断对程序的影响,体会低电平触发和下降沿触发的区别。#include#defineuintunsignedint#defineucharunsignedcharucharcodedat[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0
3、x80,0x90};uintnum;voidmain(){EA=1;//开总中断IT0=1;//下降沿触发IT1=0;//低电平触发EX0=1;//外部中断0允许EX1=1;//外部中断1允许while(1){P0=dat[num%10];}}voidplus()interrupt0 //外部中断0{EX0=0;num++;EX0=1;}voidminus()interrupt2 //外部中断1{EX1=0;num--;EX1=1;}
此文档下载收益归作者所有