找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4785|回复: 2
收起左侧

PIC16F914输出可调占空比PWM波形

[复制链接]
ID:67924 发表于 2014-10-28 22:26 | 显示全部楼层 |阅读模式
#include<pic.h>
typedef unsigned int uint;
typedef unsigned char uchar;
#define KEY0_DOWN()  (RB4==0)//定义按键按下
__CONFIG(0X1014);//内部时钟
uchar KEY0_FLAG=0;
/*************************/
//OSC SET; INTER 4MHZ PERIOD 1US
/*************************/
void OSC_INIT()
{
  OSCCON=0X67;//设置内部时钟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预分频值 故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);//初始化完毕等中断响应就OK
}  

//中断响应入口
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;
   }

}

评分

参与人数 1黑币 +45 收起 理由
admin + 45 共享资料的积分奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2014-10-28 22:37 | 显示全部楼层
好资料 有电路图吗、?
回复

使用道具 举报

ID:72073 发表于 2015-1-20 14:41 | 显示全部楼层
写得好啊
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表