资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
IO操作中断中断中断生物医学工程生物医学工程l 中断的基础知识l 430的外部IO中断l 实验一:按键中断控制LED亮灭l 实验二:按键中断控制LED翻转中断中断生物医学工程生物医学工程1 中断的基础知识某天上午你有两个任务,一是在办公室工作,二是到门口收快递。应该怎么做?主程序:工作中断服务程序:收快递工作中工作中收快递工作中工作中举例举例中断中断生物医学工程生物医学工程1 中断的基础知识在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止当前程序的执行,转而处理这个新的情况的过程叫做中断。什么是中断?什么是中断?中断中断生物医学工程生物医学工程1 中断的基础知识中断的必备条件中断的必备条件要有支持中断的环境要有支持中断的环境要有中断源要有中断源要使能中断要使能中断要有中断服务程序要有中断服务程序中断中断生物医学工程生物医学工程1 中断的基础知识Data Sheet 的第 13 页。咱们用的是Port1和TimerA中断。MSP430F135MSP430F135的中断向量的中断向量中断中断生物医学工程生物医学工程2 430的外部IO中断l P1口的8个管脚、P2口的8个管脚,都可以产生外部中断;l P1口的8个管脚共享一个中断向量,P2口的8个管脚共享另一个中断向量。中断中断生物医学工程生物医学工程2 430的外部IO中断寄存器功能P1IESP1IFGP1IE共8位,每一位对应一个IO管脚 P1IE.x=1则开启对应管脚的中断。共8位,每一位对应一个IO管脚 P1IES.x=0则对应管脚的上升沿(0-1)使P1IFG.x置位 P1IES.x=1则对应管脚的下降沿(1-0)使P1IFG.x置位共8位,每一位对应一个IO管脚 P1IFG.x=1则说明有中断请求,如果P1IE.x为1则引起中断 P1IFG必须由软件清除中断中断生物医学工程生物医学工程3 实验一:按键中断控制LED亮灭P1SEL= 0; P1DIR= 0; P1IES= 0; P1IFG= 0; P1IE= 0xC0; _EINT();初始化初始化IOIO口中断口中断中断中断生物医学工程生物医学工程3 实验一:按键中断控制LED亮灭while(1) 主程序主程序#pragma vector=PORT1_VECTOR _interrupt void MN_Port1_ISR(void) if (P1IFG if (P1IFG P1IFG = 0; 中断服务程序中断服务程序中断中断生物医学工程生物医学工程4 实验二:按键中断控制LED翻转while(1) 主程序主程序#pragma vector=PORT1_VECTOR _interrupt void MN_Port1_ISR(void) if (P1IFG P1IFG = 0; 中断服务程序中断服务程序中断中断生物医学工程生物医学工程5 正确理解中断l 中断服务程序并不是被 main 函数直接或间接 调用的;l 中断服务程序是被硬件直接调用,中断发生后, 硬件从中断向量表中找到中断服务程序的首地址 ,然后调用中断服务程序;l 中断服务程序中不应执行太多东西,不应占用太 多时间,它应该尽快执行结束。中断中断生物医学工程生物医学工程作业:按键控制LED闪烁时间主程序中断服务程序初始化ivOnCnt?i=0;熄灭LEDi=0;ivOffCnt?点亮LED根据按键修改vOnCntvOffCnt的值
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号