[资料分享与下载] 飞思卡尔单片机DZ60---中央对齐PWM

[复制链接]
niuyaliang 发表于 2015-2-27 19:30 | 显示全部楼层 |阅读模式
  1. [cpp] view plaincopy
  2. #include <hidef.h> /* for EnableInterrupts macro */  
  3. #include "derivative.h" /* include peripheral declarations */  
  4.   
  5. //中央对齐 PWM实验,TPM1通道0和1对应的管脚为PTD3,PTD4分别接LED3,LED4  
  6. //实验现象LED3,LED4闪烁的周期都为0.5秒,闪烁的时长不同。  
  7.   
  8. /*************************************************************/  
  9. /*                  初始化总线时钟PEE模式                    */  
  10. /*              外部晶振频率为4MHz,总线频率16MHz            */  
  11. /*************************************************************/  
  12. void INIT_MCG(void)   
  13. {  
  14.   MCGC2=0x36;         
  15.   while(!MCGSC_OSCINIT);      
  16.   MCGC1=0xb8;  
  17.   while(MCGSC_IREFST);  
  18.   while(MCGSC_CLKST!=0b10);  
  19.   MCGC2_LP = 1;  
  20.   MCGC1 = 0x90;  
  21.   MCGC3 = 0x48;      
  22.   MCGC2_LP = 0;  
  23.   while(!MCGSC_PLLST);  
  24.   while(!MCGSC_LOCK);  
  25.   MCGC1 = 0x10;  
  26.   while(MCGSC_CLKST!=0b11);  
  27. }   
  28.   
  29.   
  30. void INIT_TPM1CH0_TPM1CH1(void)   
  31. {  
  32.    //初始化  
  33.    //第一步:写TPM1状态与控制寄存器。  
  34.    TPM1SC = 0X2F;//禁止中断,CPWMS=1选择中间对齐的PWM模式,选择系统时钟, 128分频,脉冲周期为0.8us  
  35.    TPM1CNT = 0;  
  36.      
  37.    //第二步:设置TPM1计数器TPM1CNT,周期设置为0.5s,周期 = 2 * TPM1MOD,则 TPM1MOD = 62500/2 = 31250.  
  38.    TPM1MOD = 31250-1; //设置脉冲周期为0.5s  
  39.      
  40.    //第三步:设置定时器通道对应的状态与控制寄存器TPMCnSC(n为0.1.。。。)  
  41.    TPM1C0SC = 0X08;//高电平为有效电平  
  42.    TPM1C1SC = 0X04;//低电平为有效电平     
  43.      
  44.    //第四步  设置通道辅助寄存器.占空比 由  通道富足寄存器决定。  
  45.    TPM1C0V =  6250;//通道0占空比20%,31250*0.2.  
  46.    TPM1C1V =  25000;//通道1占空比80%,31250*0.2.      
  47.      
  48. }  
  49.   
  50.   
  51.   
  52. void main(void) {  
  53.   
  54.   DisableInterrupts;  
  55.   SOPT1 = 0;  
  56.   INIT_MCG();  
  57.   EnableInterrupts;   
  58.   
  59.   
  60.   INIT_TPM1CH0_TPM1CH1();  
  61.   while(1);  
  62.   
  63. }  


您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

2427

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部