全站数据
8 4 2 0 5 8 1

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

建筑频道 | 简单学习,快乐成才!         
问题更新日期:2024-11-05 21:08:36

问题描述

跪求stc12c5a60s2单片机PWM程序。50%占空比。P1.3口输出PWM希望能解答下
精选答案
最佳答案

#include

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定时器

}

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

}

}