STCCAS单片机PWM程序

  • 格式:doc
  • 大小:144.00 KB
  • 文档页数:2

S T C12C5A60S2P W M程序由于STC12C5A60S2单片机内部自带两路PWM,所以可以利用自带的PWM进行负载电压调节。

电路图如上,该程序的功能是利用按键S1对LED的亮度进行调节。

程序如下:
#include"STC12C5A.h"//注意这个头文件,用reg52是不行的,如果你没有的话,可以去百// //度文档里搜索“STC12C5A系列单片机头文件”,有我共享的头文件。

void delay(unsigned int cnt)
{
unsigned char i;
for(;cnt>0;cnt--)
for(i=0;i<250;i++);
}
void main()
{
CCON=0; //禁止寄存器CCON中CF位的中断)
CL=0; //PCA的16位计数器低八位
CH=0; //PCA的16位计数器高八位
CMOD=0x00; //选择系统时钟/12 为计数脉冲,则PWM的频率f=sysclk/256/12;
CCAP0H=0x80; // 占空比控制
CCAP0L=0x80;
PCA_PWM0=0x00; //控制占空比的第九位为0
CCAPM0=0x42; //允许P13作为PWM输出
CR=1; //启动PCA计数器
while(1)
{
if(P10==0)
{
delay(200);
while(P10==0);
CCAP0H+=10; //占空比调节
CCAP0L+=10;
}
}
}。