基于串口通訊的單片機(jī)測(cè)溫系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于串口通訊的單片機(jī)測(cè)溫系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于串口通訊的單片機(jī)測(cè)溫系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于串口通訊的單片機(jī)測(cè)溫系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于串口通訊的單片機(jī)測(cè)溫系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

武漢紡織大學(xué)機(jī)械設(shè)計(jì)及其自動(dòng)化學(xué)院課程設(shè)計(jì)〔論文〕說(shuō)明書(shū)論文題目基于串行口收發(fā)電路的溫度測(cè)量單片機(jī)系統(tǒng)設(shè)計(jì)學(xué)號(hào)1102381062學(xué)生姓名景小飛專(zhuān)業(yè)班級(jí)測(cè)控1102班任課老師喬橋總評(píng)成績(jī)2023年6月15日摘要隨著科技的不斷進(jìn)步,在工業(yè)生產(chǎn)中溫度是常用的被控參數(shù),而采用單片機(jī)來(lái)對(duì)這些被控參數(shù)進(jìn)行控制已成為當(dāng)今的主流。本文介紹了數(shù)字溫度測(cè)量及自動(dòng)控制系統(tǒng)的設(shè)計(jì)。本文采用單片機(jī)來(lái)實(shí)現(xiàn)對(duì)溫度的控制。它的主要組成局部有:AT89S51單片機(jī)、溫度傳感器、鍵盤(pán)與顯示電路、溫度控制電路、串口通訊電路。它可以實(shí)時(shí)的顯示和設(shè)定溫度,實(shí)現(xiàn)對(duì)溫度的自動(dòng)控制。通過(guò)測(cè)試說(shuō)明,本設(shè)計(jì)對(duì)溫度的控制有方便、簡(jiǎn)單的特點(diǎn),從而大幅提高了被控溫度的技術(shù)指標(biāo)。關(guān)鍵詞:單片機(jī)溫度傳感器鍵盤(pán)和顯示串口通訊AbstractAsthetechnologyadvancesinindustrialproductioninthetemperatureischargedwithcommonparameters,andtheuseofthosechargedwithSCMtotheparametersofcontrolhasbecomethemainstream.Inthispaper,digitaltemperaturemeasurementandautomaticcontrolsystemdesign.Inthispaper,SCMtoachievethetemperaturecontrol.Itisamajorcomponentof:STC89C52SCM,temperaturesensor,keyboardanddisplaycircuit,temperaturecontrolcircuit.Itcandisplayreal-timeandtemperaturesettings,andthetemperaturecontrol,andserialinterfaceelectriccircuit.Passedthetestsshowthatthedesignofthetemperaturecontrolisconvenientandsimplecharacteristics’,thusgreatlyraisingthetemperaturewaschargedwiththetechnicalindicators.Keywords:MCUTemperaturesensorKeyboardandDemonstrationSerialInterface目錄1.設(shè)計(jì)任務(wù)書(shū)............................................32.具體設(shè)計(jì)..............................................42.1方案設(shè)計(jì)及論證........................................42.2電路設(shè)計(jì)..............................................52.2.1單片機(jī)最小系統(tǒng)....................................52.2.2溫度傳感電路設(shè)計(jì)..................................92.2.3溫度控制電路設(shè)計(jì).................................102.2.4鍵盤(pán)電路設(shè)計(jì).....................................112.2.5顯示電路設(shè)計(jì).....................................132.2.6串口收發(fā)電路.....................................143.系統(tǒng)的軟件設(shè)計(jì)........................................183.1系統(tǒng)的主程序設(shè)計(jì)...................................184.系統(tǒng)的控制.............................................194.1溫控電路及報(bào)警電路的控制............................204.2LCD顯示電路的控制..................................214.3使用說(shuō)明............................................21設(shè)計(jì)小結(jié).................................................22參考文獻(xiàn).................................................23附錄一:整體電路圖.......................................24附錄二:程序.............................................251.設(shè)計(jì)任務(wù)書(shū)1.設(shè)計(jì)題目:基于串行口收發(fā)電路的溫度測(cè)量單片機(jī)系統(tǒng)設(shè)計(jì)1.2目的意義:(1)綜合運(yùn)用并穩(wěn)固所學(xué)單片機(jī)設(shè)計(jì)知識(shí);(2)采用編程的方法實(shí)現(xiàn)基于串行口收發(fā)電路的溫度測(cè)量單片機(jī)系統(tǒng)設(shè)計(jì)。1.3設(shè)計(jì)內(nèi)容:⑴A/D轉(zhuǎn)換電路的制作。①掌握A/D轉(zhuǎn)換電路的制作。②掌握溫度采樣電路的原理和制作。③掌握將轉(zhuǎn)換的數(shù)字信號(hào)換算成實(shí)際溫度值的方法。④掌握相應(yīng)電路的程序編寫(xiě)⑵單片機(jī)串行口收發(fā)電路的制作學(xué)會(huì)單片機(jī)與PC機(jī)收發(fā)電路的制作。掌握MCS-51單片機(jī)串行口收發(fā)程序的編寫(xiě)要點(diǎn)。(3)根本人機(jī)接口設(shè)計(jì)完成顯示接口設(shè)計(jì)。完成鍵盤(pán)接口設(shè)計(jì)。設(shè)計(jì)要求:①按題意要求,畫(huà)出原理圖;②單片機(jī)接線(xiàn)圖;③按照題目要求設(shè)計(jì)采集電路;④完成單片機(jī)控制程序;⑤成設(shè)計(jì)說(shuō)明書(shū)〔10頁(yè)〕;⑥設(shè)計(jì)上交內(nèi)容:設(shè)計(jì)說(shuō)明書(shū)〔包括1、2、3、4、5項(xiàng)〕1.4設(shè)計(jì)步驟⑴理解并確定設(shè)計(jì)要求⑵確定整體控制方案⑶編寫(xiě)程序具體設(shè)計(jì)2.1方案設(shè)計(jì)及論證由于課題根本要求設(shè)計(jì)一種數(shù)字溫度控制系統(tǒng),測(cè)量范圍0~100°C,分辨率不低于0.5°C;通過(guò)鍵盤(pán)可任意設(shè)置溫度報(bào)警的上限和下限,當(dāng)溫度到達(dá)高、低限溫點(diǎn)時(shí)將發(fā)出聲或光報(bào)警信息的溫度測(cè)量系統(tǒng)。但通過(guò)我們對(duì)各種溫度測(cè)量系統(tǒng)的觀察,發(fā)現(xiàn)了一些缺乏之處,比方:溫度分辨率過(guò)大、無(wú)時(shí)間和日期顯示等,這都給人們的使用帶來(lái)了某些不便。為此設(shè)計(jì)了一種具有溫度測(cè)量和萬(wàn)年歷顯示功能的基于51單片機(jī)的溫度測(cè)量系統(tǒng)。單片機(jī)芯片的選擇:采用89C2芯片作為硬件核心,STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。雖然說(shuō)采用AT89S52,同樣具有89C52的功能,且具有在線(xiàn)編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片屢次拔插,所以不會(huì)對(duì)芯片造成損壞。但是專(zhuān)用的并口燒寫(xiě)口本錢(qián)較高。而采用STC89C52,雖然運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線(xiàn)編程技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的屢次拔插會(huì)對(duì)芯片造成一定的損壞。但是可以采用40引腳IC座,可輕松對(duì)芯片進(jìn)行屢次拔插,本錢(qián)方面也較低。因而選用STC89C52芯片。顯示模塊選擇:采用8段數(shù)碼管顯示,雖然可視范圍十分寬,而且經(jīng)濟(jì)實(shí)惠,也不需要復(fù)雜的驅(qū)動(dòng)程序,但是操作比液晶顯示略顯繁瑣,內(nèi)容顯示也不多,比擬局限。采用液晶12864顯示,液晶顯示效果出眾,可以運(yùn)用菜單項(xiàng)來(lái)方便操作,可顯示大量文字,圖形,顯示多樣、詳細(xì),清晰可見(jiàn),操作也比擬簡(jiǎn)單,但是價(jià)格比擬昂貴,體積大。采用液晶1602顯示,雖然顯示不了文字,但是價(jià)格較實(shí)惠,比液晶12864的體積小,功能也相差無(wú)幾,較適合此次作品。因而選用液晶1602顯示。時(shí)鐘芯片的選擇:不使用時(shí)鐘芯片,而直接用STC89C52單片機(jī)來(lái)實(shí)現(xiàn)電子萬(wàn)年歷設(shè)計(jì)。單片機(jī)計(jì)時(shí),利用它的一個(gè)16位定時(shí)器/計(jì)數(shù)器每50ms產(chǎn)生一個(gè)中斷信號(hào),中斷20次后產(chǎn)生一個(gè)秒信號(hào),然后根據(jù)時(shí)間進(jìn)制關(guān)系依次向分、時(shí)、日、星期、月、年進(jìn)位。這樣就實(shí)現(xiàn)了直接用單片機(jī)來(lái)實(shí)現(xiàn)電子萬(wàn)年歷設(shè)計(jì)。因而選擇直接使用單片機(jī)來(lái)實(shí)現(xiàn)電子萬(wàn)年歷設(shè)計(jì)。溫度傳感器選擇:DALLAS半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線(xiàn)總線(xiàn)〞接口的溫度傳感器。一線(xiàn)總線(xiàn)獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的“DS1820〞體積更小、更經(jīng)濟(jì)、更靈活。使您可以充分發(fā)揮“一線(xiàn)總線(xiàn)〞的長(zhǎng)處。DS18B20、DS1822“一線(xiàn)總線(xiàn)〞數(shù)字化溫度傳感器。由于DS18B20將溫度傳感器、信號(hào)放大調(diào)理、A/D轉(zhuǎn)換、接口全部集成于一芯片,與單片機(jī)連接簡(jiǎn)單、方便,與AD590相比是更新一代的溫度傳感器,所以溫度傳感器采用DS18B20。2.2電路設(shè)計(jì)STC89C52報(bào)警電路STC89C52報(bào)警電路溫度傳感溫度傳感矩陣鍵盤(pán)顯示電路矩陣鍵盤(pán)顯示電路該系統(tǒng)的總體設(shè)計(jì)思路如下:溫度傳感器DS18B20把所測(cè)得的溫度發(fā)送到STC89C52單片機(jī)上,經(jīng)過(guò)51單片機(jī)處理,將把溫度在顯示電路上顯示,本系統(tǒng)顯示器為點(diǎn)陣字符LCD,1602液晶模塊。檢測(cè)范圍0攝氏度到100攝氏度。本系統(tǒng)除了顯示溫度以外還可以設(shè)置一個(gè)溫度值,對(duì)所測(cè)溫度進(jìn)行監(jiān)控,當(dāng)溫度高于或低于設(shè)定溫度時(shí),開(kāi)始報(bào)警并啟動(dòng)相應(yīng)程序〔溫度高于設(shè)定溫度時(shí),風(fēng)扇開(kāi);當(dāng)溫度低于設(shè)定溫度時(shí),加熱器開(kāi)〕。單片機(jī)最小系統(tǒng)STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線(xiàn),看門(mén)狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,2個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外STC89X52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。STC單片機(jī)引腳說(shuō)明[12]:圖2.1STC89C52管腳圖〔1〕VCC:電源電壓〔2〕GND:接地〔3〕RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。〔4〕/EA/VPP:當(dāng)/EA保持低電平時(shí),那么在此期間外部程序存儲(chǔ)器〔0000H-FFFFH〕,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源〔VPP〕。〔5〕XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入?!?〕XTAL2:來(lái)自反向振蕩器的輸出。〔7〕P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,也即地址/數(shù)據(jù)總線(xiàn)復(fù)用口。作為輸出口用時(shí),每腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。〔8〕P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能吸收或輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收?!?〕P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可吸收或輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1〞時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1〞時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。〔10〕P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可吸收或輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1〞后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流〔ILL〕這是由于上拉的緣故。P3口也可作為STC89C521的一些特殊功能口,如表2.1管腳備選功能

P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2/INT0外部中斷0P3.3/INT1外部中斷1P3.4T0記時(shí)器0外部輸入P3.5T1記時(shí)器1外部輸入P3.6/WR外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通P3.7/RD外部數(shù)據(jù)存儲(chǔ)器讀選通表2.1P3特殊功能口P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)?!?1〕ALE//PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。〔12〕/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。本次設(shè)計(jì)中使用的引腳為RXD,TXD,P2,P3口根據(jù)以上原理,畫(huà)出單片機(jī)主控局部,如圖2.2所示。單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)復(fù)位電路晶振電路復(fù)位電路晶振電路圖2.2單片機(jī)最小系統(tǒng)MCS-51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該高增益反向放大器的輸入端為芯片的引腳XTAL1,輸出端為XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。電路中的微調(diào)電容通常選擇為30pF左右,該電容的大小會(huì)影響到振蕩器頻率的上下、振蕩器的穩(wěn)定性和起振的快速性。晶體的振蕩頻率為12MHz。把EA腳接高電平,單片機(jī)訪(fǎng)問(wèn)片內(nèi)程序存儲(chǔ)器,但在PC值超過(guò)0FFFH〔4Kbyte地址范圍〕時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。MCS-51的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)。采用最簡(jiǎn)單的外部按鍵復(fù)位電路。按鍵自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的來(lái)實(shí)現(xiàn)的.我們選用時(shí)鐘頻率為12MHz,C3取47μf。2.2.2溫度傳感電路設(shè)計(jì)DS18B20的性能特點(diǎn):采用單總線(xiàn)專(zhuān)用技術(shù),既可通過(guò)串行口線(xiàn),也可通過(guò)其它I/O口線(xiàn)與微機(jī)接口,無(wú)須經(jīng)過(guò)其它變換電路,直接輸出被測(cè)溫度值〔9位二進(jìn)制數(shù),含符號(hào)位〕測(cè)溫范圍為-55℃-+125℃,測(cè)量分辨率為0.0625℃內(nèi)含64位經(jīng)過(guò)激光修正的只讀存儲(chǔ)器ROM適配各種單片機(jī)或系統(tǒng)機(jī)用戶(hù)可分別設(shè)定各路溫度的上、下限內(nèi)含寄生電源。DS18B20內(nèi)部結(jié)構(gòu)主要由四局部組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖2..所示。圖2.3DS18B20管腳圖在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是VCC接外部電源,GND接地,I/O與單片機(jī)的I/O線(xiàn)相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線(xiàn)要接5KΩ左右的上拉電阻.我們采用的是第一種連接方法,如圖2.4所示:把DS18B20的數(shù)據(jù)線(xiàn)與單片機(jī)的13管腳連接,再加上上拉電阻。圖2.4溫度傳感器電路DS18B20有六條控制命令,如表2.2所示:指

令約定代碼操

說(shuō)

明溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器BEH讀暫存器9個(gè)字節(jié)內(nèi)容寫(xiě)暫存器4EH將數(shù)據(jù)寫(xiě)入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫(xiě)到E2RAM中重新調(diào)E2RAMB8H把E2RAM中的TH、TL字節(jié)寫(xiě)到暫存器TH、TL字節(jié)讀電源供電方式B4H啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU表2.2DS18B20控制命令CPU對(duì)DS18B20的訪(fǎng)問(wèn)流程是:先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換這一過(guò)程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。溫度控制電路設(shè)計(jì)圖2.5溫度控制電路實(shí)際電路如圖2.5所示,通過(guò)鍵盤(pán)設(shè)定溫度的上下限。把實(shí)際測(cè)量的溫度和設(shè)定的上下限進(jìn)行比擬,來(lái)控制P0.0、P0.1、P0.7端口的上下電平。把P0.0、P0.1、P0.7端口分別與三極管的基極連接來(lái)控制溫度和報(bào)警。當(dāng)測(cè)量的溫度超過(guò)了設(shè)定的最高溫度,P2.2由高電平變成低電平,就相當(dāng)于基極輸入為“0〞,這時(shí)三極管導(dǎo)通推動(dòng)小風(fēng)扇和控制電路工作,反之,當(dāng)基極輸入為“1〞時(shí),三極管不導(dǎo)通,報(bào)警器和控制電路都不工作。只要控制單片機(jī)的P0.0、P0.1、P0.7口的上下電平就可以控制模擬電路的工作。鍵盤(pán)電路設(shè)計(jì)如圖2.7所示,用STC89C52的并行口P1接4×4矩陣鍵盤(pán),以P1.0-P1.3作輸入線(xiàn),以P1.4-P1.7作輸出線(xiàn);液晶顯示器上顯示每個(gè)按鍵的“0-F〞序號(hào)。對(duì)應(yīng)的按鍵的序號(hào)排列如圖2.6所示:圖2.6按鍵的序號(hào)排列圖圖2.7中微處理單元是STC89C52單片機(jī),X1和X2接12M的兩腳晶振,接兩個(gè)30PF的起振電容,J1是上拉電阻.單片機(jī)的P1口8位引腳與行列式鍵盤(pán)輸出腳相連,控制和檢測(cè)行列式鍵盤(pán)的輸入.行線(xiàn)通過(guò)上拉電阻接到+5V上,無(wú)按鍵按下時(shí),行線(xiàn)處于高電平狀態(tài),有鍵按下時(shí),行線(xiàn)的電平狀態(tài)將由與此行線(xiàn)相連接的列線(xiàn)的電平?jīng)Q定.鍵盤(pán)輸入的信息主要進(jìn)程是:1CPU判斷是否有鍵按下.2確定是按下的是哪個(gè)鍵.3把此鍵所代表的信息翻譯成計(jì)算機(jī)可以識(shí)別的代碼或者其他的特征符號(hào).圖2.7鍵盤(pán)硬件電路圖顯示電路設(shè)計(jì)液晶顯示器是一種將液晶顯示器件,連接器件,集成電路,PCB線(xiàn)路板,背光源,結(jié)構(gòu)器件裝配在一起的組件。根據(jù)顯示內(nèi)容和方式的不同可以分為,數(shù)顯LCD,點(diǎn)陣字符LCD,點(diǎn)陣圖形LCD在此設(shè)計(jì)中我們采用點(diǎn)陣字符LCD,這里采用常用的2行16個(gè)字的1602液晶模塊。1602采用標(biāo)準(zhǔn)的14腳接口,其中:第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器比照度調(diào)整端,接正電源時(shí)比照度最弱,接地電源時(shí)比照度最高,比照度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影〞,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整比照度第4腳:RS為存放器選擇,高電平時(shí)選擇數(shù)據(jù)存放器、低電平時(shí)選擇指令存放器。第5腳:RW為讀寫(xiě)信號(hào)線(xiàn),高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線(xiàn)。第15~16腳:空腳。與單片機(jī)的連接如圖2.8所示。圖2.8液晶顯示電路圖串行口收發(fā)電路①C51串行通信根本原理串行通信是一種能把二進(jìn)制數(shù)據(jù)按位傳送的通信,故它所需傳輸線(xiàn)條數(shù)極少,特別適用于遠(yuǎn)程通信之中。串行通信是指通信的發(fā)送方和接收方之間數(shù)據(jù)信息的傳輸是在單根數(shù)據(jù)線(xiàn)上,以每次一個(gè)二進(jìn)制位移動(dòng)的。它的優(yōu)點(diǎn)是只需一對(duì)傳輸線(xiàn)進(jìn)行傳送信息,因此其本錢(qián)低,適用于遠(yuǎn)距離通信;它的缺點(diǎn)是傳送速度低。串行通信有異步通信和同步通信兩種根本通信方式。同步通信適用于傳送速度高的情況,其硬件復(fù)雜。而異步通信應(yīng)用于傳送速度在50到19200波特之間。是比擬常用的傳送方式。在異步通信中,數(shù)據(jù)是一幀一幀傳送的,每一串行幀的數(shù)據(jù)格式由一位起始位,5~8位的數(shù)據(jù)位,一位奇偶校驗(yàn)位(可省略)和一位停止位四局部組成。在串行通信前,發(fā)送方和接收方要約定具體的數(shù)據(jù)格式和波特率(通信協(xié)議)。②MAX232與RS232▲MAX232芯片簡(jiǎn)介MAX232芯片是MAXIM公司生產(chǎn)的低功耗、單電源雙RS232發(fā)送/接收器。適用于各種EIA-232E和V.28/V.24的通信接口。MAX232芯片內(nèi)部有一個(gè)電源電壓變換器,可以把輸入的+5V電源變換成RS-232C輸出電平所需±10V電壓,所以采用此芯片接口的串行通信系統(tǒng)只要單一的+5V電源就可以。MAX232外圍需要4個(gè)電解電容C1、C2、C3、C4,是內(nèi)部電源轉(zhuǎn)換所需電容。其取值均為1μF/25V·宜選用鉭電容并且應(yīng)盡量靠近芯片。C5為0.1μF的去耦電容。MAX232的引腳T1IN、T2IN、R1OUT、R2OUT為接TTL/CMOS電平的引腳。引腳T1OUT、T2OUT、R1IN、R2IN為接RS-232C電平的引腳·因此TTL/CMOS電平的T1IN、T2IN引腳應(yīng)接MCS-51的串行發(fā)送引腳TXD;R1OUT、R2OUT應(yīng)接MCS-51的串行接收引腳RXD。與之對(duì)應(yīng)的RS-232C電平的T1OUT、T2OUT應(yīng)接PC機(jī)的接收端RD;R1IN、R2IN應(yīng)接PC機(jī)的發(fā)送端TD。▲RS232簡(jiǎn)介RS232是個(gè)人計(jì)算機(jī)上的通信接口之一,由電子工業(yè)協(xié)會(huì)(ElectronicIndustriesAssociation,EIA)所制定的異步傳輸標(biāo)準(zhǔn)接口。通常RS-232接口以9個(gè)引腳(DB-9)或是25個(gè)引腳(DB-25)的型態(tài)出現(xiàn)在多數(shù)情況下主要使用主通道,對(duì)于一般雙工通信,僅需幾條信號(hào)線(xiàn)就可實(shí)現(xiàn),如一條發(fā)送線(xiàn)、一條接收線(xiàn)及一條地線(xiàn)。RS-232標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為每秒150、300、600、1200、2400、4800、9600、19200波特。RS-232標(biāo)準(zhǔn)規(guī)定,驅(qū)動(dòng)器允許有2500pF的電容負(fù)載,通信距離將受此電容限制,例如,采用150pF/m的通信電纜時(shí),最大通信距離為15m;假設(shè)每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是RS-232屬單端信號(hào)傳送,存在共地噪聲和不能抑制共模干擾等問(wèn)題,因此一般用于15m以?xún)?nèi)的通信。同時(shí)RS232是點(diǎn)對(duì)點(diǎn)〔即只用一對(duì)收、發(fā)設(shè)備〕的通信,因此PC機(jī)課直接對(duì)一個(gè)下位機(jī)進(jìn)行遠(yuǎn)距離通信。③串行口收發(fā)電路如下圖,MAX232外圍需要4個(gè)點(diǎn)解電容C1、C2、C3、C4,是內(nèi)部電源轉(zhuǎn)換所需電容。其取值均為1uF/25V。應(yīng)盡量靠近芯片。C5為0.1uF的去耦電容。引腳T1OUT、T2OUT、R1IN、R2IN為接RS-232C電平的引腳。在本系統(tǒng)中TTL/CMOS電平的T1IN引腳應(yīng)接MCS-51的串行發(fā)送引腳TXD;R1OUT應(yīng)接MCS-51的串行接收引腳RXD,與之對(duì)應(yīng)的RS-232C電平的T1OUT應(yīng)接PC機(jī)的接收端RXD,R1IN應(yīng)接PC機(jī)的發(fā)送端TXD。因?yàn)镸AX232具有驅(qū)動(dòng)能力,所以不需要外加驅(qū)動(dòng)電路。④軟件設(shè)計(jì)▲單片機(jī)局部MCS-51系列單片機(jī)提供全雙工串行通信接口RXT、TXD,其內(nèi)部具有兩個(gè)相互獨(dú)立的接收、發(fā)送緩沖器SBUF和兩個(gè)特殊功能存放器PCON、SCON,利用這兩個(gè)特殊功能存放器來(lái)控制串行口的工作方式和波特率,輔以一定的通信協(xié)議,可以將緩沖器中的數(shù)據(jù)、指令發(fā)送給上位機(jī)。下面這段程序是發(fā)送數(shù)據(jù),再將接收的數(shù)據(jù)跟發(fā)送出去的數(shù)據(jù)比擬,假設(shè)相同那么進(jìn)行,不同那么重新發(fā)送一次。串行通信是采用工作方式1,波特率是9600b/s,發(fā)送數(shù)據(jù)是中斷方式,接送數(shù)據(jù)是查詢(xún)方式。定時(shí)器Tl選用工作方式2,初值為#0FDH,晶振頻率12Hz。ORG0000HSJMPSTARTORG0023H;串行中斷人口地址SJMPSTRORG0030H;程序開(kāi)始START:MOVSP,#60H;設(shè)堆棧起始地址MOVTMOD,#20H;選T1定時(shí)模式2MOVPCON,#80H;SMOD=1MOVTH1,#0FDH;串行通信的波特率為9600HZSETBTR1;啟動(dòng)定時(shí)器T1CLRET1;關(guān)定時(shí)器T1中斷MOVSCON,#50H;串行口方式1工作,允許接收。SETBEA;開(kāi)總中斷SETBES;開(kāi)串行口中斷MOV30H,A;存數(shù)據(jù)MOVSBUF,A;發(fā)送數(shù)據(jù)SJMP$;等待中斷STR:MOVR2,#1AJMPSTR1LOOP:DJNZR2,STR3;兩次發(fā)送不成功那么放棄MOVA,30H;重新發(fā)送數(shù)據(jù)MOVSBUF,AJNBTI,$STR1:CLRTI;去除T1CLRES;關(guān)串行中斷允許ACALLDELAYJNBRI,LOOP;50ms后仍沒(méi)收到PC機(jī)的回復(fù)那么重新發(fā)送MOVA,SBUF;從緩沖器讀數(shù)據(jù)CLRRICJNEA,30H,LOOP;假設(shè)數(shù)據(jù)不同那么重新發(fā)送STR3:SETBES;開(kāi)串行中斷允許RETIDELAY:MOVR0,#50DELAY2:MOVR1,#0FAHDELAY1:NOPNOPDJNZR1,DELAY1DJNZR0,DELAY2RETENDPC局部上位機(jī)這局部,可以使用超級(jí)終端、VB、LABVIEW等軟件工具進(jìn)行串口通信。在此介紹下VB串口通信。在VB中使用MSComm控件。MSComm控件具有功能完善的串口數(shù)據(jù)發(fā)送和接受功能,有兩種處理通信的方式,即事件驅(qū)動(dòng)方式和查詢(xún)方式,事件驅(qū)動(dòng)方式是利用MSComm控件的OnComm事件捕獲并處理通信錯(cuò)誤事件,是處理串行端口交互作用的一種非常有效的方法;查詢(xún)方式是通過(guò)檢查CommEvent屬性的值來(lái)判斷事件和錯(cuò)誤。幾個(gè)重要屬性:⑴InputMode確定Input屬性的類(lèi)型,即什么形式讀出所收的數(shù)據(jù)。⑵Rthreshold用于確定收到多少字符才產(chǎn)生OnComm事件。⑶Sthreshold如果在發(fā)送緩沖區(qū)中的字符數(shù)由大于Sthreshold變到小于Sthreshold時(shí),將產(chǎn)生OnComm事件。⑷InBuffercount用以告訴用戶(hù),已收到多少字節(jié)的數(shù)據(jù)。⑸Settings以字符串形式設(shè)置或返回串口的波特率、奇偶校驗(yàn)位。數(shù)據(jù)位長(zhǎng)度。停止位。⑹InBufferSize和OutBufferSize分別指定接收緩沖區(qū)和發(fā)送緩沖區(qū)的大小。3.系統(tǒng)的軟件設(shè)計(jì)3.1系統(tǒng)的主程序設(shè)計(jì)主程序是系統(tǒng)的監(jiān)控程序,在程序運(yùn)行的過(guò)程中必須先經(jīng)過(guò)初始化,包括鍵盤(pán)程序,中斷程序,以及各個(gè)控制端口的初始化工作。流程圖如4.1所示。系統(tǒng)在初始化完成后就進(jìn)入溫度測(cè)量程序,實(shí)時(shí)的測(cè)量當(dāng)前的溫度并通過(guò)顯示電路在LCD上顯示。程序中以中斷的方式來(lái)重新設(shè)定溫度的上下限。根據(jù)硬件設(shè)計(jì)完成對(duì)溫度的控制。按下4*4鍵盤(pán)上的A鍵可以設(shè)定溫度上限,按下B鍵可以設(shè)定溫度下限。系統(tǒng)軟件設(shè)計(jì)的總體流程圖開(kāi)始開(kāi)始系統(tǒng)初始化系統(tǒng)初始化開(kāi)中斷開(kāi)中斷IInt0=0?YYN溫度上下限設(shè)定N溫度上下限設(shè)定溫度測(cè)量溫度測(cè)量溫度測(cè)量溫度測(cè)量顯示系統(tǒng)顯示系統(tǒng)圖3.1系統(tǒng)總體設(shè)計(jì)流程圖4.系統(tǒng)的控制本章對(duì)系統(tǒng)的硬件控制進(jìn)行概述。分別對(duì)溫度控制電路,報(bào)警電路及LCD液晶顯示電路進(jìn)行說(shuō)明。4.1溫控電路及報(bào)警電路的控制單片機(jī)的P0.0、P0.1、P0.7分別與三極管的基極連接來(lái)控制控制溫度(圖4.1)和報(bào)警〔圖4.2〕。利用面包板搭了一個(gè)PNP9012的偏置電路電路如圖3.4?;鶚O輸入為“0〞時(shí),這時(shí)三極管導(dǎo)通推動(dòng)報(bào)警器和控制電路工作,當(dāng)基極輸入為“1〞時(shí),三極管不導(dǎo)通,報(bào)警器和控制電路都不工作。只要控制單片機(jī)的P0.0、P0.1、P0.7口的上下電平就可以控制模擬電路的工作。圖4.1硬件控制電路圖4.2硬件報(bào)警電路4.2LCD顯示電路的控制把8根數(shù)據(jù)線(xiàn)和P2口連接,把3根控制線(xiàn)和P2.5、P2.6、P2.7連接。給VCC端加上+5V的電壓,GND端接地。VEE端的驅(qū)動(dòng)電壓不要過(guò)大,要調(diào)節(jié)滑動(dòng)變阻器使VEE在0.7伏以下顯示器才能工作。4.3使用說(shuō)明鍵盤(pán)中阿拉伯?dāng)?shù)字0~9是數(shù)據(jù)輸入鍵,A鍵是寫(xiě)上限的功能鍵,B鍵是寫(xiě)下限的功能鍵,C鍵是取消鍵,其他的鍵置空。設(shè)計(jì)總結(jié)單片機(jī)技術(shù)在各個(gè)領(lǐng)域正得到越來(lái)越廣泛的應(yīng)用,尤其MCS-51系列單片機(jī),迅速占領(lǐng)了工業(yè)測(cè)控和自動(dòng)化工程應(yīng)用的主要市場(chǎng),并取得了令人矚目的成果,展現(xiàn)出了廣闊的應(yīng)用前景?;趩纹瑱C(jī)的串口溫度測(cè)量系統(tǒng),采用STC89C52單片機(jī)和DS18B201溫度傳感器,實(shí)現(xiàn)了對(duì)環(huán)境溫度的自動(dòng)測(cè)量和報(bào)警,80C52單片機(jī)因其指令系統(tǒng)豐富、小巧、低價(jià)、靈活易擴(kuò)展等獨(dú)特的優(yōu)點(diǎn),在所設(shè)計(jì)的溫濕度測(cè)量系統(tǒng)中使整個(gè)系統(tǒng)的性?xún)r(jià)比得以大幅度的提高。將80C52單片機(jī)成功應(yīng)用于溫度測(cè)控系統(tǒng),所研發(fā)產(chǎn)品可靠性和擴(kuò)充性較強(qiáng),能廣泛應(yīng)用于糧庫(kù)、物流倉(cāng)儲(chǔ)、檔案館等對(duì)溫度要求較高的場(chǎng)所,具有較大的市場(chǎng)推廣前景。這次課程設(shè)計(jì)根本的完成了任務(wù)書(shū)的要求,實(shí)現(xiàn)了溫度的控制。通過(guò)測(cè)試說(shuō)明系統(tǒng)的設(shè)計(jì)是正確的,可行的。但是由于設(shè)計(jì)者的設(shè)計(jì)經(jīng)驗(yàn)和知識(shí)水平有限,系統(tǒng)還存在許多缺乏和缺陷。通過(guò)設(shè)計(jì)使我對(duì)單片機(jī)有了更深刻的了解,尤其是讓我學(xué)會(huì)了如何使用一個(gè)完全陌生的元件,通過(guò)查閱各種資料,對(duì)新元件從陌生到熟悉直至靈活應(yīng)用,這種自學(xué)的方法會(huì)使我終生受益參考文獻(xiàn)[1]胡乾斌等.單片微型計(jì)算機(jī)原理與應(yīng)用.武漢:華中科技大學(xué)出版社,2006年1月.[2]劉君華.智能傳感器系統(tǒng).西安:西安電子科技大學(xué)出版社,1999.[3]沙占友.智能化傳感器原理與應(yīng)用.北京:電子工業(yè)出版社,2004.[4]趙負(fù)圖.傳感器集成電路手冊(cè).北京:化學(xué)工業(yè)出版社,2002.[5]張毅剛.MCS-51單片機(jī)原理及應(yīng)用.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2004.[6]李玉峰,倪虹霞.MCS-51系列單片機(jī)原理與接口技術(shù).北京:人民郵電出版社,2004.[7]林伸茂.8051單片機(jī)徹底研究經(jīng)驗(yàn)篇.北京:人民郵電出版社,2004.[8]沙占友.單片機(jī)外圍電路設(shè)計(jì).北京:電子工業(yè)出版社,2003.[9]段峰,段偉,王耀南,段正華.VB串行通信高級(jí)編程技巧.現(xiàn)代計(jì)算機(jī),2001.附錄一附錄二#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuchara,b,c,i,j,t,flag,rdata,tdata,temp_data,w1,w2,w3,w4,w5,w6,w7,w8,tempH,tempL;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00,0x39};/*不帶小數(shù)點(diǎn)的數(shù)字和減號(hào)*/ucharcodedesk[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};/*帶小數(shù)點(diǎn)的數(shù)字*/unsignedlongdefy,num;sbitLE=P1^0;/*8位數(shù)碼管所連的鎖存器*/sbitend=P1^1;/*數(shù)碼管所連led*/sbitbeep=P1^5;/*蜂鳴器*/sbitDQ=P3^7;/*ds18b20數(shù)據(jù)口*/voiddelay(uintz);/*延時(shí)函數(shù)*/voidinit();/*初始化函數(shù)*/voidwritedata(uchartdata);/*寫(xiě)入數(shù)據(jù)*/intreadata();/*讀取數(shù)據(jù)*/voiddisplay(w8,w7,w6,w5,w4,w3,w2,w1);/*顯示函數(shù)*/voidread_temp();/*讀取溫度函數(shù)*/intreset();/*ds18b20復(fù)位函數(shù)*/voidturn();/*2字節(jié)溫度數(shù)據(jù)轉(zhuǎn)換到顯示函數(shù)所需變量*/voidtime();/*定時(shí)器中斷開(kāi)啟函數(shù)*/voidDelay15(ucharn);voidmain(){init();read_temp();time();while(1){if(t==20){t=0;turn();if(num>200000)beep=0;elsebeep=1;display(w8,w7,w6,w5,w4,w3,w2,w1);read_temp();}elsedisplay(w8,w7,w6,w5,w4,w3,w2,w1);}}voiddelay(uintz)/*延時(shí)函數(shù)*/{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidread_temp()/*ds18b20轉(zhuǎn)換溫度函數(shù)*/{reset();writedata

溫馨提示

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

評(píng)論

0/150

提交評(píng)論