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