STC12C5A60S2_PWM

#include <reg52.h>
#include <intrin.h>
#define uint unsigned int
#define uchar unsigned char
sfr CCON = 0XD8;
sbit CCFO = CCON^0;
sbit CCF1 = CCON^1;
sbit CR = CCON^6;
sbit CF = CCON^7;
sfr CMOD = 0XD9;
sfr CL = 0XE9;
sfr CH = 0XF9;
sfr CCAPM0 = 0XDA;
sfr CCAP0L = 0XEA;
sfr CCAP0H = 0XFA;
sfr CCAMP1 = 0XDB;
sfr CCAP1L = 0XEB;
sfr CCAP1H = 0XFB;
sfr PCAPWM0 = 0XF2;
sfr PACPWM1 = 0XF3;   //PWM相关的寄存器
 void PWM_Init()      //PWM初始化函数
 {
     CMOD = 0X02;      //设置工作模式寄存器  
     CL = 0X00;          //低8位计数器清零         
     CH = 0X00;        //高8位计数器清零
     /*********模式0*************/
     CCAPM0 = 0X42;    //模式0脚工作在8位PWM 无中断  CCON寄存器可以用来设置中断
     PCAPWM0 = 0X00;      //设置高9位为0
     CCAP0L = 0X00;    //设置初始值为0
     CCAP0H = 0X00;    //设置初始值为0
     /*********模式1**************/
     CCAMP1 = 0X42;
     PACPWM1 = 0X00;
     CCAP1H = 0X00;
     CCAP1L = 0X00;     //同上
     CR = 1;            //开启PCA计数器
}

void PWM_Set(uchar Mod0,uchar Mod1)         //设置占空比
{
    CCAP0L = Mod0;
    CCAP0H = Mod0;
    CCAP1L = Mod1;
    CCAP1H = Mod1;
}
void main()
{
    PWM_Init();
    PWM_Set(0XF0,0XFF);
    while(1);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值