<font id="lfjdt"><track id="lfjdt"></track></font>

<del id="lfjdt"></del>
<b id="lfjdt"><track id="lfjdt"><cite id="lfjdt"></cite></track></b>
<font id="lfjdt"><track id="lfjdt"></track></font>

    <b id="lfjdt"></b>
      <var id="lfjdt"></var>

          <cite id="lfjdt"><span id="lfjdt"><mark id="lfjdt"></mark></span></cite>

          | | | | | | |
           
          新聞資訊
          W79E825/W79E824 AD 編程方法

          發布日期 :[ 2009/7/12 ]    閱讀[ 1575 ]次

          1. W79E825、W79E824 ADC簡介
          W79E825、W79E824  系列集成有4路10位A-D轉換器,開始A-D轉換可以由軟件設置也可以由硬件觸發。ADC中斷向量是5BH。轉換結果的高8位在ADCH中,低兩位在ADCCON.7和ADCCON.7。

          2. W79E825、W79E824系列MCU ADC 編程方法
          2.1 A-D 的轉換過程
          在使用ADC電路前,必須把ADCCEX置’1’打開ADC電路。當ADCCON.5 (ADCEX) =0時,是軟件開始模式,把控制位ADCCON.3 (ADCS)置‘1’即可以開始ADC轉換。當ADCCON.5 =1時,是軟件或硬件開始模式,ADCCON.3 (ADCS)置‘1’或STADC (P1.4)上的有效上升沿開始ADC轉換。當使用STADC (P2.0)上的有效上升沿開始ADC轉換時低電平至少保持一個機器周期,之后的高電平也至少保持一個機器周期。
          控制位ADCCON.4 (ADCI)置‘1’標志10-位轉換的結束。轉換結果的高8位存放在特殊功能寄存器ADCH中,剩下的兩位存放在ADCCON.7 (ADC.1)和ADCCON.6 (ADC.0)中。總的轉換時間共有52個機器周期。ADC 時把ADCS狀態標志置‘1’,并在52時鐘周期后清‘0’。
          控制位ADCCON.0、ADCCON.1被用作4選1多路模擬開關控制。ADC轉換步驟不受外部或軟件開始轉換的影響。轉換結束的結果也不會影響ADCI = 邏輯1;ADC在轉換過程中系統將不能進入空閑或掉電模式。轉換結束結果(ADCI = 邏輯1) 仍然不影響。
          2.2 ADC 的編程實例
          2.2.1 打開/關閉ADC 的電路
          AUXR1.2(ADCEN)=1打開ADC 的電路,AUXR1.2(ADCEN)=0關閉ADC 的電路。
          void EnableADC()
          {
               AUXR1|=0x04; //打開ADC 的電路,ADC 的電路開始工作
          }
          void DisableADC()
          {
               AUXR1&=0xFB;// 關閉ADC 的電路,ADC 的電路停止工作
          }
          2.2.2 選擇ADC 模擬輸入通道
          P0口的其中4只腳復用為ADC的模擬輸入功能,首先把它設置為模擬輸入,即P0M1.y=1; P0M1.y=0;ADCCON的低2位控制選擇哪一路模擬信號輸入。設置ADCCON的低兩位必須在ADCI和ADCS都等于’0’的狀態。具體程序如下:
          void ADC_Select(unsigned char ADC_C)
          {
               switch(ADC_C)
              {
                    case 0:P0M1|=0x08;P0M2&=0xF7;ADCCON=0;break;
                    case 1:P0M1|=0x10;P0M2&=0xef;ADCCON=1; break;
                    case 2:P0M1|=0x20;P0M2&=0xdf;ADCCON=2; break;
                    case 3:P0M1|=0x40;P0M2&=0xbf;ADCCON=4; break;

                   default: break;
               }
          }
          2.2.3 啟動ADC
          (1)、若ADCCON.5(ADCEX)=0;把ADCCON.3(ADCS)置’1’,就開始一次新的A-D轉換。實例程序如下:
          void StartADC()
          {
               ADCCON|=0x08;
          }
          (2)、若ADCCON.5(ADCEX)=0,STADC(P1.4)上的上升沿,就開始一次新的A-D轉換。
          2.2.4 ADC 中斷編程
          (1)、打開ADC中斷。
          void EnableADC_INT()
          {
               EADC=1;
              EA=1;
          }
          (2)、編寫ADC中斷服務程序。
          void ADC_ISR() interrupt 11
          {
              / /用戶程序
          }

          W79E825/W79E824 AD功能常用于溫度控制器、電動自行車、智能家電、UPS、TPMS、儀器儀表等

           
          [ 打印 ]  [ 返回 ]  [ 頂部 ]  [ 關閉 ]  
          公司辦公處:  
          地址:武漢市江夏區流芳路52號光谷芯中心二期E區10棟5樓
          電話:+86-027-8281 1653; 8278 9667; 8787 9253 郵箱:Sales@Ic-sales.net
          傳真:+86-027-8278 7221   Website
            武漢宇恒電子有限公司  鄂ICP備19025434號 Copyright © 2020 Yuheng Electronics All rights reserved.  
          我和公发生了性关系口述 网站地图