山东群英会开奖结果

(玩电子) 电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

基于51 单片机之PWM(LED渐变)实验测试

作者:佚名   来源:本站原创   点击数:x  更新时间:2014年08月28日   【字体:

 **************************  Copyright(C) CaKe  ****************************************

========================================================================================
==============**版权信息   : CaKen工作室                            ==============
==============**文件名     : main.c              ==============
==============**作者       : CaKen             ==============
==============**版本号     : V1.0              ==============
==============**时间       : 2014.08.24               ==============
==============**功能描述   : LED渐变实验测试            ==============
========STC12C5A60S2.H头文件下载:http://www.sxyzhdf.com/mcu/2564.html  =========================
========================================================================================
****************************************************************************************
 
 
#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 PWM1_Set (unsigned char a){
 CCAP1L= a; //设置值直接写入CCAP1L
  CCAP1H= a; //设置值直接写入CCAP1H
}
void PWM2_Set (unsigned char a){
 CCAP2L= a; //设置值直接写入CCAP2L
  CCAP2H= a; //设置值直接写入CCAP2H
}
void PWM3_Set (unsigned char a){
 CCAP3L= a; //设置值直接写入CCAP3L
  CCAP3H= a; //设置值直接写入CCAP3H
}
**********************************************************************************************
 
*********************************************************************************************
函数名:主函数
调  用:无
参  数:无
返回值:无
结  果:程序开始处,无限循环
备  注:
/**********************************************************************************************
 
void main (void)
 
{
 
 PWM_Init(); //PWM初始化
 
 PWM0_Set(0x10); //设置PWM占空比
 PWM1_Set(0x60); //设置PWM占空比
 PWM2_Set(0xA0); //设置PWM占空比
 PWM3_Set(0xF0); //设置PWM占空比
 
 while(1)
 {
 
 }
}
=======================================================================================
 
 -------------------      CaKen工作室  原创作品     --------------------
 -------------------            CaKen工作室  版权所有       --------------------
===================================================================

文章评论

北京两步彩 北京两步彩走势 极速快三 pk10怎么玩 山东十一运夺金 山东群英会app 智慧彩票投注预测APP 北京赛车怎么玩 广西快3 海南4+1走势图