东南大学MSP实验报告第三,四次解析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东南大学自动化学院

实验报告

课程名称: MCU技术及综合课程设计

第 3 次实验

实验名称:实验三:定时器输出PWM波形

院(系):自动化学院专业:自动化

姓名:杨淳元学号:08012131

实验室:实验组别:

同组人员:实验时间:2015年5月7日评定成绩:审阅教师:

目录

一、实验目的和要求 (2)

二、实验原理 (2)

三、实验方案与实验步骤 (6)

四、实验设备与器材配置 (7)

五、实验记录 (7)

七、思考题或讨论题 (8)

八、附上源代码 (9)

一、实验目的和要求

1) 实验目的

(1) 学习MP430单片机的时钟原理和定时器使用方法。

(2) 认识学习PWM波形的作用及原理。

2) 实验要求

编写程序输出1s周期的PWM波形,产生两路PWM波形从引脚P1.2和P1.3分别输出。CCR0中的值定义了PWM信号的周期,CCR1,CCR2中的值定义了PWM信号的占空比。定时使用32.768KHz的ACLK作为输入时钟源,P1.2上的占空比为75%,P1.3上的占空比为25%。

二、实验原理

1)Timer_A定时器模块框图如图3-1所示。

由图3-1可知,Timer_A 模块可以有三种时钟源输入。分别是ACLK,SMCLK,TAxCLK。时钟源的选择通过TASSEL 信号来完成。被选择的时钟源可以直接送给TIMER 模块,或者通过ID 信号进行2,4,8分频。选择的时钟信号还可以通过TAIDEX 信号进一步做2,3,4,5,6,7 或者8 分频。当TACLK 信号被设置的时候,TIMER 的时钟分频逻辑被复位。

图3-1 Timer_A 模块框图

2)Timer A 控制寄存器TA0CTL详细定义如图3-2所示。

图3-2 Timer A 控制寄存器TA0CTL

3)定时器中断的中断向量中包含一个独立中断和若干个共源中断,Timer_A模块的中断分类如图3-3所示。

图3-3 Timer_A模块的中断向量分类图

1)独立中断源的中断处理

TA0CCTL0 = CCIE; //CCR0 中断使能

#pargma vector = TIMER0_A0_VECTOR //中断向量定义,可查询头文件得到

__interrupt void TIMER0_A0_ISR(void)

{

//添加中断处理代码

}

2)共源中断向量寄存器TAxIV

图3-4共源中断向量寄存器TAxIV

共源中断程序switch处理方式:

#pragma vector=TIMER0_A0_VECTOR //共源中断入口

__interrupt void TIMER0_A0_ISR(void)

{

switch(__even_in_range(TA0IV,14)) //共源中断处理

{

case 0: fun_no(); break; // No interrupt

case 2: fun_CCR1(); break; // CCR1 interrupt

case 4: fun_CCR2(); break; // CCR2 interrupt

case 6: fun_CCR3(); break; // CCR3 interrupt

case 8: fun_CCR4(); break; // CCR4 interrupt

case 10: fun_CCR5(); break; // CCR5 interrupt

case 12: fun_CCR6(); break; // CCR6 interrupt

case 14: fun_overflow(); break; // overflow

default: fun_default(); break; // default

}

}

3)PWM原理PWM 技术的三个要素,具体如图3-5所示, PWM频率计算见图3-6。

(1) Frequency 时钟频率

(2) Duty cycle 占空比

(3) Amplitude 信号幅度

图3-5 PWM计数三要素示意图

图3-6 PWM频率计算示意图

4)实验箱I/O硬件电路如图3-7所示。

图3-7 实验箱I/O口P1的硬件电路图三、实验方案与实验步骤

四、实验设备与器材配置

MSP430F6638,数据线,电脑。

五、实验记录

设置p1.2和p1.3为输出,并且把这两个端口接上示波器观察现象。P1.2端口输出的是占空比为75%的PWM波形.

P1.3端口输出的是占空比为25%的PWM波形。

六、实验总结

本次试验我学会了利用定时器timerA输出pwm的波形,主要的工作就是设置寄存器计数

值。通过更改控制寄存器能够使用不同的模块,这对今后的程序设计是很重要的启发

七、思考题或讨论题

(1)430时钟系统产生的ACLK、MCLK和SMCLK各自用于什么场合?系统复位时三种时钟输出的默认值为多少?

ACLK为低速时钟,主要为片内一些低速设备提供低速时钟。MCLK一般为CPU提供运行时钟,但是也可以用于其他高速模块(如定时器和数模转换模块)。SMCLK为高速时钟,主要为片内一些高速外设提供高速时钟。

(2)MSP430F6638有哪些定时器模块?其中Timer_A0有多少捕获/比较器?

三个Timer_A,一个Timer_B。

Timer_A0有5个捕获/比较器。

(3)定时器有哪几种工作模式?各种工作模式的特点和定时周期如何计算?其最大定时周期分别是多少?

1)4种,通过设定MC1,MC2实现。

00:停止模式:定时器停止

01:增计数模式:定时器重复从0计数到TAxCCR0

10:连续计数模式:定时器重复从0计数到0FFFFh

11:增\减计数模式:定时器重复从0计数到TAxCCR0,再减计算到0

2)特点如上。定时周期取决于所选择的时钟,周期为计数最大值除以时钟频率。最大定时周期:

增计数模式:(TAxCCR0+1)/时钟源。

连续奇数:10000h/时钟源

增减计数:(2*TAxCCR0+1)/时钟源

相关文档
最新文档