單片機的A/D轉換器是指單片機的模擬信號轉換為數(shù)字信號,這是單片機在自動化控制中常用到的功能之一,而熟練和掌握A/D軟件編寫,也是學習單片機必不可少的課程。由于選用了宏晶科技的STC12C5A60S2單片機,所以在編寫A/D轉換軟件時首先就得參考STC12C5A60S2器件手冊,但對于初學者來說,是無法看明白的,還好在學習單片機時購買的單片機學習板上有配套的例程,其A/D源碼略(編注:如有需求,請與本報聯(lián)系)。經(jīng)測試這段代碼在OK51-EASY單片機開發(fā)板(筆者購買的單片機學習板)上能正常運行.在PLo引腳上用杜邦線連接電源的正極或地線,數(shù)碼管能顯示0—255,說明單片機的A/D模塊已工作。
而在實際應用時用以上函數(shù)編寫就基本上能滿足一般的模數(shù)轉換要求,但由于以上函數(shù)編寫的是8位精度AD轉換函數(shù),(STC12C5A60S2器件手冊提供的是8位源碼例子)如果要求精度比較高的就需要編寫10精度的AD轉換函數(shù)了,為此筆者在網(wǎng)上參考了大量的TC12C5A60S2/ADC源碼,最終找到了測試正常的IO位ADC函數(shù),以下是10位精度的AD轉換函數(shù):
比較了一下8位精度的AD函數(shù)和10位精度的AD函數(shù),發(fā)現(xiàn)有很大不同,有了以上ADC函數(shù),就能輕松使用STC12C5A60S2內(nèi)部的AD功能,不再為編寫AD函數(shù)而煩惱,讓讀者更容易接觸到模擬信號到數(shù)字信號的奇妙轉換,感受觸手可及的數(shù)字信號。