spwm调制c语言程序,STC12C5A60S2单片机产生SPWM主程序C代码

本文介绍了一个使用STC12C5A60S2单片机生成SPWM波形的C语言程序,详细阐述了初始化设置和中断处理函数,通过模拟仿真和实测验证,表现良好。
摘要由CSDN通过智能技术生成

本程序通过模拟仿真,实际示波器测试,均表现良好,愿拿出来分享,若有更好的实现方法,希望高手多多指教。。。。/*************spwm产生程序******/

/*单片机STC12C5A60S2,晶振11.0592M,正弦波50Hz,spwm波形21.6KHz*/

#include #define uchar unsigned char

#define uint unsigned int

uchar code pwm[54]={255,240,226,211,196,182,168,154,141,128,115,103,91,80,69,59,50,42,34,27,20,15,10,6,3,1,0,

0,1,3,6,10,15,20,27,34,42,50,59,69,80,91,103,115,128,141,154,168,182,196,211,226,240,255

}; // 反正弦变化

int index=0;

sbit P13=P1^3; //PCA模块0输出

sbit P14=P1^4; //PCA模块1输出

bit zf=0; //前后半周期标志

void init_pca(void)//pca计数器初始化函数

{

CMOD=0x02;//计数器0的溢出为PCA计数器的时钟源,允许pca中断使能

CCON=0x00;

CCAPM0=0x42;//8位PWM输出,无中断

CCAPM1=0x42;//8位PWM输出,无中断

CL=0x00;//清零pca计数器

CH=0x00;

CCA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值