




已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程名稱: 微機(jī)原理課程設(shè)計(jì) 題 目: 溫度檢測課程設(shè)計(jì) 20摘要隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的溫度檢測儀。本設(shè)計(jì)使用簡便,功能豐富??梢詫?shí)現(xiàn)溫度采集,溫度報(bào)警,重設(shè)上下限溫度值等功能。在現(xiàn)代化的工業(yè)生產(chǎn)中,需要對周圍環(huán)境的溫度進(jìn)行檢測和控制。本設(shè)計(jì)對溫控報(bào)警問題展開思考,設(shè)計(jì)一個能根據(jù)需求設(shè)置低溫到高溫進(jìn)行報(bào)警并通過數(shù)碼管顯示的系統(tǒng)。該系統(tǒng)使用STC89C51單片機(jī),同時(shí)運(yùn)用單線數(shù)字溫度傳感器DS18B20,四位共陰數(shù)碼管顯示,按鍵控制等模塊可實(shí)現(xiàn)溫度的檢測與設(shè)置。課題經(jīng)過實(shí)驗(yàn)驗(yàn)證達(dá)到設(shè)計(jì)要求,具有一定的使用價(jià)值和推廣價(jià)值。本作品使用四位共陰數(shù)碼管顯示,可以清晰地顯示當(dāng)前的報(bào)警溫度,一定程度避免使用者使用時(shí)出錯,安全可靠,可使用于各種食品儲存室,植物養(yǎng)殖所等地方,實(shí)用性很高。關(guān)鍵字:溫度報(bào)警器 STC89C51單片機(jī) 數(shù)碼管 DS18B20目錄一、課程設(shè)計(jì)目的和要求11.1 設(shè)計(jì)目的11.2 設(shè)計(jì)要求1二、總體設(shè)計(jì)方案1三、硬件設(shè)計(jì)23.1 DS18B20傳感器23.2 STC89C51功能介紹53.3 時(shí)鐘電路73.4 復(fù)位電路83.5 LED顯示系統(tǒng)電路83.6 按鍵控制電路103.7 蜂鳴器電路103.8 總體電路設(shè)計(jì)11四、軟件設(shè)計(jì)134.1 keil軟件134.2 系統(tǒng)主程序設(shè)計(jì)134.3 系統(tǒng)子程序設(shè)計(jì)14五、仿真與實(shí)現(xiàn)165.1 PROTEUS仿真軟件165.2 STC-ISP程序燒錄軟件175.3 使用說明17六、總結(jié)18一、課程設(shè)計(jì)目的和要求1.1 設(shè)計(jì)目的熟悉典型51單片機(jī),加深對51單片機(jī)課程的全面認(rèn)識和掌握,對51單片機(jī)及其接口的應(yīng)用作進(jìn)一步的了解,掌握基于51單片機(jī)的系統(tǒng)設(shè)計(jì)的一般流程、方法和技巧,為我們解決工程實(shí)際問題打下堅(jiān)實(shí)的基礎(chǔ)。同時(shí)課程設(shè)計(jì)也是讓我們熟練掌握了課本上的一些理論知識,是一個學(xué)習(xí)新知識、鞏固加深所學(xué)課本理論知識的過程,它培養(yǎng)了我們綜合運(yùn)用知識、獨(dú)立思考和解決問題的能力,加深了我們對單片機(jī)原理與應(yīng)用課程的理解。所以此次設(shè)計(jì)目的具體如下:l 掌握溫度檢測儀的設(shè)計(jì)、組裝與調(diào)試方法;l 熟悉集成電路DS18B20的使用方法,并掌握其工作原理;1.2 設(shè)計(jì)要求根據(jù)單片機(jī)原理及應(yīng)用課程的要求,主要進(jìn)行兩個方面的設(shè)計(jì),即單片機(jī)最小系統(tǒng)和外圍電路擴(kuò)展設(shè)計(jì)、接口技術(shù)應(yīng)用設(shè)計(jì)。其中,單片機(jī)最小系統(tǒng)主要要求學(xué)生熟悉單片機(jī)的內(nèi)部結(jié)構(gòu)和引腳功能、引腳的使用、復(fù)位電路、時(shí)鐘電路、4個并行接口和一個串行接口的實(shí)際應(yīng)用,從而可構(gòu)成最小應(yīng)用系統(tǒng),并編程進(jìn)行簡單使用。在采集溫度時(shí),為了具有一種反應(yīng)準(zhǔn)確且顯示方便的檢測溫度的裝置,下面設(shè)計(jì)了一種可調(diào)節(jié)的溫度檢測儀,也可稱作溫度報(bào)警器。設(shè)計(jì)要求如下: 完成溫度進(jìn)行測量,理論測量范圍-55C+125C; 將溫度測量值通過四位共陰數(shù)碼管顯示模塊顯示,顯示精度為0.5C; 可以通過按鍵進(jìn)行對上下限報(bào)警溫度,自行設(shè)定并實(shí)現(xiàn)功能;二、總體設(shè)計(jì)方案硬件電路設(shè)計(jì)由7個部分組成;DS18B20傳感器模塊,STC89C51單片機(jī)系統(tǒng),LED顯示系統(tǒng)、時(shí)鐘電路、復(fù)位電路以及按鍵控制電路。其系統(tǒng)框圖如下圖1所示:圖1 系統(tǒng)框圖三、硬件設(shè)計(jì)3.1 DS18B20傳感器1) DS18B20簡介DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。該裝置信號線高的時(shí)候,內(nèi)部電容器 儲存能量通由1線通信線路給片子供電,而且在低電平期間為片子供電直至下一個高電平的到來重新充電。 DS18B20的電源也可以從外部3V-5.5V的電壓得到。DS18B20采用一線通信接口。因?yàn)橐痪€通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無法使用。主要首先提供以下功能命令之一:1)讀ROM;2)ROM匹配;3)搜索ROM;4)跳過ROM;5)報(bào)警檢查。這些指令操作作用在沒有一個器件的64位光刻ROM序列號,可以在掛在一線上多個器件選定某一個器件,同時(shí),總線也可以知道總線上掛有有多少,什么樣的設(shè)備。若指令成功地使DS18B20完成溫度測量,數(shù)據(jù)存儲在DS18B20的存儲器。一個控制功能指揮指示DS18B20的演出測溫。測量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲器。溫度報(bào)警觸發(fā)器TH和TL都有一字節(jié)EEPROM 的數(shù)據(jù)。如果DS18B20不使用報(bào)警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個記憶功能的指令完成。通過緩存器讀寄存器。所有數(shù)據(jù)的讀,寫都是從最低位開始。采用DALLAS最新單線數(shù)字溫度傳感器DS18B20。DS18B20“一線總線”數(shù)字化溫度傳感器也支持“一線總線”接口,測量溫度范圍為-55C+125C,在-10+85C范圍內(nèi),精度為0.5C?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。DS18B20的特性:DS18B20可以程序設(shè)定912位的分辨率,精度為0.5C。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲在EEPROM中,掉電后依然保存。2) DS18B20主要特性獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊;測溫范圍55+125,固有測溫誤差1;支持多點(diǎn)組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,實(shí)現(xiàn)多點(diǎn)測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定;工作電源:35V/DC(可以數(shù)據(jù)線寄生電源);在使用中不需要任何外圍元件;測量結(jié)果以912位數(shù)字量方式串行傳送;不銹鋼保護(hù)管直徑6;適用于DN1525,DN40DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫;標(biāo)準(zhǔn)安裝螺紋M10X1,M12X1.5,G1/2”任選;PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。3) DS18B20芯片引腳說明DS18B20只有三個引腳,如下圖所示圖2 DS18B20引腳DS18B20有3個引腳,其每個引腳都有著特定的功能:GND(1引腳)為電源地;DQ(2引腳)為數(shù)字信號輸入/輸出端;VDD(3引腳)為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。如圖2。左負(fù)右正,一旦接反就會立刻發(fā)熱,有可能燒毀!接反是導(dǎo)致該傳感器總是顯示85的原因。面對著扁平的那一面,左負(fù)右正。如圖3為寄生電源供電方式:圖3 DS18B20寄生電源供電方式4) DS18B20工作原理獨(dú)特的單線接口方式使其工作是必須按照嚴(yán)格的時(shí)序才能進(jìn)行。DS18B20的所有通信都由由復(fù)位脈沖組成的初始化序列開始。該初始化序列由主機(jī)發(fā)出,后跟由DS18B20發(fā)出的存在脈沖(presence pulse)。當(dāng)發(fā)出應(yīng)答復(fù)位脈沖的存在脈沖后,DS18B20通知主機(jī)它在總線上并且準(zhǔn)備好操作了。在初始化步驟中,總線上的主機(jī)通過拉低單總線至少480s來產(chǎn)生復(fù)位脈沖。然后總線主機(jī)釋放總線并進(jìn)入接收模式。主機(jī)將總線拉低最短480us,之后釋放總線。由于5k上拉電阻的作用,總線恢復(fù)到高電平。DS18B20檢測到上升沿后等待15到60us,發(fā)出存在脈沖:拉低總線60-240us。至此,初始化和存在時(shí)序完畢。其時(shí)序如下圖所示:圖4 DS18B20初始化時(shí)序主機(jī)在寫時(shí)序向DS18B20寫入數(shù)據(jù),并在讀時(shí)序從DS18B20讀入數(shù)據(jù)。在單總線上每個時(shí)序只傳送一位數(shù)據(jù)。寫時(shí)序分為兩種:寫“0”時(shí)間隙和寫“1”時(shí)間隙??偩€主機(jī)使用寫“1”時(shí)間隙向DS18B20寫入邏輯1,使用寫“0”時(shí)間隙向DS18B20寫入邏輯0所有的寫時(shí)序必須有最少60us的持續(xù)時(shí)間,相鄰兩個寫時(shí)序必須要有最少1us的恢復(fù)時(shí)間。兩種寫時(shí)序都通過主機(jī)拉低總線產(chǎn)生。為產(chǎn)生寫1時(shí)序,在拉低總線后主機(jī)必須在15s內(nèi)釋放總線。在總線被釋放后,由于5k上拉電阻的作用,總線恢復(fù)為高電平。為產(chǎn)生寫0時(shí)序,在拉低總線后主機(jī)必須繼續(xù)拉低總線以滿足時(shí)序持續(xù)時(shí)間的要求(至少60s)。在主機(jī)產(chǎn)生寫時(shí)序后,DS18B20會在其后的15到60us的一個時(shí)間窗口內(nèi)采樣單總線。在采樣的時(shí)間窗口內(nèi),如果總線為高電平,主機(jī)會向DS18B20寫入1;如果總線為低電平,主機(jī)會向DS18B20寫入0。寫0時(shí)序和寫1時(shí)序如圖5所示:圖5 寫“0”時(shí)序和寫“1”時(shí)序DS18B20只有在主機(jī)發(fā)出讀時(shí)序后才會向主機(jī)發(fā)送數(shù)據(jù)。因此,在發(fā)出讀暫存器命令 BEh或讀電源命令B4h后,主機(jī)必須立即產(chǎn)生讀時(shí)序以便DS18B20提供所需數(shù)據(jù)。另外,主機(jī)可在發(fā)出溫度轉(zhuǎn)換命令。所有的讀時(shí)序必須至少有60us的持續(xù)時(shí)間。相鄰兩個讀時(shí)序必須要有最少1us的恢復(fù)時(shí)間。所有的讀時(shí)序都由拉低總線,持續(xù)至少1us后再釋放總線(由于上拉電阻的作用,總線恢復(fù)為高電平)產(chǎn)生。在主機(jī)產(chǎn)生讀時(shí)序后,DS18B20開始發(fā)送0或1到總線上。DS18B20讓總線保持高電平的方式發(fā)送1,以拉低總線的方式表示發(fā)送0當(dāng)發(fā)送0的時(shí)候,DS18B20在讀時(shí)序的末期將會釋放總線,總線將會被上拉電阻拉回高電平(也是總線空閑的狀態(tài))。DS18B20輸出的數(shù)據(jù)在下降沿(下降沿產(chǎn)生讀時(shí)序)產(chǎn)生后15us后有效。因此,主機(jī)釋放總線和采樣總線等動作要在15s內(nèi)完成。圖6為DS18B20的讀時(shí)序圖:圖6 讀“0”時(shí)序和讀“1”時(shí)序表明了對于讀時(shí)序,TINIT(下降沿后低電平持續(xù)時(shí)間),TRC(上升沿)和TSAMPLE(主機(jī)采樣總線)的時(shí)間和要在15s以內(nèi)。5) DS18B20模塊電路圖本設(shè)計(jì)的DS18B20模塊負(fù)責(zé)電路功能是溫度采集與轉(zhuǎn)化(DS18B20芯片能自動將采集的溫度模擬量轉(zhuǎn)化為數(shù)字量),其具體連接電路如下圖所示:圖7 DS18B20連接電路DS18B20只有三個引腳,因此硬件連線上較為簡單。其單總線連接是單片機(jī)的P1.1口,因此在程序中可以通過控制P1.1口從而來控制DS18B20的功能。如上圖所示,上圖是DS18B20在proteus中的元件圖。該元件上有一個向上和向下箭頭,它表示控制傳感器的溫度,并且溫度在傳感器能顯示出來。這只是仿真上的一個形式,當(dāng)然實(shí)際的元件不是這樣的。并且此處為了連接采用的是外接電源的方式,沒有使用寄生電源。若在實(shí)際工程使用中,如果連接線路更長,為防止電路受外界干擾,可在DQ這條線路上接一個5k的上拉電阻,這樣即可使電路更加穩(wěn)定。3.2 STC89C51功能介紹1) 簡單概述STC89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。STC89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,STC的89C51是一種高效微控制器。STC89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及仿真引腳排列如圖8所示:圖8 89C51單片機(jī)引腳2) 主要功能特性帶有增強(qiáng)型1T流水線/精簡指令集結(jié)構(gòu)8051CPU;工作電壓為3.4V-5.5V(5V單片機(jī))或2.0V-3.8V(3V單片機(jī));工作頻率范圍是0-35MHz,相當(dāng)于普通8051的0420MHz,實(shí)際工作頻率可達(dá)48MHz;用戶應(yīng)用程序空間有12K/10K/8K/6K/4K/2K字節(jié)等多種選擇;片上集成512字節(jié)RAM;通用I/O口(27/23個),復(fù)位后為準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口);可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,開漏;每個I/O口驅(qū)動能力均可達(dá)到20mA,但整個芯片最大不得超過55mA;ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器;可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成;內(nèi)部集成MAX810專用復(fù)位電路(外部晶體20M以下時(shí),可省外部復(fù)位電路);時(shí)鐘源特點(diǎn)是外部高精度晶體/時(shí)鐘,內(nèi)部R/C振蕩器,用戶在下載用戶程序時(shí),可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時(shí)鐘。常溫下內(nèi)部R/C振蕩器頻率為:5.2MHz6.8MHz。精度要求不高時(shí),可選擇使用內(nèi)部時(shí)鐘,因?yàn)橛袦仄话氵x4MHz8MHz;有2個16位定時(shí)器/計(jì)數(shù)器;外部中斷2路,下降沿中斷或低電平觸發(fā)中斷,Power Down 模式可由外部中斷低電平觸發(fā)中斷方式喚醒;PWM(4路)/PCA(可編程計(jì)數(shù)器陣列),也可用來再實(shí)現(xiàn)4個定時(shí)器或4個外部中斷(上升沿中斷/下降沿中斷均可支持);STC89C51具有ADC功能。10位精度ADC,共8路;通用異步串行口(UART),SPI同步通信口,主模式/從模式工作溫度范圍:0-75/-40-+85;封裝類型有PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20等。3) STC89C51引腳89C51單片機(jī)多采用40只引腳的雙列直插封裝(DIP)方式,下面分別簡單介紹。首先電源引腳VCC是40引腳,單片機(jī)正是通過它接入+5V工作電源。與之相對的是GND(20引腳),它是接地端,有了VCC與GND整體電路才能形成回路。時(shí)鐘引腳有兩個,分別是XTAL1(19引腳)和XTAL2(20引腳),其中XTAL1是片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路的輸入端,而XTAL2是片內(nèi)振蕩器反相放大器的輸出端;復(fù)位RST(9引腳)在振蕩器運(yùn)行時(shí),當(dāng)有兩個機(jī)器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腳時(shí),將使單片機(jī)復(fù)位,只要這個引腳保持高電平,51芯片便可循環(huán)復(fù)位;EA/Vpp(31引腳)為外部程序存儲器訪問允許控制端。當(dāng)它為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲器,在PC值超過0FFFH后將自動轉(zhuǎn)向外部程序存儲器。當(dāng)它為低電平時(shí),只限定在外部程序存儲器,地址為0000HFFFFH。Vpp為該引腳的第二功能,為編程電壓輸入端;ALE/PROG(30引腳)其中ALE為低八位地址鎖存允許信號。在系統(tǒng)擴(kuò)展時(shí),ALE的負(fù)跳變沿P0口發(fā)出的第八位地址鎖存在外接的地址鎖存器,然后再作為數(shù)據(jù)端口。PROG為該引腳的第二功能,在對片外存儲器編程時(shí),此引腳為編程脈沖輸入端;PSEN(29引腳)為片外程序存儲器的讀選通信號端。在單片機(jī)讀片外程序存儲器時(shí),此引腳輸出脈沖的負(fù)跳變沿作為讀片外程序存儲器的選通信號;Pin39-Pin32為P0.0-P0.7輸入輸出腳,P0口是一個8位漏極開路型雙向I/O口,內(nèi)部不帶上拉電阻,當(dāng)外接上拉電阻時(shí),P0口能以吸收電流的方式驅(qū)動八個TTL負(fù)載電路。通常在使用時(shí)外接上拉電阻,用來驅(qū)動多個數(shù)碼管。在訪問外部程序和外部數(shù)據(jù)存儲器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,不需要外接上拉電阻;Pin1-Pin8為P1.0-P1.7輸入輸出腳是一個帶內(nèi)部上拉電阻的8位雙向I/0口。P1口能驅(qū)動4個TTL負(fù)載;Pin21-Pin28為P2.0-P2.7輸入輸出腳,P2口是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動4個TTL負(fù)載。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時(shí),接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時(shí),P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時(shí)其引腳上的內(nèi)容在此期間不會改變;Pin10-Pin17為P3.0-P3.7輸入輸出腳,P3口是一個內(nèi)部帶上拉電阻的8位雙向I/O口,P3口能驅(qū)動4個TTL負(fù)載,這8個引腳還用于專門的第二功能。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時(shí),接控制信息。3.3 時(shí)鐘電路單片機(jī)中CPU每執(zhí)行一條指令,都必須在統(tǒng)一的時(shí)鐘脈沖的控制下嚴(yán)格按時(shí)間節(jié)拍進(jìn)行,而這個時(shí)鐘脈沖是單片機(jī)控制中的時(shí)序電路發(fā)出的。CPU執(zhí)行一條指令的各個微操作所對應(yīng)時(shí)間順序稱為單片機(jī)的時(shí)序。MCS-51單片機(jī)芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成震蕩器,XTAL1為該放大器的輸入端,XTAL2為該放大器輸出端,但形成時(shí)鐘電路還需附加其他電路。本設(shè)計(jì)系統(tǒng)采用內(nèi)部時(shí)鐘方式,利用單片機(jī)內(nèi)部的高增益反相放大器,外部電路簡,只需要一個晶振和2個電容即可,如圖9所示:圖9 時(shí)鐘電路電路中的器件選擇可以通過計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路的參數(shù),電路中,電容器C1和C2對震蕩頻率有微調(diào)作用,通常的取值范圍是3010pF,在這個系統(tǒng)中選擇了22pF;石英晶振選擇范圍最高可選24MHz,它決定了單片機(jī)電路產(chǎn)生的時(shí)鐘信號震蕩頻率,在本系統(tǒng)中選擇的是12MHz,因而時(shí)鐘信號的震蕩頻率為12MHz。3.4 復(fù)位電路單片機(jī)在啟動運(yùn)行時(shí)都需要復(fù)位,使CPU和系統(tǒng)中的其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。MCS-51單片機(jī)有一個復(fù)位引腳RST,采用施密特觸發(fā)輸入。當(dāng)震蕩器起振后,只要該引腳上出現(xiàn)2個機(jī)器周期以上的高電平即可確保時(shí)器件復(fù)位。復(fù)位完成后,如果RST端繼續(xù)保持高電平,MCS-51就一直處于復(fù)位狀態(tài),只要RST恢復(fù)低電平后,單片機(jī)才能進(jìn)入其他工作狀態(tài)。單片機(jī)的復(fù)位方式有上電自動復(fù)位和手動復(fù)位兩種,圖10是51系列單片機(jī)統(tǒng)常用的上電復(fù)位和手動復(fù)位組合電路,只要Vcc上升時(shí)間不超過1ms,它們都能很好的工作。圖10 復(fù)位電路3.5 LED顯示系統(tǒng)電路LED是發(fā)光二極管顯示器的縮寫。LED由于結(jié)構(gòu)簡單、價(jià)格便宜、與單片機(jī)接口方便等優(yōu)點(diǎn)而得到廣泛應(yīng)用。LED顯示器是由若干個發(fā)光二極管組成顯示字段的顯示器件。1) LED基本結(jié)構(gòu)在單片機(jī)中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8個發(fā)光二極管組成顯示字段,其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過不同的組合可用來顯示各種數(shù)字。LED引腳排列如下圖11所示:圖11 LED引腳2) LED顯示器的選擇在應(yīng)用系統(tǒng)中,設(shè)計(jì)要求不同,使用的LED顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號不同的LED顯示器供選擇,在本設(shè)計(jì)中,選擇4位一體的數(shù)碼型LED顯示器,簡稱“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個位,后兩位顯示電壓的小數(shù)位。4-LED顯示器引腳如圖11所示,是一個共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、2、3、4分別是每一位的位選端,dp是小數(shù)點(diǎn)引出端,4位一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個單獨(dú)的LED顯示器組成,每個LED顯示器的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。圖12 四位LED引腳對于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計(jì)要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)在一起,用一個I/O接口控制)顯示。3) 數(shù)碼管顯示電路本設(shè)計(jì)采用的如圖12所示的四位共陰極數(shù)碼管,采用了動態(tài)掃描的方式讓數(shù)碼顯示出輸入通道的電壓值。其連接如圖13所示:圖13 數(shù)碼管顯示電路圖13中P0口接的上拉電阻是1k的排阻,關(guān)于排阻的介紹如下:常用排阻有A型和B型的區(qū)別。A型排阻的引腳總是奇數(shù)的。它的左端有一個公共端(用白色的圓點(diǎn)表示),常見的排阻有4、7、8個電阻,所以引腳共有5或8或9個。B型排阻的引腳總是偶數(shù)的。它沒有公共端,常見的排阻有4個電阻,所以引腳共有8個。排阻的阻值讀法如下:“103”表示:10k,“510”表示:51。以此類推。排阻的阻值與內(nèi)部電路結(jié)構(gòu)通常可以從型號上識別出來。選用時(shí)要注意,有的排阻內(nèi)有兩種阻值的電阻,在其表面會標(biāo)注這兩種電阻值,如220330,所以SIP排阻在應(yīng)用時(shí)有方向性,使用時(shí)要小心。這里使用的排阻是A09-102型號的排阻,它的讀讀數(shù)值方法是:1023表示的是10的平方,10乘以10的平方,該排阻阻值為1k歐。圖13中數(shù)碼管是四位共陰數(shù)碼管P2.4P2.7分別接的是數(shù)碼管的位選,P0.0P0.7是數(shù)碼管的段選,動態(tài)掃描時(shí)在程序中先打開第一位數(shù)碼管的位選,再打開此位數(shù)碼管段選,然后短暫延時(shí)(延時(shí)盡量不要超過15ms,否則最終效果會使數(shù)碼管閃爍)。3.6 按鍵控制電路本設(shè)計(jì)除了實(shí)現(xiàn)溫度檢測功能外,設(shè)計(jì)者也豐富了其功能,另外還設(shè)計(jì)了可調(diào)節(jié)溫度上下限的模塊,因?yàn)镈S1B820內(nèi)部可存儲用上下限值,也可實(shí)現(xiàn)溫度報(bào)警的功能。其按鍵控制電路連接如下圖所示:圖14 按鍵控制如圖所示,K1,K2,K3,K4實(shí)現(xiàn)的功能分別是增加溫度數(shù)值,減少溫度數(shù)值,確認(rèn),上下限警報(bào)切換。每按一次K1鍵,數(shù)碼管顯示的溫度值加1,按下確認(rèn)鍵后,那么這個值就成了一個界限,每按一次K2鍵,數(shù)碼管顯示的溫度值減1,按下確認(rèn)鍵后,那么這個值也成了一個界限,最終溫度的允許范圍只能在這兩個界限內(nèi),一旦超出或低于這兩個界限,蜂鳴器報(bào)警電路將會發(fā)“嘟嘟嘟嘟”的響聲。3.7 蜂鳴器電路蜂鳴器分為有源蜂鳴器和無源蜂鳴器,該電路中蜂鳴器用的是無源蜂鳴器,如圖15蜂鳴器驅(qū)動模塊:圖15 蜂鳴器模塊電路有源蜂鳴器與無源蜂鳴器的區(qū)別:注意:這里的“源”不是指電源,而是指震蕩源。也就是說,有源蜂鳴器內(nèi)部帶震蕩源,所以只要一通電就會響,而無源內(nèi)部不帶震蕩源,所以如果用直流信號無法令其鳴叫。必須用2K-5K的方波去驅(qū)動它有源蜂鳴器往往比無源的貴,就是因?yàn)槔锩娑鄠€震蕩電路l 無源蜂鳴器的優(yōu)點(diǎn)是:便宜,內(nèi)部無振蕩源,價(jià)格上相比更為便宜。聲音頻率可控,可以做出“多來米發(fā)索拉西”的效果。在一些特例中,可以和LED復(fù)用一個控制口,因?yàn)樗笠纛l輸入的信號才能發(fā)響。l 有源蜂鳴器的優(yōu)點(diǎn)是:程序控制方便。此處驅(qū)動蜂鳴器用的三極管采用的是s9012(pnp)型號三極管,由于PROTEUS仿真中沒有s9012這個三極管,所以選用了一個相似的pnp型號三極管,其中基極接的限流電阻大小和實(shí)物也不一樣,實(shí)際接的是1k的限流電阻。但實(shí)際效果和仿真效果是一樣的,如圖所示,蜂鳴器接在了三極管的集電極,這里的三極管實(shí)際就是運(yùn)用開關(guān)管的功能。關(guān)于三極管的引腳分辨方法如下:1) 判定基極,用萬用表R100或R1k擋測量三極管三個電極中每兩個極之間的正、反向電阻值。當(dāng)用第一根表筆接某一電極,而第二表筆先后接觸另外兩個電極均測得低阻值時(shí),則第一根表筆所接的那個電極即為基極b。這時(shí),要注意萬用表表筆的極性,如果紅表筆接的是基極b。黑表筆分別接在其他兩極時(shí),測得的阻值都較小,則可判定被測三極管為PNP型管;如果黑表筆接的是基極b,紅表筆分別接觸其他兩極時(shí),測得的阻值較小,則被測三極管為NPN型管。2) 判定集電極c和發(fā)射極e。(以PNP為例)將萬用表置于R100或R1k擋,紅表筆基極b,用黑表筆分別接觸另外兩個管腳時(shí),所測得的兩個電阻值會是一個大一些,一個小一些。在阻值小的一次測量中,黑表筆所接管腳為集電極;在阻值較大的一次測量中,黑表筆所接管腳為發(fā)射極。圖16 pnp三極管引腳3.8 總體電路設(shè)計(jì)經(jīng)過以上的設(shè)計(jì)過程,可設(shè)計(jì)出基于單片機(jī)的簡易溫度檢測儀硬件電路原理圖如圖17所示:圖17 整體電路從圖中可以看出整體電路是以STC89C52單片機(jī)為核心設(shè)計(jì)的。在數(shù)碼管部分用的是網(wǎng)絡(luò)標(biāo)號與P0口連接,這樣比較美觀,避免了太多線的麻煩。8按鍵全部整使用的P1口,因?yàn)槠渌腜0都有擴(kuò)展東西,所以利用P1口擴(kuò)展按鍵將單片機(jī)的I/O口合理利用。整體電路的布局也更為合理,也方便了在實(shí)際焊接步驟。經(jīng)過將近一周的單片機(jī)課程設(shè)計(jì),終于完成了溫度檢測儀的設(shè)計(jì),雖然沒有完全達(dá)到設(shè)計(jì)要求,但還是收獲良多。通過這次課程設(shè)計(jì),使我更進(jìn)一步地熟悉了單片機(jī)芯片的工作原理和其具體的使用方法。單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,這鍛煉了自己獨(dú)立思考問題的能力和通過查看相關(guān)資料來解決問題的習(xí)慣。還有了解了課程設(shè)計(jì)的一般步驟,和設(shè)計(jì)中應(yīng)注意的問題,做這個設(shè)計(jì)我有了很多教訓(xùn),首先在洞洞板的布線上面思考了很久,之前是比較隨意的用軟件將器件布在了洞洞板軟件上,所以很多的問題沒有考慮周全,包括一些器件空間的大小,還有包括布局的合理安排等,一開始都做得不夠好,在老師指導(dǎo)下,將器件重新布置一番,使得最終效果比以前看上去更工整,這樣不僅外觀看著更舒服,而且有利于后面出問題的檢查與調(diào)試。四、軟件設(shè)計(jì)4.1 keil軟件1)Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令人事半功倍。2)C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。調(diào)試程序通過Keil軟件編譯,產(chǎn)生HEX文件如圖18所示:圖18 keil編譯產(chǎn)生HEX文件4.2 系統(tǒng)主程序設(shè)計(jì)根據(jù)模塊的劃分原則,將該程序劃分為初始化模塊,按鍵控制模塊,DS18B20傳感器模塊,顯示模塊。當(dāng)然還有一個蜂鳴器模塊,其在主程序中沒標(biāo)出,因?yàn)樗菆?zhí)行報(bào)警功能,其詳細(xì)情況,可到蜂鳴器模塊查。主程序流程如圖19所示:圖19 主程序流程4.3 系統(tǒng)子程序設(shè)計(jì)1) 初始化程序所謂初始化,是對將要用到的MCS-51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式,初值預(yù)置,開中斷和打開定時(shí)器等。本設(shè)計(jì)程序中的初始化就有一些關(guān)于定時(shí)器的處理及初始操作,另外還加了一些開機(jī)LOGO程序,即剛上電時(shí),該段程序會讓數(shù)碼管顯示一些數(shù)字,蜂鳴器響一到兩秒。2) 按鍵控制程序因?yàn)楸驹O(shè)計(jì)中有四個控制按鍵,所以程序中必然少不了按鍵掃描的程序,按鍵控制電路部分程序流程圖如下圖所示:圖20 按鍵控制程序流程因本設(shè)計(jì)中所使用的四腳輕觸臥式開關(guān),所以在按鍵過程中,必然產(chǎn)生一些抖動干擾,因此在程序中必須對按鍵控制程序進(jìn)行消抖處理,具體操作一般采用控制其發(fā)生,一般這種按鍵抖動在按下時(shí)會有20ms左右時(shí)間,在釋放時(shí)也會存在20ms左右時(shí)間,因此,當(dāng)檢測到按鍵按下時(shí),讓其延時(shí)10ms后再次檢測是否按下,如果按下則進(jìn)入下一段程序。通過這種方法可以達(dá)到去抖的作用。而且這也是比較通用的簡便去抖方法。3) DS18B20傳感器模塊程序此模塊的程序主要功能是讀取采集的溫度,其流程圖如下所示:圖21 讀取溫度流程3) 顯示模塊程序因本設(shè)計(jì)是一個溫度檢測儀,即要顯示的是溫度值,而且溫度數(shù)值有正有負(fù),因此本設(shè)計(jì)中對這些情況都有所考慮,具體流程如下圖所示:圖22 顯示模塊流程因顯示模塊使用的是四位共陰數(shù)碼實(shí)現(xiàn)的,并且段選都是接一個I/O口上,所以,要讓其顯示不同的數(shù)字時(shí),必須采用動態(tài)掃描的方式方能實(shí)現(xiàn)。在采用動態(tài)掃描時(shí),要非常注意動態(tài)掃描的時(shí)間長度,一般來講延時(shí)不要超過20ms,因?yàn)槌^20ms可能看上去會導(dǎo)致數(shù)碼管閃爍造成顯示效果不好。但延時(shí)也不能太短,太短會造成顯示亮度太低甚致無顯示等結(jié)果。所以,延時(shí)時(shí)間上要掌握好,一般來講延時(shí)10ms左右就可以。4) 蜂鳴器模塊程序此模塊程序功能是執(zhí)行報(bào)警提示。即當(dāng)溫度不在設(shè)定的上下限范圍之內(nèi)時(shí),蜂鳴器便會發(fā)出“嘟嘟嘟”的響聲。其具體流程如下圖所示:圖23 蜂鳴器模塊程序流程此處所用蜂鳴器為無源蜂鳴器,因此在程序編寫中應(yīng)注意,要將控制該I/O口的電平設(shè)成方波形式才能使蜂鳴器發(fā)響。五、仿真與實(shí)現(xiàn)5.1 PROTEUS仿真軟件1)PROTEUS軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。迄今為止是世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯2)在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。PROTEUS 是單片機(jī)課堂教學(xué)的先進(jìn)助手。PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于PROTEUS提供了實(shí)驗(yàn)室無法相比的大量的元器件庫,提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺。隨著科技的發(fā)展“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門重要的前期設(shè)計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)果、過程的統(tǒng)一的特點(diǎn)??墒乖O(shè)計(jì)時(shí)間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險(xiǎn)。相信在單片機(jī)開發(fā)應(yīng)用中PROTEUS也能茯得愈來愈廣泛的應(yīng)用。通過Proteus進(jìn)行仿真,如仿真結(jié)果所示:圖24 啟動時(shí)整體狀態(tài)圖24顯示的是剛啟動時(shí)的電路狀態(tài),從電路中可以看到,每個引旁邊都有一些紅色或者綠色的小方塊,其中紅色方塊代表此處是高電平,綠色方塊代表此處是低電平,在整個電路工作時(shí),基上就可以很清晰地看出電路中每個引腳的電平變化情況。此時(shí)數(shù)碼顯示的是一橫亮的狀態(tài),這是開機(jī)時(shí)的一個LOGO,在程序中有設(shè)定,并且剛開機(jī)時(shí),蜂鳴器也會響一到兩秒。5.2 STC-ISP程序燒錄軟件STC-ISP是一款單片機(jī)下載編程燒錄軟件,是針對STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機(jī),使用非常簡便,現(xiàn)在已被廣泛使用。1) 其使用方法步驟如下: 打開STC-ISP,在MCU Type欄目下選中單片機(jī),如STC89C52RC; 根據(jù)您的9針數(shù)據(jù)線連接情況選中COM端口,波特率一般保持默認(rèn),如果遇到下載問題,可以適當(dāng)下調(diào)一些;2) 按圖示選中各項(xiàng): 先確認(rèn)硬件連接正確,按如圖點(diǎn)擊“打開文件”并在對話框內(nèi)找到您
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 愛國名人課件
- 母嬰產(chǎn)品市場動態(tài)分析與營銷策略創(chuàng)新
- 非理想界面準(zhǔn)合梁的振動與彎曲特性研究
- 石墨烯在貴金屬吸附與回收領(lǐng)域的應(yīng)用研究進(jìn)展
- 消費(fèi)行為理論解釋
- 紡織業(yè)在全球市場的競爭力與可持續(xù)發(fā)展策略
- 技術(shù)革新對全球貿(mào)易動態(tài)及推動機(jī)制深度探究
- 燃料電池課件內(nèi)容
- 力學(xué)計(jì)量員崗位面試問題及答案
- 智能預(yù)測與風(fēng)險(xiǎn)預(yù)警系統(tǒng)-洞察闡釋
- 北京市大興區(qū)2025年初中學(xué)業(yè)水平考試地理真題(含答案)
- 辦公室應(yīng)聘題庫及答案
- 2025年黑龍江省龍東地區(qū)中考數(shù)學(xué)試卷
- 2025年河北中考地理真題含答案
- 國開機(jī)考答案 管理學(xué)基礎(chǔ)2025-06-27
- 學(xué)堂在線 公共管理學(xué) 章節(jié)測試答案
- 2025年浙江省中考數(shù)學(xué)試卷真題(含官方標(biāo)準(zhǔn)答案)
- 美術(shù)機(jī)構(gòu)教師管理制度
- 2025至2030中國建筑水泥行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 2025年中國數(shù)據(jù)庫市場研究報(bào)告
- 國家開放大學(xué)《思想道德與法治》社會實(shí)踐報(bào)告范文一
評論
0/150
提交評論