版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Good is good, but better carries it.精益求精,善益求善。DS18B20溫度調(diào)節(jié)系統(tǒng)設(shè)計(jì)-目錄單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)說(shuō)明書(shū)一課題名稱(chēng)3二設(shè)計(jì)任務(wù)4三設(shè)計(jì)報(bào)告撰寫(xiě)規(guī)范4溫度預(yù)警與調(diào)節(jié)系統(tǒng)一系統(tǒng)的總體設(shè)計(jì)方案選擇41方案一42方案二4二系統(tǒng)整體主要功能編程實(shí)現(xiàn)5溫度預(yù)警與調(diào)節(jié)系統(tǒng)的各模塊設(shè)計(jì)一單片機(jī)最小系統(tǒng)設(shè)計(jì)61單片機(jī)震蕩電路62單片機(jī)電源電路63單片機(jī)復(fù)位電路74單片機(jī)的EA75單片機(jī)的的應(yīng)用程序8二顯示模塊81LCD1602液晶顯示器概述82顯示特性93物理特性94接口定義1151602讀操作時(shí)序1161602寫(xiě)操作時(shí)序1171602初始化設(shè)置128數(shù)據(jù)
2、控制13三溫度采集模塊131DS18B20概述132DS18B20工作原理及應(yīng)用143DS18B20初始化時(shí)序圖154DS18B20寫(xiě)時(shí)序圖165DS18B20讀時(shí)序圖17四電源模塊18五報(bào)警模塊20六設(shè)備模塊21七軟件模塊221函數(shù)定義222延遲函數(shù)設(shè)計(jì)223參考程序22八心得體會(huì)28九參考文獻(xiàn)29單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)說(shuō)明書(shū)一課題名稱(chēng)溫度預(yù)警與調(diào)節(jié)系統(tǒng)二設(shè)計(jì)任務(wù)1利用通用1602液晶顯示器顯示當(dāng)前溫度;2當(dāng)溫度大于40攝氏度或小于10攝氏度時(shí),利用喇叭進(jìn)行報(bào)警,并啟動(dòng)熱機(jī)加熱或冷機(jī)降溫,使溫度恒定在10到40攝氏度的范圍之內(nèi)。三設(shè)計(jì)報(bào)告撰寫(xiě)規(guī)范單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)總結(jié)報(bào)告正文,主要含以下
3、內(nèi)容(硬件和軟件各部分內(nèi)容組合撰寫(xiě)):1系統(tǒng)總設(shè)計(jì)方案(畫(huà)出系統(tǒng)原理框圖,方案的論證與比較等內(nèi)容);2硬件系統(tǒng)分析與設(shè)計(jì)(各個(gè)模塊或單元電路的設(shè)計(jì),工作原理闡述,參數(shù)計(jì)算,元件選擇,利用AltiumDesigner繪制完整的系統(tǒng)電路圖,系統(tǒng)所需的元件清單等內(nèi)容);3軟件系統(tǒng)分析與設(shè)計(jì)(各功能模塊的程序設(shè)計(jì)流程圖與說(shuō)明,軟件系統(tǒng)設(shè)計(jì),軟件抗干擾措施,完整的程序等內(nèi)容);4系統(tǒng)仿真調(diào)試與參數(shù)測(cè)量(運(yùn)用proteus單片機(jī)仿真軟件進(jìn)行硬件和嵌入程序的仿真);5總結(jié)(本課題核心內(nèi)容及使用價(jià)值,電路設(shè)計(jì),軟件設(shè)計(jì)的特點(diǎn)和選擇方案的優(yōu)缺點(diǎn),改進(jìn)方向和意見(jiàn)等);6列出主要參考文獻(xiàn)與資料。溫度預(yù)警與調(diào)節(jié)系統(tǒng)一
4、系統(tǒng)的總體設(shè)計(jì)方案選擇1方案一由于本設(shè)計(jì)方案主要的任務(wù)是測(cè)量溫度,所以首先可以想到使用熱敏電阻之類(lèi)的感溫元件來(lái)測(cè)量溫度。原理是將被測(cè)溫度的變化而引起電壓或電流的信號(hào)采集過(guò)來(lái),通過(guò)A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)分析和處理,在通過(guò)顯示電路就可以將被測(cè)量的溫度顯示出來(lái),但是這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路和一些關(guān)于溫度與電阻的對(duì)應(yīng)計(jì)算,感溫電路設(shè)計(jì)也較麻煩,還存在一定的運(yùn)算誤差。2方案二從而考慮直接運(yùn)用集成溫度傳感器DS18B20,這種傳感器采用內(nèi)部集成,可以很容易直接讀取被測(cè)量的溫度值,進(jìn)行轉(zhuǎn)換,電路簡(jiǎn)單,精度高,軟硬件都可以實(shí)現(xiàn),而且使用單片機(jī)的接口便于系統(tǒng)的擴(kuò)張,滿(mǎn)足所需要的設(shè)計(jì)要求。從以
5、上兩種方案,很容易看出,采用方案二,電路比較簡(jiǎn)單,可靠性高,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用方案二。方案二系統(tǒng)主要包括單片機(jī)模塊,溫度采集模塊,溫度顯示模塊,溫度限幅模塊及電源模塊,系統(tǒng)總體模塊如圖1所示。單片機(jī)模塊溫度限幅電源模塊報(bào)警模塊溫度顯示模塊溫度采集模塊設(shè)備啟動(dòng)圖1溫度傳感器與報(bào)警系統(tǒng)框二系統(tǒng)整體主要功能編程實(shí)現(xiàn)1整體流程圖:開(kāi)始初始化溫度采集1602顯示溫度判斷是否達(dá)到設(shè)定溫度限幅啟動(dòng)加熱電機(jī)或制冷電機(jī)報(bào)警否是首先對(duì)單片機(jī),1602液晶顯示器和溫度傳感器進(jìn)行初始化設(shè)置,然后進(jìn)行時(shí)刻溫度檢測(cè),根據(jù)溫度的變化判斷假如溫度大于設(shè)定溫度或小于設(shè)定溫度時(shí)產(chǎn)生報(bào)警信號(hào)并啟動(dòng)相應(yīng)的設(shè)備進(jìn)行降溫或是增溫
6、,使溫度恒定在一個(gè)相應(yīng)的范圍之內(nèi)。溫度預(yù)警與調(diào)節(jié)系統(tǒng)的各模塊設(shè)計(jì)一單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)最小系統(tǒng)的的組成;震蕩電路,電源電路,復(fù)位電路,EA及應(yīng)用程序。1單片機(jī)的震蕩電路單片機(jī)是一種時(shí)序電路,必須提供脈沖信號(hào)才能正常工作,在單片機(jī)內(nèi)部已集成了振蕩器,晶體振蕩器接18、19腳,如圖2所示。外部時(shí)鐘震蕩電路由晶體振蕩器和電容C1,C2構(gòu)成并聯(lián)寫(xiě)真電路,連接在XTAL1、XTAL2腳兩端。單片機(jī)內(nèi)部時(shí)鐘電路圖2單片機(jī)的電源電路電源電路是必不可少的。單片機(jī)使用的是5V的TTL電平,其中正極接40引腳,負(fù)極接20引腳。電源電路3單片機(jī)復(fù)位電路復(fù)位電路的目的是使單片機(jī)或系統(tǒng)中的其他部件處于某種確定的初始
7、狀態(tài)。當(dāng)單片機(jī)的復(fù)位引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵后松開(kāi),也能使為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開(kāi)關(guān)復(fù)位的操作。復(fù)位電路圖如圖所示。復(fù)位電路4EA是訪問(wèn)程序存儲(chǔ)器的控制信號(hào),當(dāng)EA為低電平時(shí),對(duì)ROM的讀操作僅限于在外部的程序存儲(chǔ)器;當(dāng)EA為該電平時(shí),對(duì)的讀操作是從內(nèi)部程序存儲(chǔ)器開(kāi)始的并可延至外部程序存儲(chǔ)器。EA口電路接法應(yīng)用程序單片機(jī)內(nèi)部必須有相應(yīng)的程序。因?yàn)橹挥性趦?nèi)部程序的指引下單片機(jī)才能按著預(yù)想的工作方式進(jìn)行工作。單片機(jī)最小系統(tǒng)電路圖二顯示模塊1液晶顯示器概述:為液晶顯示器。由于的
8、控制必須使用專(zhuān)門(mén)的驅(qū)動(dòng)電路,且面板的接線(xiàn)需要采用特殊技巧,再加上LCD面便十分脆弱,因此一般不會(huì)單獨(dú)使用,而是將LCD面板,驅(qū)動(dòng)電路與控制電路合成LCM模塊一起使用。2顯示特性=1*ALPHABETICA使用5V電源電壓,低功耗,長(zhǎng)壽命,高可靠性B內(nèi)置192種字符(160個(gè)5*7點(diǎn)陣字符和32個(gè)5*10點(diǎn)陣字符)C內(nèi)有64個(gè)字節(jié)的自定義字符RAM,可自定義8個(gè)5*8點(diǎn)陣符號(hào)或四個(gè)5*11點(diǎn)陣字符D顯示方式:STN,半透,正顯E驅(qū)動(dòng)方式:1/16DUTY,1/5BIASF視角方向:6點(diǎn)G背光方式:底部LED3物理特性外型尺寸80*36*14單位可視范圍64.6(W)*16.0Hmm顯示容量16字
9、符兩行點(diǎn)尺寸0.55*0.75mm點(diǎn)間距0.08mm4接口定義管腳號(hào)符號(hào)功能1Vss電源地(GND)2Vdd電源電壓(+5V)3V0LCD驅(qū)動(dòng)電壓(可調(diào))4RS寄存器選擇輸入端:RS=0,當(dāng)MPU進(jìn)行寫(xiě)模塊操作,指向指令寄存器;RS=1,無(wú)論MPU讀操作還是寫(xiě)操作,均指向數(shù)據(jù)寄存器5R/W讀寫(xiě)控制輸入端:讀信號(hào)時(shí),高電平有效;寫(xiě)操作時(shí),低電平有效6E使能信號(hào)輸入端,讀操作時(shí)高電平有效;寫(xiě)操作時(shí)下降沿有效7-14DB0-DB7數(shù)據(jù)輸入輸出口15A背光的正端(+5V)16K背光的負(fù)端051602讀操作時(shí)序由圖可知,寄存器選擇輸入端的初始化為低電平首先對(duì)其進(jìn)行拉高使RS=1,為保險(xiǎn)起見(jiàn)先將數(shù)據(jù)dat
10、e讀到P0端口,然后調(diào)用延時(shí)程序延時(shí)5毫秒后將使能端拉高,在延時(shí)5毫秒將使能端拉低。讀操作時(shí)序:voidread_1602(uchardate)/讀操作時(shí)序的程序rs=1;/將寄存器選擇輸入端拉高E=0;P0=date;/將數(shù)據(jù)讀到P0口delay(5);/調(diào)用延時(shí)函數(shù),延時(shí)5MSE=1;/將使能端拉高delay(5);/調(diào)用延時(shí)函數(shù),延時(shí)5MSE=0;/將使能端拉低61602寫(xiě)操作時(shí)序由圖可知,先將寄存器選擇輸入端拉低,為保險(xiǎn)起見(jiàn)先將地址寫(xiě)入P0口,然后調(diào)用延時(shí)程序?qū)⑹鼓芏死撸谘訒r(shí)5毫秒后將使能端拉低。voidwrite_1602(ucharaddress)/寫(xiě)操作時(shí)序的程序rs=0;/
11、將寄存器選擇輸入端拉低E=0;P0=address;/將數(shù)據(jù)寫(xiě)到P0口delay(5);/調(diào)用延時(shí)函數(shù),延時(shí)5MSE=1;/將使能端拉高delay(5);/調(diào)用延時(shí)函數(shù),延時(shí)5MSE=0;/將使能端拉低71602的初始化設(shè)置:A顯示模式設(shè)置指令碼功能00111000設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口顯示開(kāi)關(guān)及光標(biāo)設(shè)置指令碼功能00001DCBD=1開(kāi)顯示;D=0關(guān)顯示C=1顯示光標(biāo);C=0不顯示光標(biāo)B=1光標(biāo)閃爍;B=0光標(biāo)不顯示000001NSN=1當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加一,且光標(biāo)加一;N=0當(dāng)讀或?qū)懸粋€(gè)字符后地址指針減一,且光標(biāo)減一;S=1當(dāng)寫(xiě)一個(gè)字符,整屏顯示左移(N=1)
12、或(N=0),已得到光標(biāo)不移動(dòng)而屏幕移動(dòng)的效果;S=0當(dāng)寫(xiě)一個(gè)字符,整屏顯示不移動(dòng)初始化程序:voidinit()/初始化程序E=0;/初始化時(shí)E為低電平write_1602(0 x38);/顯示模式設(shè)置delay(2);/調(diào)用延時(shí)函數(shù)延時(shí)2毫秒write_1602(0 x0c);/delay(2);write_1602(0 x06);delay(2);8數(shù)據(jù)控制控制器內(nèi)部設(shè)有一個(gè)數(shù)據(jù)地址指針,用戶(hù)可通過(guò)他們來(lái)訪問(wèn)內(nèi)部的全部80字節(jié)RAM,數(shù)據(jù)指針設(shè)置如下指令碼功能80H+地址碼(0-27H,40H-67H)設(shè)置數(shù)據(jù)地址指針其中80H到80H+0FH,80H+40H到80H+40H+0FH為可
13、顯示區(qū)域,其余為不可顯示,可以通過(guò)移屏指令將其移出顯示。三溫度采集模塊概述:溫度采集模塊使用DS18B20數(shù)字溫度傳感器進(jìn)行溫度采集,簡(jiǎn)化了使用電爐實(shí)現(xiàn)采集的麻煩,并且提高了溫度檢測(cè)的可靠性和穩(wěn)定性。DS18B20是美國(guó)Dallas半導(dǎo)體公司繼DS1820之后新推出的一種改進(jìn)型智能溫度溫度傳感器。與一般熱敏電阻相比,他能夠直接讀出被測(cè)的溫度。DS18B20是支持一線(xiàn)總線(xiàn)接口的溫度傳感器,對(duì)DS18B20讀出或者寫(xiě)入信息僅需要一條線(xiàn)路。它支持的溫度測(cè)量范圍為負(fù)55攝氏度到正125攝氏度,支持電壓為3V到5.5V的電壓范圍。它具有體積小,可靠性高,更靈活等優(yōu)點(diǎn)。根據(jù)DS18B20技術(shù)參數(shù),溫度采集
14、模塊電路設(shè)計(jì)如圖所示。DS18B20的3號(hào)引腳采用+5V電源供電,1號(hào)引腳接地,2號(hào)數(shù)據(jù)傳輸端引腳接單片機(jī)P22端口DS18B20溫度傳感器電路連接圖DS18B20的工作原理及應(yīng)用DS18B20的溫度檢測(cè)與數(shù)字?jǐn)?shù)據(jù)輸出全集成與一個(gè)芯片之上,從而抗干擾能力強(qiáng)。其中一個(gè)工作周期可分為兩個(gè)部分即溫度檢測(cè)與數(shù)據(jù)處理部分。它的三種形態(tài)的存儲(chǔ)器資源,分別為:ROM只讀存儲(chǔ)器,用于存放DS18B20編碼共六十四位,前八位為校驗(yàn)位后四十八位為芯片唯一序列號(hào),最后八位是以上五十六位的冗余校驗(yàn),由廠家設(shè)置,用戶(hù)不能更改。主要常用指令:A讀ROM的指令為33H(只有一個(gè)芯片時(shí)),即單總線(xiàn)時(shí);B指定配置芯片的指令為5
15、5H(多個(gè)芯片);C搜索芯片為FOH;D跳躍ROM為CCH;E搜索報(bào)警芯片為ECH.RAM數(shù)據(jù)暫存器,用于內(nèi)部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,他共有9個(gè)字節(jié)的RAM,分別為第一二個(gè)事溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第三四個(gè)是用戶(hù)EEPROM(常用于溫度報(bào)警值存儲(chǔ))的鏡像。第5個(gè)字節(jié)則是用戶(hù)的第三個(gè)EEPROM的鏡像。第六七八個(gè)字節(jié)為計(jì)數(shù)器寄存器,未了更高的分辨率設(shè)置。第九個(gè)字節(jié)為前面字節(jié)的冗余校驗(yàn)。主要指令表:A向RAM寫(xiě)數(shù)據(jù)用4EH,這是向RAM中寫(xiě)入數(shù)據(jù)的指令,隨后寫(xiě)入的兩個(gè)字節(jié)將被存放在報(bào)警和。寫(xiě)入過(guò)程中可以用復(fù)位信號(hào)中止寫(xiě)入。B從RAM中讀數(shù)據(jù)用BEH,由高地址向低地址,允許用復(fù)位信號(hào)中止讀
16、取,即可以不讀取后面不需要的字節(jié)以減少讀取時(shí)間。C溫度轉(zhuǎn)換用44H,收到此指令后芯片將進(jìn)行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放到RAM的第一二地址。此后由于芯片忙于轉(zhuǎn)換,當(dāng)控制器發(fā)出讀控制間隙時(shí)總線(xiàn)輸出0,完成存儲(chǔ)工作時(shí)輸出1.齊聲工作方式時(shí)發(fā)出此指令后立刻用上拉并保持至少500毫秒,維持芯片工作。D工作方式切換指令B4H,此指令發(fā)出后發(fā)出讀時(shí)間間隙,芯片會(huì)返回他的電源狀態(tài)字,“0”為寄生電源“1”為外部電源。3DS18B20初始化時(shí)序圖:初始化時(shí)序圖起初將單總線(xiàn)DQ拉高,稍微延時(shí)一小段時(shí)間,將DQ拉低然后保持拉低時(shí)間大于480微秒小于960微秒,然后再將其拉高,之后尤其自行拉低并延時(shí),本來(lái)需要對(duì)D
17、Q進(jìn)行判斷其是否初始化成功假如成功則DQ=0,如果失敗則DQ=1,這里默認(rèn)其成功初始化。初始化程序:voidinit_18b20()DQ=1;/開(kāi)始DQ為高電平_nop_();稍微延時(shí)_nop_();DQ=0;/將DQ拉低Delay1(100);/延時(shí)大于480微秒小于960微秒_nop_();稍微延時(shí)_nop_();DQ=1;/將DQ拉高_(dá)nop_();_nop_();delay1(15);DQ=1;4DS18B20寫(xiě)時(shí)序圖由上圖可知,要將數(shù)據(jù)的每位寫(xiě)入,必須通過(guò)移位,一位一位的寫(xiě)入,首先將DQ拉低,然后按著時(shí)序圖相應(yīng)延時(shí),如寫(xiě)入01010111,首次與0X01相與寫(xiě)入1,然后移位變成001
18、01011然后又寫(xiě)入1,然后移位變成00010101依次類(lèi)推,最終寫(xiě)入01010111.寫(xiě)操作程序:voidwrite_18b20(uchardat)uchari;for(i=0;i=1;/通過(guò)循環(huán)分別將八位循環(huán)delay1(25);5DS18B20的讀操作時(shí)序:由上圖可知,其操作過(guò)程與寫(xiě)基本類(lèi)似,也是分八次將數(shù)據(jù)讀出,故寫(xiě)出的讀操作程序如下讀操作程序:ucharread_18b20()uchari,dat=0;for(i=0;i=1;DQ=1;_nop_();_nop_();if(DQ)dat|=0 x80;delay1(25);DQ=1;returndat;四電源模塊單片機(jī)使用的是5V的T
19、TL電平,故如果想是單片機(jī)正常工作需要一個(gè)5V的穩(wěn)壓電源并為揚(yáng)聲器提供一個(gè)12V電源,電路圖如圖所示為了使制冷機(jī)和加熱機(jī)正常工作需要向其提供相應(yīng)的工作電壓,所需電路圖如圖所示:交流側(cè)的電阻電容為交流則過(guò)電壓保護(hù)裝置,由于變壓器的感抗的滯后作用使電流要滯后電壓90度,當(dāng)拉閘時(shí)電壓為0而電流卻得到最大值,這樣將使變壓器二次側(cè)產(chǎn)生過(guò)電壓,有點(diǎn)容后過(guò)電壓向電容充電,使電壓減小,但是卻又引入了有感抗和電容組成的LC震蕩電路,從而產(chǎn)生高頻信號(hào),向電容串聯(lián)電阻后可以有效抑制LC振蕩電路。電機(jī)啟動(dòng)時(shí)不能直接啟動(dòng),這里不采用硬件方式使其低壓?jiǎn)?dòng),而通過(guò)軟件的辦法使其正常啟動(dòng)。電容電阻值的計(jì)算:C=173200*
20、I*s/f/Ul;R=0.17Ul/s/l;Ul-網(wǎng)側(cè)線(xiàn)電壓;f-電源頻率;s-變壓器勵(lì)磁電流對(duì)額定電流的標(biāo)幺值,一般為0.0020.005;I-閥側(cè)線(xiàn)電流。電機(jī)勵(lì)磁線(xiàn)圈電路:由于電機(jī)啟動(dòng)需要達(dá)到他的額定磁通,電動(dòng)機(jī)才能正常順利的啟動(dòng)。勵(lì)磁電路五報(bào)警模塊在溫度變化的過(guò)程中假如被測(cè)的溫度超過(guò)了所設(shè)定的溫度,單片機(jī)將采集到該信號(hào),然后經(jīng)過(guò)識(shí)別將信號(hào)變化作出相應(yīng)的變化,使P22端口產(chǎn)生一個(gè)高電平信號(hào),此高電平大于三極管的基極和發(fā)射極間的管壓降,使集電極和發(fā)射極導(dǎo)通,從而驅(qū)動(dòng)揚(yáng)聲器發(fā)出報(bào)警聲,使我們感覺(jué)到。由于管壓降大約為0.7V,輸出電壓為5V,單片機(jī)輸出電流大約為12毫安,故可以估算出該分壓電阻大
21、約為4.7K。所以作出如下電路圖:報(bào)警電路圖六設(shè)備啟動(dòng)模塊:通過(guò)控制MOSFET的通斷來(lái)控制設(shè)備電機(jī)的運(yùn)行,MOSFET的工作頻率越來(lái)越高,國(guó)外國(guó)家的使用頻率接近或超過(guò)1MHZ,我國(guó)目前已達(dá)2050KHZ,為縮短與發(fā)達(dá)國(guó)家的差距,提高工作頻率尤為重要。MOSFET的驅(qū)動(dòng)電路設(shè)計(jì)提高了MOSFET的工作頻率具有舉足輕重的作用,此設(shè)計(jì)過(guò)程堅(jiān)持簡(jiǎn)單經(jīng)濟(jì)實(shí)惠原則,得到下圖驅(qū)動(dòng)電路:設(shè)備驅(qū)動(dòng)電路圖七軟件設(shè)計(jì)一定義函數(shù)#include#include#defineucharunsignedchar/聲明#defineuintunsignedintUcharcodetable=0 x30,0 x31,0 x
22、32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39;/液晶顯示器幾個(gè)數(shù)字代碼sbitrs=P20;/幾個(gè)管腳的聲明sbitE=P21;sbitDQ=P27;sbitspeak=P22;sbitre=P10;sbitleng=P13;uchartemp;二延遲函數(shù)設(shè)計(jì):1毫秒級(jí)子函數(shù)設(shè)計(jì):voiddelay(uintms)uchari;while(ms-)for(i=110;i0;i-);2微秒級(jí)延遲函數(shù)設(shè)計(jì):voiddelay1(ucharus)While(us-);三參考程序:#include#include#defineucharunsignedcha
23、r#defineuintunsignedintucharcodetable=ysuniversity;ucharcodetable1=0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39;ucharcodetable2=temperature:;sbitrs=P20;sbitE=P21;sbitDQ=P27;sbitspeak=P22;sbitre=P10;sbitleng=P12;uchartemp;voiddelay(ms)uchari;while(ms-)for(i=110;i0;i-);voiddelay1(us)whi
24、le(us-);voidwrite_1602(ucharaddress)/寫(xiě)操作時(shí)序的程序rs=0;/將寄存器選擇輸入端拉低P0=address;/將數(shù)據(jù)寫(xiě)到P0口delay(5);/調(diào)用延時(shí)函數(shù),延時(shí)5MSE=1;/將使能端拉高delay(5);/調(diào)用延時(shí)函數(shù),延時(shí)5MSE=0;/將使能端拉低voidread_1602(uchardate)/讀操作時(shí)序的程序rs=1;/將寄存器選擇輸入端拉高P0=date;/將數(shù)據(jù)讀到P0口delay(5);/調(diào)用延時(shí)函數(shù),延時(shí)5MSE=1;/將使能端拉高delay(5);/調(diào)用延時(shí)函數(shù),延時(shí)5MSE=0;/將使能端拉低voidinit_1602()/初始化
25、程序E=0;/初始化時(shí)E為低電平write_1602(0 x38);/顯示模式設(shè)置delay(2);/調(diào)用延時(shí)函數(shù)延時(shí)2毫秒write_1602(0 x0c);/delay(2);write_1602(0 x06);delay(5);write_1602(0 x01);voidinit_18b20()DQ=1;_nop_();_nop_();DQ=0;delay1(100);/精確延時(shí)大于480微秒小于960微秒_nop_();_nop_();DQ=1;_nop_();_nop_();delay1(15);DQ=1;voidwrite_18b20(uchardat)uchari;for(i=0
26、;i=1;delay1(25);ucharread_18b20()uchari,dat=0;for(i=0;i=1;DQ=1;_nop_();_nop_();if(DQ)dat|=0 x80;delay1(25);DQ=1;returndat;ucharread_temperature()/讀取溫度uchara,b;init_18b20();write_18b20(0 xcc);write_18b20(0 x44);/啟動(dòng)溫度轉(zhuǎn)換delay(10);init_18b20();write_18b20(0 xcc);write_18b20(0 xbe);a=read_18b20();/裝溫度的低字節(jié)b=read_18b20();/裝溫度的高字節(jié)b4;returnb;voidmain()ucharshi,ge,i,j;init_1602();write_1602(0 x01);delay(30);while(1)temp=read_temperature();if(temp=40)for(i=16;i0;i-)leng=leng;leng=1;shi=temp/10;ge=temp%10;for(i=0;i0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 金屬3D打印工藝優(yōu)化-第1篇-洞察及研究
- 肝癌免疫治療新技術(shù)-洞察及研究
- 金融科技監(jiān)管趨勢(shì)-洞察及研究
- 跌打膏臨床試驗(yàn)研究-洞察及研究
- 魯棒性損失函數(shù)設(shè)計(jì)-洞察及研究
- 酒吧行業(yè)Z世代用戶(hù)畫(huà)像-洞察及研究
- 高齡產(chǎn)婦圍產(chǎn)保健服務(wù)模式創(chuàng)新研究-洞察及研究
- 鼓室成形術(shù)與耳硬化癥的聯(lián)合治療-洞察及研究
- 龜甲膠資源循環(huán)利用機(jī)制研究-洞察及研究
- 月嫂培訓(xùn)中心管理制度
- 消化內(nèi)鏡ERCP技術(shù)改良
- 云南師大附中2026屆高三1月高考適應(yīng)性月考卷英語(yǔ)(六)含答案
- 2026湖北隨州農(nóng)商銀行科技研發(fā)中心第二批人員招聘9人筆試備考試題及答案解析
- 紀(jì)念館新館項(xiàng)目可行性研究報(bào)告
- 騎行美食活動(dòng)方案策劃(3篇)
- 石化企業(yè)環(huán)保培訓(xùn)課件
- 2026年呂梁職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試備考試題帶答案解析
- 2025年新疆師范大學(xué)輔導(dǎo)員招聘考試真題及答案
- 電梯更新改造方案
- 買(mǎi)車(chē)背戶(hù)協(xié)議書(shū)
- GB/T 3098.5-2025緊固件機(jī)械性能第5部分:自攻螺釘
評(píng)論
0/150
提交評(píng)論