范禮平
【摘要】 隨著大規(guī)模集成電路的發(fā)展,單片機技術飛速發(fā)展,其功能也不斷增強,單片機應用已經滲透到了各個領域,已經成為嵌入式控制系統(tǒng)的主流,是開發(fā)新產品不可或缺的器件,現(xiàn)代人類生活中所用的幾乎每件電子和機械產品中或多或少都會集成有單片機。
【關鍵字】 單片機 模數(shù)轉換 protues仿真
本次數(shù)字電壓表設計是通過常用模數(shù)轉換芯片ADC0809與AT89C51單片機連接制作一個數(shù)字電壓表,說明ADC0809與單片機的接口方法,目前單片機使用的A/D轉換電路通常也是以集成芯片的形式出現(xiàn)的,ADC0809是最常用的一種模數(shù)轉換芯片。
一、硬件電路設計
1.1單片機最小系統(tǒng)
單片機的最小系統(tǒng)是讓單片機能正常工作并發(fā)揮其功能時所必須的組成部分,用最少的元件組成的單片機可工作系統(tǒng)。51 系列單片機的最小系統(tǒng)一般應該包括: 單片機、時鐘電路、復位電路、輸入/ 輸出設備等。
1.2模數(shù)轉換模塊
此模塊主要由模數(shù)轉換芯片ADC0809、鎖存器74ls373以及74ls02、74ls04等邏輯門電路組成。P2.7(A15)作為片選信號,由單片機的寫信號WR和P2.7控制ADC0809的地址鎖存和轉換啟動。用單片機的RD和P2.7引腳引腳經一級“或非”門后,產生的正脈沖作為OE信號,用以打開三態(tài)讀出鎖存器。ADC0809口地址可以為7FF9H選通IN1。ADC0809的EOC發(fā)出高電平,經反相器接到P3.5來判斷轉換是否結束。通過定時計數(shù)器0由P3.4引腳產生一時鐘脈沖作為ADC0809的時鐘。
1.3顯示模塊
此模塊電路主要由四位一體的LED數(shù)碼顯示器構成,本次設計選取共陽極結構的數(shù)碼管,采用動態(tài)顯示的方式完成顯示,單片機的P2.0-P2.3接四位一體數(shù)碼管的1,2,3,4,作為位選信號,單片機的P1口接數(shù)碼管的A,B,C,D,E,F(xiàn),G,DP,作為段碼信息傳送。
二、軟件設計
程序開始部分通過偽指令設計ADC0809口地址以及顯示緩沖區(qū)等;主程序部分包括設置堆棧、啟動定時計數(shù)器、開始模數(shù)轉換、等待啟動結束后,將模擬輸入量轉換成數(shù)字量,在四位一體的數(shù)碼管上顯示;子程序包括定時中斷、數(shù)據(jù)處理、數(shù)碼管動態(tài)顯示以及延時,部分參考程序代碼如下:
IN1 EQU 7FF9H;設置ADC0809口地址
LED_0 EQU 30H;顯示緩沖區(qū)
···
MAIN: MOV SP,#60H;設置堆棧
MOV TMOD,#02H;設置定時計數(shù)器
···
TOBCD: MOV A,ADC;轉換結果轉換成BCD碼
MOV B,#0C3H;乘以19.5MV
···
HB2: CLR A;BCD碼初始化
···
RET
DISP: MOV DPTR,#TABLE;數(shù)碼管動態(tài)顯示
···
RET
INT_T0: CPL P3.4
RETI
DELAY: MOV 50H,#0AH;延時5毫秒
···
RET
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H;共陽數(shù)碼管0-9段碼
DB 92H,82H,0F8H,80H,90H
END
三、protues軟件仿真
為方便軟硬件綜合調試,通過protues軟件進行電路原理圖設計、程序設計以及仿真調試,仿真結果如下圖所示:
本數(shù)字電壓表設計可以顯示0-5V的電壓值,并且精確到了小數(shù)點后3位,其顯示誤差可以通過校正ADC0809轉換器的基準參考電壓來解決,本次設計,電路簡單,成本較低,速度快且較穩(wěn)定,如要進一步提高精度可選用12或13位的AD轉換器。
參 考 文 獻
[1] 吳金成.單片機實踐與應用.清華大學出版社
[2] 陶春鳴.單片機實用技術.人民郵電出版社
[3] 李群芳.單片機原理與應用.武漢大學出版社