版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 微機原理課程設(shè)計</b></p><p><b> 報 告 書</b></p><p> 課 題 名 溫度測控系統(tǒng) </p><p><b> 目錄</b></p><p> 設(shè)計目的-------------
2、------------------------------- 3</p><p> 二、設(shè)計內(nèi)容和要求-------------------------------------- 3</p><p> 三、設(shè)計原理-------------------------------------------- 3</p><p> 四、程序代碼-----------
3、--------------------------------- 6</p><p> 五、硬件系統(tǒng)調(diào)試---------------------------------------- 10</p><p> 六、設(shè)計總結(jié)與體會-------------------------------------- 13</p><p> 七、參考文獻---------
4、----------------------------------- 14</p><p> Proteus是英國Labcenter公司開發(fā)的電路分析與實物仿真及印制電路板設(shè)計軟件,它可以仿真、分析各種模擬電路與集成電路。軟件提供了大量模擬與數(shù)字元器件及外部設(shè)備,各種虛擬儀器,特別是它具有對單片機及其外圍電路組成的綜合系統(tǒng)的交互仿真功能。Proteus 7主要由ISIS和ARES兩部分組成,ISIS的主要功能
5、是原理圖設(shè)計及與電路原理圖的交互仿真,ARES主要用于印制電路板的設(shè)計。</p><p><b> 一、設(shè)計目的</b></p><p> 1.鞏固和加深課堂所學(xué)知識;通過課程設(shè)計,熟悉和掌握微機系統(tǒng)的軟件、硬件設(shè)計的方法、設(shè)計步驟,得到微機開發(fā)應(yīng)用方面的初步訓(xùn)練。</p><p> 2.學(xué)習(xí)掌握一般的硬件的設(shè)計方法和查閱、運用資料的能力
6、;真正做到理論聯(lián)系實際,提高動手能力和分析問題、解決問題的能力,實現(xiàn)由學(xué)習(xí)知識到應(yīng)用知識的初步過渡。</p><p> 3.熟練掌握微機系統(tǒng)與接口擴展電路的設(shè)計方法,熟練應(yīng)用8086匯編語言編寫應(yīng)用程序和實際設(shè)計中的硬軟件調(diào)試方法和步驟,熟悉微機系統(tǒng)的硬軟件開發(fā)工具的使用方法</p><p> 4.通過溫度測控系統(tǒng)仿真系統(tǒng)設(shè)計與制作,深入了解與掌握數(shù)模轉(zhuǎn)換,數(shù)碼管顯示和電動機驅(qū)動的方法
7、,熟悉proteus軟件操作。</p><p><b> 二、設(shè)計內(nèi)容和要求</b></p><p> 總體要求:根據(jù)題意自行設(shè)計電路,在實驗箱上連接線路并編寫相關(guān)匯編程序,調(diào)試成功。</p><p><b> 設(shè)計內(nèi)容:</b></p><p> 利用ADC0809采用中斷方式設(shè)計一個溫度
8、測控系統(tǒng),在七段數(shù)碼管上顯示溫度值,并根據(jù)測試的溫度進行控制。當(dāng)檢測溫度到達溫度上限60℃時啟動直流電動機,而溫度低于下限30℃時停止電動機。數(shù)碼管上的顯示內(nèi)容為:XX C(采用十進制顯示)</p><p><b> 三、設(shè)計原理</b></p><p> 溫度測試系統(tǒng)主要由溫度傳感器、A/D轉(zhuǎn)換、顯示及電動機塊組成。溫度傳感器將外部溫度信號轉(zhuǎn)換為電壓信號,經(jīng)放大
9、電路,再經(jīng)由ADC0808轉(zhuǎn)化為數(shù)字信號進行處理,軟件中對數(shù)字量進行判斷,并作相應(yīng)的跳轉(zhuǎn),由8255實現(xiàn)正常顯示和啟動電動機。各個芯片由8086來進行整體的控制。</p><p><b> 1.電路原理圖</b></p><p> 上圖中ADC0808的INO輸入端接溫度傳感的ANZ端,進行溫度量的采集,CLOCK接1M;8255A中A、B口與數(shù)碼管連接如上圖,P
10、A0接直流電機的OUTPUT,其中地址端口接40H。</p><p><b> 2.系統(tǒng)功能框圖</b></p><p><b> 3.程序流程圖</b></p><p> 上圖實現(xiàn)了本次實驗所要要求的功能:檢測溫度到達溫度上限60℃時啟動直流電動機,而溫度低于下限30℃時停止電動機,并在數(shù)碼管上顯示所采集到的數(shù)字量
11、和轉(zhuǎn)換后的模擬量。程序采用中斷處理的方式。</p><p><b> 四、程序代碼</b></p><p> DATA SEGMENT</p><p> tab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h</p><p>&l
12、t;b> buf db 0 </b></p><p> a8255 equ 40h ;8255的A,B,C口及控制口地址</p><p> b8255 equ 42h</p><p> c8255 equ 44h</p><p> Q8255 equ 46h</p><p>
13、; adc0808 equ 20h ;ADC0808端口地址</p><p> DATA ENDS</p><p> CODE SEGMENT 'CODE'</p><p> ASSUME DS:DATA,CS:CODE</p><p> START:movax,data</p&g
14、t;<p><b> movds,ax</b></p><p> cli ;關(guān)中斷</p><p> mov dx,Q8255 ; 8255A初始化設(shè)置。8255A控制字,A口為輸出,B 口為輸出, C口的高四位為輸出</p><p> moval,80h</p><p>
15、<b> outdx,al</b></p><p> mov ax,0 ;設(shè)置中斷向量,非屏蔽中斷NMI</p><p><b> mov es,ax</b></p><p> mov si,02H*4</p><p> mov ax,offset int0<
16、/p><p> mov es:[si],ax</p><p> mov ax,seg int0</p><p> mov es: [si+2],ax</p><p> mov al,00010011b ;設(shè)置ICW1</p><p> mov dx,30H</p><p>
17、<b> out dx,al</b></p><p> mov al,00010000b ;ICW2</p><p> mov dx,32h</p><p> out dx,al</p><p> mov al,1bh ;ICW4</p><p>
18、;<b> out dx,al</b></p><p> mov al,0feH ;OCW1</p><p><b> out dx,al</b></p><p> mov al,80H ;OCW2</p><p> mov dx,30H</p&g
19、t;<p><b> out dx,al</b></p><p> sti ;開中斷</p><p> movsi,offset buf</p><p> MAIN :movdx,adc0808 ;啟動ADC0808轉(zhuǎn)換</p><p><b>
20、 moval,0</b></p><p> outdx,al</p><p> mov al,80H ;OCW2</p><p> mov dx,30H</p><p><b> out dx,al</b></p><p> MOV CX,5<
21、;/p><p> MON:moval,[si]</p><p><b> movah,0</b></p><p><b> movbl,20</b></p><p><b> divbl</b></p><p> movbx,offse
22、t tab</p><p> xlat ;換碼指令,換成對應(yīng)的段碼</p><p> movdx,b8255 ;顯示十位</p><p><b> outdx,al</b></p><p> moval,11101111b ;位碼選通</p&
23、gt;<p> movdx,c8255</p><p><b> outdx,al</b></p><p> call DELAY_1S</p><p> moval,0ffh ;不選中任何位選</p><p><b> outdx,al</b>
24、</p><p><b> moval,ah</b></p><p><b> movah,0</b></p><p><b> movbl,2</b></p><p><b> divbl</b></p><p>
25、 movbx,offset tab</p><p> xlat ;換碼指令</p><p> oral,80h ;個位帶小數(shù)點</p><p> movdx,b8255</p><p> outdx,al ;顯示個位及小數(shù)點
26、</p><p> moval,11011111b ;位碼選通</p><p> movdx,c8255</p><p><b> outdx,al</b></p><p> call DELAY_1S ;調(diào)用延時</p><p> moval,0
27、ffh ;不選中任何位選</p><p><b> outdx,al</b></p><p> moval,ah ;小數(shù)位顯示</p><p> movbx,offset tab</p><p><b> xlat</b></p>
28、;<p> movdx,b8255</p><p><b> outdx,al</b></p><p> moval,10111111b</p><p> movdx,c8255</p><p><b> outdx,al</b></p><p&
29、gt; call DELAY_1S</p><p> moval,0ffh</p><p><b> outdx,al</b></p><p> moval,01111111b</p><p><b> outdx,al</b></p><p> mov
30、al,00111001b ;顯示最后字母”C”</p><p> movdx,b8255</p><p><b> outdx,al</b></p><p> call DELAY_1S</p><p> movdx,c8255</p><p> moval,0ff
31、h</p><p><b> outdx,al</b></p><p> call DELAY_1S</p><p> moval,[si]</p><p> shral,1 ;邏輯右移一位,減小位擴展時的誤差</p><p> cmp al,30
32、 ;溫度低于30時,跳到down</p><p><b> jbdown</b></p><p> cmp al,60 ;溫度高于60度時,跳到up</p><p><b> jaup</b></p><p><b> jmpMAIN
33、 </b></p><p> LOOP MON</p><p> down:mov dx,a8255</p><p> moval,00h ;PA0輸出0,低電平不啟動電機</p><p><b> outdx,al</b></p><p>&
34、lt;b> jmpMAIN </b></p><p> up:mov dx,a8255 </p><p> moval,01h ;PA0輸出1,高電平啟動電機</p><p><b> outdx,al</b></p><p> jmp MAIN </
35、p><p> int0 proc near ;中斷程序</p><p><b> push ax</b></p><p><b> push bx</b></p><p><b> PUSH SI</b></p><p>
36、;<b> pushf</b></p><p><b> CLI</b></p><p> movdx,adc0808 ;讀取轉(zhuǎn)換好的數(shù)據(jù)</p><p><b> inal,dx</b></p><p> mov[si],al</p>&
37、lt;p> mov al,80H ;OCW2</p><p> mov dx,30H </p><p><b> out dx,al</b></p><p><b> sti</b></p><p><b> popf</b></p&
38、gt;<p><b> POP SI</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> iret</b></p><p><b> int0
39、endp</b></p><p> DELAY_1Sproc ;延時子程序</p><p><b> Push bx</b></p><p><b> Push cx</b></p><p> push si</p><p>
40、<b> movbx,1</b></p><p> LP2:movcx,10</p><p> LP1:LOOPLP1</p><p><b> DECbx</b></p><p><b> JNZ LP2</b></p><p>
41、;<b> Pop si</b></p><p><b> Pop cx</b></p><p><b> Pop bx</b></p><p><b> ret</b></p><p> DELAY_1S ENDP</p>&
42、lt;p><b> CODEENDS</b></p><p><b> ENDSTART</b></p><p><b> 五、硬件系統(tǒng)調(diào)試</b></p><p><b> 譯碼電路:</b></p><p><b> 顯示
43、電路: </b></p><p><b> 模數(shù)轉(zhuǎn)化電路:</b></p><p><b> 中斷電路:</b></p><p><b> 電動機電路:</b></p><p> 調(diào)試過程中遇到的主要問題和解決辦法</p><p>
44、; (1)仿真過程中,不能啟動模數(shù)轉(zhuǎn)換電路</p><p> 仿真運行中,改變模擬信號時,系統(tǒng)并不能做出相應(yīng)的顯示。</p><p><b> 解決辦法:</b></p><p> 利用debug下8086\Source Code 單步運行調(diào)試程序后,發(fā)現(xiàn)程序返回點過了0809啟動的程序段,所以將程序中返回點由MON改至MAIM啟動處,
45、進而實現(xiàn)程序啟動。</p><p> ?。?)當(dāng)壓力超出30~60范圍,程序里只調(diào)用電機停止模塊,而不調(diào)用數(shù)碼管顯示模塊。單步調(diào)試發(fā)現(xiàn),此時數(shù)碼管顯示模塊被跳過。</p><p><b> 解決辦法:</b></p><p> 在電機控制程序段結(jié)束后,跳轉(zhuǎn)到數(shù)碼管顯示部分。</p><p><b> 六、
46、設(shè)計總結(jié)與體會</b></p><p> 這次微機原理的課程設(shè)計歷時一個星期,我們組做的是一個溫度測控系統(tǒng),同時采用了中斷控制,用到了ADC0809、8255A和8259A等芯片。通過上網(wǎng)進行了相關(guān)內(nèi)容的查詢,了解了實驗的基本原理,設(shè)計出了本系統(tǒng)的基本思想,然后按照實驗的要求由簡單到難,逐步實現(xiàn)了在七段數(shù)碼管上顯示出采集過來的數(shù)字量部分,在此基礎(chǔ)之上實現(xiàn)了當(dāng)檢測溫度到數(shù)字量上限60時啟動直流電動機,
47、而溫度低于下限30時停止電動機這個功能。以前對編程工具的使用還處于一知半解的狀態(tài),但是經(jīng)過了一段上機的實踐,對于怎么排錯,差錯,怎么看每一步的運行結(jié)果,怎么去了解每個寄存器的內(nèi)容以確保程序的正確性上都有了很大程度的提高。由于實驗采集到的數(shù)字量不是很直觀,最后我們將三位的數(shù)字量轉(zhuǎn)換為了溫度并和數(shù)字量一并在數(shù)碼管上顯示出來,進一步完善了本系統(tǒng)。</p><p> 在實現(xiàn)各個功能的過程中遇到的主要問題:(1)中斷程序
48、不執(zhí)行,0809不能啟動,這個問題經(jīng)過單步調(diào)試才發(fā)現(xiàn)是跳轉(zhuǎn)的程序段不正確。(2)第二個問題是經(jīng)老師提醒才發(fā)現(xiàn),設(shè)計電路在采集。</p><p> 相當(dāng)于把所學(xué)的接口知識又復(fù)習(xí)了一遍,同時將平時實驗中存在的一些疑問都解決掉了。對于8255數(shù)碼管的顯示和0809 A/D轉(zhuǎn)換器基本工作原理有了更深入的了解,對兩者結(jié)合起來實現(xiàn)比較復(fù)雜的功能(本實驗中實現(xiàn)了在數(shù)碼管上顯示溫度值,并用溫度值來控制直流電機的運行情況的功能)
49、也有了一定的了解。</p><p> 通過這次課程設(shè)計使我懂得了理論和實踐相結(jié)合起來是很重要的,從理論中知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識和實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。</p><p><b> 七、參考文獻</b></p><p> [1] 顧暉,梁惺彥.微機原理
50、與接口技術(shù)—基于8086和Proteus仿真[M].北京:電子工業(yè)出版社,2011,262-293</p><p> [2] 徐晨,陳繼紅.微機原理及應(yīng)用[M].北京:高等教育出版社,2004</p><p> [3] 康華光.電子技術(shù)基礎(chǔ)(數(shù)電部分)[M].北京:高等教育出版社,2006,143-151</p><p> [4] 沈美明,溫冬嬋.IBM-PC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理壓力測控系統(tǒng)課程設(shè)計
- 微機原理壓力測控系統(tǒng)課程設(shè)計--壓力測控系統(tǒng)設(shè)計
- 微機原理課程設(shè)計--溫度采集系統(tǒng)
- 微機原理課程設(shè)計---溫度采集系統(tǒng)報告
- 數(shù)字溫度計(微機原理課程設(shè)計)
- 溫度測控課程設(shè)計
- 微機課程設(shè)計---溫度控制系統(tǒng)
- 微機原理課程設(shè)計
- 多路智能溫度測控系統(tǒng)設(shè)計_課程設(shè)計
- 微機課程設(shè)計報告--溫度巡回檢測系統(tǒng)
- 微機原理課程設(shè)計----電壓采集系統(tǒng)
- 微機原理課程設(shè)計--電機調(diào)速系統(tǒng)設(shè)計
- 基于8086的溫度測控系統(tǒng)課程設(shè)計
- 溫度測控器課程設(shè)計
- 微機原理課程設(shè)計報告
- 微機原理課程設(shè)計.rar
- 微機原理課程設(shè)計報告
- 2017微機原理課程設(shè)計
- 微機原理課程設(shè)計.rar
- 微機原理課程設(shè)計.rar
評論
0/150
提交評論