找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5955|回復(fù): 2
收起左側(cè)

PIC16F914輸出可調(diào)占空比PWM波形

[復(fù)制鏈接]
ID:67924 發(fā)表于 2014-10-28 22:26 | 顯示全部樓層 |閱讀模式
#include<pic.h>
typedef unsigned int uint;
typedef unsigned char uchar;
#define KEY0_DOWN()  (RB4==0)//定義按鍵按下
__CONFIG(0X1014);//內(nèi)部時(shí)鐘
uchar KEY0_FLAG=0;
/*************************/
//OSC SET; INTER 4MHZ PERIOD 1US
/*************************/
void OSC_INIT()
{
  OSCCON=0X67;//設(shè)置內(nèi)部時(shí)鐘4MHZ
}
/*************************/
//DELAY FUNCTION();
/*************************/
void delay(uint z)
{
   uint x,y;
   for(x=z;x>0;x--)
     for(y=110;y>0;y--);
}
/*************************/
//GPIO SET;
/*************************/
void GPIO_INIT()
{
  TRISC5=0;//RC5 SET PWM OUT;
  TRISD2=0;//RD2 SET PWM OUT;
  RC5=RD2=0;
  TRISB4=1;
  IOCB4=1;//使能RB4電平變化中斷
  WPUB=0X10;//使能上拉
  RBIE=1;
  RBIF=0;
  PEIE=1;
  GIE=1;
}
/*************************/
//PWM MODEL INIT;
/*************************/
void PWM_INIT()
{
  CCP1CON=0B00001100;//PWM 模式
  CCP2CON=0B00001100;//PWM 模式
  T2CKPS1=1;
  PR2=155;//PWM周期=【PR2+1】*4*TOSC*T2預(yù)分頻值 故PWM頻率=1/周期=400HZ
  TMR2ON=1;
  CCPR1L=0;//占空比=CCPR1L:CCP1CON<5:4>/4(PR2+1);
  CCPR2L=0;//占空比=CCPR2L:CCP2CON<5:4>/4(PR2+1);
}
void main()
{
  GPIO_INIT();
  PWM_INIT();
  while(1);//初始化完畢等中斷響應(yīng)就OK
}  

//中斷響應(yīng)入口
void interrupt ALL_ISR()//輸出10%-100%占空比的PWM波形
{
  if(RBIF)
    {
     delay(5);
     if(KEY0_DOWN())
        {
            KEY0_FLAG++;
            if(KEY0_FLAG==11)KEY0_FLAG=0;
        }
     switch(KEY0_FLAG)
          {
             case 0:CCPR1L=CCPR2L=0;break;
             case 1:CCPR1L=CCPR2L=16;break;
             case 2:CCPR1L=CCPR2L=32;break;
             case 3:CCPR1L=CCPR2L=47;break;
             case 4:CCPR1L=CCPR2L=62;break;
             case 5:CCPR1L=CCPR2L=78;break;
             case 6:CCPR1L=CCPR2L=94;break;
             case 7:CCPR1L=CCPR2L=109;break;
             case 8:CCPR1L=CCPR2L=125;break;
             case 9:CCPR1L=CCPR2L=141;break;
             case 10:CCPR1L=CCPR2L=156;break;
             default:break;
          }
       RBIF=0;
   }

}

評(píng)分

參與人數(shù) 1黑幣 +45 收起 理由
admin + 45 共享資料的積分獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2014-10-28 22:37 | 顯示全部樓層
好資料 有電路圖嗎、?
回復(fù)

使用道具 舉報(bào)

ID:72073 發(fā)表于 2015-1-20 14:41 | 顯示全部樓層
寫得好啊
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表