清华大学计算机硬件技术基础实验报告

清华大学计算机硬件技术基础实验报告

ID:46824468

大小:52.00 KB

页数:23页

时间:2019-11-28

清华大学计算机硬件技术基础实验报告_第1页
清华大学计算机硬件技术基础实验报告_第2页
清华大学计算机硬件技术基础实验报告_第3页
清华大学计算机硬件技术基础实验报告_第4页
清华大学计算机硬件技术基础实验报告_第5页
资源描述:

《清华大学计算机硬件技术基础实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验名称:实验6:中断技术姓名:袁鹏学号:2013011780实验班号:33机器号:42一.实验目的1.了解中断原理,包括对中断源、中断向量、中断类型号、中断程序以及中断响应过程的理解;2.掌握单片机C语言中断程序设计方法二.实验任务1.中断响应过程的理解代码:#include"io430.h"#include"in430.h"voiddelay()//延时函数{unsignedintj;for(j=0;j<0xffff;j++);}voidBlink()//LED闪{P2OUT&=~BIT3;delay();P2OUT

2、=BIT3;delay();}voidB

3、uzz()//蜂鸣响{unsignedinti;for(i=0;i<3;i++){P2OUT&=~BIT4;delay();P2OUT

4、=BIT4;delay();};}voidmain(void){WDTCTL=WDTPW+WDTHOLD;//关闭看门狗//设置引脚P2.4、P2.3输出,P2.3连接LED,P2.4连接蜂鸣器P2SEL&=~(BIT3+BIT4);P2SEL2&=~(BIT3+BIT4);P2OUT

5、=(BIT3+BIT4);P2DIR

6、=(BIT3+BIT4);//设置端口P1.1允许中断P1SEL&=BIT1;P1SEL2&=BIT1;P

7、1OUT

8、=BIT1;;P1REN

9、=BIT1;P1DIR&=~BIT1;P1IES

10、=BIT1;P1IFG&=~BIT1;P1IE

11、=BIT1;_EINT();//总中断允许for(;;)//主循环{Blink();};}#pragmavector=PORT1_VECTOR__interruptvoidport_ISR(){Buzz();P1IFG&=~BIT1;}该程序的功能是让P2.3控制的LED灯不断闪烁,当P1.1控制的开关发出中断申请时,控制P2.4控制的蜂鸣器响三声,然后继续让LED灯闪烁。1)从程序如何判断用的是哪个中断源?其中断类型号是多少?将

12、实验板上某一按键与该中断源对应的引脚相连,运行程序,操作按键,观察现象。程序是通过判断中断标志位来确定是哪个中断源,P1.1的中断类型号是2。运程序时P2.3控制的LED4灯不断闪烁,当P1.1控制的开关发出中断申请时,控制P2.4控制的蜂鸣器响三声,然后继续让LED4灯闪烁。2)main函数中无调用函数Buzz的语句,函数Buzz如何能被执行?何时会被执行?据此描述中断响应过程。函数Buzz是在函数名为port_ISR的中断程序中,因此当P1.1发出中断申请时,函数port_ISR就会被执行,执行完毕后再返回main函数中继续执行main函数。3)如果port

13、_int函数中不清分中断标志P1IFG的后果是什么?如果不清分中断标志P1IFG的话就会一直相应中断,然后port_ISR函数就会一直被执行,蜂鸣器不断的响。4)如果L6_int.c中的PORT1_VECTOR改为PORT2_VECTOR,其他不变,程序执行的后果是什么?为什么?(可在主程序入口处加一断点,运行程序,看现象,分析原因)将PORT1_VECTOR改为PORT2_VECTOR后当按下K2键给P1.1发出中断申请后蜂鸣器不会鸣叫,因为没有正确的设置中断向量,未能将中断程序的入口地址放入FFE0+偏址的中断向量表中,因此程序不能正确的进行中断响应。思考:

14、当在主程序入口处加一断点时可以发现,由于已经设置了中断的端口,因此当有中断信号发出时,程序仍然会去执行中断子程,但由于中断向量没有正确设置,PC指针会跑飞,然后机器会自动复位,重新执行程序。5)如果中断源采用的是P1.5,按键用K7,请设计连线,修改L6_int.c程序完成以中断方式响应K7的操作。只需要将P1.1允许中断改为P1.5允许中断即可,同时将P1.5用跳线块与K7相连,具体代码如下:#include"io430.h"#include"in430.h"voiddelay()//延时函数{unsignedintj;for(j=0;j<0xffff;j++

15、);}voidBlink()//LED闪{P2OUT&=~BIT3;delay();P2OUT

16、=BIT3;delay();}voidBuzz()//蜂鸣响{unsignedinti;for(i=0;i<3;i++){P2OUT&=~BIT4;delay();P2OUT

17、=BIT4;delay();};}voidmain(void){WDTCTL=WDTPW+WDTHOLD;//关闭看门狗//设置引脚P2.4、P2.3输出,P2.3连接LED,P2.4连接蜂鸣器P2SEL&=~(BIT3+BIT4);P2SEL2&=~(BIT3+BIT4);P2OUT

18、=(BI

19、T3+BIT4);P2D

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

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

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