<address id="tnvjh"></address>
    <form id="tnvjh"><listing id="tnvjh"><meter id="tnvjh"></meter></listing></form>

      <form id="tnvjh"></form>

      <address id="tnvjh"><th id="tnvjh"></th></address>

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

        LPC210X的ADC測試程序

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

        以下程序運行在LPC210X單片機上面:

         void main(void)

        {
         // U8 Test[20];
          U32 ADC_Data;
          const U32 ADC_CR=
                ( 1 << 0 ) |     // SEL = 1 ,選擇通道0
         ( ( Fpclk / 1000000 - 1 ) << 8 ) |   // CLKDIV = Fpclk / 1000000 - 1 ,即轉換時鐘為1MHz
         ( 0 << 16 ) |     // BURST = 0 ,軟件控制轉換操作
         ( 0 << 17 ) |      // CLKS = 0 ,使用11clock轉換
         ( 1 << 21 ) |      // PDN = 1 , 正常工作模式(非掉電轉換模式)
         ( 0 << 22 ) |      // TEST1:0 = 00 ,正常工作模式(非測試模式)
         ( 1 << 24 ) |      // START=1,啟動轉換
         ( 0 << 27 );       //上升沿啟動轉換
          PINSEL0=0x00000005; //TXD0和RXDE0功能連接到管腳
          PINSEL1=(3<<12);    //ADC0.0連接到管腳(11)
          PLL_Init();
          UART0_Init();
          printf(" \nAD Convert\n");
          printf("ADC0.0'S VALUE:\n ");
          while(1)
          {
            AD0CR = ADC_CR;
            do{}while((AD0GDR&0x80000000)==0);    //AD0GDR:31位:DONEAD  轉換結束時該位置位
            ADC_Data=AD0DR0;   //數據寄存器的15:6     DONEAD為1進,這十位存儲著AIN腳的電壓,共十位    
            AD0DR0=ADC_Data;
            ADC_Data=(ADC_Data>>6)&0x3ff;               //得到二進制結果 ,10bits
            ADC_Data>>=2;                               //只要八位準備輸出;
            printf("0x%x ",(ADC_Data&0xff));
            Delay(10);
          }
        }
         
        不知什么原因,仿真老出問題?赡躂LINK電壓低?
        關閉窗口
        和老头做爰很舒服,JK白丝裤袜开裆自慰喷水,在线天堂www在线...中文

          <address id="tnvjh"></address>
          <form id="tnvjh"><listing id="tnvjh"><meter id="tnvjh"></meter></listing></form>

            <form id="tnvjh"></form>

            <address id="tnvjh"><th id="tnvjh"></th></address>