东南大学msp实验综述

上传人:最**** 文档编号:116724542 上传时间:2019-11-17 格式:DOCX 页数:15 大小:333.49KB
返回 下载 相关 举报
东南大学msp实验综述_第1页
第1页 / 共15页
东南大学msp实验综述_第2页
第2页 / 共15页
东南大学msp实验综述_第3页
第3页 / 共15页
东南大学msp实验综述_第4页
第4页 / 共15页
东南大学msp实验综述_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《东南大学msp实验综述》由会员分享,可在线阅读,更多相关《东南大学msp实验综述(15页珍藏版)》请在金锄头文库上搜索。

1、08012131 杨淳元东南大学自动化学院实 验 报 告课程名称: MCU技术及综合课程设计 第 1 次实验实验名称: 实验一: IO实验LED流水灯 院 (系): 自动化学院 专 业: 自动化 姓 名: 杨淳元 学 号: 08012131 实 验 室: 实验组别: 同组人员: 实验时间: 2015年 4月 30日评定成绩: 审阅教师: 目 录一、实验目的和要求2二、实验原理2三、实验方案与实验步骤4四、实验设备与器材配置4五、实验记录4七、思考题或讨论题5八、附上源代码5一、实验目的和要求1) 了解MSP430F6638 IO口的基本功能。2) 熟悉IO口的基本操作。3) 编写程序,调用头文

2、件msp430f6638.h,使开发板上3个LED依次点亮,采用软件延时方式(约0.51s左右,人眼能够分辨即可)使得每个灯轮流点亮一段时间,实现流水灯的效果。二、实验原理(1) 开发板上的3个LED灯和IO口对应关系如图1-1所示。图 1-1 实验箱LED引脚连接图其中LED_YELLOW-P4.6、LED_GREEN-P4.5、LED_RED - P4.4,具体见图1-2。图1-2 开发板上LED的电路和实物图完成本实验需要用到两个寄存器:PxDIR 、PxOUT,P4端口相关寄存器信息如表1-1所示。表1-1 P4端口相关寄存器地址信息1) 方向寄存器(PxDIR)该寄存器是一个8位寄存

3、器,寄存器的每一位对应一个IO口引脚。 对相应位置0,表示该IO口用作输入。 对相应位置1,表示该IO口用作输出。 2) 输出数据寄存器(PxOUT) 该寄存器是一个8位寄存器,寄存器的每一位对应一个IO口引脚。 对相应位置0,对应IO口输出低电平。 对相应位置1,对应IO口输出高电平。 3) 位基本操作见表1-2所示。表1-2 位基本操作功能操作例子置1按位或P1OUT|=BIT1置0取反后再按位与P1OUT&= BIT1取反按位异或P1OUT= BIT1三、实验方案与实验步骤初始化端口进入循环状态转换状态2:LED2对应口置1其他LED置0状态1:LED1对应口置1其他LED置0状态3:L

4、ED3对应口置1其他LED置0方案:采用软件延时,定义一个状态变量,每过一个周期自加1,如果加到4置为1,这样就对应周期性的三个状态值,也就分别对应三个LED的状态。四、实验设备与器材配置MSP430F6638,数据线,电脑。五、实验记录LED1LED2LED3第1秒亮灭灭第2秒灭亮灭第3秒灭灭亮循环六、实验总结实验结果完全符合预期设计要求。七、思考题或讨论题(1)采用软件延时,如何准确确定延时的时间(提示:通过反汇编程序计算,或者更简单地,用示波器来确定)?如何准确控制LED流水灯的延时时间为1s?提示:通过该实验,可自行编写一个软件延时的程序,例如void delay_ms(unsigne

5、d int duration); /延迟duration个ms时间 可以在输出端口接上示波器,每隔一个固定周期端口输出电平跳变。(2)考虑一下,如何采用定时器硬件延时(延时时间仍然为1s)的方式来实现流水灯的效果?可以通过设置定时器A计数终值为输入时钟源频率,并且通过相应的终端标志位输出来表示1s的延时。八、附上源代码#include int main(void) WDTCTL = WDTPW | WDTHOLD;/ Stop watchdog timer int turns = 3;P4DIR |=BIT4+BIT5+BIT6; P4OUT |=BIT4 + BIT5 + BIT6; /置1

6、while(1)_delay_cycles(1000000);/P4OUT=BIT4 + BIT5 + BIT6;switch (turns)case 1: P4OUT|=BIT4;P4OUT&=BIT5;P4OUT&=BIT6;break;case 2: P4OUT&=BIT4;P4OUT|=BIT5;P4OUT&=BIT6;break;case 3: P4OUT&=BIT4;P4OUT&=BIT5;P4OUT|=BIT6;break;default :break;turns+;if(turns3) turns = 1;return 0;/void delay_ms(unsigned int

7、 duration); /延迟duration个ms时间/东南大学自动化学院实 验 报 告课程名称: MCU技术及综合课程设计 第 2 次实验实验名称: IO实验按键输入中断与查询 院 (系): 自动化学院 专 业: 自动化 姓 名: 杨淳元 学 号: 08012131 实 验 室: 实验组别: 同组人员: 实验时间: 2015年 4月 30日评定成绩: 审阅教师: 目 录一、实验目的和要求9二、实验原理9三、实验方案与实验步骤11四、实验设备与器材配置12五、实验记录12七、思考题或讨论题12八、附上源代码13一、实验目的和要求1.实验目的:在上一个实验中,我们学习了对MSP430F6638

8、IO的操作,来对LED进行控制闪烁,如果我们对LED进行扩展设计,便可以呈现各种各样的灯光美景,构建出一个精彩纷呈的世界。在接下来的这个实验中,我们将为大家介绍手动控制LED闪烁的方法。本实验包含两个小实验,分别通过按键的查询和中断两种方式来控制LED灯的闪烁。 2.实验要求查询:当实验箱上按键KEY1按下时,实验平台上的三个LED同时点亮;松开按键的时候,LED灯熄灭。中断:按下实验箱上的按键KEY1,产生一个P1或P2的中断请求(此处可以借用P1或P2任意一个引脚的中断功能,通过手工置位中断标志位来产生中断),在中断服务函数中,同时点亮三个LED灯。松开按键的时候,LED灯熄灭。二、实验原

9、理(1) 查询图2-1 实验箱上KEY1,KEY2硬件电路图通过图2-1,我们可以知道按键检测的原理:1) 当按键没有按下时:DVCC进过两个电阻连接到MCU的IO口,此时MCU相应的IO口电平为高电平。 2) 当按键按下时:DVCC经过电阻对地导通,此时MCU相应的I/O口电平为低。 3) 所以,通过检测与key1、key2相连的两个IO口电平状况就可以知道按键有无按下。 完成该实验,需要用到3个寄存器:PxIN、PxOUT、PxDIR输入数据寄存器(PxIN): 该寄存器是一个8位寄存器,寄存器的每一位对应一个IO口引脚。该寄存器的值,反应了外部IO口的电平状态。 (2) 中断开发板上的按

10、键和MCU的IO口对应关系如图2-2所示。 P4.2-KEY1 P4.3-KEY2图 2-2开发板上按键和MCU的IO口对应关系图开发板上三个LED灯和MCU的IO口对应关系如图2-3所示。 LED_YELLOW-P4.6、LED_GREEN-P4.5、LED_RED - P4.4 图 2-3开发板上三个LED灯和MCU的IO口对应关系端口中断使用中需要注意的地方在msp430f6638的9个GPIO端口P1P9中,仅仅P1和P2具有中断功能,而P3P9不具备中断功能。这里按键使用的是P4口的两个引脚,不具有中断,那么如何用中断来实现呢?方法是借用P1或P2的某个引脚中断(例如P2.6)功能来

11、完成,即当查询到按键有按下时,立刻将P2.6的中断标志位置位,从而引起P2.6中断,进入中断服务程序进行处理。另外需要注意:GPIO的中断不会自动清除中断标志位,因此在推出中断服务程序时需要手动清除中断标志位。中断方式用到了两个新的寄存器:PxIE和PxIFG。 PxIE-中断使能寄存器 PxIFG-中断标志寄存器 中断函数的写法: 在MSP430中,用扩展关键字来_interrupt来表明该函数为中断函数。 _interrupt void port_2(void);语法:interrupt void 函数名()或者Interrupt【中断向量】void 函数名() 参数:中断函数没有参数。中

12、断函数需要指定中断向量。 返回:中断返回一般是void,没有返回值。 中断使用的步骤:1)配置子模块的中断相关的寄存器,比如外部中断的上升沿触发还是下降沿触发,定时中断的计数方式和定时值。2)依模板写中断服务子函数框架,添加中断后要干什么的代码(事件处理函数)。3)使能中断模块的中断,使能总中断。4)一旦中断发生,CPU停下主函数的活,并标记位置。进入中断服务子函数里干活,完事后回到主函数标记位置处继续干活。三、实验方案与实验步骤中断初始化端口进入循环检测4.6端口值中断方式:检测4.6端口值改变,中断标志置为1,进入中断中断函数对LED输出端口置相反位,LED亮暗状态改变查询初始化端口进入循环检测4.6端口值是否改变查询方式:LED输出端口置相反位,LED亮暗状态改变四、实验设备与器材配

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号