我想請教下您。我用AT89C51,ADC0809設計的數字萬用表,怎麽設計它的量程自動切換電路啊
壹般的自動量程切換設計多半是通過壹個固定的分壓電阻(與表頭的IN+和IN-並聯)與壹個適合於不同檔位的衰減電阻串聯實現的,固定檔是用開關來切換的,而在自動檔電路中,只要使用三極管或MOS管來切換就行了。但是由於ADC0809不是差分輸入,而是單端的,所以要作壹些調整。
利用ADC0809的多通道功能,把每路IN作為壹個量程的輸入端來使用,巧妙的配合三極管或MOS就能實現量程切換了。方法是,先從輸入端通過不同的電阻(不同檔位分壓對應阻值)分別引到各個IN引腳上,再從各IN引腳用壹個相同阻值(註意不是同壹個電阻,可以用排阻)的電阻通過三極管或MOS接地。這樣,例如換檔要使用到IN1這路的分壓比時,就把IN1對應的控制管導通,並采集IN1通道的信號就行了。前邊是硬件部分。
軟件設計上,0809是壹個8位的ADC,去掉1位的跳動,那麽3或以下就認為接近0了,而252以上就可以認為接近滿了,特別是0和255這兩個值穩定出現,更是可以作為判定條件。如果持續接近0說明信號太小,就切換到更低檔位上;相反,如果持續接近255說明信號太大,需要升到更高檔位上。
最後配合相應的轉換公式和顯示算法,經過驅動顯示就可以得到輸出了。