计硬基础实验报告3

计硬基础实验报告3

ID:46253329

大小:1.49 MB

页数:38页

时间:2019-11-22

计硬基础实验报告3_第1页
计硬基础实验报告3_第2页
计硬基础实验报告3_第3页
计硬基础实验报告3_第4页
计硬基础实验报告3_第5页
资源描述:

《计硬基础实验报告3》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验名称:中断技术、基本时钟和低功耗模式(实验5、实验6)姓名:学号:实验目的1.了解屮断原理,包括对屮断源、中断向量、中断类型号、屮断程序以及中断响应过程的理解;2.掌握单片机C语言中断程序设计方法;3.了解MSP430Gxxx基本时钟模块的工作原理,掌握其控制方法;4.掌握利用吋钟信号和中断技术实现定吋功能的方法;5.掌握低功耗模式控制方法。实验基本任务实验5中断技术:1.中断响应过程的理解阅读下面C语言中断程序L5_int.C,说明程序执行的流程和实现功能。上机实践,回答下面问题,掌握用C语言编写中断程序的方法。程序L5_int

2、如下:tfinclude"io430.h"#include"in430.h"voiddelay()//延吋函数{unsignedintj;for(j二0;j<0xffff;j++);}voidBlink()//LED闪{P2OUT&="BIT3;delayO;P2OUT

3、=BIT3;delay();}voidBuzz()//蜂鸣响{unsignedinti;for(i=0;i<3;i++){P2OUT&二'B1T4;delayO;P2OUT

4、=BIT4;delayO;};voidmain(void){WDTCTL二WDTPW+WDTH

5、OLD;//关闭看门狗//设置引脚P2.4、P2.3输出,P2.3连接LED,P2.4连接蜂鸣器P2SEL&=~(BIT3+BIT4);P2SEL2&=~(BIT3+BIT4);P2OUT

6、二(BIT3+BIT4);P2DIR

7、=(BIT3+BIT4);〃设置端口Pl.5允许中断P1SEL&二BIT5;P1SEL2&=BIT5;P1OUT

8、二BIT5;P1REN

9、二BIT5;〜一P1DIR&二BIT5;P1IES

10、=BIT5;P1TFG&="BTT5;P1IE

11、=BIT5;_E1NT();//总中断允许for(;;)//主循环{Bli

12、nkO;};}#pra.gmavector二PORT1VECTOR_interruptvoidport_ISR(){BuzzO;P1IFG&「BIT5;1)从程序如何判断用的是哪个中断源?其中断类型号是多少?将实验板上某一按键与该中断源对应的引脚相连,运行程序,操作按键,观察现象。答:程序是通过判断中断标志位来确定是哪个中断源,P1.5为中断源,中断类型号是2;现象:运行程序时P2.3控制的LED4灯不断闪烁,当P1.5控制的开关发出中断申请时即按下按键后闪烁暂停,控制P2.4连接的蜂鸣器响3声,然后继续LED4灯闪烁。2)main函

13、数中无调用函数Buzz的语句函数Buzz如何能被执行?何时会被执行?据此描述中断响应过程。答:函数Buzz是在函数名为port.ISR的中断程序中,因此当P1.5发出中断申请吋即当按下按键时,函数port_ISR就会被执行,执行完毕后再返冋main函数中继续执行main函数。中断响应的过程:P1.5处发出屮断请求一判断是否满足响应条件一若满足,则CPU在执行完当前指令后,硬件口动完成保护现场的操作"从中断向量表中取中断向量至PC-转去执行屮断服务子程序;3)如果port_int函数中不清分中断标志P1IFG的后果是什么?答:如果不清分

14、中断标志P1IFG的话就会一直响应中断,然后port_ISR函数就会一直被执行,蜂鸣器不断的响。4)如果L5_int.c中的P0RT1.VECT0R改为P0RT2_VECT0R,其他不变,程序执行的后果是什么?为什么?(可在main函数入口处加一断点,运行程序,看现象,分析原因)答:PORT1_VECTOR改为P0RT2VECTOR,其他不变,程序将会无法进入屮断。因为程序屮的中断屈于P1引脚的中断,中断向量与P2引脚的中断向量不同,所进行的改动则是把中断程序写入到了P2引脚的中断向量对应的地址中,而P1引脚的中断向量対应的地址上没有

15、程序,因此无法执行原先的中断子程。当在主程序入口处加一断点时可以发现,由于已经设置了中断的端口,因此当有中断信号发出时,程序仍然会去执行屮断子程,但由于屮断向量没有正确设置,PC指针会跑匕然后机器会口动复位,重新执行程序。5)如果中断源采用的是P2.1,按键用K7,请设计连线,修改L5_int.c程序完成以中断方式响应K7的操作。答:将P2.1引脚连线与K7相连,其他连线不变,连线图如下:修改后的程序如下:^include"i()430.h"#include"in430.h"voiddelay()//延时函数{unsignedintj

16、;for(j二0;j〈Oxffff;j++);voidBlink()//LED闪{P2OUT&=~BIT3;delayO;P2OUT

17、=BIT3;delayO;}voidBuzz()//蜂鸣响{unsignedinti;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。