⑴ 單片機AD轉換用的這段程序意思是什麼
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ch ;//開始轉換
這是用STC單片機內部A/D轉換電路進行A/D轉換時,要給A/D控制寄存器ADC_CONTR寫啟動轉換命令,ADC_CONTR是ADC控制寄存器,其中的每一位的作用見下圖,而這行語句前面肯定要有定義每一位狀態的語句,或用#define宏定義了各位的值。
⑵ 單片機AD和DA轉換具體過程是怎麼樣的
單片機的AD轉換過程是將模擬信號轉換為數字信號。比如,以8位的AD轉換為例,假設輸入范圍為0~5V,那麼這5V會被劃分為256份,每份的電壓值為5/256V,大約為0.0195V。這也就是AD轉換的精度。因此,最小一份的電壓為0.0195V左右。如果輸入信號為5V,那麼它將占據256份中的全部份額,AD轉換後輸出的數字信號為16進制的0xff。
如果輸入信號為3.1V,那麼它將占據的份數為3.1除以每份5/256,結果大約為158.72份。由於AD轉換器只能輸出整數,因此輸出結果為158份,即0x9e。由此產生的誤差約為0.72份,即0.72*5/256V,大約為0.014V左右。
當AD轉換器的位數增加至10位時,每份的電壓值將變為5/1024V,精度大幅提高。DA轉換過程則是將數字信號轉換為模擬信號。其原理與AD轉換類似,只是方向相反。不明白的地方可以繼續提問。