欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

基于51單片機之兩鍵控制LED(調(diào)光臺燈)實驗例程

作者:佚名   來源:CaKen工作室   點擊數(shù):  更新時間:2014年08月28日   【字體:

 

 
 
**************************  Copyright(C) CaKe  ****************************************
========================================================================================
==============**版權(quán)信息   : CaKen工作室                            ==============
==============**文件名     : main.c              ==============
==============**作者       : CaKen             ==============
==============**版本號     : V1.0              ==============
==============**時間       : 2014.08.23               ==============
==============**功能描述   : 16鍵電子琴實驗測試         ==============
========================================================================================
****************************************************************************************
 
#include"reg52.h"
 
#define  CaKen_LED  P1             //設(shè)置LED連接的I/O組
 
#define  CaKen_PWM 501       //設(shè)置明亮的總級數(shù)(級數(shù)過大會出現(xiàn)閃爍)(值域:0~65535)
#define  CaKen_MAX 500       //設(shè)置最大亮度(值域:小于明亮總級數(shù))
#define  CaKen_MIN 1       //設(shè)置最小亮度(值域:明亮大于等于1,小于最大亮度)
 
sbit     CaKen_KEY_ADD = P3^0;     //亮度加
sbit     CaKen_KEY_DEC = P3^1;        //亮度減
 
 
***************************************************************************************
函數(shù)名:延時程序
調(diào)  用:delay();
參  數(shù):
返回值:
結(jié)  果:
備  注: 0.1ms延時程序(12MHz 10倍于51單片機速度時)
****************************************************************************************/
void delay (unsigned int a)
{
 unsigned char i;
   while( --a != 0)
   {
  for(i = 0; i < 12; i++);
   }         
}
 
 
***************************************************************************************
函數(shù)名:LED顯示程序
調(diào)  用:Display();
參  數(shù):CaKen
****************************************************************************************/
 
void Display(unsigned int CaKen) //顯示程序(50ms的PWM寬度)
{
   CaKen_LED=0x00;                 //LED小燈亮
 delay(CaKen);                 //延時a的長度
 CaKen_LED=0xff;                 //LED小燈滅
 delay(CaKen_PWM-CaKen);         //延時總PWM長度減a
}
 
 
***************************************************************************************
函數(shù)名:main
備  注:
****************************************************************************************/
void main()
{
  unsigned int k=1;     //初始化LED的亮度 
  while(1)
   {  
      Display(k);
      if(CaKen_KEY_ADD==0)      //如果按鍵按下則繼續(xù)
       {
         delay(20);        //消抖 延時20mS
         if(CaKen_KEY_ADD==0)     //如果按鍵按下則繼續(xù)
   {
     k++;
     if(k>CaKen_MAX)
      {
        k=CaKen_MAX;
      }
   }
       }
 
    if(CaKen_KEY_DEC==0)   //如果按鍵按下則繼續(xù)
        {       
         delay(20);     //消抖 延時20mS
         if(CaKen_KEY_DEC==0)  //如果按鍵按下則繼續(xù)
    {
       k--;
      if(k
       {
         k=CaKen_MIN;
     
       }
    }
       }
   }
}
 
=======================================================================================
 -------------------      CaKen工作室  原創(chuàng)作品     --------------------
 -------------------            CaKen工作室  版權(quán)所有       --------------------
========================================================================================
分享: [分享到微米] 
關(guān)閉窗口