#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 计数器打开
}[page]
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%程序完全由本人自己写的,非网摘。这也是本人自己写的第一个比较完善的程序,现分享给大家,希望给有心学习的初学者!~
上一篇:单片机串行口接收和发送数据的过程简述
下一篇:单片机初学者必看
推荐阅读最新更新时间:2024-03-16 13:21
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 报名抽取京东卡|2021慕尼黑华南电子展观众注册进行中
- Follow me第2期来袭,与得捷电子一起解锁开源硬件 Adafruit ESP32-S3 TFT Feather!
- 【世健的ADI之路主题游】 第三站:了解物联网前沿器件与方案,打卡赢Kindle、《新概念模拟电路》
- 有奖国产芯直播:先楫800MHz RISC-V MCU高能秀,岂止控4只伺服电机,干货多多
- Keysight教你如何提高测试精度,答对问题还有礼品相送,速速参与!
- 用富士通Cortex-M3 Easy Kit开发板,DIY出你的精彩!l
- 有奖直播 是德科技全新光通信测试方案介绍
- 【白皮书免费下载】施耐德电气三宝典:智能配电、关键电源,全生命周期服务
- TTI&TE直播:传感器在工业电机里的发展及最新应用