




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