您的位置:網站首頁 > 電器維修資料網 > 正文 >
PIC單片機A/D轉換知識
來源: 日期:2013-11-20 18:38:17 人氣:標簽:
adcon1的第6、5、4位,在a/d轉換中未派上用場,讀作“0”。adcon1的第3、2、1、0位(bit3、bit2、bitl和bit0),是管理pic16f87x引腳功能(a或d)的選擇,例如在下文c程序中,設adconl=ox8a時,選擇pic16f873a的ano(rao.)、an1(ral)ra4(an4)、ra5(an5)為模擬量輸入、(an6、an7為數字量輸入),an3、an2參考電壓設置端(+、-)。
(2)a/d轉換結果寄存器adresh、adresl。因pic16f87x的a/d轉換值是10位的二進制數(代碼),而a/d轉換的結果是存放在指定的結果寄存器中,因結果寄存器是8位的,所以a/d轉換結果的10位數,利用adresh存放a/d的高字節;利用adresl存放a/d的低字節。存放方法是利用前述的adcon1的第7位(bit)adfm進行選擇,當令adfm=1時,a/d轉換結果的低8位存放在adrel中;高兩位存放在adresh中;當令adfm=o時,a/d轉換結果的低兩位存放在adresl中,余下的高8位存放在adresh中,這由c語言設計者自由選擇。若對a/d轉換代碼的分辨率要求不高(如實驗程序),可取a/d轉換的高8位而舍去低2位,以使c程序簡化。
(3)a/d轉換控制寄存器adcono。
adcono的功能是用于控制a/d轉換的操作,其相關位的功能如下圖所示。
圖中adcono的第0位(bit0),adon是a/d轉換允許位(俗稱打開a/d轉換),當令adon=1時,打開的a/d轉換;adon=o時,關閉a/d轉換。adcono的第1位,未使用讀作o。
adcono的第2位go/done的反也是重要的功能位:在adon=1時,若令go/done的反=1,啟動a/d轉換;若令go/done的反=0,a/d轉換完成。
adcono的5~3位(bit5、bit4和bit3)chs2、chs1、chso是a/d轉換模擬通道的選擇,對pic16f873a芯片,有下述關系:
adcono的第7、6位即adcs1和adcso,是a/d轉換時鐘選擇位,有以下關系:
此外,在a/d轉換時,還會用到外圍接口中斷標志寄存器pir1的標志位adif(bit6)和外圍接口中斷使能寄存器pie1的使能位adie。
當令adif=1時,代表a/d轉換已完成;adif=o時,a/d轉換未完成。
當令adie=1時,打開a/d轉換中斷;adie=o時,關閉a/d轉換中斷。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 5110液晶屏的操作指令和時序
- 下一篇: NFS服務在計算機系統中的作用