PIC單片機模/數轉換器ADC模塊的設計思路及電路設計
ADCON1、TRISA和TRISE寄存器控制A/D端口引腳的操作。這個(gè)作為模擬輸入的端口引腳必須有它們的相應位TRIS置1(輸入)。如果TRIS位清0(輸出),數字輸出電平(VOH或VOL)將被轉換。A/D操作是獨立于(CHS(2∶0))位和TRIS位的狀態(tài)之外的。
在睡眠期間A/D模塊可以工作,這種A/D時(shí)鐘要求對RC置1,(ARCS(1:0)=11), 當選擇RC時(shí)鐘源時(shí),A/D模塊在開(kāi)始轉換之前等待一個(gè)指令周期。這種允許執行的睡眠指令,可以消除在轉換中產(chǎn)生的所有數字開(kāi)關(guān)噪聲。
當轉換完成時(shí),GO/DONE位將被清0,和轉換結果一塊裝入ADRES寄存器,如果A/D中斷使能,單片機將從睡眠中喚醒,如果A/D中斷不使能,盡管ADON位仍保持置1,A/D模塊仍將被關(guān)閉。
如果A/D時(shí)鐘源是另一種時(shí)針選擇(不是RC),盡管ADIN位仍保持1,睡眠指令將導致目前的轉換中斷和A/D模塊被關(guān)閉。關(guān)閉A/D,把A/D模塊放到它的最低電流消耗狀態(tài)。
單片機復位強制所有寄存器復位到它們的復位狀態(tài),強制關(guān)閉A/D轉換模塊和進(jìn)行的轉換。在A(yíng)DRESH、ADRESL寄存器的值在上電復位時(shí)不變,ADRESH、ADRESL寄存器在上電復位之后將包含未知數據。
1. 設計思路
將RA2引腳作為模擬電壓輸入,模擬量為連接在RA2引腳上的微調電阻提供,借此可以提供一個(gè)連續變化的模擬電壓。端口D連接8個(gè)LED作為數據輸出顯示,并設置一個(gè)報警值。
本程序中將報警值設為2.5V,經(jīng)A/D轉換后對應十六進(jìn)制數值為0x200H,當A/D轉換的值未達到警戒值(0x200H)時(shí),點(diǎn)亮8個(gè)發(fā)光二極管的低4個(gè),表明系統運行正常;當A/D轉換的值達到或超過(guò)警戒值(0x200H)時(shí),發(fā)出報警信號,點(diǎn)亮與D口相連的LED顯示報警信息。
2. 電路設計
單片機與LED的接口原理如圖3所示。
圖3 PIC16F877與LED的接線(xiàn)
評論