八路輸入模擬信號的數值顯示電路設計 一、 設計任務及要求 采用8088CPU作主控制器,0809作A/D轉換器。開機后能自動依次輪流顯示8路輸入的模擬電壓值,每采集一個通道則立即顯示該通道經A/D轉換后的數值。輸入模擬電壓在0—5V范圍內,顯示值在0—255范圍內。四個LED分別顯示通道號(0-8)、百位數、十位數、個位數。 要求: 1.四個LED均為共陰極型,采用動態顯示法。 2.采用直接地址譯碼方法,給0809芯片,段選端口,位選端口分配地址。其中段選端口,位選端口均采用74LS273芯片。 3.采用無條件傳送方式即啟動轉換后等待超過100微秒讀取轉換結果。 4.畫出連接線路圖或功能模塊引腳連接圖 二:硬件連接圖 總體效果圖
(1)ADC0808 ADC0808是CMOS單片型逐次逼近式A/D轉換器,它有8路模擬開關、地址鎖存與譯碼器、比較器、8位開關樹型A/D轉換器。
(2)顯示部分 采用共陰極接法, 8088在訪問存儲器或I/O設備時,首先將存儲單元或I/O端口的地址發送到地址線上,由于8088的低八位地址和數據共享著AD7-AD0八條引線,所以無法同時傳送數據和地址,若不將8088先送出的第八位地址鎖存,則必然丟失,故用8088組建系統,必然用地址鎖存器,此處用74ls373 
將220V電壓轉換為0~5V電壓 (5)74ls138 E1,E2,E3是使能端,負責選通74LS138,A,B,C的作用是選通Y0~Y7哪一個工作 - 結果

在剛上電時,數碼管顯示值都為0000,當進行一次測量后,將顯示出A/D轉換值。數據顯示時間在1秒左右。主程序在調用顯示程序和測試程之間循環 采用動態掃描法實現四位數碼管的數值顯示。測量所得的 A/D轉換數據放在70H-77H內存單元中,測量數據在顯示時需經過轉換成為十進制 BCD碼放在78H-7BH中,寄存器 用來作8路循環控制 A/D轉換由集成電路 0808完成, 0808具有8路模擬輸入端口, 地址線(23-25腳)可決定對哪一路模擬輸入作 A/D轉換, 22腳為地址鎖存控制, 當輸入為高電平時,對地址信號進行鎖存。6腳為測試控制,當輸入一個高電平脈沖時,就開始 A/D轉換, 7腳為 A/D轉換結束標志,當 A/D轉換結束時, 7腳輸出高電平。9腳為A/D轉換數據輸出允許控制,當0E腳為高電平時, A/D轉換數據從端口輸出 。10腳為 0808的時鐘輸入端,單片機的 P1、 P3端口作四位 LED數碼管顯示控制,P0端口作A/D讀入用。模擬量送人寄存器,轉換成數字量,將其與輸入的模擬量進行比較,逐次逼近直到生成量等于輸入量,ADC0809對8個通道進行進行循環采集,然后對采集的數據進行轉換,轉換為非壓縮的BCD碼放入數據緩沖區,然后對其分別依次輸出采集的通道號、百位、十位和個位。用不同的地址完成輸出采集的代碼。 
- STACK SEGMENT STACK
- DW 32 DUP(?)
- STACK ENDS
- CODE SEGMENT
- OBUF DB 3 DUP(0)
- assume CS:CODE,SS:STACK
- PA EQU 60H
- PB EQU 62H
- PC EQU 64H
- PD EQU 66H
- MODE EQU 80H 8255a方式控制字10000000,A,B,C做輸出口
- START PROC
- MOV AL,MODE
- MOV DX,PD
- OUT DX,AL
- MOV SI,0300H
- S:MOV AX,255H
- MOV DX,SI
- OUT DX,AL
- CALL DELAY
- IN AL,DX
- MOV AH,0
- MOV CL,64H
- DIV CL
- MOV OBUF+2,AL
- MOV AL,AH
- AAM
- MOV OBUF+1,AH
- MOV OBUF,AL
- MOV DX,PC
- OUT DX,AL
- MOV DX,PB
- MOV AL,OBUF+1
- OUT DX,AL
- MOV DX,PA
- MOV AL,OBUF+2
- OUT DX,AL
- INC SI
- CMP SI,0307H
- JNA S
- MOV SI,0300H
- JMP S
- ret
- START ENDP
- DELAY PROC FAR
- PUSHF
- PUSH BX
- PUSH CX
- PUSH SI
- MOV BX,180H
- LP2: MOV CX,176H
- LP1: PUSHF
- POPF
- LOOP LP1
- DEC BX
- JNZ LP2
- POP SI
- POP CX
- POP BX
- POPF
- RET
- DELAY ENDP
- CODE ENDS
- END START
復制代碼
五:實驗小結
此次設計做的不是很順利,首先是8255的用法沒有很好的學習好,導致用的時候沒有融會貫通,其次在程序的理解和設計上還有困難,總值最大的問題是學習上的理論知識不是非常扎實,而這次設計讓我學到了很多,特別是編程方面,多虧有同學的幫助讓我明白了很多課堂上學不到的東西,但愿以后能夠有更大的進步吧
完整的Word格式文檔51黑下載地址:
|