版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 單片機原理及應用課程設計</p><p> 設計名稱: 數(shù)字電壓表設計 </p><p> 專業(yè)班級: 應用電子技術二班 </p><p> 學生學號: </p><p> 機 電 工 程 學 院
2、</p><p><b> 目 錄</b></p><p> 第1章 設計內(nèi)容2</p><p> 1.1 設計任務2</p><p> 1.2 設計要求2</p><p> 1.3 方法選擇2</p><p> 1.4 方案設計2</p>
3、<p> 第2章 硬件設計3</p><p> 2.1 模塊設計電路3</p><p> 2.1.1 時鐘電路3</p><p> 2.1.2 復位電路4</p><p> 2.2 Protues仿真電路4</p><p> 2.3 逐次逼近式A/D轉(zhuǎn)換模塊設計5</p>
4、;<p> 2.3.1 ADC0808簡介5</p><p> 2.3.2 A/D轉(zhuǎn)換電路設計6</p><p> 第3章 軟件設計7</p><p> 3.1 主程序設計7</p><p><b> 第4章 總結7</b></p><p><b>
5、附錄:程序清單8</b></p><p><b> 1 設計內(nèi)容</b></p><p><b> 1.1 設計任務</b></p><p> 利用單片機AT89C51和ADC0809設計一個數(shù)字電壓表,能夠測量0—5V之間的直流電壓值,四位數(shù)碼顯示。</p><p><b
6、> 1.2 設計要求</b></p><p> 測量最小分辨率為0.019V,測最誤差約為 0.02V。</p><p><b> 1.3 方法選擇</b></p><p> 實現(xiàn)數(shù)字電壓表的方案較多,目前廣泛采用的是基于74系列邏輯器件方案,本設計將介紹基于單片機實現(xiàn)的方案。</p><p>
7、; 74系列邏輯器件方案采用雙積分電路+液晶顯示器+邏輯電路+定時采樣電路+數(shù)據(jù)處理實現(xiàn),被測電壓信號由信號輸入端加到測量系統(tǒng),進行預處理后送到后級電路。</p><p> 單片機系統(tǒng)方案此方案采用輸入處理電路+ADC0808+AT89C51+液晶顯示實現(xiàn),被測信號由ADC0808模擬輸入端輸入,單片機采集轉(zhuǎn)換數(shù)據(jù),將轉(zhuǎn)換數(shù)據(jù)送出顯示。</p><p> 系統(tǒng)除能確保實現(xiàn)要求的功能外
8、,還可以方便地進行8路其它A/D轉(zhuǎn)換量的測量、遠程測量結果傳送等擴展功能。我們做好了現(xiàn)在的電路圖,經(jīng)過仿真,我們達到了預期的結果。</p><p><b> 方案設計</b></p><p><b> (1)方案邏輯圖。</b></p><p><b> 圖1-1方案邏輯圖</b></p&
9、gt;<p><b> ?。?)原理框圖</b></p><p> 圖1-2設計方案原理框圖</p><p><b> (3)設計模塊</b></p><p><b> LED顯示模塊</b></p><p><b> 時鐘、復位電路</b
10、></p><p> ADC0808數(shù)模轉(zhuǎn)換模塊</p><p> AT89C51單片機控制模塊</p><p><b> 2 硬件設計</b></p><p> 2.1 模塊設計電路</p><p><b> 單片機控制模塊設計</b></p>
11、<p> 單片機控制模塊的作用是為控制各單元電路的運行并完成數(shù)據(jù)的換算或處理,主要由單片機、時鐘電路、復位電路組成。</p><p> 2.1.1 時鐘電路</p><p> 單片機工作的時間基準是由時鐘電路提供的,在單片機的XTAL1和XYAL2兩個管腳接一只晶振及兩只電容就構成了單片機的時鐘電路,電路中電容器和對振蕩頻率有微調(diào)作用,通常取(30±10)pF
12、石英晶體選擇6MHz或12MHz都可以。時鐘電路如圖2-1所示。</p><p> 2.1.2 系統(tǒng)復位電路</p><p> 單片機的RST管腳為主機提供了一個外部復位信號輸入口。復位信號是高電平有效,高電平有效的持續(xù)時間為2個機器周期以上。單片機的復位方式可由手動復位方式完成。</p><p> 2.2 Protues仿真電路</p><
13、;p> 圖2-2 Protues仿真電路原理圖</p><p> 圖2-2所示。A/D轉(zhuǎn)換由集成電路0808完成,0808具有8路模擬輸入端口,地址線(23~25腳)可決定對哪一路模擬輸入作A/D轉(zhuǎn)換。22腳為地址鎖存控制,當輸入為高電平時,對地址信號進行鎖存。6腳為測試控制,當輸入一個2μS寬高電平脈沖時,就開始A/D轉(zhuǎn)換。7腳為A/D轉(zhuǎn)換結束標志,當A/D轉(zhuǎn)換結束時,7腳輸出高電平。9腳為A/D轉(zhuǎn)換
14、數(shù)據(jù)輸出允許控制,當OE腳為高電平時,A/D轉(zhuǎn)換數(shù)據(jù)從端口輸出10腳為0808的時鐘輸入端,利用單片機30腳的六分頻晶振頻率再通過14024二分頻得到1MHz時鐘。單片機的P1、P3.0~P3.3端口作為四位LED數(shù)碼管顯示控制。P3.5端口用作單路顯示/循環(huán)顯示轉(zhuǎn)換按鈕,P3.6端口用作單路顯示時選擇通道。P0端口作A/D轉(zhuǎn)換數(shù)據(jù)讀入用,P2端口用作0808的A/D轉(zhuǎn)換控制。</p><p> 2.3 逐次
15、逼近式A/D轉(zhuǎn)換模塊設計</p><p> 2.3.1 ADC0808簡介</p><p> (1).ADC0808引腳功能</p><p> IN0~IN7:8路模擬量輸入。A、B、C:3位地址輸入,2個地址輸入端的不同組合選擇八路模擬量輸入。</p><p> ALE:地址鎖存啟動信號,在ALE的上升沿,將A、B、C上的通道地址
16、鎖存到內(nèi)部的地址鎖存器。</p><p> D0~D7:八位數(shù)據(jù)輸出線,A/D轉(zhuǎn)換結果由這8根線傳送給單片機。</p><p> OE:允許輸出信號。當OE=1時,即為高電平,允許輸出鎖存器輸出數(shù)據(jù)。</p><p> START:啟動信號輸入端,START為正脈沖,其上升沿清除ADC0808的內(nèi)部的各寄存器,其下降沿啟動A/D開始轉(zhuǎn)換。</p>
17、<p> EOC:轉(zhuǎn)換完成信號,當EOC上升為高電平時,表明內(nèi)部A/D轉(zhuǎn)換已完成。</p><p> ?。?).ADC0808內(nèi)部結構圖</p><p> 圖2-4 ADC0808內(nèi)部結構</p><p> 逐次逼近型A/D轉(zhuǎn)換器ADC0808由八路模擬開關、地址鎖存與譯碼器、比較器、D/A轉(zhuǎn)換器、寄存器、控制電路和三態(tài)輸出鎖存器等組成。<
18、/p><p> 2.3.2 A/D轉(zhuǎn)換電路設計</p><p> 圖ADC0808與單片機的連接</p><p><b> 3 軟件設計</b></p><p> 3.1 系統(tǒng)主程序設計</p><p> (1) 初始化程序</p><p> 系統(tǒng)上電時,初始化
19、程序?qū)?0H~77H內(nèi)存單元清0,P2口置0。</p><p><b> ?。?) 主程序</b></p><p> 在剛上電時,系統(tǒng)默認為循環(huán)顯示8個通道的電壓值狀態(tài)。當進行一次測量后,將顯示每一通道的A/D轉(zhuǎn)換值,每個通道的數(shù)據(jù)顯示時間為1s左右。主程序在調(diào)用顯示子程序和測試子程序之間循環(huán),主程序流程圖見圖3-1</p><p> 圖
20、3-1 主程序流程圖</p><p><b> (3) 顯示子程序</b></p><p> 顯示子程序采用動態(tài)掃描法實現(xiàn)四位數(shù)碼管的數(shù)值顯示。測量所得的A/D轉(zhuǎn)換數(shù)據(jù)放在70H~77H內(nèi)存單元中,測量數(shù)據(jù)在顯示時需轉(zhuǎn)換成為十進制BCD碼放在78H~7BH內(nèi)存單元中,其中7BH存放通道標志數(shù)。寄存器R3用作8路循環(huán)控制,R0用作顯示數(shù)據(jù)地址指針。</p>
21、;<p> ?。?)模/數(shù)轉(zhuǎn)換測量子程序</p><p> 模/數(shù)轉(zhuǎn)換測量子程序用來控制對0808八路模擬輸入電壓的A/D轉(zhuǎn)換,并將對應的數(shù)值移入70H~77H內(nèi)存單元。</p><p><b> 4 總結</b></p><p> 仿真測試表明,系統(tǒng)性能良好,測量讀數(shù)穩(wěn)定易讀、更新速度合理,直流電壓測量范圍為0~5V,最小
22、分辨率為0.02V,滿足任務書指標要求。但是,該系統(tǒng)也存在一定程度的不足,例如:</p><p> 1、輸入電壓易發(fā)生干擾不穩(wěn)定,且驅(qū)動能力可能存在不足,需在被測信號的輸入端加上一部分驅(qū)動電路,比如將量程轉(zhuǎn)換電路改成帶放大能力的自動量程轉(zhuǎn)換電路,將幅值較小的信號經(jīng)適當放大后再測量,可顯著提高精度;</p><p> 2、輸出量可用平均值算法來改善,使測量準確度更高。</p>
23、<p> 3、若能將測量的電壓值實時保存,使用時將更方便。</p><p> 4、ADC0808可實現(xiàn)對8個通道的輸入信號輪流轉(zhuǎn)換,本設計僅僅使用了其中一個通道,造成了較大的資源浪費。若能對電路稍加改進,實現(xiàn)對多路信號的輪流測量并自動保存相應結果,其應用價值將會更大。</p><p> 此次數(shù)字電壓表的設計我們小組成員認真參與,積極探討,很好地完成了設計,我們把所學知識
24、加以運用,收獲良多……</p><p><b> 附錄:程序清單</b></p><p> LED_0EQU 30H</p><p> LED_1 EQU 31H</p><p> LED_2 EQU 32H ;存放段碼</p><p> ADCEQU35
25、H</p><p> CLOCKBITP2.4;定義ADC0808時鐘位</p><p> ST BIT P2.5</p><p> EOC BIT P2.6</p><p> OE BIT P2.7</p><p><b> ORG 00H</b><
26、/p><p> SJMPSTART</p><p><b> ORG0BH</b></p><p> LJMPINT_T0</p><p> START:MOVLED_0,#00H</p><p> MOVLED_1,#00H</p><p> M
27、OVLED_2,#00H</p><p> MOVDPTR,#TABLE;段碼表首地址</p><p> MOVTMOD,#02H</p><p> MOVTH0,#245</p><p> MOVTL0,#00H</p><p> MOVIE,#82H</p>&l
28、t;p><b> SETBTR0</b></p><p> WAIT: CLR ST </p><p><b> SETB ST</b></p><p> CLR ST;啟動AD轉(zhuǎn)換</p><p> JNB EOC,$;等待轉(zhuǎn)換結束</p&
29、gt;<p><b> SETB OE </b></p><p> MOV ADC,P1;讀取AD轉(zhuǎn)換結果</p><p><b> CLR OE</b></p><p> MOV A,ADC</p><p> MOV B,#100;AD轉(zhuǎn)換結果轉(zhuǎn)換
30、成BCD碼</p><p><b> DIV AB</b></p><p> MOV LED_2,A</p><p><b> MOV A,B</b></p><p> MOV B,#10</p><p><b> DIV AB</b>
31、;</p><p> MOV LED_1,A</p><p> MOV LED_0,B</p><p> LCALLDISP</p><p> SJMP WAIT</p><p> INT_T0:CPLCLOCK ;提供ADC0808時鐘信號</p><p><
32、;b> RETI</b></p><p> DISP:mov dptr,#table</p><p> MOVA,LED_0;數(shù)碼顯示子程序</p><p> MOVCA,@A+DPTR</p><p><b> CLRP2.3</b></p><p&
33、gt;<b> MOVP0,A</b></p><p> LCALLDELAY</p><p><b> SETBP2.3</b></p><p> mov dptr,#table</p><p> MOVA,LED_1</p><p> MOVC
34、A,@A+DPTR</p><p><b> CLRP2.2</b></p><p><b> MOVP0,A</b></p><p> LCALLDELAY</p><p><b> SETBP2.2</b></p><p> mov
35、 dptr,#table</p><p> MOVA,LED_2</p><p> MOVCA,@A+DPTR</p><p> setb acc.7</p><p><b> CLRP2.1</b></p><p><b> MOVP0,A</b&g
36、t;</p><p> LCALLDELAY</p><p><b> SETBP2.1</b></p><p><b> RET</b></p><p> DELAY:MOVR6,#10;延時5毫秒</p><p> D1:MOVR7,#250&
37、lt;/p><p><b> DJNZR7,$</b></p><p> DJNZR6,D1</p><p><b> ntov: </b></p><p> mov dptr,#tab</p><p> mov a,adc </p><p&g
38、t; movc a,@a+dptr</p><p><b> mov b,#2</b></p><p><b> div ab</b></p><p><b> mov r1,b</b></p><p><b> mov r1,b</b><
39、/p><p><b> mov b,#10</b></p><p><b> div ab</b></p><p> mov led_2,a</p><p> mov led_1,b</p><p> cjne r1,#01,kk1</p><p&g
40、t; mov led_0,#05</p><p> back: ret</p><p> kk1: mov led_0,#00</p><p><b> ajmp back</b></p><p><b> RET</b></p><p> TABLE:
41、 DB 3FH,06H,5BH,4FH,66H</p><p> DB 6DH,7DH,07H,7FH,6FH</p><p><b> tab:</b></p><p> db 0, 0 , 0 ,1,0,2,0,0,3,0</p><p> db4,
42、0,0,5,0,6,0,0,7,0</p><p> db8,0,0,9,0,0,10,0,11,0</p><p> db0,12,0,13,0,0,14,0,15,0</p><p> db0,16,0,17,0,0,18,0,19,0</p><p>
43、db0,20,0,0,21,0,22,0,0,23</p><p> db0,24,0,0,25,0,26,0,0,27</p><p> db0,28,0,0,29,0,0,30,0,31</p><p> db0,0,32,0,33,0,0,34,0,35</p>
44、<p> db0,0,36,0,37,0,0,38,0,39</p><p> db0,0,40,0,0,41,0,42,0,0</p><p> db43,0,44,0,0,45,0,46,0,0</p><p> db47,0,48,0,0,49,0,50,0,0
45、</p><p> db51,0,0,52,0,53,0,0,54,0</p><p> db55,0,0,56,0,57,0,0,58,0</p><p> db59,0,0,60,0,0,61,0,62,0</p><p> db0,63,0,64,0,0,
46、65,0,66,0</p><p> db0,67,0,68,0,0,69,0,70,0</p><p> db0,71,0,0,72,0,73,0,0,74</p><p> db0,75,0,0,76,0,77,0,0,78</p><p> db0,79,0
47、,0,80,0,0,81,0,82</p><p> db0,0,83,0,84,0,0,85,0,86</p><p> db0,0,87,0,88,0,0,89,0,90</p><p> db0,0,91,0,0,92,0,93,0,0</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計
- 數(shù)字電壓表設計-課程設計
- 課程設計---數(shù)字電壓表設計
- 數(shù)字電壓表設計課程設計
- 數(shù)字電壓表設計-課程設計
- 簡易數(shù)字電壓表課程設計
- 數(shù)字電壓表課程設計 (2)
- 數(shù)字電壓表課程設計.doc
- 數(shù)字電壓表課程設計報告
- 數(shù)字電壓表的課程設計
- 數(shù)字電壓表課程設計.doc
- 課程設計報告--數(shù)字電壓表
評論
0/150
提交評論