跪求stc12c5a60s2单片机PWM程序。50%占空比。P1.3口输出PWM。

如题所述

#include<STC12C5A60S2.H> //头文件

/*********************************************************************************************
函数名:PWM初始化函数
调 用:PWM_init();
参 数:无
返回值:无
结 果:将PCA初始化为PWM模式,初始占空比为0
备 注:需要更多路PWM输出直接插入CCAPnH和CCAPnL即可
/**********************************************************************************************/
void PWM_init (void){
CMOD=0x02; //设置PCA定时器
CL=0x00;
CH=0x00;
CCAPM0=0x42; //PWM0设置PCA工作方式为PWM方式(0100 0010)
CCAP0L=0x00; //设置PWM0初始值与CCAP0H相同
CCAP0H=0x00; // PWM0初始时为0

//CCAPM1=0x42; //PWM1设置PCA工作方式为PWM方式(使用时删除//)
//CCAP1L=0x00; //设置PWM1初始值与CCAP0H相同
//CCAP1H=0x00; // PWM1初始时为0

//CCAPM2=0x42; //PWM2设置PCA工作方式为PWM方式
//CCAP2L=0x00; //设置PWM2初始值与CCAP0H相同
//CCAP2H=0x00; // PWM2初始时为0

//CCAPM3=0x42; //PWM3设置PCA工作方式为PWM方式
//CCAP3L=0x00; //设置PWM3初始值与CCAP0H相同
//CCAP3H=0x00; // PWM3初始时为0

CR=1; //启动PCA定时器
}
/**********************************************************************************************/

/*********************************************************************************************
函数名:PWM0占空比设置函数
调 用:PWM0_set();
参 数:0x00~0xFF(亦可用0~255)
返回值:无
结 果:设置PWM模式占空比,为0时全部高电平,为1时全部低电平
备 注:如果需要PWM1的设置函数,只要把CCAP0L和CCAP0H中的0改为1即可
/**********************************************************************************************/
void PWM0_set (unsigned char a){
CCAP0L= a; //设置值直接写入CCAP0L
CCAP0H= a; //设置值直接写入CCAP0H
}
/**********************************************************************************************/

/*********************************************************************************************
函数名:主函数
调 用:无
参 数:无
返回值:无
结 果:程序开始处,无限循环
备 注:
/**********************************************************************************************/
void main (void){
while(1){
PWM_init(); //PWM初始化
PWM0_set(0x7F); //设置PWM占空比,总共255,除以2,转换成十六进制得7F
}
}
/**********************************************************************************************/
温馨提示:内容为网友见解,仅供参考
无其他回答

用STC12c5A60s2自带的pwm在P1.3输出pwm信号,但用数字示波器测试时,出现...
1、方波质量不好,杂波多是正常的,因为里面包含了极为丰富的谐波成分;2、你现在的波形质量不好,我建议你在IO输出时在后面加一级整形电路,最简单的方法是经过两个非门(反相器),如果带施密特功能就更好了。不过反相器速度要注意,可以用 74HC04或者74HC14(带施密特的反相器),整形效果不要太好...

STC12C5A60S2单片机的P1.3 P1.4怎么输出PWM控制电机调速?
这是软件模拟的 PWM 仿真实例,STC系列单片机有带硬件 PWM 控制器,在数据手册是有例程。

谁能帮我总结下stc12c5a60s2的优点
回答:增强型8051CPU,1T(1024G),单时钟\/机器周期 2、工作电压 5.5-3.5V 3、1280字节RAM  4、通用I\/O口,复位后为:准双向口\/弱上拉  可设置成四种模式:准双向口\/弱上拉,强推挽\/强上拉,仅为输入\/高阻,开漏  每个I\/O口驱动能力均可达到20mA,但整个芯片最...

STC12C5A60S2的特点
STC12C5A60S2\/AD\/PWM系列单片机是宏晶科技生产的单时钟\/机器周期(1T)的单片机,是高速\/低功耗\/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A\/D转换(250K\/S),针对电机控制,强干扰场合。1.增强型8051 CPU,1T,单时钟...

STC12C5A60S2较89C51的优势?
STC12C5A60S2\/AD\/PWM 系列单片机是宏晶科技生产的单时钟\/ 机器周期(1T)的单片机,是高速\/ 低功耗\/ 超强抗干扰的新一代8051 单片机,指令代码完全兼容传统8051,但速度快8-12 倍。内部集成MAX810 专用复位电路,2 路PWM,8 路高速10 位A\/D 转换(250K\/S),针对电机控制,强干扰场合。总的来说就是...

用51单片机产生占空比可调的pwm,且可以定时持续输出一定占空比的...
\/\/ STC12C5A60S2系列的模块0对应P1.0\/CEX0\/PCA0\/PWM0 \/\/ 产品网站 http:\/\/www.sxcckj.com 传诚科技 \/\/ include "pwmdrive.h"include "LCD5110.h"char idata Duty0[4];char idata Duty1[4];\/\/sfr CCON = 0xD8; \/\/PCA控制寄存器 \/\/sfr CMOD = 0xD9; \/\/PCA模...

单片机eci什么意思
答:单片机eci就是单片机的一个信息输入口。采用STC12C5A60S2单片机的PWM功能输出一个可调频率\/占空比的方波,想采用外部时钟源作为频率,从ECI(P1.2)脚输入频率,意思就是从P1.2输入多少频率就从P1.3输出多少频率。注意,使用单片机时要小心一点,否则容易出错。

stc12c5a60s2的单片机与at89c51单片机有什么区别论文上面要用
1、生产的公司不同 AT89C51是Atmel公司生产;stc12c5a60s2是宏晶公司生产。2、RAM和ROM不同 AT89C51是128byte RAM,4K ROM;stc12c5a60s2是256Byte,8K ROM。3、定时器数量不同 AT89C51有T0、T1两个16位定时器;STC89C52有T0、T1、T2三个16位定时器。

C语言编写STC12C5A60S2芯片用4个按键控制四个灯的亮灭
sbit LED_ 4= P2^4;sbit LED_ 3= P2^3;void main ( ) {while(1){if (!KEY_0 ) { \/\/ 按键KEY_0被按delayus(20); \/\/消抖动 if (!KEY_0 ) { \/\/确认被按下 LED_7=~LED_7 \/\/灯亮或灭}}}... 其余一样即可。

谁能提供一份PIC16F72电动车控制器源程序
本应用程序用到两个CCP 部件,其中CCP1 用于PWM 输出,以控\/\/制电机电压;CCP2 用于触发AD,定时器TMR2、TMR1,INT 中断,RB 口电平变化中断,\/\/看门狗以及6 个通用I\/O 口#define AND 0xe0 \/\/状态采集5,6,7 位#define CURA 0X0a \/\/电流环比例和积分系数之和#define CURB 0X09 \/\/电流环比例系数#define ...

相似回答