当前位置:首页 > 单片机 > 单片机
[导读]#include "stc2052.h"unsigned int pulse_width_MAX = 0xF0; // ;PWM 脉宽最大值, 占空比 = 93.75%unsigned int pulse_width_MIN = 0x10; // ;PWM 脉宽最小值, 占空比 = 6.25%unsigned int step =0x38;unsigned int

#include "stc2052.h"

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

unsigned int pulse_width_MIN = 0x10; // ;PWM 脉宽最小值, 占空比 = 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 输出模式, 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 计数器打开

}

void zhankongbi()

{

pulse_width=pulse_width_MIN;

while(1)

{

st();

if(state==0)

{

pulse_width+=step;

}

if(state==1)

{

pulse_width-=step;

}

CCAP0H=pulse_width; // 模块0站空比的比较值

CCAP1H=pulse_width; // 模块1站空比的比较值

delay1ms(1000);

}

}

void delay1ms(unsigned int TIME)

{

for(i=0;i

for(j=0;j<400;j++)

{;}

}

void st()

{

if(pulse_width==pulse_width_MIN)

state=0;

if(pulse_width==pulse_width_MAX)

state=1;

}

程序功能说明程序在P3.7和P3.5都输出3.9k的PWM信号其脉冲宽度从6.25% 慢慢递增到93.75%然后在从93.75%递减到6.25%程序完全由本人自己写的,非网摘。这也是本人自己写的第一个比较完善的程序,现分享给大家,希望给有心学习的初学者!~

扩展阅读:单片机初学者必看

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

开关电源LLC是一种高效的电源转换技术,被广泛应用于各种电子设备中。它结合了谐振电路和PWM(脉宽调制)控制的优点,实现了高效率和低电磁干扰的性能。本文将详细阐述开关电源LLC的原理,包括其工作原理、控制策略以及应用优势...

关键字: 开关电源 LLC PWM

开关电源是一种高频化电能转换装置,是电源供应器的一种。其功能是将一个位准的电压,透过不同形式的架构转换为用户端所需求的电压或电流。

关键字: 开关电源 PWM

脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。 开关电源利用输入电压的变化,使输出电压的脉冲宽度发生变化的调制方式,称为脉冲宽度调制方式,简称脉宽式,英文简示PW...

关键字: PWM PWM开关电源

那么,哪种 PWM 技术最适合您的电机控制应用?当然有很多选择可供选择,每一种都具有独特的优点和缺点。在关于该主题的最后一篇文章中,我们将讨论直流和交流电机的再生。由于电动和混合动力汽车的普及,这在过去十年中已成为一个更...

关键字: 电机驱动 PWM

那么,哪种 PWM 技术最适合您的电机控制应用?希望到现在为止,您已经了解 PWM 过程的用途有多么广泛,以及该过程中的细微变化如何对电机性能产生巨大影响。在之前有关该主题的文章中,我仅讨论了适用于 H 桥中直流电机的技...

关键字: 电机驱动 PWM

那么,哪种 PWM 技术最适合您的电机控制应用?到目前为止,您可能已经猜到没有“一种”PWM 技术对所有应用都是最佳的。但是我们今天要讨论的技术非常接近。它被称为单极 4 象限 PWM 技术(形式 II)。

关键字: 电机驱动 PWM

那么,哪种 PWM 技术最适合您的电机控制应用?到目前为止,我们已经研究了三种不同的 PWM 技术。有些可以将能量再生回直流电源,有些则不能。但它们都有一个共同特征:单极电压波形。换句话说,对于任何给定的 PWM 周期,...

关键字: 电机驱动 PWM

PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无...

关键字: 电机驱动 PWM

最近一款项目开发,需要用到PWM输入信号采集电路。一般来说,PWM输出比较多,比如驱动LED,电机,风扇等等,输入则相对较少。这种情况下,没有这方面的硬件设计经验,接下来怎么办呢?

关键字: PWM 单片机 工程师

前几天测试电源负载跳变的时候,用到了555定时器,主要用来产生频率并控制占空比,好久没看这部分电路,也忘的差不多了,去网上搜了一下相关知识,就和大家聊聊。这是一款利用NE555进行调光的电路,如下图所示,R1、R2、R3...

关键字: 555定时器 PWM 占空比
关闭
关闭