您的位置 首页 传感器

STC12C5410AD学习板—PWM操练

/************STC12C5410AD学习板******************//*功能描述:STC5410AD内部PWM应用*//*作者:郑文*//*编写时间:2008.8.13…

/************ STC12C5410AD学习板 ******************/
/*功用描绘:STC5410AD内部PWM运用 */
/*作者:郑 文 */
/*编写时刻:2008.8.13 */
/*功用:PWM输出,做D/A运用,做RGB三色LED操控用 */
/*接外部晶振22.1184 MHZ */

#include
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

sbit PWM0 = P3^7;//pwm口界说green
sbit PWM1 = P3^5;//pwm口界说blue
sbit PWM2 = P2^0;//pwm口界说
sbit PWM3 = P2^4;//pwm口界说red

void Delay1ms(unsigned int count);
void init_rs232(void); //串口初始化
void STC_PWM(void); //PWM初始化

/***************************1秒延时子程序start***************************/
void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;ifor(j=0;j<120;j++);
}

/***************************1秒延时子程序end***************************/

/* 串口通讯初始化设置 */
void init_rs232(void)
{
AUXR=74; //设置波特率是一般51的12倍 ,答应AD中止
SCON=0x50;
PCON=0x00;
TH1=0xFA; //波特率 115200 22.1184MHZ 时分(F4 4800 FA 9600 FDH 9600)*12
TL1=0XFA;
TMOD=0X20;
TR1=1;
}
/**********************************************************************/
/********STC12C5410AD的PWM运用***********************/
/*PWM波频率=Fosc/2/256 */
void STC_PWM(void)
{
CMOD=0x02; //set PCA timer
CL=0x00;
CH=0x00;

////PWM0装备
CCAP0L=0x10; //设置占空比
CCAP0H=0x10;
CCAPM0=0x42; //设置运用PWM形式
////PWM1装备
CCAP1L=0x20; //设置占空比
CCAP1H=0x20;
CCAPM1=0x42; //设置运用PWM形式
////PWM2装备
CCAP2L=0x30; //设置占空比
CCAP2H=0x30;
CCAPM2=0x42; //设置运用PWM形式
////PWM3装备
CCAP3L=0x50; //设置占空比
CCAP3H=0x50;
CCAPM3=0x42; //设置运用PWM形式

CR=1; //开端PCA 定时器

}
/********************************************/

/*****************主程序************************/
main()
{ //main start

uchar i;
Delay1ms(5000);
STC_PWM(); //PWM波初始化设置
while(1)
{
//PWM当D/A输出,PWM口通过RC电路后 能够从示波器看到输出波形为:锯齿波
for (i=0;i<255;i++)
{
CCAP2L=CCAP2L+1;
CCAP2H=CCAP2H+1;
}
Delay1ms(100);

while(1)
{
//RGB_RGB_RGB__RGB__RGB__RGB__RGB__RGB__RGB__RGB_//////
/********************************/
for (i=0;i<255;i++)
{

CCAP1L=0xff; //设置占空比为0
CCAP1H=0xff;
CCAP3L=0xff;
CCAP3H=0xff;

CCAP0L=CCAP0L+1;
CCAP0H=CCAP0H+1; //PWM波操控三色LED宣布五颜六色的光
Delay1ms(100);
}
/*****************************/
for (i=0;i<255;i++)
{
CCAP0L=0xff; //设置占空比为0
CCAP0H=0xff;
CCAP3L=0xff;
CCAP3H=0xff;

CCAP1L=CCAP1L+1;
CCAP1H=CCAP1H+1;

Delay1ms(100);
}
/******************************/
for (i=0;i<255;i++)
{
CCAP0L=0xff; //设置占空比为0
CCAP0H=0xff;
CCAP1L=0xff;
CCAP1H=0xff;

CCAP3L=CCAP3L+1;
CCAP3H=CCAP3H+1;
Delay1ms(100);
}
//RGB_RGB_RGB__RGB__RGB__RGB__RGB__RGB__RGB__RGB_//////
}
//////////////////////////////////////////////////////

}

} //mian end

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/267208.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部