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

在剛上電時(shí),數(shù)碼管顯示值都為0000,當(dāng)進(jìn)行一次測(cè)量后,將顯示出A/D轉(zhuǎn)換值。數(shù)據(jù)顯示時(shí)間在1秒左右。主程序在調(diào)用顯示程序和測(cè)試程之間循環(huán) 采用動(dòng)態(tài)掃描法實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示。測(cè)量所得的 A/D轉(zhuǎn)換數(shù)據(jù)放在70H-77H內(nèi)存單元中,測(cè)量數(shù)據(jù)在顯示時(shí)需經(jīng)過(guò)轉(zhuǎn)換成為十進(jìn)制 BCD碼放在78H-7BH中,寄存器 用來(lái)作8路循環(huán)控制 A/D轉(zhuǎn)換由集成電路 0808完成, 0808具有8路模擬輸入端口, 地址線(23-25腳)可決定對(duì)哪一路模擬輸入作 A/D轉(zhuǎn)換, 22腳為地址鎖存控制, 當(dāng)輸入為高電平時(shí),對(duì)地址信號(hào)進(jìn)行鎖存。6腳為測(cè)試控制,當(dāng)輸入一個(gè)高電平脈沖時(shí),就開始 A/D轉(zhuǎn)換, 7腳為 A/D轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng) A/D轉(zhuǎn)換結(jié)束時(shí), 7腳輸出高電平。9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)0E腳為高電平時(shí), A/D轉(zhuǎn)換數(shù)據(jù)從端口輸出 。10腳為 0808的時(shí)鐘輸入端,單片機(jī)的 P1、 P3端口作四位 LED數(shù)碼管顯示控制,P0端口作A/D讀入用。模擬量送人寄存器,轉(zhuǎn)換成數(shù)字量,將其與輸入的模擬量進(jìn)行比較,逐次逼近直到生成量等于輸入量,ADC0809對(duì)8個(gè)通道進(jìn)行進(jìn)行循環(huán)采集,然后對(duì)采集的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換為非壓縮的BCD碼放入數(shù)據(jù)緩沖區(qū),然后對(duì)其分別依次輸出采集的通道號(hào)、百位、十位和個(gè)位。用不同的地址完成輸出采集的代碼。 
- 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
復(fù)制代碼
五:實(shí)驗(yàn)小結(jié)
此次設(shè)計(jì)做的不是很順利,首先是8255的用法沒有很好的學(xué)習(xí)好,導(dǎo)致用的時(shí)候沒有融會(huì)貫通,其次在程序的理解和設(shè)計(jì)上還有困難,總值最大的問題是學(xué)習(xí)上的理論知識(shí)不是非常扎實(shí),而這次設(shè)計(jì)讓我學(xué)到了很多,特別是編程方面,多虧有同學(xué)的幫助讓我明白了很多課堂上學(xué)不到的東西,但愿以后能夠有更大的進(jìn)步吧
完整的Word格式文檔51黑下載地址:
|