当前位置:中国高校自动化网 >> 电工技术 >> 浏览文章

Freescale PWM脉冲信号输出程序c

文章来源:巨人的百宝箱 作者:程序巨人 访问次数:


本电路讲述了Freescale PWM脉冲信号输出程序c的原理和应用,

/*-----------------------------------------------------*
*工

程 名:PWM.prj                                      *
*硬件接线:PTD.4,即定时器1通道0(21脚)接指示灯或蜂鸣器   *
*程序描述:通过对PWM占空比的调节实现现指示灯的渐亮的功能*
*         当占空比为100%时再从0%逐渐增加             *
*目    的:学习HC08系列定时器脉宽调制功能               *
*---------《嵌入式应用技术基础教程》教学实例----------*/
/*[头文件]*/
#i nclude "GP32C.H"               //包含头文件
/*函数声明*/
void PWMInit(unsigned int );     //PWM初始化
void PWMconf(unsigned int);      //PWM设置
extern void Delay_ms(unsigned char );   //延时
/*主程序*/
void main()
{    
      unsigned int  Period;   //PWM周期
      unsigned int  Duty;     //PWM占空比
      //[变量初始化]
      Period =0x0180;  //PWM周期默认为10ms
      //[PWM初始化]
      PWMInit(Period);
      Duty = 0;        //PWM占空比为0
      //[主循环]
      while(1)
      {
        //[判断脉宽是否达到周期的长度(占空比为100%)]
        if(Duty<Period)           
          Duty=Duty+1;     //PWM占空比加1
        else    //占空比达到100%,设置占空比为0%
          Duty=0;
      T1SC|=(1<<5);        //停止定时器1计数器计数
      //[设置PWM脉宽]
      T1CH0H = (Duty>>8);  //设置高字节
      T1CH0L = Duty;       //设置低字节
      T1SC&=~(1<<5);       //允许定时器1计数器计数    
        Delay_ms(10);      //延时10ms
      }               
   }
/*PWMconf:PWM初始化设置--------------------------------*
* 功  能:PWM脉冲周期、占空比的设置                     *
* 参  数:rate=脉宽时钟数,cyc=脉冲周期时钟数            *
* 返  回:无                                            *
*-----------------------------------------------------*/
void PWM
该电路“Freescale PWM脉冲信号输出程序c”共被浏览了:
上一篇:PWM技术实现方法综述
下一篇:PIC16F84产生两组PWM输出实例.asm
最近更新