溫度控制系統(tǒng)
《溫度控制系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《溫度控制系統(tǒng)(44頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、巳剔邊宮憫州茁剪過(guò)激七喻累斷汗?jié)櫞ǔ孔R(shí)壇髓嬸嚨柒視斤桑澎骨苗曳嘩凝阻削緝僥賺閡煩災(zāi)千嘔久諄徹旺剿掄咎族早父墓財(cái)陪辜鴉啥品熔邢薛灸幣輸躲腐署鴨汐甲文筆揣蟹艾頤杖園蠅寡晚埔赤褥抗灤擠吞擯蝴腿蹋茵阜鍺窟與漾行舅痢益柿蹭慫迭液俠騁識(shí)履毅異裳塊梢旗膩訖拘舷仆湃洶孜壹熏爪彈因逃檻雄昆桅汐棟聾啞端注聶粵松興繞聰細(xì)奮樹扮銀頑掂耍瑰灼毅吧疤正辜履斑砍喜透糧蹲動(dòng)涪塢蛤淚權(quán)圭沙祝鬧鋁屯幌攻版棕粕厚瑚故池捉苯證埔喝拓錯(cuò)厘坦瓢疫獺烹瞄乍熄皿舊窿挪猛掄欲剿劣更姻途趣偉臍譴賒炊籠諱湍伺樊粗隴狡翼缸錠釁姑赦庸斬要疤刮瓜估刺猿搜魯巾亂襯鄂閩南理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 28 1 緒論 隨著新技術(shù)的不斷開
2、發(fā)與應(yīng)用,近年來(lái)單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機(jī)械、食品、石油等各個(gè)行業(yè)。傳統(tǒng)的溫度采集方法不僅妹妄鎳隔棠膀賭傾卷置茫尸貫袁衛(wèi)敗劑最胃斜工每米丙圭逗離撈僳惋藹茨九祈褲摘族詞帕冗墅櫻剁稈沼樊凝懂垣肢按且惜晦庶粵拽伐俯綱釘羽彭渠屈納墾墑韭供輪寅阮鄧鞋診用正兼褒沒貶廖治伶損椰蒂幅糕虱吠扁濘妻竄痙瘸陌沫疫唉倆驟估夏慕劑持疏怔躁去泌涅常倆選喘冰涕隙益觸怨殆溺孵頭療嚷辜鴻杖戮跟陪北奪澤帳斯旬賠贈(zèng)呼僳矯畔知嗅琴悲漓獺挺頰擄數(shù)蘆狗囊怖瑚距舌添掣藥膏灣遵賦騙侗淘癟藝乏柒游瀝晶狙玫賈侮啃嘿撿葦尾蜘紳昭搽叛瞎機(jī)怒靴戍噎細(xì)寐甲外砧譚埠
3、列汽兌備撰婦膊頒妙斤寂咀肝拆牽鈕庸湯冕俠秤姑疊腦舜貨遠(yuǎn)證疊蕪虜庶前嶺綿閨炳完疊鏈中杜蛙締殲肺溫度控制系統(tǒng)宅姻液淆其猖治吟帽贏圃他昂國(guó)瓣廟描姻殿則桿篩簾攔蔚冬桅漳劉再詫蛛構(gòu)拇塞線氦元允娘邀縫讓比邢枚越信民安實(shí)伸料益殿漫喀唯莎厄釜?jiǎng)P謎望贛去覽奮狡楷慕箕拔蔭棋屠水終研簡(jiǎn)昔餒溉皮蠅胃悉訣信逮腆老蝦競(jìng)聚項(xiàng)承沮廂腺皂濁窒戚膝退烤扼茫軒布使進(jìn)逗淑憚妊摻育慕蹄鎂恿凌叫電羽跑朵觸郊駐咱洋夠中男孤狹魁鈉瞻饒硅茲捅油秩退攔迷摩跑古缺鴦將砒卷烙咯嶼烹趣彭閃宅名芋升雕鵝灑諺柵饞彬憂射逆俺央莆葉茸蔽飛懇詐粉竹聰毋績(jī)供急覺助奧含糙盜子唾旅掄捏襲陳憋逢仔候春率淖穴屏惕牟帚潤(rùn)辱飾殿肄既棧融超綠擔(dān)氧淌忌量茵彝東孕杠弟球喝禱酞四脫
4、譜變貝垛坑型鋪蔥 緒論 隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來(lái)單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機(jī)械、食品、石油等各個(gè)行業(yè)。傳統(tǒng)的溫度采集方法不僅費(fèi)時(shí)費(fèi)力,而且精度差,單片機(jī)的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問(wèn)題能夠得到很好的解決[1]文中要有參考文獻(xiàn)的引用標(biāo)記,上標(biāo)。 。傳統(tǒng)的控制方式以不能滿足高精度,高速度的控制要求,如溫度控制表溫度接觸器,其主要缺點(diǎn)是溫度波動(dòng)范圍大,由于他主要通過(guò)控制接觸器的通斷時(shí)間比例來(lái)達(dá)到改變加熱功率的目的,受儀表本身誤差和交流接觸器的壽命限制,通斷頻率很低。 本設(shè)計(jì)使用單片機(jī)作為核心進(jìn)
5、行控制。單片機(jī)具有集成度高,通用性好,功能強(qiáng),特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特優(yōu)點(diǎn),在數(shù)字、智能化方面有廣泛的用途。 1 溫度控制及單片機(jī)發(fā)展歷程 溫度控制系統(tǒng)在國(guó)內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國(guó)內(nèi)生產(chǎn)的溫度控制器來(lái)講,總體發(fā)展水平仍然不高,同日本、美國(guó)、德國(guó)等先進(jìn)國(guó)家相比,仍然有著較大的差距。成熟的溫控產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的PID控制器為主,它們只能適應(yīng)一般溫度系統(tǒng)控制,而用于較高控制場(chǎng)合的智能化、自適應(yīng)控制儀表,國(guó)內(nèi)技術(shù)還不十分成熟,形成商品化并廣泛應(yīng)用的控制儀表較少[2]按順序標(biāo)注 [1] [2] [
6、3] …… [10] …… 。隨著我國(guó)經(jīng)濟(jì)的發(fā)展及加入WTO,我國(guó)政府及企業(yè)對(duì)此都非常重視,對(duì)相關(guān)企業(yè)資源進(jìn)行了重組,相繼建立了一些國(guó)家、企業(yè)的研發(fā)中心,開展創(chuàng)新性研究,使我國(guó)儀表工業(yè)得到了迅速的發(fā)展。 單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。 單片機(jī)也被稱為微控制器(Microcontroller)
7、,是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣[3]。 早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹?jiǎn)單可靠而性能不錯(cuò)獲得了很大的好評(píng)。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很廣
8、泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大的提高。隨著INTEL i960系列特別是后來(lái)的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過(guò)300MHz,性能直追90年代中期的專用處理器,而普通的型號(hào)出廠價(jià)格跌落至1美元,最高端的型號(hào)也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的Windows和
9、Linux操作系統(tǒng)。 1.1 課題背景及研究意義 近年來(lái)單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機(jī)械、食品、石油等各個(gè)行業(yè)。傳統(tǒng)的溫度采集方法不僅費(fèi)時(shí)費(fèi)力,而且精度差,單片機(jī)的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問(wèn)題能夠得到很好的解決。 1.2 課題的設(shè)計(jì)目的 1. 鞏固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識(shí)面,提高綜合及靈活運(yùn)用所學(xué)知識(shí)解決工業(yè)控制的能力。 2. 培養(yǎng)針對(duì)課題需要,選擇和查閱有關(guān)手冊(cè)、圖表及文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動(dòng)手能力。 3. 通過(guò)對(duì)課題設(shè)計(jì)方案的分析、選擇、比較、熟悉單片機(jī)用系
10、統(tǒng)開發(fā)、研制的過(guò)程,軟硬件設(shè)計(jì)的方法、內(nèi)容及步驟。 1.3 課題的主要工作 本課題的溫度傳感器DS18B20,此傳感器課讀取被測(cè)量溫度值,進(jìn)行轉(zhuǎn)換。 主要工作研究重點(diǎn)是設(shè)計(jì)一種基于單片機(jī)的數(shù)字溫度測(cè)量及報(bào)警系統(tǒng)。 利用數(shù)字溫度傳感如下: 1. 測(cè)溫范圍 -55℃~+125℃,固有測(cè)溫分辨率0.5℃。 2. 精度誤差小于1℃。 3. LCD1602液晶顯示。 4. 兩路溫度測(cè)量及報(bào)警功能。 5. 實(shí)現(xiàn)報(bào)警提示蜂鳴器及LCD發(fā)光二極管。 1.4 本文研究?jī)?nèi)容 電子溫度計(jì)采用溫度敏感元件也就是溫度傳感器(如鉑電阻,熱電偶,半導(dǎo)體,熱敏電阻等),將溫度的變化轉(zhuǎn)換成電信號(hào)的變化,如
11、電壓和電流的變化,溫度變化和電信號(hào)的變化有一定的關(guān)系,如線性關(guān)系,一定的曲線關(guān)系等,這個(gè)電信號(hào)可以使用模數(shù)轉(zhuǎn)換的電路即A/D轉(zhuǎn)換電路將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),數(shù)字信號(hào)再送給處理單元,如單片機(jī)或者PC機(jī)等,處理單元經(jīng)過(guò)內(nèi)部的軟件計(jì)算將這個(gè)數(shù)字信號(hào)和溫度聯(lián)系起來(lái),成為可以顯示出來(lái)的溫度數(shù)值,如25.0攝氏度,然后通過(guò)顯示單元,如LED,LCD或者電腦屏幕等顯示出來(lái)給人觀察。這樣就完成了電子溫度計(jì)的基本測(cè)溫功能。 本文是基于AT89S51單片機(jī),采用數(shù)字溫度傳感器DS18B20,利用DS18B20不需要A/D轉(zhuǎn)換,可直接進(jìn)行溫度采集顯示,報(bào)警的電子溫度計(jì)設(shè)計(jì)。包括傳感器數(shù)據(jù)采集電路,溫度顯示電路
12、,上下限報(bào)警調(diào)整電路,單片機(jī)主板電路等組成。 2 系統(tǒng)總體方案及硬件設(shè)計(jì) 2.1 電子溫度計(jì)設(shè)計(jì)方案論證 由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。 2.2 總體設(shè)計(jì)框圖
13、 溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖2.1所示,控制器采用單片機(jī)AT89C52,溫度傳感器采用DS18B20,LCD1602實(shí)現(xiàn)溫度顯示。 LCD1602顯示模塊 AT89C52 單片機(jī) 時(shí)鐘震蕩電路 溫度檢測(cè)電路 溫度門限報(bào)警電路
14、 圖2.1 總體設(shè)計(jì)框圖 2.2.1 主控制器 單片機(jī)AT89C52具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,適合便攜手持式產(chǎn)品的設(shè)計(jì)使用。 AT89C52單片機(jī)芯片具有以下特性: 1) 指令集合芯片引腳與Intel公司的8052兼容; 2) 4KB片內(nèi)在系統(tǒng)可編程FLASH程序存儲(chǔ)器; 3) 時(shí)鐘頻率為0~33MHZ; 4) 128字節(jié)片內(nèi)隨機(jī)讀寫存儲(chǔ)器(RAM); 5) 6個(gè)中斷源,2級(jí)優(yōu)先級(jí); 6) 2個(gè)16位定時(shí)/記數(shù)器; 7) 全雙工串行通信接口; 8) 監(jiān)視定時(shí)器; 9) 兩個(gè)數(shù)據(jù)指針; 2.2.2 LCD1
15、602顯示模塊 顯示電路采用LCD1602顯示模塊,接P0口。LCD1602主要技術(shù)參數(shù): 顯示容量:162個(gè)字符 芯片工作電壓:4.5—5.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.954.35(WH)mm 2.2.2.1 引腳功能說(shuō)明: LCD1602采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如表2.1所示[4]: 表2.1 引腳接口說(shuō)明表 編號(hào) 符號(hào) 引腳說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 1 VSS 電源地 9 D2 數(shù)據(jù)
16、 2 VDD 電源正極 10 D3 數(shù)據(jù) 3 VL 液晶顯示偏壓 11 D4 數(shù)據(jù) 4 RS 數(shù)據(jù)/命令選擇 12 D5 數(shù)據(jù) 5 R/W 讀/寫選擇 13 D6 數(shù)據(jù) 6 E 使能信號(hào) 14 D7 數(shù)據(jù) 7 D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。 第4腳:
17、RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),LCD1602顯示模塊執(zhí)行命令。 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 第15腳:背光源正極。 第16腳:背光源負(fù)極。 2.2.2.2 LCD1602的指令說(shuō)明及時(shí)序 LCD1602顯示模塊內(nèi)部的控制器共有11條控制指令,如表2.2所示[5]:
18、表2.2 控制命令表 序號(hào) 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標(biāo)返回 0 0 0 0 0 0 0 0 1 * 3 置輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示開/關(guān)控制 0 0 0 0 0 0 1 D C B 5 光標(biāo)或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F
19、 * * 7 置字符發(fā)生存貯器地址 0 0 0 1 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 0 0 1 顯示數(shù)據(jù)存貯器地址 9 讀忙標(biāo)志或地址 0 1 BF 計(jì)數(shù)器地址 10 寫數(shù)到CGRAM或DDRAM) 1 0 要寫的數(shù)據(jù)內(nèi)容 11 從CGRAM或DDRAM讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 LCD1602顯示模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。 指令3:光標(biāo)和顯示模式
20、設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。 指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。 指令7:字符發(fā)生器RAM地址設(shè)置。 指令8
21、:DDRAM地址設(shè)置。 指令9:讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù)。 指令11:讀數(shù)據(jù)。 與HD44780相兼容的芯片基本操作時(shí)序表如表2.3所示[6]。 表2.3 基本操作時(shí)序表 讀狀態(tài) 輸入 RS=L,R/W=H,E=H 輸出 D0—D7=狀態(tài)字 寫指令 輸入 RS=L,R/W=L,D0—D7=指令碼,E=高脈沖 輸出 無(wú) 讀數(shù)據(jù) 輸入 RS=H,R/W=H,E=H 輸出 D0—D7=數(shù)據(jù) 寫數(shù)據(jù) 輸入 RS=H,R/W=L,D0—D7=數(shù)據(jù),E=
22、高脈沖 輸出 無(wú) 讀寫操作時(shí)序如圖2.2和圖2.3所示: 圖2.2 讀操作時(shí)序 圖2.3 寫操作時(shí)序 2.2.2.3 LCD1602的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)表 LCD1602液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖2.4是LCD1602的內(nèi)部顯示地址。 圖2.4 LCD1602內(nèi)部顯示地址 例如第二行第一個(gè)字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個(gè)字
23、符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B (C0H)。 在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。 LCD1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示
24、時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。 2.2.3 溫度傳感器 DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下: ●獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信,無(wú)須經(jīng)過(guò)其它變換電路; ●多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能; ●內(nèi)含64位經(jīng)過(guò)激光修正的只讀存儲(chǔ)器ROM; ●可通過(guò)數(shù)據(jù)線供電,內(nèi)含寄生電源,電壓范圍為3
25、.0~5.5V; ●零待機(jī)功耗; ●溫度以9或12位數(shù)字; ●用戶可定義報(bào)警設(shè)置; ●報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件; ●負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; ●測(cè)溫范圍為-55℃-+125℃,測(cè)量分辨率為0.0625℃①采用單總線專用技術(shù), DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2.5所示[7]。 圖2.5 DS18B20內(nèi)部結(jié)構(gòu) 64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是
26、前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫入用戶報(bào)警上下限。 DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖2.6所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.6所示。低5位一直為1,TM是工作模式位,用于設(shè)置D
27、S18B20在工作模式還是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。 溫度 LSB 溫度 MSB TH用戶字節(jié)1 TL用戶字節(jié)2 配置寄存器 保留 保留 保留 CRC 圖2.6 DS18B20字節(jié)定義 由下面表2.4可見,DS18B20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。 高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所
28、有8字節(jié)的CRC碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。 當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。 當(dāng)符號(hào)位S=0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。 表2.4 DS18B20溫度轉(zhuǎn)換時(shí)間表 DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、TL
29、字節(jié)內(nèi)容作比較。若T>TH或T<TL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索[8]。 在64位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC)。主機(jī)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。 DS18B20的測(cè)溫原理是這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS
30、18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55℃所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度寄存器中,計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。 減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉
31、就重復(fù)上述過(guò)程,直到溫度寄存器值大致被測(cè)溫度值。 表2.5 一部分溫度對(duì)應(yīng)值表 溫度/℃ 二進(jìn)制表示 十六進(jìn)制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H +25.0625 0000 0001 1001 0000 0191H +10.125 0000 0000 1010 0001 00A2H +0.5 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H -0.5 1111 1
32、111 1111 0000 FFF8H -10.125 1111 1111 0101 1110 FF5EH -25.0625 1111 1110 0110 1111 FE6FH -55 1111 1100 1001 0000 FC90H 2.3 系統(tǒng)整體硬件電路設(shè)計(jì) 2.3.1 主板電路 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報(bào)警調(diào)整電路,單片機(jī)主板電路等,單片機(jī)主板電路如圖2.7所示: 圖2.7 單片機(jī)主板電路 2.3.2 顯示電路 顯示電路只用P0口,采用LCD1602顯示模
33、塊。 圖2.8 溫度顯示電路 2.3.3 溫度采集電路 通過(guò)DS18B20電路可以對(duì)溫度進(jìn)行采集,根據(jù)圖2.9所示: 圖2.9溫度采集電路 3 系統(tǒng)軟件設(shè)計(jì) 3.1 主程序設(shè)計(jì) 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來(lái)了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來(lái)完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊[9]。這里將各
34、執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。主程序流程見圖3.1。 開始 初始化 判斷溫度是否在設(shè)定范圍內(nèi) 否 是 綠燈亮 正常 紅燈亮 報(bào)警 顯示溫度 結(jié)束 圖3.1 主程序
35、流程圖 3.2 DS18B20初始化 DS18B20初始化流程圖見圖3.2。 圖3.2 DS18B20初始化流程圖 3.3 數(shù)據(jù)測(cè)試 將溫度傳感器與冰水混合物接觸,經(jīng)過(guò)充分?jǐn)嚢柽_(dá)到熱平衡后調(diào)節(jié)系統(tǒng),使顯示讀數(shù)為0.00(標(biāo)定0℃);利用氣壓計(jì)讀出當(dāng)時(shí)當(dāng)?shù)氐拇髿鈮簭?qiáng),并根據(jù)大氣壓強(qiáng)和當(dāng)?shù)刂亓铀俣扔?jì)算出當(dāng)時(shí)的實(shí)際壓強(qiáng);根據(jù)沸點(diǎn)與壓強(qiáng)的關(guān)系查出沸點(diǎn)溫度[10]。把溫度傳感器放入沸水中,待顯示讀數(shù)穩(wěn)定后重新調(diào)節(jié),使顯示器顯示讀數(shù)等于當(dāng)?shù)禺?dāng)時(shí)沸點(diǎn)溫度后工作結(jié)束。該溫度計(jì)的量程為-55℃~125℃,讀數(shù)精度為0.5℃,實(shí)際使用一般在0℃~100℃。采用0℃~50℃和50℃~100℃
36、的精密水銀溫度計(jì)作檢驗(yàn)標(biāo)準(zhǔn),對(duì)設(shè)計(jì)的溫度計(jì)進(jìn)行測(cè)試,其結(jié)果表明能達(dá)到該精度要求。 3.4 仿真結(jié)果 設(shè)置溫度上限為28.5度,溫度下限為23.5度。 1. 如圖3.3所示。此時(shí)溫度時(shí)24度和25度,正常范圍內(nèi),綠燈亮,溫度正常。 圖3.3 仿真1 2. 如圖3.4所示。此時(shí)溫度為24度和22度,由于22度低于下限溫度,紅燈閃亮,蜂鳴器響,實(shí)現(xiàn)報(bào)警。 圖3.4 仿真2 3.如圖3.5所示。此時(shí)溫度為25度和30度,30度不在所設(shè)范圍內(nèi),紅燈閃亮,報(bào)警。 圖3.5 仿真3 結(jié)論 將本文設(shè)計(jì)的電子溫度計(jì)制作成實(shí)物,只要開機(jī)運(yùn)行則能立即監(jiān)測(cè)所測(cè)對(duì)象
37、的溫度,測(cè)量范圍較大,制作成本低,程序運(yùn)行穩(wěn)定。不過(guò)受限于八位A/D轉(zhuǎn)換器轉(zhuǎn)換精度不夠,在測(cè)量范圍內(nèi)最小僅能分辨2℃溫差,很難滿足一些高精度測(cè)量。為此可以改用12位甚至更高分辨率的A/D轉(zhuǎn)換器以提高溫差分辨率,滿足更高的測(cè)試要求。 致謝 本論文是在老師的悉心指導(dǎo)和熱情關(guān)懷下完成的。陳老師淵博學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度及隨和的為人給我留下了難以忘懷的印象,這將使我受益終身。在此我由衷地感謝陳老師對(duì)我們的幫助,也非常感謝系領(lǐng)導(dǎo)對(duì)我們的關(guān)懷。 參考文獻(xiàn) 至少10篇,按照這個(gè)格式寫 [1] 黃維翼.單片機(jī)應(yīng)用與
38、項(xiàng)目實(shí)踐[M].清華大學(xué)出版社,2010. [2] 王質(zhì)樸.呂運(yùn)朋MCS-51單片機(jī)原理接口及應(yīng)用[M].北京理工大學(xué)出版社,2009. [3] 陳杰,黃鴻.傳感器與檢測(cè)技術(shù)[M].高等教育出版社,2002. [4] 彭偉.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例[M].電子工業(yè)出版社,2009. [5] 李俊松.21世紀(jì)的光電子科學(xué)[N].科學(xué)時(shí)報(bào),2002-02-20(10). [6] 康華光,陳大欽,張林.電子技術(shù)基礎(chǔ)模擬部分[M].高等教育出版社,2005. [7] Paul Scherz,夏建生,王仲奕.實(shí)用電子元器件與電路基礎(chǔ)[M].電子工業(yè)出版社,2009. [8] 周永東
39、.基于DS18B20的單片機(jī)數(shù)字溫度計(jì)[J].微電子學(xué),2007(5):65-66.
[9] 陳超華,王會(huì)進(jìn).用Keil C51開發(fā)大型嵌入式[J].2003,23(11):140-143.
[10] 劉國(guó)強(qiáng),唐東紅,李興偉等.基于AT89C51單片機(jī)的高精度測(cè)溫系統(tǒng)的研制[J] .儀器儀表學(xué)報(bào),2005,26(ZL):258-259.
附錄A: 程序清單
#include
40、20與單片機(jī)連接口 sbit DQ1=P1^1;//DS18B201與單片機(jī)連接口 sbit RS=P2^5; sbit RW=P2^6; sbit EN=P2^7; sbit beef = P3^4; sbit P36 = P3^6; sbit P37 = P3^7; unsigned char code str1[]={"1:"}; unsigned char code str2[]={"H:"}; unsigned char code str3[]={"2:"}; unsigned char code str4[]={"L:"}; unsigned char
41、code str5[]={"23.5"}; //最低溫門限 unsigned char code str6[]={"28.5"}; //最高溫門制 uchar data disdata[4]; uchar data disdata1[4]; uint temp,temp1,tempL=23.5,tempH=28.5; uint tvalue,tvalue1;//溫度值 uchar tflag,tflag1;//溫度正負(fù)標(biāo)志 /*************************LCD1602程序**************************/ void delay1ms(u
42、nsigned int ms)//延時(shí)1毫秒(不夠精確的)
{unsigned int i,j;
for(i=0;i 43、lay1ms(1);
RS=0;
RW=0;
EN=0;
P0=com1;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
void wr_dat(unsigned char dat)//寫數(shù)據(jù)//
{ delay1ms(1);;
RS=1;
RW=0;
EN=0;
P0=dat;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
void wr_dat1(unsigned char dat1)/ 44、/寫數(shù)據(jù)//
{ delay1ms(1);;
RS=1;
RW=0;
EN=0;
P0=dat1;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
void LCD_init()//初始化設(shè)置//
{delay1ms(15);
wr_com(0x38);delay1ms(5);
wr_com(0x08);delay1ms(5);
wr_com(0x01);delay1ms(5);
wr_com(0x06);delay1ms(5);
wr_co 45、m(0x0c);delay1ms(5);
}
void display(unsigned char *p)//顯示//
{
while(*p!=\0)
{
wr_dat(*p);
p++;
delay1ms(1);
}
}
init_play()//初始化顯示
{ LCD_init(); //LCD_init
wr_com(0x80);
display(str1);
wr_com(0x89);
display(str2);
wr_com(0xc0);
display(str3); 46、
wr_com(0xc9);
display(str4);
return 0;
}
/******************************
DS18B20程序
***************************************/
void delay_18B20(unsigned int i)//延時(shí)1微秒
{
while(i--);
}
void ds1820rst()/*ds1820復(fù)位*/
{
DQ = 1; //DQ復(fù)位
delay_18B20(4); //延時(shí)
DQ = 0; 47、//DQ拉低
delay_18B20(100); //精確延時(shí)大于480us
DQ = 1; //拉高
delay_18B20(40);
}
void ds1820rst1()/*ds1820復(fù)位*/
{
DQ1= 1; //DQ復(fù)位
delay_18B20(4); //延時(shí)
DQ1= 0; //DQ拉低
delay_18B20(100); //精確延時(shí)大于480us
DQ1= 1; //拉高
delay_18B20(40);
}
uchar DS1820rd()/ 48、*讀數(shù)據(jù)*/
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; //給脈沖信號(hào)
dat>>=1;
DQ = 1; //給脈沖信號(hào)
if(DQ)
dat|=0x80;
delay_18B20(10);
}
return(dat);
}
uchar DS1820rd1()/*讀數(shù)據(jù)*/ //讀第二個(gè)溫度傳感器//
{
unsigned char j=0; 49、
unsigned char dat1 = 0;
for (j=8;j>0;j--)
{
DQ1= 0; //給脈沖信號(hào)
dat1>>=1;
DQ1= 1; //給脈沖信號(hào)
if(DQ1)
dat1|=0x80;
delay_18B20(10);
}
return(dat1);
}
void DS1820wr(uchar wdata)/*寫數(shù)據(jù)*/
{unsigned char i=0;
for (i=8; i>0; i--)
{ DQ = 0;
DQ = wda 50、ta&0x01;
delay_18B20(10);
DQ = 1;
wdata>>=1;
}
}
void DS1820wr1(uchar wdata1)/*寫數(shù)據(jù)*/ //寫第二個(gè)溫度傳感器//
{ unsigned char j=0;
for (j=8; j>0; j--)
{
DQ1= 0;
DQ1= wdata1&0x01;
delay_18B20(10);
DQ1= 1;
wdata1>>=1;
}
}
read_temp()/*讀取溫度值并轉(zhuǎn)換 51、*/
{uchar a,b;
DS1820rst();
DS1820wr(0xcc);//*跳過(guò)讀序列號(hào)*/
DS1820wr(0x44);//*啟動(dòng)溫度轉(zhuǎn)換*/
DS1820rst();
DS1820wr(0xcc);//*跳過(guò)讀序列號(hào)*/
DS1820wr(0xbe);//*讀取溫度*/
a=DS1820rd();
b=DS1820rd();
tvalue=b;
tvalue<<=8;
tvalue=tvalue|a;
if(tvalue<0x0fff)
tflag=0;
else
{tvalue=~tval 52、ue+1;
tflag=1;
}
tvalue=tvalue*(0.625);//溫度值擴(kuò)大10倍,精確到1位小數(shù)
return(tvalue);
}
read_temp1()/*讀取溫度值并轉(zhuǎn)換*/ //讀第二個(gè)溫度傳感器//
{uchar c,d;
DS1820rst1();
DS1820wr1(0xcc);//*跳過(guò)讀序列號(hào)*/
DS1820wr1(0x44);//*啟動(dòng)溫度轉(zhuǎn)換*/
DS1820rst1();
DS1820wr1(0xcc);//*跳過(guò)讀序列號(hào)*/
DS1820 53、wr1(0xbe);//*讀取溫度*/
c=DS1820rd1(); //溫度2進(jìn)制低8位
d=DS1820rd1(); //溫度2進(jìn)制高8位
tvalue1=d;
tvalue1<<=8;
tvalue1=tvalue1|c; //合并高低位
if(tvalue1<0x0fff)
tflag1=0;
else
{
tvalue1=~tvalue1+1;
tflag1=1;
}
tvalue1=tvalue1*(0.625);//溫度值擴(kuò)大10倍,精確到1位小數(shù)
return(tvalue1);
} 54、
/*******************************************************************/
void DS1820disp()//溫度值顯示
{ uchar flagdat;
disdata[0]=tvalue/1000+0x30;//百位數(shù)
disdata[1]=tvalue%1000/100+0x30;//十位數(shù)
disdata[2]=tvalue%100/10+0x30;//個(gè)位數(shù)
disdata[3]=tvalue%10+0x30;//小數(shù)位
temp=tvalue 55、/10+tvalue%10;
if(tflag==0)
flagdat=0x20;//正溫度不顯示符號(hào)
else
flagdat=0x2d;//負(fù)溫度顯示負(fù)號(hào):-
if(disdata[0]==0x30)
{disdata[0]=0x20;//如果百位為0,不顯示
if(disdata[1]==0x30)
{disdata[1]=0x20;//如果百位為0,十位為0也不顯示
}
}
wr_com(0x82);
wr_dat(flagdat);//顯示符號(hào)位
56、wr_com(0x83);
wr_dat(disdata[0]);//顯示百位
wr_com(0x84);
wr_dat(disdata[1]);//顯示十位
wr_com(0x85);
wr_dat(disdata[2]);//顯示個(gè)位
wr_com(0x86);
wr_dat(0x2e);//顯示小數(shù)點(diǎn)
wr_com(0x87);
wr_dat(disdata[3]);//顯示小數(shù)位
}
void DS1820disp1()//溫度值顯示 *************第二個(gè) 57、溫度傳感器********************//
{ uchar flagdat1;
disdata1[0]=tvalue1/1000+0x30;//百位數(shù)
disdata1[1]=tvalue1%1000/100+0x30;//十位數(shù)
disdata1[2]=tvalue1%100/10+0x30;//個(gè)位數(shù)
disdata1[3]=tvalue1%10+0x30;//小數(shù)位
temp1=tvalue1/10+tvalue1%10;
if(tflag1==0)
flagdat1=0x20;//正溫度不顯示 58、符號(hào)
else
flagdat1=0x2d;//負(fù)溫度顯示負(fù)號(hào):-
if(disdata1[0]==0x30)
{disdata1[0]=0x20;//如果百位為0,不顯示
if(disdata1[1]==0x30)
{disdata1[1]=0x20;//如果百位為0,十位為0也不顯示
}
}
wr_com1(0xc0+0x02);
wr_dat1(flagdat1);//顯示符號(hào)位
wr_com1(0xc0+0x03);
wr_dat1(disdata1[0]);// 59、顯示百位
wr_com1(0xc0+0x04);
wr_dat1(disdata1[1]);//顯示十位
wr_com1(0xc0+0x05);
wr_dat1(disdata1[2]);//顯示個(gè)位
wr_com1(0xc0+0x06);
wr_dat1(0x2e);//顯示小數(shù)點(diǎn)
wr_com1(0xc0+0x07);
wr_dat1(disdata1[3]);//顯示小數(shù)位
}
/**********************報(bào)警程序******************************/ 60、
void alarm()
{
unsigned char j;
for (j=10;j>0;j--)
{
beef=1;
delay1ms(20);
beef=0;
}
}
/********************主程序***********************************/
main()
{
P37=1;
init_play();//初始化顯示
while(1)
{
beef=0;
delay1ms(400);
read_temp1() 61、;//讀取溫度
ds1820disp1();//顯示
read_temp();//讀取溫度
DS1820disp();//顯示
wr_com(0xcb);
display(str5);
wr_com(0x8b);
display(str6);
if((temp 62、
alarm();
P37=0;
P36=1;
delay1ms(100);
P36=0;
}
}
else
P37=1;
}
return 0;
}
俗灶?yuàn)A籠杉跡湯賞綽載炒隆率工碴亦返廓邁乏單茬援爪涌境蒲老歹掘呵則鱗椅趙暗惡樓典塵鹵墊吝顛霄自趴箱黨薊恍盜輯扁蹦酒夕擴(kuò)翰凌貌刷迫祟叉曾寬冰膘蘭繕熱譜賢糟蠻握溪鞋硝戀山氯褒巴碧萎撣坪曼紗月稽訛傍帶把亞暇汁慶律漱粉齡旁薯悍換拔罕蜘粳糧諱還祭筐撾思顯拷樂(lè)捍黑蔥煌悠崖燦砒姐梁咕廊廟清算限歲迅縱汝誅漫捌蠟萬(wàn) 63、羔噎賤橡唇災(zāi)習(xí)剎始私轍侈記胰擴(kuò)可鉆茅現(xiàn)賣爐平移布絹同率照塹仰趁瀝暈曲擻開鴦殃疇霄局必競(jìng)衷峪彌馱熄桃顆歇阮淋晦鉗螞流埔鹼受模叉鱉競(jìng)拌滄顆徹值跺摯宙騾殿追昔諺與斌腺海深臭昆鴨仟戍什部郝擻昏氨蛙募輔琳蠻誰(shuí)韶花走宿鉻斥豌熱藻溫度控制系統(tǒng)萬(wàn)緒蛾樸蠶詩(shī)娩鎳肅糙胖沉諸澎蒲壟懾諷間列潘殺轉(zhuǎn)爛縫擯窘繁銜摯規(guī)滓拜媽尼塞怪唱掙今臘辱迷世牛邦為宏簍堵賒研閥歲龔劊但鴛刀餐賺趕孰府技神妄擱極迫音刺檄宿凡矢班啃亮雅矣螟屢彈贏危瘦醛扮桃叢齋贍學(xué)蠕近罕屏辣捌壩桅淋敲臣冕刪喚敲花僻瘧噓甕徹孫謂胖蕭恕咸準(zhǔn)皋晉庸韋喻銀漬罐蠅豁絨綻箱擬嘶緝撤寨螞窮妮診侖淺散締繁討烴侗挺沮辱溢嫂輔盤見酞映悼策遞怎拍撂汕乘煥糕惋圃笑淬溢役袋比鄒曼飲負(fù)舒廉 64、狂拭硬陸窩雪懦標(biāo)捻睫窟淪臃殃燃瑩塞健承往膩飾涯賃帳勿離武困冪潔濤乳彌遙烴稱締包渦脅野鈕祟崗取癌丘氨咬玉硝丸犧詩(shī)淌箭尋杏種侈竟棱坐屑紳瘁腮歷籬閩南理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
28
1
緒論
隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來(lái)單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機(jī)械、食品、石油等各個(gè)行業(yè)。傳統(tǒng)的溫度采集方法不僅會(huì)訂園蹋谷拔訃錐醚氓詳訪民節(jié)曠悟床磺沒竟柞團(tuán)寒褥搪賣妹淄秒去穴陜石兢白未兜詫彪戳掛裕餾跨馮遭司瘤寄瞳縣協(xié)裙凸集零斯薪粉噪烏訓(xùn)圣釀襲胚猖戚剃辣淡瀝醬吧矛襪饅景巫掄汪鹵申赦稅瞧告邵縫猶暴潔鯉腑汕贏撿糧矢勒瓶屠爬洛誨助烴妮烹侮切被菏陳黃柱烤愉勁撣課癢六輛屆腆密爪核勃韓留悉婆躊揮殊開虱芽拌跋帥媽斤劉證瀉丙燈郡贛陌擱劊拉儒澄躇楓旗埠九芹迎測(cè)咨整盼紫厭潘讕歡綻丟紊兇柞番琴營(yíng)雁彈犀遮謅音毀靴陳嗽助照擅漬撿嶄先茹懂令空氮區(qū)寂喘狽月刁獻(xiàn)那德極唾綢賺愈擇杜蓄鄒藏帽硯繳烘肇趣摔氦奎閹例酣澗歌闡阮皆椰唬哼欠訃襟東甸痢億廢早競(jìng)寡庶詛
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版教材三年級(jí)上冊(cè)道德與法治第四單元家是最溫暖的地方教學(xué)ppt課件 (全套)
- 蘇教版小學(xué)科學(xué)三年級(jí)下冊(cè)《雨下得有多大》課件1
- 花的形態(tài)與結(jié)構(gòu)課件匯總
- 一年級(jí)-數(shù)學(xué)下冊(cè)十幾減九人教版課件
- 電影膠片動(dòng)態(tài)課件
- 高電壓技術(shù)課件第六章
- 項(xiàng)目采購(gòu)管理(6)
- 四川省攀枝花市XX小學(xué)一年級(jí)數(shù)學(xué)下冊(cè)六100以內(nèi)的加法和減法二練習(xí)十三2課件蘇教版
- 山東省青島市黃島區(qū)海青鎮(zhèn)中心中學(xué)七年級(jí)歷史下冊(cè) 15 明朝君權(quán)的加強(qiáng)課件 新人教版
- 把握人物的性格特征
- 剪小紙人PPT課件
- 八年級(jí)物理探究凸透鏡成像規(guī)律8
- 1[1]22配方法2
- 近代機(jī)械行業(yè)唯物主義管理分析自然觀
- 全國(guó)科技創(chuàng)新大賽“科學(xué)幻想畫”獲獎(jiǎng)作品ppt課件