好文档 - 专业文书写作范文服务资料分享网站

msp430f149中文[最新]

天下 分享 时间: 加入收藏 我要投稿 点赞

我们做了一个 PWM 波的实验 ,

原理及流图和时序及程序 为 : 原理为 :

利用输出模式的翻转特性和连续模式的 PWM

波形输出,通过 CCR0 加数据存储器 RAM 的中相互交叉“ 0 ”电平和“ 1

”的时间间隔,成对的两个寄存器定义了占空比 ,

而各对的和

(小周期)是定值。当计数器的计数值到达 CCR0

翻转,且产生中断,转入中断程序,在中断 程序中,我们给 CCR0

加上下次翻转的时间,即下次翻转时的计数长度从数据存储器中取出加 到上次翻转时刻的计数值中,当返回中断后,计数器继续计数,到下次翻转和中断时,又循环

继续进行。这样,就输出了占空比不断变化而又呈一种趋势的变化,经过低通滤波,即电容的

充放电形成一种阶梯状的变化趋势,当计数小周期很小时,就可以得到近似的一条模拟曲线,

从而实现了数模转换或函数发生器,由于小周期是任意的但必须大于 2

倍中断程序时间,则可

以实现任意占空比的小周期和任意的小周期长度,又由于有多少个小周期组成一个大周期也是

自由的,完全由实际需要来定,则给用户带来了很大的灵活性。下面是程序流图,由于这个

序实验要用到对数据段表的读操作和间接寻址且用到中断向量,因此在此列出了程序的全部清

单,以更完整:流程图为: 计数到定时值

定义对应的端口功能为外围模块 初始化和写翻转表数据 翻转并 中断 西安邮电学院 63# 710061 陈小忠 11

中断程序中,停计数,加下一个翻转时刻值,小周期数减一,如果小周 期数已到一个大周期,又返回到第一个小周期循环 PWM测试

========================================第12页========================================

MSP430

单片机的开发及应用

又从原计数值重新开始计数,中断返回,循环执行 程序清单为:

#include \RSEG UDATA0

DW 450,50,350,150,250,250,150,350,50,450/* 间隔数据表,开始地址为 200 H

,数据又需要定 */

RSEG CSTACK DS 0 RSEG CODE DS 0

Rese MOV #SFE(CSTACK),SP /* 初始化堆栈指针 */

MOV #(WDTHOLD+WDTPW),&WDTCTL /* 停看门狗定时器 */

MOV.B #0FFh,&P1SEL /* 选择外部定时器功能 */

MOV.B #0FFH,&P1DIR /* 确定方向为输出 */

MOV #030H,&CCR0 /* 给 CCR0

一个初始值,不小于两个指令周 期的计数值 */

BIS #GIE,SR /* 开一般中断允许位 */

MOV #0200H,R6 /* 将 R6

定义到数据表段开始地址 */

MOV #10,R4 /* 取 10

个地址单元,即九个小周期 */

MOV #0090H,&CCTL0 /* 选 CCR0

作为比较寄存器,定义输出模式为 4 ,且中断允许

*/

MOV #002E0H,&TACTL /* 写控制寄存器,参数为一分频,比较模式,连续计数方式,不溢出中

断,开始计数 */ TA0 EINT /* 开中断 */ JMP TA0 /*

等待翻转时刻到和等待中断到,即 TAR=CCR0*/

CMPS BIC #0FFCFH,&TACTL /* 中断程序到,停计数值,处理中断 */ ADD 0(R6),&CCR0 /* 加下一

msp430f149中文[最新]

我们做了一个PWM波的实验,原理及流图和时序及程序为:原理为:利用输出模式的翻转特性和连续模式的PWM波形输出,通过CCR0加数据存储器RAM的中相互交叉“0”电平和“1”的时间间隔,成对的两个寄存器定义了占空比,而各对的和(小周期
推荐度:
点击下载文档文档为doc格式
0id005hcm96u75f0b3w102ra61x6wi01dgr
领取福利

微信扫码领取福利

微信扫码分享