日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

LED PWM調(diào)光C程序

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2010/12/3

#include<reg52.h>     //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
sbit LED1 = P3^0;
sbit LED = P3^1;      //定義LED燈,通過LED顯示調(diào)光效果
sbit LED2 = P3^2;
unsigned char CYCLE;  //定義周期 該數(shù)字X基準(zhǔn)定時時間 如果是10 則周期是10 x 0.1ms
unsigned char PWM_ON ;//定義高電平時間
/******************************************************************/
/*                    延時函數(shù)                                    */
/******************************************************************/
void delay(unsigned int cnt)
{
while(--cnt);
}
/******************************************************************/
/*                    主函數(shù)                                      */
/******************************************************************/
main()
{
bit Flag;
TMOD |=0x01;              //定時器設(shè)置 0.1ms in 12M crystal
TH0=(65536-100)/256;
TL0=(65536-100)%256;      //定時0.1mS
IE= 0x82;                 //打開中斷
TR0=1;
CYCLE = 50;               // 時間可以調(diào)整 這個是10調(diào)整 8位PWM就是256步
while(!Flag)
  {
   delay(20000);          //延時時間,從一個亮度到下一個亮度的間隔時間,速度快就能看到連續(xù)效果
   PWM_ON++;              //這個使用較長延時,以便能看清楚變化過程
   if(PWM_ON == CYCLE)
     {                    //這個里可以添加其他程序 如到最亮?xí)r候控制設(shè)備
      Flag=1;
          }
  }
while(Flag)              //亮度遞減 同上,是個相反的過程
  {
   delay(20000);
   PWM_ON--;
   if(PWM_ON == 0)
     {
      Flag=0;
          }
  }
}
/******************************************************************/
/*                    定時器中斷函數(shù)                              */
/******************************************************************/
void tim(void) interrupt 1 using 1
{
static unsigned char count;
TH0=(65536-100)/256;
TL0=(65536-100)%256;     //定時0.1mS
if (count==PWM_ON)
    {
     LED1 = 1;
     LED = 1;            //燈滅
     LED2 = 1;
    }
  count++;
if(count == CYCLE)
    {
    count=0;
        if(PWM_ON!=0)        //如果左右時間是0 保持原來狀態(tài)
           LED1 = 0;
           LED = 0;          //燈亮
           LED2 = 0;
    }
}

 

Tags:51單片機(jī),調(diào)光C程序,PWM  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章:
  • 相關(guān)文章列表
    三菱PLC脈寬調(diào)制(PWM)指令代碼秒傳給大家!三菱PWM指令
    西門子plc怎么產(chǎn)生PWM信號,脈沖輸出向?qū)WM輸出向?qū)?/a>
    西門子S7-200脈沖輸出指令做電機(jī)正反轉(zhuǎn)控制,PLS指令,子程序和中
    西門子S7-200系列PLC脈沖輸出功能,PTO和PWM指令用法
    STEP7 中S7-200SMART  PLC的PWM輸出向?qū)?/a>
    51單片機(jī)零基礎(chǔ)入門
    基于555的PWM信號驅(qū)動放大電路
    三菱PLC的脈沖輸出指令PLSY和脈寬調(diào)制指令PWM詳解,可調(diào)速脈沖輸出
    基于51單片機(jī)的數(shù)字電壓表設(shè)計_Proteus仿真+程序
    基于51單片機(jī)的數(shù)字電壓表(ADC0832)(Proteus仿真+程序)_基于
    超聲波測距+溫度+報警的單片機(jī)代碼_51單片機(jī)超聲波測距C語言程序
    基于51單片機(jī)的SHT11溫濕度測量儀設(shè)計(源碼+仿真+文檔)
    基于51單片機(jī)的恒溫控制器系統(tǒng) protues+keil c
    51單片機(jī)數(shù)碼管顯示程序, 共陰數(shù)碼管顯示程序 數(shù)碼管原理(顯示
    51單片機(jī)學(xué)習(xí)筆記直流電機(jī)驅(qū)動(PWM)C語言程序
    MCU-51單片機(jī)直流電機(jī)驅(qū)動(PWM)51單片機(jī)驅(qū)動直流電機(jī)
    先學(xué)51還是先學(xué)STM32?STM32和51單片機(jī)的區(qū)別
    51單片機(jī)和STM32單片機(jī)的結(jié)構(gòu)有什么不同
    51單片機(jī)、AVR單片機(jī)和PIC單片機(jī)的IO口操作
    關(guān)于51單片機(jī)IO引腳的驅(qū)動能力與上拉電阻
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網(wǎng)友評論
    最新推薦
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢