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

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

STC單片機實現可調PWM輸出的C51程序

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

//以下是源程序,只需修改定義IO口就可以使用,#include < reg52.h >
#include < intrins.h >
sbit  K1 =P3^2 ;                    //增加鍵
sbit  K2 =P3^3 ;                    //減少鍵
sbit  BEEP =P3^1 ; //蜂鳴器
sbit  pp =P3^7 ;
unsigned char PWM=0x7f ;   //賦初值
void Beep();
void delayms(unsigned char ms);
void delay(unsigned char t);
/*********************************************************/
void main()

     pp=1;
    TMOD=0x21 ;
    TH0=0xfc ;             //1ms延時常數
    TL0=0x66 ;            //頻率調節
    TH1=PWM ;            //脈寬調節
    TL1=0 ;
     EA=1;
     ET0=1;
     ET1=1;
   
     TR0=1 ;
   while(1)
   {
     do{
            if(PWM!=0xff)
           {PWM++ ;delayms(10);}
           else Beep() ;
         }
     while(K1==0);
     do{
           if(PWM!=0x02)
          {PWM-- ;delayms(10);}
           else Beep() ;
          }
     while(K2==0);
   }
}
/*********************************************************/
// 定時器0中斷服務程序.
/*********************************************************/
void timer0() interrupt 1

    TR1=0 ;
    TH0=0xfc ;
    TL0=0x66 ;
    TH1=PWM ;
    TR1=1 ;
    pp=0 ;      //啟動輸出
}
/*********************************************************/
// 定時器1中斷服務程序
/*********************************************************/
void timer1() interrupt 3
{
    TR1=0 ;
    pp=1 ;     //結束輸出
}
/*********************************************************/
//蜂鳴器子程序
/*********************************************************/
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一区二区 | 欧美一级久久 | 欧美一区二区三区久久精品 | 国内自拍偷拍视频 | 国产a区| 久久久久综合 | 色999视频| 欧美日韩18 | 久久国产高清 | 亚洲一二三区在线观看 | 一区二区三区在线 | 日本成人免费观看 | 国产亚洲成av人片在线观看桃 | 亚洲免费人成在线视频观看 | 欧美国产91 | 欧美成人精品一区二区三区 | 91精品观看 | 欧美一区二区三区在线免费观看 | 日本精品久久久久 | 中国一级大毛片 | 日韩精品 电影一区 亚洲 | 91精品国产综合久久久久 | 看一级毛片视频 | 日韩免费在线 | 在线播放91 | 国产精品国产三级国产aⅴ浪潮 | 久久综合久 | 国产成人在线播放 | 久久精品手机视频 | 欧美激情a∨在线视频播放 成人免费共享视频 | 伊人中文字幕 | 在线欧美亚洲 | 久久精品一级 | 久久久久国产一区二区三区 | 日韩免费| 国产欧美在线播放 | 欧美日韩久久久 | 午夜精品久久久久久久星辰影院 | 视频一二三区 | www.亚洲精品 | 97久久精品|