×
单片机 > 单片机程序设计 > 详情

PIC16F877A和AVR的单片机的PWM输出程序

发布时间:2020-05-16 发布时间:
|
//在PICC编译器主,调试通过,PIC16F877A的PWM信号输出

#include
#define uchar unsigned char
#define uint unsigned int
__CONFIG(0x1832);

void delay()
{
 uint k;
 for(k=0;k<5000;k++); 
}

void main()
{
 uchar k;
 T2CON=0X04;  //开定时器2
 CCPR1L=0X0F; //PWM匹配初值
 CCP1CON=0X3C;    //设置CCP1 模块为PWM 工作方式,且其工作循环
 PR2=0XFF;       //设置PWM 的工作周期
 TRISC=0XFB;      //设置CCP1 引脚为输出方式
 while(1)
 {
  k++;
  CCPR1L=k;
  delay();
  if(k>253)k=1;
 } 
}

 

////////////////////////////////////////////////////////////////////////////////////////////

下面的是AVR单片机ATMEGA16的PWM信号输出程序GCC编译通过

#include
#define uchar unsigned char
#define uint unsigned int

void delay(uint ms)
{
        uint i,j;
 for(i=0;i     {
    for(j=0;j<1000;j++);
       }
}

void main()
{
    uint i;
    DDRD|=0Xf0;
 PORTD=0x0f;
 TCCR1A=0X63;
 TCCR1B=0X13;
 
 OCR1A=124;
 OCR1B=31;
 
 while(1)
 {
  
  i++;
  OCR1B=i;
  delay(20);
  if(i>123)i=1;

  }

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计