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、 。象现验实察观ﻩ七、
实验结果
蜂鸣器发出滴滴得响声,并且一秒钟响一次、
上一篇:企业质量体系自查报告
下一篇:图实验报告