




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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状
4、态3:LED3对应口置1其他LED置0方案:采用软件延时,定义一个状态变量,每过一个周期自加1,如果加到4置为1,这样就对应周期性的三个状态值,也就分别对应三个LED的状态。四、实验设备与器材配置MSP430F6638,数据线,电脑。五、实验记录LED1LED2LED3第1秒亮灭灭第2秒灭亮灭第3秒灭灭亮循环×××六、实验总结实验结果完全符合预期设计要求。七、思考题或讨论题(1)采用软件延时,如何准确确定延时的时间(提示:通过反汇编程序计算,或者更简单地,用示波器来确定)?如何准确控制LED流水灯的延时时间为1s?提示:通过该实验,可自行编写一个软件延时的程序,例
5、如void delay_ms(unsigned int duration); /延迟duration个ms时间 可以在输出端口接上示波器,每隔一个固定周期端口输出电平跳变。(2)考虑一下,如何采用定时器硬件延时(延时时间仍然为1s)的方式来实现流水灯的效果?可以通过设置定时器A计数终值为输入时钟源频率,并且通过相应的终端标志位输出来表示1s的延时。八、附上源代码#include <msp430.h>int main(void) WDTCTL = WDTPW | WDTHOLD;/ Stop watchdog timer int turns = 3;P4DIR |=BIT4+BIT5
6、+BIT6; P4OUT |=BIT4 + BIT5 + BIT6; /置1while(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;tu
7、rns+;if(turns>3) turns = 1;return 0;/void delay_ms(unsigned int duration); /延迟duration个ms时间/东南大学自动化学院实 验 报 告课程名称: MCU技术及综合课程设计 第 2 次实验实验名称: IO实验按键输入中断与查询 院 (系): 自动化学院 专 业: 自动化 姓 名: 杨淳元 学 号: 08012131 实 验 室: 实验组别: 同组人员: 实验时间: 2015年 4月 30日评定成绩: 审阅教师: 目 录一、实验目的和要求9二、实验原理9三、实验方案与实验步骤11四、实验设备与器材配置12五、实
8、验记录12七、思考题或讨论题12八、附上源代码13一、实验目的和要求1.实验目的:在上一个实验中,我们学习了对MSP430F6638IO的操作,来对LED进行控制闪烁,如果我们对LED进行扩展设计,便可以呈现各种各样的灯光美景,构建出一个精彩纷呈的世界。在接下来的这个实验中,我们将为大家介绍手动控制LED闪烁的方法。本实验包含两个小实验,分别通过按键的查询和中断两种方式来控制LED灯的闪烁。 2.实验要求查询:当实验箱上按键KEY1按下时,实验平台上的三个LED同时点亮;松开按键的时候,LED灯熄灭。中断:按下实验箱上的按键KEY1,产生一个P1或P2的中断请求(此处可以借用P1或P2任意一个
9、引脚的中断功能,通过手工置位中断标志位来产生中断),在中断服务函数中,同时点亮三个LED灯。松开按键的时候,LED灯熄灭。二、实验原理(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·输入数据寄存器
10、(PxIN): 该寄存器是一个8位寄存器,寄存器的每一位对应一个IO口引脚。该寄存器的值,反应了外部IO口的电平状态。 (2) 中断开发板上的按键和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具有中断功
11、能,而P3P9不具备中断功能。这里按键使用的是P4口的两个引脚,不具有中断,那么如何用中断来实现呢?方法是借用P1或P2的某个引脚中断(例如P2.6)功能来完成,即当查询到按键有按下时,立刻将P2.6的中断标志位置位,从而引起P2.6中断,进入中断服务程序进行处理。另外需要注意:GPIO的中断不会自动清除中断标志位,因此在推出中断服务程序时需要手动清除中断标志位。·中断方式用到了两个新的寄存器:PxIE和PxIFG。 PxIE-中断使能寄存器 PxIFG-中断标志寄存器 ·中断函数的写法: 在MSP430中,用扩展关键字来_interrupt来表明该函数为中断函数。 _in
12、terrupt void port_2(void);语法:interrupt void 函数名()或者Interrupt【中断向量】void 函数名() 参数:中断函数没有参数。中断函数需要指定中断向量。 返回:中断返回一般是void,没有返回值。 ·中断使用的步骤:1)配置子模块的中断相关的寄存器,比如外部中断的上升沿触发还是下降沿触发,定时中断的计数方式和定时值。2)依模板写中断服务子函数框架,添加中断后要干什么的代码(事件处理函数)。3)使能中断模块的中断,使能总中断。4)一旦中断发生,CPU停下主函数的活,并标记位置。进入中断服务子函数里干活,完事后回到主函数标记位置处继续干
13、活。三、实验方案与实验步骤中断初始化端口进入循环检测4.6端口值中断方式:检测4.6端口值改变,中断标志置为1,进入中断中断函数对LED输出端口置相反位,LED亮暗状态改变查询初始化端口进入循环检测4.6端口值是否改变查询方式:LED输出端口置相反位,LED亮暗状态改变四、实验设备与器材配置MSP430F6638,数据线,电脑。五、实验记录1.查询方式按下按键,三个LED灯亮,再次按下LED灯灭,如此循环往复。2.中断方式现象同上。六、实验总结本次实验对按键控制LED灯的亮暗使用了查询方式和中断方式。查询方式是cpu不断的检测按键对应端口的值,如果发生改变,就对LED灯端口进行相应的操作。中断
14、方式同样也是cpu不间断检测按键端口值,只不过检测到改变后使用带有中断功能的端口的中断函数来进行后续的操作,本质上跟查询操作是一样的。七、思考题或讨论题(1)原来实验中没有考虑到按键消抖问题,试改写程序,通过添加软件延时(约5ms10ms)来实现对机械按键的消抖。使用系统函数delay_cycles(10000)即可。(2)该实验代码的效果是只有按键按下时,LED灯才会点亮。按键松开后,LED熄灭。如何修改程序,使按下按键一次,LED点亮,再次按下按键时,LED熄灭?只要在处理函数中对LED端口状态取反就行。 (3)如何改写程序,使用KEY1和KEY2分别控制LED_RED和LED_GREEN
15、的亮灭。 if(P4IN&BIT2)=0x00)/4.2P4OUT |= BIT4/4.4 else if(P4IN&BIT3)=0x00)/4.3P4OUT |= BIT5/4.5 八、附上源代码1.查询方式#include <msp430.h>/-在main()函数前提前申明子函数-void GPIO_Init();/GPIO初始化函数void main(void) WDTCTL = WDTPW + WDTHOLD;/关闭看门狗定时器GPIO_Init();/初始化GPIOwhile(1)/_delay_cycles(1000000);/与CPU时钟相关的长延时
16、/ _delay_cycles(100);/与CPU时钟相关的长延时/-延时一段时间,避开机械抖动区域-/_delay_cycles(10000);/消抖延时/-判断按键状态是否与延时前一致- if(P4IN&BIT2)=0x00)P4OUT |= BIT4+BIT5+BIT6;/LED等亮暗转换 else P4OUT &= BIT4 + BIT5 + BIT6; P4OUT &= BIT6; void GPIO_Init()/-设定P1.0和P1.6的输出初始值-P4DIR |= BIT4+BIT5+BIT6;/设定P4.4/5/6为输出P4OUT |= BIT4+B
17、IT5+BIT6;/设定P1.0初值/-配合机械按键,启用内部上拉电阻-P4REN |= BIT2; /启用P1.3内部上下拉电阻P4OUT |= BIT2; /将电阻设置为上拉/-配置P1.3中断参数-P4DIR &= BIT2; / P4.2设为输入(可省略)2.中断方式#include <msp430.h>/-在main()函数前提前申明子函数-void GPIO_Init();/GPIO初始化函数void interrupt_key(void);void main(void) WDTCTL = WDTPW + WDTHOLD;/关闭看门狗定时器 /初始化GPIOin
18、terrupt_key();void interrupt_key(void)P4DIR |= BIT4+BIT5+BIT6;/设定P4.4/5/6为输出P4OUT &= BIT4+BIT5+BIT6;/设定P1.0初值P4DIR &= BIT2;P2IE |= BIT6; / enable P2.6 ,P2.7 interruptP2IFG &= (BIT6); / clean interrupt flag_enable_interrupt(); / enable interruptwhile(1)P4OUT &= BIT4+BIT5+BIT6;P4OUT &=BIT6;if(P4IN&BIT2)=0x00)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2.1.2植物细胞工程的应用 课件 (内嵌视频) 人教版高中生物学选择性必修3
- 终南山僧人管理办法
- 2025年合法的劳务劳动合同2篇
- 企业环保安全知识培训课件
- 网络言论安全管理办法
- 社区社会职能管理办法
- 企业安全用电培训简报课件
- 福利数据隐私保护-洞察及研究
- 企业安全教育培训目标课件
- 2025年中国建设银行担保借款合同范本
- (正式版)DB15∕T 2590.1-2022 《毛茛科草种质资源描述和数据采集规范 第1部分:金莲花》
- 人教版(2024)八年级上册数学13.2.2 三角形的中线、角平分线、高 教案
- 电机电路安全知识培训课件
- 13.2.1三角形的边 教案 人教版数学八年级上册
- 2025年征兵考试题目及答案
- 2025年药店继续教育培训试题(附答案)
- 电焊工安全教育培训试题及答案
- 特种设备安全监察员考试试题及答案
- 湖北省武汉市洪山区2024-2025学年七年级下学期期末质量检测英语试卷(含答案无听力)
- 统编版五年级上册《道德与法治》全册教案(表格式)
- 2025特殊药品的管理培训考核试题及答案
评论
0/150
提交评论