新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 详细注解的PWM c程序初学者适用

详细注解的PWM c程序初学者适用

作者:时间:2013-04-07来源:网络收藏

#include "stc2052.h"

unsigned int pulse_width_MAX = 0xF0; // ; 脉宽最大值, 占空比 = 93.75%

unsigned int pulse_width_MIN = 0x10; // ; 脉宽最小值, 占空比 = 6.25%

unsigned int step =0x38;

unsigned int pulse_width;

unsigned int i,j;

unsigned char state;

void PCAinit(); //PCA模块初始化

void delay1ms(unsigned int TIME); //1ms延时程序(大概是1ms)

void zhankongbi(); //调节占空比

void st(); //用来表示pulse_width的状态函数

void main(void)

{

EA=0;

PCAinit(); //初始化PCA定时器

zhankongbi();

}

void PCAinit()

{

CMOD=0x80; //PCA 在空闲模式下停止 PCA 计数器工作

//PCA 时钟模式为fosc/12

//禁止 PCA 计数器溢出中断

CCON=0x00; //禁止 PCA 计数器工作, 清除中断标志、计数器溢出标志

CL=0X00; //清0计数器

CH=0X00;

//下面设置模块0为 8 位 输出模式, PWM 无需中断支持。脉冲在P3.7(第11脚)输出

CCAPM0=0x42; //PCA(计数器阵列)模块0的工作模式 :8位PWM工作模式

PCA_PWM0=0x00; //赋值为0,pwm才能有高电平输出

//下面设置模块1为 8 位 PWM 输出模式, PWM 无需中断支持。脉冲在P3.5(第9脚)输出

CCAPM1=0x42; //PCA(计数器阵列)模块1的工作模式 :8位PWM工作模式

PCA_PWM1=0x00; //赋值为0,pwm才能有高电平输出

EPCA=1; // 开 PCA 中断

EA =1; // 开总中断

CR=1; //将PCA 计数器打开

}

pwm相关文章:pwm原理



上一页 1 2 下一页

关键词: PWM c程序 初学者

评论


相关推荐

技术专区

关闭