<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

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

        STC內部10位AD轉換器程序(stc_ad.h頭文件)

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

        下面是頭文件的內容,復制文本保存到stc_ad.h即可

        #ifndef __STC_AD_H__
        #define __STC_AD_H__

        #define ADC_FLAG      0x10
        #define ADC_STOP      0xEF
        #define ADC_START     0x08
        #define ADC_SPEED_HH  0x00   // 89 us
        #define ADC_SPEED_H   0x20   //178 us
        #define ADC_SPEED_L   0x40   //356 us
        #define ADC_SPEED_LL  0x60   //534 us

        void Delay(unsigned int z);
        void Delay_us();
        void ADC_init();
        unsigned char ADC_convert(unsigned char Gallery);

        /************************************************
        延時function:
        ************************************************/
        void Delay_ad(unsigned int z)
        {
              unsigned char x;
              while(--z)
              {
                  for(x=0;x<250;x++);
              }
        }
        /************************************************
        延時—10 colocks function:
        ************************************************/
        void Delay_us()
        {
              unsigned char i;
              for(i=0;i<6;i++); 
        }
        /************************************************
        AD初始化function:
        ************************************************/
        void ADC_init()
        {
              P1_ADC_EN= 0xff;                //斷開P1口上拉電阻
              ADC_DATA = 0x00;                //清零低8位數據存儲器
              ADC_LOW2 = 0x00;                //清零高2位數據存儲器
              ADC_CONTR= ADC_SPEED_HH;         //設置AD轉換速率178clocks
              Delay_ad(20);                      //上電延遲等待
        }

        /************************************************
        AD轉換function:
        ************************************************/
        unsigned int ADC_convert(unsigned char Gallery)
        {
              unsigned int Con_dat=0;         //AD轉換數據暫存變量
          //  ADC_CONTR |= ADC_SPEED_H;       //設置AD轉換速率
              ADC_CONTR |= ADC_START;         //開始AD轉換
              ADC_CONTR |= Gallery;           //選擇AD通道
              ADC_DATA   = 0x00;              //清零低8位數據存儲器
              ADC_LOW2   = 0x00;              //清零高2位數據存儲器
              Delay_us();                     //轉換延遲等待
              while(!(ADC_CONTR & ADC_FLAG)); //等待轉換結束
              ADC_CONTR &= ADC_STOP;          //關閉AD 并且清零
              Con_dat    = ADC_LOW2;          //讀取并處理AD轉換值
              Con_dat  <<= 8;
              Con_dat   |= ADC_DATA;
              return Con_dat;                 //返回AD轉換值
        }
        #endif

         

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮