微機原理課程設計 溫度測控系統_第1頁
微機原理課程設計 溫度測控系統_第2頁
微機原理課程設計 溫度測控系統_第3頁
微機原理課程設計 溫度測控系統_第4頁
微機原理課程設計 溫度測控系統_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、南通大學電子信息學院微機原理課程設計報 告 書 課 題 名 溫度測控系統 班 級 _ _集成092_ _ 姓 名 _ 杜軼群 指導教師 胡慧 日 期 2012.6.112012.6.15 組長:劉奇組員:宋林峰 張偉 杜軼群目錄1、 設計目的- 3二、設計內容和要求- 3三、設計原理- 3四、程序代碼- 6五、硬件系統調試- 10六、設計總結與體會- 13七、參考文獻- 14proteus是英國labcenter公司開發的電路分析與實物仿真及印制電路板設計軟件,它可以仿真、分析各種模擬電路與集成電路。軟件提供了大量模擬與數字元器件及外部設備,各種虛擬儀器,特別是它具有對單片機及其外圍電路組成的

2、綜合系統的交互仿真功能。proteus 7主要由isis和ares兩部分組成,isis的主要功能是原理圖設計及與電路原理圖的交互仿真,ares主要用于印制電路板的設計。一、設計目的1.鞏固和加深課堂所學知識;通過課程設計,熟悉和掌握微機系統的軟件、硬件設計的方法、設計步驟,得到微機開發應用方面的初步訓練。2.學習掌握一般的硬件的設計方法和查閱、運用資料的能力;真正做到理論聯系實際,提高動手能力和分析問題、解決問題的能力,實現由學習知識到應用知識的初步過渡。3.熟練掌握微機系統與接口擴展電路的設計方法,熟練應用8086匯編語言編寫應用程序和實際設計中的硬軟件調試方法和步驟,熟悉微機系統的硬軟件開

3、發工具的使用方法4.通過溫度測控系統仿真系統設計與制作,深入了解與掌握數模轉換,數碼管顯示和電動機驅動的方法,熟悉proteus軟件操作。二、設計內容和要求總體要求:根據題意自行設計電路,在實驗箱上連接線路并編寫相關匯編程序,調試成功。設計內容:利用adc0809采用中斷方式設計一個溫度測控系統,在七段數碼管上顯示溫度值,并根據測試的溫度進行控制。當檢測溫度到達溫度上限60時啟動直流電動機,而溫度低于下限30時停止電動機。數碼管上的顯示內容為:xx c(采用十進制顯示) 三、設計原理溫度測試系統主要由溫度傳感器、a/d轉換、顯示及電動機塊組成。溫度傳感器將外部溫度信號轉換為電壓信號,經放大電路

4、,再經由adc0808轉化為數字信號進行處理,軟件中對數字量進行判斷,并作相應的跳轉,由8255實現正常顯示和啟動電動機。各個芯片由8086來進行整體的控制。1.電路原理圖直流電動機上圖中adc0808的ino輸入端接溫度傳感的anz端,進行溫度量的采集,clock接1m;8255a中a、b口與數碼管連接如上圖,pa0接直流電機的output,其中地址端口接40h。2.系統功能框圖單片機控制電路溫度傳感a/d轉換電路數碼管顯示3.程序流程圖開始初始化8255a選0809通道0并啟動a/d讀a/d轉換結果溫度60啟動直流電動機溫度=30停止電動機數碼管數值顯示延時上圖實現了本次實驗所要要求的功能

5、:檢測溫度到達溫度上限60時啟動直流電動機,而溫度低于下限30時停止電動機,并在數碼管上顯示所采集到的數字量和轉換后的模擬量。程序采用中斷處理的方式。四、程序代碼data segmenttab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71hbuf db 0 a8255 equ 40h ;8255的a,b,c口及控制口地址b8255 equ 42hc8255 equ 44hq8255 equ 46hadc0808 equ 20h ;adc0808端口地址data endscode segment codeass

6、ume ds:data,cs:codestart:movax,datamovds,axcli ;關中斷mov dx,q8255 ; 8255a初始化設置。8255a控制字,a口為輸出,b 口為輸出, c口的高四位為輸出moval,80houtdx,almov ax,0 ;設置中斷向量,非屏蔽中斷nmimov es,axmov si,02h*4mov ax,offset int0mov es:si,axmov ax,seg int0mov es: si+2,axmov al,00010011b ;設置icw1mov dx,30hout dx,almov al,00010000b ;icw2mov

7、 dx,32hout dx,almov al,1bh ;icw4out dx,almov al,0feh ;ocw1out dx,almov al,80h ;ocw2mov dx,30hout dx,alsti ;開中斷movsi,offset bufmain :movdx,adc0808 ;啟動adc0808轉換moval,0outdx,almov al,80h ;ocw2mov dx,30hout dx,almov cx,5mon:moval,simovah,0movbl,20divblmovbx,offset tabxlat ;換碼指令,換成對應的段碼movdx,b8255 ;顯示十位o

8、utdx,almoval,11101111b ;位碼選通movdx,c8255outdx,alcall delay_1smoval,0ffh ;不選中任何位選outdx,almoval,ahmovah,0movbl,2divblmovbx,offset tabxlat ;換碼指令oral,80h ;個位帶小數點movdx,b8255outdx,al ;顯示個位及小數點moval,11011111b ;位碼選通movdx,c8255outdx,alcall delay_1s ;調用延時moval,0ffh ;不選中任何位選outdx,almoval,ah ;小數位顯示movbx,offset t

9、abxlatmovdx,b8255outdx,almoval,10111111bmovdx,c8255outdx,alcall delay_1smoval,0ffhoutdx,almoval,01111111boutdx,almoval,00111001b ;顯示最后字母”c”movdx,b8255outdx,alcall delay_1smovdx,c8255moval,0ffhoutdx,alcall delay_1smoval,sishral,1 ;邏輯右移一位,減小位擴展時的誤差cmp al,30 ;溫度低于30時,跳到downjbdowncmp al,60 ;溫度高于60度時,跳到u

10、pjaupjmpmain loop mondown:mov dx,a8255moval,00h ;pa0輸出0,低電平不啟動電機outdx,aljmpmain up:mov dx,a8255 moval,01h ;pa0輸出1,高電平啟動電機outdx,aljmp main int0 proc near ;中斷程序push axpush bxpush sipushfclimovdx,adc0808 ;讀取轉換好的數據inal,dxmovsi,almov al,80h ;ocw2mov dx,30h out dx,alstipopfpop sipop bxpop axiretint0 endpd

11、elay_1sproc ;延時子程序 push bx push cxpush simovbx,1lp2:movcx,10lp1:looplp1decbxjnz lp2pop sipop cxpop bxret delay_1s endpcodeendsendstart五、硬件系統調試譯碼電路:顯示電路: 模數轉化電路:中斷電路:電動機電路: 調試過程中遇到的主要問題和解決辦法 (1)仿真過程中,不能啟動模數轉換電路仿真運行中,改變模擬信號時,系統并不能做出相應的顯示。解決辦法: 利用debug下8086source code 單步運行調試程序后,發現程序返回點過了0809啟動的程序段,所以將程

12、序中返回點由mon改至maim啟動處,進而實現程序啟動。(2)當壓力超出3060范圍,程序里只調用電機停止模塊,而不調用數碼管顯示模塊。單步調試發現,此時數碼管顯示模塊被跳過。解決辦法: 在電機控制程序段結束后,跳轉到數碼管顯示部分。 六、設計總結與體會這次微機原理的課程設計歷時一個星期,我們組做的是一個溫度測控系統,同時采用了中斷控制,用到了adc0809、8255a和8259a等芯片。通過上網進行了相關內容的查詢,了解了實驗的基本原理,設計出了本系統的基本思想,然后按照實驗的要求由簡單到難,逐步實現了在七段數碼管上顯示出采集過來的數字量部分,在此基礎之上實現了當檢測溫度到數字量上限60時啟

13、動直流電動機,而溫度低于下限30時停止電動機這個功能。以前對編程工具的使用還處于一知半解的狀態,但是經過了一段上機的實踐,對于怎么排錯,差錯,怎么看每一步的運行結果,怎么去了解每個寄存器的內容以確保程序的正確性上都有了很大程度的提高。由于實驗采集到的數字量不是很直觀,最后我們將三位的數字量轉換為了溫度并和數字量一并在數碼管上顯示出來,進一步完善了本系統。在實現各個功能的過程中遇到的主要問題:(1)中斷程序不執行,0809不能啟動,這個問題經過單步調試才發現是跳轉的程序段不正確。(2)第二個問題是經老師提醒才發現,設計電路在采集。相當于把所學的接口知識又復習了一遍,同時將平時實驗中存在的一些疑問都解決掉了。對于8255數碼管的顯示和0809 a/d轉換器基本工作原理有了更深入的了解,對兩者結合起來實現比較復雜的功能(本實驗中實現了在數碼管上顯示溫度值,并用溫度值來控制直流電機的運行情況的功能)也有了一定的了解。通過這次課程設計使我懂得了理論和實踐相結合起來是很重要的,從理論中知識是遠遠不夠的,只有把所學的理論知識和實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。七、參考

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論