格斯文档网

您现在的位置是:格斯文档网 > 述职报告 >

PWM实验报告

 PWM实验

 一、

 实验目得

 熟悉脉宽调制得概念,掌握XS128 单片机得 PWM 模块功能 二、

 实验器材

 1. MC9S12X128实验板 2. USBDM下载器 3. 计算机一台 三、

 实验 电路

 蜂鸣器电路图 四、

 实验原理

 PWM 在工业领域应用很广,就是实现D/A转换与精确脉冲序列输出得有效手段。许多单片机设置了PWM 输出功能。XS128 单片机得PWM 模块具有以下特点: 1. XS128 单片机具有 8 个可编程得PWM 通道,与单片机得PP0-—PP7复用。每个通道得周期与占空比可以独立控制,8 个通道都就是 8 位精度得。通过设置寄存器 PWMCTL 可以将相邻得两个通道连接成一个 16位精度得 PWM 通道,因此一个XS128单片机可以提供 4 个16 位精度得 PWM 通道; 2. 每个PWM 通道都有独立得计数器; 3. 每个通道都可以设置为使能或禁用状态; 4. 每个通道占空比得极性就是可以通过软件选择得,通过设置寄存器PWMPOL 实现,相应得位置 1 为高电平有效,请 0 为低电平有效; 5. 周期与占空比循环就是双缓冲得,在每个周期结束时,更新得设置就可以生效; 6. 每个通道可以独立得设置为左对齐与中央对齐模式,通过设置寄存器PWMCAE进行设置; 7. PWM模块有 4 个时钟(A、B、SA 与 SB)能够提供宽范围得频率; 8. 可编程得时钟选择逻辑; 9. 紧急停止功能。

 五、

 程序 代码

 #include 〈hidef.h〉

 /* mon defines and macros */ #include "derivative.h"

 /* derivative-specific definitions */ #define LEDCPU PORTB_PB0 #define LEDCPU_dir DDRB_DDRB0 #define BUS_CLOCK//

 00000023

 率频线总ﻩﻩ#define OSC_CLOCK

  16000000//

 率频振晶ﻩvoid INIT_PLL(void)

 //初始化锁相环 {

  CLKSEL &= 0x7f;

  //set OSCCLK as sysclk

  PLLCTL &= 0x8F;

  //Disable PLL circuit

  CRGINT &= 0xDF;

  #if(BUS_CLOCK == 40000000)

 SYNR = 0x44;

  #elif(BUS_CLOCK == 32000000)

  SYNR = 0x43;

 #elif(BUS_CLOCK == 24000000)

  SYNR = 0x42;

  #endif

 REFDV = 0x81;

  //PLLCLK=2×OSCCLK×(SYNDIV+1)/(REFDIV+1)=64MHz ,fbus=32M

 PLLCTL =PLLCTL|0x70;

 //Enable PLL circuit

  asm NOP;

  asm NOP;

 ﻩ // 。期周器机个两用占,令指空个两入嵌ﻩ

 while(!(CRGFLG&0x08)); //PLLCLK is Locked already

  CLKSEL |= 0x80;

 //set PLLCLK as sysclk } void init_pwm(void) // MWP 置配ﻩﻩ {

  PWMCTL_CON01= 1;

  //联结通道 0,1 为 16 位得 PWM

  PWMPOL_PPOL1= 1;

  //通道 01 得极性为高电平有效

  PWMPRCLK = 0x55;

  //A 时钟与 B 时钟得分频系数为 32,频率为 1MHz

  PWMSCLA

 =

 100;

  //SA时钟频率为5KHz

  PWMSCLB

 =

 100;

  //SB时钟频率为 5KHz

  PWMCLK =0x02;

 //通道01 用 SA 时钟作为时钟源

  PWMCAE

  = 0x00;

  //脉冲模式为左对齐模式

  PWMPER01

 = 5000;

 //通道 01得周期为 1Hz

 PWMDTY01

 = 1000;

 //通道 01 得占空比为 20%

  PWME_PWME1 = 1;

 //使能通道 01

 } void main(void) ﻩ

 //主函数 {

 DisableInterrupts;

 INIT_PLL();

  init_pwm();

  LEDCPU_dir=1;

  LEDCPU=0;

 ;stpurretnIelbanEﻩ

 for(;;) //

 环循主ﻩﻩ

 {

  }

 } 六、

 实验步骤

 1。

 将BDM下载器链接到开发板上。

 2。

 打开代码程序“PWM_edge"。

 3。

 。口窗试调入进,中机片单到载下码代源将,钮按 gubeD 击点ﻩ4、 点击窗口得 Start按钮,程序开始执行。

 5、 。象现验实察观ﻩ七、

 实验结果

 蜂鸣器发出滴滴得响声,并且一秒钟响一次、

推荐访问:实验 报告 PWM

上一条: 安全管理自查报告2020 下一条: 图实验报告

版权所有:格斯文档网 2010-2024 未经授权禁止复制或建立镜像[格斯文档网]所有资源完全免费共享

Powered by 格斯文档网 © All Rights Reserved.。浙ICP备19042928号