久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機產生占空比可調方波(PWM)

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年03月17日   【字體:

/****************************************************************                                                       
            程序名稱:   發光二極管D1進行亮度控制
            版本:      VER1.0
            適用板本:  51hei學習板     
利用定時器控制產生占空比可變的PWM波對發光二極管D1進行亮度控制
按S2,PWM值增加,則占空比減小,D1燈變亮。
按S3,PWM值減小,則占空比增加,D1燈變暗。
當PWM值增加到最大值或減小到最小值時,蜂鳴器將報警。
*****************************************************************/

#include<reg51.h>
#include<intrins.h>
sbit  S2 =P3^4 ;        //PWM值減少鍵
sbit  S3 =P3^5 ;       //PWM值增加鍵
sbit  BEEP =P2^3 ;         //蜂鳴器
unsigned char PWM=0x03 ;   //賦初值

///////////////////////////////////////
void Beep();
void delayms(unsigned char ms);
void delay(unsigned char t);

/*********************************************************/
void main()
{  
    P1=0xff;
    TMOD=0x00 ;
  TH0=0x00 ;           //延時常數
    TL0=0x00 ;           //頻率調節
    TH1=PWM ;            //脈寬調節
    TL1=0xff ;
EA=1;
ET0=1;
ET1=1;
    TR0=1 ;


   while(1)
   {
 do{
     if(PWM!=0xff)
    {PWM++ ;delayms(10);}
        else Beep() ;
   }
    while(S3==0);

 do{
      if(PWM!=0x02)
     {PWM-- ;delayms(10);}
      else Beep() ;
   }
    while(S2==0);
  }
}

/*********************************************************/
// 定時器0中斷服務程序  (頻率)
/*********************************************************/
void timer0() interrupt 1

    TR1=0 ;
    TH0=0x00;
    TL0=0x00 ;
    TH1=PWM ;
    TR1=1 ;
    P1=0xfe ;      //啟動輸出
}

/*********************************************************/
// 定時器1中斷服務程序 (脈寬)
/*********************************************************/
void timer1() interrupt 3
{
    TR1=0 ;
    P1=0xff ;     //結束輸出
}

/*********************************************************/
//蜂鳴器子程序
/*********************************************************/

void Beep()    
  {
    unsigned char i  ;
    for (i=0  ;i<100  ;i++)
      {
        delay(100)  ;
        BEEP=!BEEP  ;                //Beep取反
      }
    BEEP=1  ;                        //關閉蜂鳴器
 delayms(100);
  }

/*********************************************************/
// 延時子程序
/*********************************************************/ 
void delay(unsigned char t)
 {
   while(t--)   ;
 }

/*********************************************************/
// 延時子程序
/*********************************************************/
void delayms(unsigned char ms)

{
   unsigned char i ;
   while(ms--)
    {
      for(i = 0 ; i < 120 ; i++) ;
    }
}

/*********************************************************/

關閉窗口

相關文章

主站蜘蛛池模板: 亚洲综合色网 | av黄色片| 成人伊人网| 国语对白做受欧美 | 刘玥大战28公分黑人 | 日韩精品在线一区 | 狠狠草视频| 欧美精品自拍 | 天天干天天弄 | 91精品久久久久久 | 欧美精产国品一二三区 | 性久久久久久久 | 国产欧美成人 | 一本到av | 中文字幕一区二区三区在线观看 | 天堂中文在线视频 | 精品国产aⅴ麻豆 | 亚洲欧美视频 | 艳妇乳肉亭妇荡乳av | 中文字幕在线免费播放 | 中文字幕在线观看日本 | 一级视频在线观看 | 亚洲欧美日韩成人 | 午夜av片 | 在线黄色网 | 女人一级一片30分 | 超碰com| 欧美在线亚洲 | 亚洲天堂中文字幕 | 日韩精品免费 | 国产区在线观看 | av一区二区三区四区 | 日韩城人免费 | xxxx亚洲 | 欧美日韩中文在线 | 天天操天天干天天 | 一级黄色在线观看 | av天天干| 精品无人国产偷自产在线 | 六十路av | 国产一级在线 |