




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
深圳高級技師學院畢業(yè)論文郭宏第11頁共1頁目錄TOC\o"2-3"\h\z1前言 12溫度控制器的技術參數(shù) 23系統(tǒng)設計方案的論證 33.1方案比選 33.2方案說明 44控制系統(tǒng)設計 54.1系統(tǒng)的工作原理 54.2硬件電路設計 64.3系統(tǒng)軟件設計 165調(diào)試,安裝,運行 305.1系統(tǒng)硬件調(diào)試 305.2系統(tǒng)軟件調(diào)試 306小結(jié) 31第34頁共31頁畢業(yè)論文(設計)原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設計)是我在導師的指導下進行的研究工作及取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設計)不包含其他個人已經(jīng)發(fā)表或撰寫過的研究成果。對本論文(設計)的研究做出重要貢獻的個人和集體,均已在文中作了明確說明并表示謝意。作者簽名:日期:畢業(yè)論文(設計)授權使用說明本論文(設計)作者完全了解**學院有關保留、使用畢業(yè)論文(設計)的規(guī)定,學校有權保留論文(設計)并向相關部門送交論文(設計)的電子版和紙質(zhì)版。有權將論文(設計)用于非贏利目的的少量復制并允許論文(設計)進入學校圖書館被查閱。學??梢怨颊撐模ㄔO計)的全部或部分內(nèi)容。保密的論文(設計)在解密后適用本規(guī)定。
作者簽名:指導教師簽名:日期:日期:
注意事項1.設計(論文)的內(nèi)容包括:1)封面(按教務處制定的標準封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關鍵詞4)外文摘要、關鍵詞5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻8)致謝9)附錄(對論文支持必要時)2.論文字數(shù)要求:理工類設計(論文)正文字數(shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字數(shù)不少于1.2萬字。3.附件包括:任務書、開題報告、外文譯文、譯文原文(復印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準請他人代寫2)工程設計類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機繪制,所有圖紙應符合國家技術標準規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應繪制于無格子的頁面上5)軟件工程類課題應有程序清單,并提供電子文檔5.裝訂順序1)設計(論文)2)附件:按照任務書、開題報告、外文譯文、譯文原文(復印件)次序裝訂3)其它
MCS51單片機機應用于溫度控制器摘要:本文論述了采用單片機控制的智能溫度控制器,使用AT89C4051單片機、ADS7844EA/D轉(zhuǎn)換芯片、HT1621B液晶顯示驅(qū)動芯片及液晶顯示器,實現(xiàn)溫度的測量、輸出控制及顯示功能。關鍵字:單片機、A/D轉(zhuǎn)換,液晶顯示及其驅(qū)動1前言模擬電路溫度控制器存在電路復雜、功能簡單和調(diào)試不方便的問題,隨著電子技術的快速發(fā)展,超大規(guī)模集成電路的技術越來越成熟,制造成本越來越低,單片機在軍事、工業(yè)、通訊、家用電器、智能儀表等領域的應用越來越廣泛,使產(chǎn)品的功能、精度和質(zhì)量大幅度提高;同時,電路的設計更簡單、故障率低、可靠性高、成本低;特別是近幾年來Flash技術的發(fā)展,使單片機系統(tǒng)的開發(fā)周期大大縮短,開發(fā)成本大幅降低,使用單片機控制的智能儀表是儀表領域發(fā)展的必然趨勢。本文論述了采用ATMEL公司的AT89C4051單片機和美國Burr-Brown公司的ADS7844E模-數(shù)轉(zhuǎn)換芯片以及HOLTEK公司的HT1621B液晶顯示驅(qū)動芯片設計的LCD顯示智能溫度控制器。本系統(tǒng)實現(xiàn)了模擬溫度數(shù)據(jù)采集、模擬量到數(shù)字量轉(zhuǎn)換、軟件對溫度信號進行非線性校正,單片機數(shù)據(jù)運算及邏輯處理、LCD顯示、鍵盤處理及繼電器輸出控制功能。本文主要介紹了智能溫度控制器的功能和設計的過程。重點說明電路設計、軟件設計。2溫度控制器的技術參數(shù)本系統(tǒng)采用ATMEL公司的AT89C4051單片機和美國Burr-Brown公司的ADS7844E模-數(shù)轉(zhuǎn)換芯片以及HOLTEK公司的HT1621B液晶顯示驅(qū)動芯片設計,實現(xiàn)了模擬溫度數(shù)據(jù)采集、模擬量到數(shù)字量轉(zhuǎn)換、單片機數(shù)據(jù)運算及邏輯處理、LCD顯示、鍵盤處理及繼電器輸出控制功能,主要技術參數(shù)見表1表1主要技術參數(shù)表測量精度:0.5量程0~400顯示分辨率:0.采樣速度:500毫秒調(diào)節(jié)算法:開關調(diào)節(jié)(ON/OFF)輸入:熱電阻:Pt100輸出:繼電器,常開觸點(max.250VAC,1A)報警:繼電器,常開觸點(max.250VAC,3A)電源:220VAC±10%;50Hz環(huán)境:工作溫度:0~50℃,相對濕度≤85%3系統(tǒng)設計方案的論證本章主要敘述溫度控制器的設計方案。3.1方案比選隨著電子技術的發(fā)展,溫度控制器的設計方案經(jīng)歷了模擬電路溫度控制器、模擬量測量加數(shù)字顯示、單片機溫度控制器的發(fā)展過程;在單片機溫度控制器的設計方案中,又發(fā)展出各種智能型的溫度控制器方案,如:高AD轉(zhuǎn)換的精度,PID調(diào)節(jié)控制輸出、PID+模糊控制等。本次設計著重鍛煉自己的動手能力,熟悉單片機的使用,具體提出如下設計方案:方案一:采用8031單片機作為控制核心,以最普通的器件ADC0809作數(shù)/模轉(zhuǎn)換,以繼電器作為控制輸出。此方案簡單可行,造價低廉,但由于8031沒有片內(nèi)ROM,需要擴展程序存儲器,增加了電路的復雜性,并且由于0809是8位的數(shù)/模轉(zhuǎn)換電路,在溫度測量范圍很小時,測量精度還能滿足要求,當測量溫度范圍稍寬時,測量的精度就不能實際應用的要求。方案二:采用片內(nèi)帶Flash存儲器MCS51系列單片機作為控制核心,采用12位數(shù)/模轉(zhuǎn)換電路,以繼電器作為控制輸出。由于采用了12位的ADC轉(zhuǎn)換芯片,轉(zhuǎn)換范圍從0到4096,當溫度范圍要求為0-1000℃時,每一位表示約為0.25℃,考慮到ADC轉(zhuǎn)換芯片的轉(zhuǎn)換精度±1LSB及運算放大器的誤差,測量精度理論上可到0.5℃,可以滿足一般的控制要求。方案三:目前許多單片機生產(chǎn)商推出了自帶ADC轉(zhuǎn)換,F(xiàn)LASH存儲器、EEPROM的產(chǎn)品,如美國AnalogDevices公司AduC812內(nèi)部帶12位的ADC轉(zhuǎn)換,如果采用AduC812單片機作為控制核心,則系統(tǒng)外圍電路比較簡單且能夠達到控制精度要求,但是成本較高。本系統(tǒng)采用方案二,溫度控制器所需要的I/O數(shù)量不多,程序量不是很大(不考慮PID調(diào)節(jié)控制輸出),為了節(jié)省單片機的I/O口,選用12位串行口數(shù)/模芯片ADS7844E,單片機使用AT89C4051,片內(nèi)程序存儲器空間為4K,15條I/O。3.2方案說明系統(tǒng)中設計了一個EEPROM存儲器來保存設置參數(shù),目前市面上常用的EEPROM芯片主要有兩種接口類型:I2C接口及SPI接口,主要的代表芯片有AT24C02/04/08/16系列和AT25010/020/040系列,由于ADS7844E轉(zhuǎn)換芯片采用的是SPI接口,所以選用AT25010存儲器可以節(jié)省I/O端口。顯示器件常用的有LED數(shù)碼管顯示器件、LCD顯示器件。LED數(shù)碼管顯示器件具有亮度大,壽命長等特點,但需要較大的驅(qū)動電流;LCD顯示器件成本低、功耗小,但需要專用的驅(qū)動電路以及亮度低;本方案的顯示器件采用6位字符液晶顯示器,驅(qū)動芯片采用HOTELK公司的HT1621B。4控制系統(tǒng)設計控制系統(tǒng)設計主要包括系統(tǒng)工作原理、系統(tǒng)硬件設計和系統(tǒng)軟件設計。系統(tǒng)軟件設計主要包括軟件結(jié)構、各子程序流程及具體代碼設計;下面分別介紹各部分的設計過程4.1系統(tǒng)的工作原理單片機AT單片機AT89C4051A/D存儲器顯示驅(qū)動液晶顯示器鍵盤及控制輸出圖1系統(tǒng)功能框圖溫度測量放大電源電路系統(tǒng)的工作原理是:電橋?qū)囟葌鞲衅鱌t100的溫度信號轉(zhuǎn)換為與溫度相關的電壓信號,經(jīng)過兩級運算放大后進入ADC轉(zhuǎn)換;CPU讀取ADC轉(zhuǎn)換結(jié)果,經(jīng)過運算轉(zhuǎn)換為顯示的溫度字符,控制LCD驅(qū)動器來顯示溫度值,另外,CPU將測量出的溫度值與系統(tǒng)設定的溫度值相比較,根據(jù)不同的控制模式來控制繼電器的輸出,系統(tǒng)中的按鍵用來設定系統(tǒng)工作參數(shù),電源電路主要為各電路提供工作電源。系統(tǒng)中需要保存的參數(shù)有:設定溫度值、回程差值(防止溫度到達設定值時輸出振蕩)、加熱或制冷工作模式(0表示加熱模式,1表示制冷工作模式)、溫度測量范圍、溫度校正值、溫度校正符號等。由于溫度測量范圍、溫度校正值、溫度校正符號用于系統(tǒng)調(diào)試校正,此參數(shù)不能由用戶隨便修改,所以在修改這些參數(shù)前必須先輸入一個密碼(默認為1234)后系統(tǒng)才顯示這些參數(shù),建議用戶不要修改此類參數(shù)。本系統(tǒng)采用了四個按鍵,功能分別為:加鍵、移位鍵、功能鍵、保存鍵。按下功能鍵可循環(huán)顯示系統(tǒng)各項參數(shù),通過加鍵和移位鍵組合可對各項參數(shù)進行修改,按下保存鍵后,CPU將修改后的參數(shù)寫到EEPROM中,系統(tǒng)重新上電后CPU將調(diào)用EEPROM中的參數(shù)(如果不對數(shù)據(jù)進行保存時,系統(tǒng)重新上電后將調(diào)用以前設置的參數(shù))。4.2硬件電路設計溫度控制器電路主要包括:CPU電路、溫度信號調(diào)理電路、ADC轉(zhuǎn)換電路、液晶顯示及驅(qū)動電路、電源電路及控制輸出電路;4.2.1CPU電路圖2AT89C4051管腳圖圖2AT89C4051管腳圖CPU電路主要是CPU、數(shù)據(jù)存儲器及晶振電路。CPU采用美國ATMEL公司的MCS51系列單片機AT89C4051,管腳圖如圖2所示,它具有以下標準功能:4K字節(jié)FLASH閃速存儲器,128字節(jié)內(nèi)部RAM,15個I/O口,兩個16位定時/計數(shù)器,5個中斷向量(兩種優(yōu)先級),一個全雙工串行通信接口,內(nèi)置一個精密模擬比較器,片內(nèi)振蕩器及時鐘電路。AT89C4051的功能框圖如圖3所示。CPU的端口資源分配見表2:圖3AT89C4051功能框圖圖3AT89C4051功能框圖表2:CPU的端口資源分配表引腳名稱功能引腳名稱功能P1.0AT25010片選信號P3.0功能鍵P1.1HT1621B片選信號P3.1加鍵P1.2ADS7844E片選信號P3.2保存鍵P1.3HT1621B讀控制信號P3.3移位鍵P1.4HT1621B寫控制信號P3.4P1.5串行口時鐘P3.5繼電器控制輸出P1.6串行數(shù)據(jù)輸入P3.6P1.7串行數(shù)據(jù)輸出P3.7看門狗復位注:由于P1.0及P1.1內(nèi)部不帶上拉電阻,使用時在此兩腳上需要接上拉電阻,電阻阻值按10K選取數(shù)據(jù)存儲器采用美國ATMEL公司AT25010EEPROM。AT25010通過SPI接口與CPU進行數(shù)據(jù)交換,端口連接見表1。時鐘采用12M晶體振蕩器,負載電容按22p選取。4.2.2溫度信號調(diào)理電路本設計溫度傳感器采用Pt100,溫度信號由電橋電路輸出后,經(jīng)過兩級放大后進入ADC轉(zhuǎn)換。1、Pt100傳感器介紹Pt100傳感器是利用鉑電阻的阻值隨溫度變化而變化、并呈一定函數(shù)關系的特性來進行測溫,其溫度/阻值對應關系為:0℃≤t≤850℃時,Rt=R0(1+At+Bt2)式中,A=3.90802×10-3;B=-5.80×10-7;R0=100。Pt100溫度傳感器的主要技術參數(shù)如下:測量范圍:-200℃~+850℃;熱響應時間<30s;允通電流≤5mA。另外,Pt100溫度傳感器還具有抗振動、穩(wěn)定性好、準確度高、耐高壓等優(yōu)點。2、電橋采集數(shù)據(jù)的電路圖及原理Pt100電橋電路如圖4、圖5所示。其中,R10﹑R11﹑R14﹑Rt組成電橋,R10=R11=10R0,R14=R0。電橋采用TL431組成恒流源供電,為了避免流過Pt100傳感器的電流過大使其發(fā)熱進而導致非線性失真增大,取Im=1mA。R10R10R14R11Rt-+1mA-+Vo圖4信號調(diào)理電路設流過R14的電流為I1,流過Rt的電流為I2,由于恒流源的電流為1mA,所以有:I1+I2=1;(1)I1/I2=(10R0+Rt)/11R0(2)Rt=R0(1+At+Bt2)(3)A=3.90802×10-3;B=-5.80×10-7;R0=100當溫度較低時,I1/I2≈1,所以有:Vi=I2Rt-I1R0≈0.5(Rt-R0)(4)又因為△R=Rt-R0=R0(At+Bt2),所以:Vi≈0.5*R0(At+Bt2)≈0.5*R0*A*t=0.195*t(mV)(5)由公式(5)可知,溫度較低時,Pt100傳感器的線性度良好;當溫度較高時,Pt100傳感器的線性度變差,此時有Vi=10R0(At+Bt2)/(22+At+Bt2)(mV)(6)軟件校正采用最小二分法分段校正:將整個測量范圍按每50℃為一段,共分為8段,求出每一段的校正函數(shù)分別為:(求解方法采用Excel中的SLOPE函數(shù)及INTERCEPT函數(shù))0~50℃:T0=0.89*T–50~100℃:T0=0.92*T–100~150℃:T0=0.95*T–150~200℃:T0=0.98*T–200~250℃:T0=1.01*T–250~300℃:T0=1.04*T–300~350℃:T0=1.08*T–350~400℃:T0=1.12*T–溫度的計算方法:T=ADC轉(zhuǎn)換結(jié)果*量程/4096,將T的值代入校正函數(shù)中,求出校正后的溫度值T0。圖5信號調(diào)理電路圖5信號調(diào)理電路3、誤差分析(1)Pt100傳感器的非線性產(chǎn)生的誤差Pt100的溫度函數(shù)為Rt=R0(1+At+Bt2),由此可見Pt100的阻值與溫度的函數(shù)不是線性關系,不考慮其它因素帶來的誤差,由于Pt100傳感器的非線性,在0-400℃的范圍內(nèi),可產(chǎn)生約12℃的誤差,在實際測量中,用非線性校正程序可以減少由(2)A/D轉(zhuǎn)換器非線性帶來的誤差在實際應用中會發(fā)現(xiàn),對同一模擬輸入信號Vi,經(jīng)A/D轉(zhuǎn)換得出的數(shù)字量會有±1位的跳變,這是由A/D轉(zhuǎn)換器的判斷誤差造成的。A/D轉(zhuǎn)換器的一位跳變對應的電壓值,即為該12位A/D轉(zhuǎn)換器的分辨率0.00122V=1.22mV,將會產(chǎn)生溫度誤差。(3)A/D轉(zhuǎn)換器參考電壓Vref帶來的誤差在比較轉(zhuǎn)換過程中,Vref的變化會對輸出的二進制代碼有影響。在模擬輸入信號不變的情況下,若Vref變大,會導致輸出的二進制代碼變??;反之,則變大,從而導致了溫度誤差。4、注意事項與結(jié)論由上面的分析可得,為了提高溫度測量的準確性,A/D轉(zhuǎn)換器的5V參考電源要穩(wěn)定在mV級;在價格允許的情況下,Pt100傳感器﹑A/D轉(zhuǎn)換器和運放的線性度要高。同時,利用軟件矯正其誤差,可以使測得溫度的精度在±0.5℃。4.2.3ADC轉(zhuǎn)換電路本方案的ADC轉(zhuǎn)換采用Burr-Brown公司的ADS7844E,它是推出的一種高性能、寬電壓、低功耗的12bit串行模數(shù)轉(zhuǎn)換器。它有8個模擬輸入端,可用軟件編程為8通道單端輸入A/D轉(zhuǎn)換器或4通道差分輸入A/D轉(zhuǎn)換器,其轉(zhuǎn)換率高達200KHz,而線性誤差和差分誤差最大僅為±1LSB。ADS7844在電源電壓為2.7V~5V之間均能正常工作,最大工作電流為1mA,進入低功耗狀態(tài)后的耗電僅3μA。ADS7844通過串行接口與CPU進行通信,而且接口簡單方便。ADS7844E的引腳排列如圖6所示,引腳與其它電路的連接見表3。ADS7844E的引腳功能:CH0~CH7:模擬輸入端,當器件被設置為單端輸入時,這些引腳可分別與信號地COM構成8通道單端輸入A/D轉(zhuǎn)換器;當器件被設置為差分輸入時,利用CH0~CH1、CH2~CH3、CH4~CH5和CH6~CH7可構成4通道差分輸入A/D轉(zhuǎn)換器COM:信號地VREF:參考電壓輸入端,最大值為電源電壓CS:片選端,低電平有效,該腳為高電平時,其它數(shù)字接口線呈三態(tài)DCLK:外部時鐘輸入端,在時鐘作用下,CPU將控制字寫入ADS7844E,并將轉(zhuǎn)換結(jié)果從中讀出DIN:串行數(shù)據(jù)輸入端,在片選有效時,控制字在DCLK上升沿被逐位鎖入ADS7844EDOUT:串行數(shù)據(jù)輸出端,在片選有效時,轉(zhuǎn)換結(jié)果在DCLK的下降沿開始被逐位從ADS7844E移出BUSY:“忙”信號輸出端,在接收到控制字的第一位數(shù)據(jù)后變低,只有在轉(zhuǎn)換結(jié)束且片選有效時,該腳才輸出一個高脈沖SHDN:電源關閉端,低電平有效。當SHDN為低電平時,ADS7844E進入低功耗狀態(tài)VCC,GND:分別為電源端和數(shù)字地。圖6ADS7844引腳圖圖6ADS7844引腳圖表3:ADS7844E引腳連接表序號引腳名稱功能與其它電路的連接備注1~3CH0~CH2模擬輸入通道溫度信號放大輸出4~7CH3~CH7模擬輸入通道未連接9COM模擬輸入公共端模擬地11VREF參考電壓端工作電源VCC采用5V的參考電壓12、20VCC工作電源工作電源+5V接10uF和0.1uF的退耦電容13、14GND電源地電源地15DOUT串行數(shù)據(jù)輸出CPUP1.616BUSY“忙”信號輸出端未連接17DIN串行數(shù)據(jù)輸入CPUP1.718CSADS7844E片選信號CPUP1.219DCLK串行口時鐘CPUP液晶顯示及驅(qū)動電路HT1621B是128點內(nèi)存映象和多功能的LCD驅(qū)動器,HT1621B的軟件配置特性使它適用于多種LCD應用場合,包括LCD模塊和顯示子系統(tǒng),用于連接主控制器和HT1621的管腳只有4或5條,HT1621還有一個節(jié)電命令用于降低系統(tǒng)功耗。HT1621B的引腳功能及與其它電路的連接見表4:表4:HT1621B的引腳功能及與其它電路的連接表序號引腳名稱功能與其它電路的連接備注1CSHt1621B片選CPUP1.1低電平有效2RD讀控制P1.33WR寫控制P1.44DATA數(shù)據(jù)線P1.75Vss電源地電源地6/7OSCI/OSCO時鐘未連接使用片內(nèi)RC振蕩器8VLCDLCD電源+5V選用5VLCD9VDD電源+5V10IRQ看門狗輸出未連接11、12BZ聲音頻率輸出未連接13~16COM0~COM3LCD公共輸出口LCD公共輸出口17~48SEG0~SEG31LCD段輸出口LCD段輸出口只用到其中12位4.2.5電源電路圖5電源電路圖5電源電路4.3系統(tǒng)軟件設計4.3.1軟件結(jié)構設計溫控器軟件主要包括主程序模塊、定時器中斷處理模塊、LCD顯示處理模塊、ADC轉(zhuǎn)換模塊和鍵盤處理模塊。定時器中斷處理模塊主要產(chǎn)生時間事件,其中200ms事件用于讀取鍵盤的健值,500ms為ADC轉(zhuǎn)換事件。主程序模塊循環(huán)判斷系統(tǒng)是否有事件發(fā)生,當發(fā)生200ms事件時,調(diào)用鍵盤處理子程序、LCD顯示刷新子程序。當發(fā)生500ms事件時,調(diào)用ADC轉(zhuǎn)換子程序及LCD顯示刷新子程序。主要模塊調(diào)用關系如圖6所示LCD顯示刷新LCD顯示刷新定時器中斷程序讀取鍵值圖6主要模塊調(diào)用關系圖頁面處理保存處理移位處理加鍵處理閃爍處理顯示轉(zhuǎn)換寫顯示數(shù)據(jù)啟動ADC轉(zhuǎn)換讀ADC數(shù)據(jù)求溫度平均值溫度比較溫度校正二進制轉(zhuǎn)換BCD碼溫度主程序模塊鍵盤處理系統(tǒng)初始化程序ADC轉(zhuǎn)換模塊ADC轉(zhuǎn)換模塊4.3.2系統(tǒng)程序流程圖設計圖7主程序流程圖看門狗復位圖7主程序流程圖看門狗復位主循環(huán)開始判斷是否有鍵盤事件YN上電或復位,程序開始設置堆棧,清內(nèi)存調(diào)用設備初始化子程序開中斷NNN清鍵盤事件標志判斷上次鍵盤事件處理是否完成判斷鍵盤值是否為0鍵盤處理子程序判斷是否有ADC轉(zhuǎn)換事件清ADC轉(zhuǎn)換事件標志ADC處理子程序顯示刷新處理子程序2、鍵盤處理流程功能:顯示相應頁面以及修改系統(tǒng)參數(shù)輸入:鍵值輸出:修改顯示緩沖器數(shù)據(jù)及系統(tǒng)參數(shù)寄存器分配:寄存器組1,各子程序具體分配情況見子程序說明。調(diào)用子程序:頁面處理子程序(Pagehandle)、加鍵處程序(Uphandle)、保存數(shù)據(jù)子程序(Savehandle)、移位處理子程序(Shifthandle)父函數(shù):主程序圖8鍵盤處理程序流程圖圖8鍵盤處理程序流程圖壓堆棧,設置寄存器組置鍵盤未處理完標志是否有為功能鍵YN是否為加鍵YN是否為保存鍵YN是否為移位鍵YN調(diào)用頁面處理子程序調(diào)用加鍵處理子程序調(diào)用移位處理子程序調(diào)用保存數(shù)據(jù)處理子程序恢復堆棧3、ADC轉(zhuǎn)換處理流程功能:啟動ADC轉(zhuǎn)換、讀取ADC轉(zhuǎn)換結(jié)果、進行溫度校正、比較、繼電器控制輸出輸入:無輸出:溫度值顯示值、繼電器控制輸出寄存器分配:寄存器組3,各子程序具體分配情況見子程序說明。調(diào)用子程序:啟動ADC轉(zhuǎn)換子程序(Start_Adc)、讀轉(zhuǎn)換結(jié)果程序(ReadADC)、求平均值子程序(Average)、二進制溫度轉(zhuǎn)BCD碼子程序(Bin_Temp_BCD)、溫度校正子程序(TempAdjust)、溫度比較子程序(TempCopmare)父函數(shù):主程序圖9ADC轉(zhuǎn)換程序流程圖圖9ADC轉(zhuǎn)換程序流程圖壓堆棧,設置寄存器組調(diào)用ADC啟動子程序延時等待ADC轉(zhuǎn)換結(jié)束調(diào)用讀ADC結(jié)果子程序調(diào)用二進制溫度轉(zhuǎn)換子程序調(diào)用求平均值子程序恢復堆棧調(diào)用溫度校正子程序調(diào)用溫度比較子程序4、定時器中斷處理程序流程功能:產(chǎn)生定時事件輸入:無輸出:時間事件寄存器分配:寄存器組1。調(diào)用子程序:讀取鍵值子程序(Getkeyvalume)、定時器初始化子程序父函數(shù):無YYN圖10定時器中斷處理子程序流程圖判斷是否為200ms判斷是否為500ms置200ms事件標志置500ms事件標志YYNN恢復堆棧清超時標志,恢復正常顯示判斷是否為1000ms判斷鍵盤是否超時NYYN壓堆棧,設置寄存器組重裝定時計數(shù)器(調(diào)用定時器初始化子程序)ms計數(shù)單元加1調(diào)用取鍵值子程序判斷是否為100ms鍵盤事件處理是否完成4.3.3系統(tǒng)程序設計目前許多公司在生產(chǎn)單片機的同時,都會推出自己的編譯系統(tǒng),并且許多編譯系統(tǒng)都會支持C語言、匯編語言或兩種語言的混合編程;本系統(tǒng)采用匯編語言編程,使用KeilC51編譯。由于程序的篇幅較長,下面主要介紹主程序及二進制溫度轉(zhuǎn)換為BCD溫度值子程序,其它程序請查閱附錄中的程序清單。1、主程序清單ORG0000H;復位入口JMPPROGRAME_STAR;程序開始ORG0003H;外部中斷0入口RETI;ORG000BH;定時0中斷入口AJMPTIME0_INT;ORG0013H;外部中斷1入口RETI;ORG001BH;定時1中斷入口RETI;ORG0023H;串口中斷入口RETI;ORG0060H;程序起點PROGRAME_STAR:MOVSP,#STACK;設置堆棧MOVPSW,#(0SHL3);使用寄存器組0MOVR0,#10H;清內(nèi)存的開始地址MOVR1,#50H-1;設置清除內(nèi)存計數(shù)MOVA,#00H;MAIN0:MOV@R0,A;內(nèi)存清零INCR0;DJNZR1,MAIN0;ACALLDEVICE_INIT;設備初始化MOVIE,#82H;開中斷MAINLOOP:ACALLWDRESET;看門狗復位MOVA,TIMEEVENT;200ms事件標志,處理鍵盤事件ANLA,#EVT_MS200;A和#EVT_MS200做與運算,取出200ms事件標志位JZMAIN1;200ms事件標志位為0時跳到MAIN1MOVA,#EVT_MS200;CPLA;ANLTIMEEVENT,A;清除200ms事件標志MOVA,KEYOVER;鍵盤處理完標志JNZMAIN3;********************MOVA,KEY_VALUE;取鍵值JZMAIN3;鍵盤值為0時跳出**********ACALLKEYHANDLE;處理鍵盤事件AJMPMAIN3;***********************MAIN1:MOVA,TIMEEVENT;500ms事件標志處理ADC轉(zhuǎn)換ANLA,#EVT_MS500;A和#EVT_MS500做與運算,取出500ms事件標志位JZMAIN4;500ms事件標志位為0時跳到MAIN4MOVA,#EVT_MS500;CPLA;ANLTIMEEVENT,A;清除500ms事件標志LCALLADCCONVERT;調(diào)用ADC轉(zhuǎn)換子程序MAIN3:ACALLREFESHLCD;刷新LCDMAIN4:SETBCSLCD;LCD控制芯片片選信號拉高SETBCSADC;置位AD7844E片選SETBCSE2ROM;置位AT25010片選AJMPMAINLOOP;主循環(huán)2、二進制溫度轉(zhuǎn)換為BCD溫度值子程序;二進制溫度轉(zhuǎn)換為BCD溫度值子程序;輸出:無;輸入:無;寄存器組:第3組;溫度值=ADC轉(zhuǎn)換結(jié)果(BIN)*量程值/4096BIN_TEMP_BCD:MOVPSW,#(3SHL3);使用寄存器組3MOVR6,RANGE;將BCD碼量程值轉(zhuǎn)換為二進制數(shù)MOVR7,RANGE+1;LCALLBCDTOBIN;MOVR0,#TEMP_VALUE;溫度轉(zhuǎn)換后的存儲地址MOVR6,TEMP_BINL;取二進制溫度低位MOVR7,TEMP_BINH;取二進制溫度高位LCALLMUL16;調(diào)用16進制乘法;以下程序根據(jù)第一次轉(zhuǎn)換的結(jié)果查表取出校正函數(shù)MOVA,TEMP_VALUE+1;取二進制溫度高位ANLA,#0F0H;SWAPA;MOVR6,A;MOVA,TEMP_VALUE+2;取二進制溫度高位ANLA,#0F0H;SWAPA;MOVR7,A;MOVA,TEMP_VALUE+2;取二進制溫度高位ANLA,#0FH;SWAPA;ADDA,R6;MOVR6,A;R6,R7分別存放二進制溫度的低位和高位LCALLBINTOBCD;調(diào)用二進制轉(zhuǎn)換為BCD碼MOVA,R5;去掉轉(zhuǎn)換結(jié)果的千位ANLA,#0FH;TEMP_BCDH存放結(jié)果的百位和十位SWAPA;MOVR5,A;MOVA,R4;ANLA,#0F0H;SWAPA;ADDA,R5;MOVR6,A;MOVR7,#00H;LCALLBCDTOBIN;MOVDPTR,#DIVCODE00;查表地址MOVA,R4;偏移地址MOVCA,@A+DPTR;MOVR5,A;RLA;偏移地址*2MOVDPTR,#INTERCEPT0;查表地址MOVCA,@A+DPTR;MOVBINRANGE+1,A;校正值高位INCDPTR;MOVA,R5;RLA;MOVCA,@A+DPTR;MOVBINRANGE,A;校正值低位MOVDPTR,#DIVCODE00;查表地址MOVA,R4;偏移地址MOVCA,@A+DPTR;MOVDPTR,#SLOPECODE;查表地址MOVCA,@A+DPTR;斜率值;以下是將(ADC轉(zhuǎn)換結(jié)果(BIN)*量程值)*斜率MOVR4,A;MOVB,TEMP_VALUE;MULAB;TEMP_VALUE*斜率MOVTEMP_VALUE,A;MOVR3,B;R3乘積的高位暫存CLRC;MOVA,R4;MOVB,TEMP_VALUE+1;MULAB;(TEMP_VALUE+1)*斜率ADDA,R3;MOVTEMP_VALUE+1,A;MOVA,B;ADDCA,#00H;MOVR3,A;CLRC;MOVA,R4;MOVB,TEMP_VALUE+2;MULAB;(TEMP_VALUE+2)*斜率ADDA,R3;MOVTEMP_VALUE+2,A;MOVA,B;ADDCA,#00H;MOVR3,A;CLRC;MOVA,R4;MOVB,TEMP_VALUE+3;MULAB;(TEMP_VALUE+3)*斜率ADDA,R3;MOVTEMP_VALUE+3,A;MOVA,B;ADDCA,#00H;MOVR3,A;進位標志ACALLDIV4096;MOVR6,TEMP_VALUE+2;取二進制溫度低位MOVR7,TEMP_VALUE+3;取二進制溫度高位LCALLBINTOBCD;調(diào)用二進制轉(zhuǎn)換為BCD碼MOVA,R3;MOVR0,A;MOVA,R5;MOVR7,A;MOVA,R4;MOVR6,A;MOVR5,BINRANGE+1;MOVR4,BINRANGE;ACALLBCDSUBB;BCD減截距CLRC;MOVA,R0;SUBBA,R3;MOVR3,A;CLRC;清標志MOVA,R6;ANLA,#0FH;CJNEA,#05H,BIN_TEMP_BCD0;四舍五入BIN_TEMP_BCD0:;小數(shù)點后第二位大于或等于5時需要進行位JCBIN_TEMP_BCD1;MOVA,R6;ADDA,#10H;DAA;MOVR6,A;MOVA,R7;ADDCA,#00H;DAA;MOVR7,A;MOVA,R3;ADDCA,#00H;DAA;MOVR3,A;BIN_TEMP_BCD1:;小數(shù)點后第二位小于4時需要舍掉MOVA,R6;ANLA,#0F0H;SWAPA;MOVTEMP_BCDL,A;MOVA,R7;ANLA,#0FH;SWAPA;ADDA,TEMP_BCDL;MOVTEMP_BCDL,A;MOVA,R7;ANLA,#0F0H;SWAPA;MOVTEMP_BCDH,A;MOVA,R3;ANLA,#0FH;SWAPA;ADDA,TEMP_BCDH;MOVTEMP_BCDH,A;RETDIV4096:;以下程序是將ADC轉(zhuǎn)換值*量程后的結(jié)果除4096;由于除4096實際上就是將數(shù)據(jù)右移12位;所以乘法結(jié)果的高20位就是除4096后的整數(shù)部分;乘法結(jié)果的低12位就是除4096后的余數(shù)部分;將余數(shù)*10后再除4096即可得到一位小數(shù)MOVTEMP_VALUE+0,TEMP_VALUE+1;MOVTEMP_VALUE+1,TEMP_VALUE+2;MOVTEMP_VALUE+2,TEMP_VALUE+3;MOVA,TEMP_VALUE+2;ANLA,#0FH;SWAPA;MOVTEMP_VALUE+3,A;MOVA,TEMP_VALUE+1;ANLA,#0F0H;SWAPA;ADDA,TEMP_VALUE+3;MOVTEMP_VALUE+3,A;MOVA,TEMP_VALUE+1;ANLA,#0FH;SWAPA;MOVTEMP_VALUE+2,A;MOVA,TEMP_VALUE+0;ANLA,#0F0H;SWAPA;ADDA,TEMP_VALUE+2;MOVTEMP_VALUE+2,A;RET5調(diào)試,安裝,運行系統(tǒng)的調(diào)試分為硬件電路調(diào)試和軟件調(diào)試兩部分5.1系統(tǒng)硬件調(diào)試系統(tǒng)硬件的焊接完成后,先對系統(tǒng)電源進行檢查,確認交流電源及直流工作電源正常后,開始對模擬轉(zhuǎn)換電路進行調(diào)試,重點是在恒流源電路、電橋以及運算放大器;恒流源電路主要調(diào)整2.5V基準的負載電阻R15、R24以及TL431的限流電阻,主要目的是保證電橋的電流為1mA。電橋以及運算放大器的調(diào)整方法是:先將傳感器用100歐標準電阻代替,校正電橋及運放的0點;接下來用400℃?zhèn)鞲衅鞯挠嬎汶娮鑱泶鎮(zhèn)鞲衅鳎{(diào)整第二級運放的放大倍數(shù)來校正運放的滿幅度輸出。系統(tǒng)經(jīng)過調(diào)試后,能正常工作。5.2系統(tǒng)軟件調(diào)試單片機開發(fā)過程中,我們編寫的匯編源程序要變?yōu)镃PU可執(zhí)行的機器碼有兩種方法:一種是手工匯編,另一種是機器匯編,手工匯編是早期采用的方法,現(xiàn)在大部分的開發(fā)采用機器匯編。目前支持MCS51系列匯編的軟件主要有KeilC51,它是基于8051內(nèi)核的微控制器軟件開發(fā)平臺,是目前開發(fā)8051內(nèi)核單片機的主流工具,它支持C語言及匯編語言編程,支持軟件仿真。本系統(tǒng)采用匯編語言編程,用KeilC51編譯,將生成的HEX文件下載到CPU中來運行,由于手頭沒有在線仿真器,編寫好的程序只能采用軟件仿真方法來排除軟件錯誤。本系統(tǒng)程序經(jīng)過調(diào)試后基本能正常運行,但由于時間緊張且沒有從事過開發(fā)工作,系統(tǒng)軟件中可能還存在不少的錯誤需要今后進一步完善。6小結(jié)經(jīng)過幾個月時間的努力,終于完成了本次設計工作。在設計過程中,本人查閱了大量的資料,又系統(tǒng)地學習單片機編程技術,同時還咨詢了其它朋友。通過這次設計,本人感受十分豐富,現(xiàn)總結(jié)如下:一、收獲:熟悉了單片機的開發(fā)流程;掌握了KeilC軟件的使用,包括工程的建立、編譯、軟件的調(diào)試運行;通過咨詢他人以及實際的編程操作,學會了使用頭文件,使程序中的變量能夠顧名思義,方便編程,同時也便于他人查閱。學會了通過事件觸發(fā)的方式來處理系統(tǒng)中的任務;在此之前的編程,通常是運用中斷的方式外,在中斷過程中執(zhí)行任務,當任務的執(zhí)行時間較長時,會影響定時器的定時精度,現(xiàn)在采用事件觸發(fā)方式,在定時中斷中只需要設置事件標志,中斷程序的執(zhí)行時間縮短,減少了程序?qū)Χ〞r精度的影響,同時也使CPU的時間分配更加合理5、學會了串口設備的使用,大大節(jié)省CPU的接口資源。二、不足之處1、系統(tǒng)的調(diào)試時間比較緊張,程序檢查不夠充分,還存在不少缺陷,需要在今后的工作中加以完善;2、目前市場上的許多溫度控制器都帶PID控制功能,在控制精度上有很大的改善,本系統(tǒng)中沒有設計PID調(diào)節(jié)功能,在功能上還是一大缺陷,需要今后來完善。3、目前,許多項目的開發(fā)都是使用C語言來編程實現(xiàn),功能實現(xiàn)比較容易,所以自已今后還要多多學習。在這次設計過程中,多次咨詢技校老師,又得到了楊鵬飛工程師的不少指點,同時還在網(wǎng)絡上查閱了許多資料,在此一并表示感謝?;贑8051F單片機直流電動機反饋控制系統(tǒng)的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設計及其應用研究基于單片機的遠程抄表系統(tǒng)的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構件開發(fā)的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數(shù)控改造基于單片機的溫度智能控制系統(tǒng)的設計與實現(xiàn)基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術研究基于單片機的膛壁溫度報警系統(tǒng)設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網(wǎng)絡的振動信號的采集系統(tǒng)基于單片機的大容量數(shù)據(jù)存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現(xiàn)基于AT89S52單片機的通用數(shù)據(jù)采集系統(tǒng)基于單片機的多道脈沖幅度分析儀研究機器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機控制系統(tǒng)基于單片機的控制系統(tǒng)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園戶外活動的教研探討計劃
- 第19課 探索宇宙(教學設計)-2023-2024學年六年級科學下冊同步備課(青島版)
- 加強倉庫流程管理的實施方案計劃
- 《貴州創(chuàng)泰礦業(yè)有限公司修文縣龍場鎮(zhèn)高倉老二洞鋁鐵礦山礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評審意見
- (高清版)DB3715∕T 7-2022 黑水虻飼養(yǎng)技術規(guī)程
- 統(tǒng)編版小學語文二年級下冊第3課《開滿鮮花的小路》精美課件
- Unit 7 Days and Months Lesson 5 colorful seasons 教學設計 2024-2025學年冀教版(2024)七年級英語上冊
- 固態(tài)電池知識培訓課件
- 能源行業(yè):石油工程師簡歷
- 初中體育與健康 初二上 水平四 八年級(第一學期)籃球大單元教學設計+體前變向換手運球突破投籃教學設計
- 2024年03月中國工商銀行湖南分行2024年度春季校園招考筆試歷年參考題庫附帶答案詳解
- 員工離職面談記錄表范本
- 2025年青島市技師學院招考聘用48人高頻重點提升(共500題)附帶答案詳解
- 2024年08月澳門2024年中國銀行澳門分行校園招考筆試歷年參考題庫附帶答案詳解
- 110KV-GIS設備技術要求
- 《從外觀看豬病診治》課件
- 2024年度城市規(guī)劃與交通設計院深度合作框架協(xié)議3篇
- 李四光《看看我們的地球》原文閱讀
- GA/T 1740.2-2024旅游景區(qū)安全防范要求第2部分:湖泊型
- 2025屆高考數(shù)學專項復習:阿基米德三角形【六大題型】含答案
評論
0/150
提交評論