資源描述:
《溫度測控系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、目錄一、設計目的………………………………………………………2二、設計內容和要求………………………………………………2三、設計原理………………………………………………………3四、程序代碼………………………………………………………5五、硬件系統(tǒng)調試…………………………………………………9六、設計總結與體會………………………………………………11七、參考文獻………………………………………………………1212Proteus是英國Labcenter公司開發(fā)的電路分析與實物仿真及印制電路板設計軟件,它可以仿真、分析各種模擬電路與集成電路。軟件提供了大量模擬與數字元器
2、件及外部設備,各種虛擬儀器,特別是它具有對單片機及其外圍電路組成的綜合系統(tǒng)的交互仿真功能。Proteus7主要由ISIS和ARES兩部分組成,ISIS的主要功能是原理圖設計及與電路原理圖的交互仿真,ARES主要用于印制電路板的設計。一、設計目的1.鞏固和加深課堂所學知識;通過課程設計,熟悉和掌握微機系統(tǒng)的軟件、硬件設計的方法、設計步驟,得到微機開發(fā)應用方面的初步訓練。2.學習掌握一般的硬件的設計方法和查閱、運用資料的能力;真正做到理論聯(lián)系實際,提高動手能力和分析問題、解決問題的能力,實現由學習知識到應用知識的初步過渡。3.熟練掌握微機系統(tǒng)與接口擴展電路的
3、設計方法,熟練應用8086匯編語言編寫應用程序和實際設計中的硬軟件調試方法和步驟,熟悉微機系統(tǒng)的硬軟件開發(fā)工具的使用方法4.通過溫度測控系統(tǒng)仿真系統(tǒng)設計與制作,深入了解與掌握數模轉換,數碼管顯示和電動機驅動的方法,熟悉proteus軟件操作。二、設計內容和要求總體要求:根據題意自行設計電路,在Proteus上連接線路并編寫相關匯編程序,調試成功。在課程設計時,2~4人一組,在教師指導下,各組可以集體討論,但設計報告由學生獨立完成,不得互相抄襲。教師的主導作用主要在于指明設計思路,啟發(fā)學生獨立設計的思路,解答疑難問題和按設計進度進行階段審查。學生必須發(fā)揮自
4、身學習的主動性和能動性,主動思考問題、分析問題和解決問題,而不應處處被動地依賴指導老師。同組同學要發(fā)揚團隊協(xié)作精神,積極主動的提出問題、解決問題、討論問題,互相幫助和啟發(fā)。12設計內容:利用ADC0809采用中斷方式設計一個溫度測控系統(tǒng),在七段數碼管上顯示溫度值,并根據測試的溫度進行控制。當檢測溫度到達溫度上限60℃時啟動直流電動機,而溫度低于下限30℃時停止電動機。數碼管上的顯示內容為:XXC(采用十進制顯示)三、設計原理溫度測試系統(tǒng)主要由溫度傳感器、A/D轉換、顯示及電動機塊組成。溫度傳感器將外部溫度信號轉換為電壓信號,經放大電路,再經由ADC080
5、8轉化為數字信號進行處理,軟件中對數字量進行判斷,并作相應的跳轉,由8255實現正常顯示和啟動電動機。各個芯片由8086來進行整體的控制。1.電路原理圖直流電動機上圖中ADC0808的INO輸入端接溫度傳感的ANZ端,進行溫度量的采集,CLOCK接1M;8255A中A、B口與數碼管連接如上圖,PA0接直流電機的OUTPUT,其中地址端口接40H。122.系統(tǒng)功能框圖單片機控制電路溫度傳感A/D轉換電路數碼管顯示3.程序流程圖開始初始化8255A選0809通道0并啟動A/D讀A/D轉換結果溫度>60℃啟動直流電動機溫度>=30℃停止電動機數碼管數值顯示延時
6、上圖實現了本次實驗所要要求的功能:檢測溫度到達溫度上限60℃時啟動直流電動機,而溫度低于下限30℃時停止電動機,并在數碼管上顯示所采集到的數字量和轉換后的模擬量。程序采用中斷處理的方式。12四、程序代碼DATASEGMENTtabdb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71hbufdb0a8255equ40h;8255的A,B,C口及控制口地址b8255equ42hc8255equ44hQ8255equ46hadc0808equ20h;ADC0808端口地址DATAEND
7、SCODESEGMENT'CODE'ASSUMEDS:DATA,CS:CODESTART:movax,datamovds,axcli;關中斷movdx,Q8255;8255A初始化設置。8255A控制字,A口為輸出,B口為輸出,C口的高四位為輸出moval,80houtdx,almovax,0;設置中斷向量,非屏蔽中斷NMImoves,axmovsi,02H*4movax,offsetint0moves:[si],axmovax,segint0moves:[si+2],axmoval,00010011b;設置ICW1movdx,30Houtdx,almo
8、val,00010000b;ICW2movdx,32houtdx,almoval