版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中原工學(xué)院信息商務(wù)學(xué)院課程設(shè)計(jì)第一章: 概 述1第二章: 課程設(shè)計(jì)功能描述2第三章: 課程設(shè)計(jì)分析設(shè)計(jì)33.1. 溫度采集系統(tǒng)33.2. ds18b20單線數(shù)字溫度傳感器33.2.1.ds18b20的管腳43.2.2.ds18b20存儲(chǔ)器53.2.3.ds18b20高速暫存存儲(chǔ)器53.2.4.ds18b20有4個(gè)主要的數(shù)據(jù)部件63.2.5.ds18b20和電源的接線方式73.3. ds18b20的工作原理83.3.1.ds18b20的初始化83.3.2.對(duì)ds18b20寫和讀93.3.3.ds18b20在應(yīng)用中應(yīng)注意的事項(xiàng)123.4. at89s52單片機(jī)簡(jiǎn)介133.4.1. at89s52主
2、要功能列舉如下133.4.2. at89s52各引腳功能介紹13第四章:繪制硬件電路圖并對(duì)硬件電路圖進(jìn)行說明164.1.protuel軟件簡(jiǎn)介164.2.protuel軟件特色17第五章:繪制軟件流程圖和對(duì)軟件流程圖的介紹19第六章:上機(jī)調(diào)試及運(yùn)行結(jié)果216.1.對(duì)proteus的簡(jiǎn)介216.2.proteus功能特點(diǎn)216.3.電路仿真226.4.調(diào)試遇到的問題分析226.5. prteus原理圖22總結(jié)23參考文獻(xiàn)24附錄25第一章: 概 述大學(xué)本科學(xué)生動(dòng)手能力的培養(yǎng)和提高是大學(xué)本科教育的一個(gè)重要內(nèi)容。如何讓學(xué)生在學(xué)好基礎(chǔ)知識(shí)的同時(shí),迅速掌握應(yīng)用技術(shù),實(shí)驗(yàn)與課程設(shè)計(jì)環(huán)節(jié)起著非常重要的作用。
3、單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器cpu隨機(jī)存儲(chǔ)器ram、只讀存儲(chǔ)器rom、多種i/o口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、a/d轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開
4、單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。基于單片機(jī)的強(qiáng)大功能和重要作用,也為了提高我們的動(dòng)手能力,使我們能把理論學(xué)習(xí)和實(shí)踐操作結(jié)合起來,加深對(duì)理論學(xué)習(xí)的理解。我們?cè)?011學(xué)年的下半學(xué)期第十四、十五和十六周進(jìn)行了單片機(jī)應(yīng)用這樣的課程設(shè)計(jì)。課設(shè)的具體內(nèi)容是通過ds18b20這個(gè)一總線數(shù)字傳感器,用c52控制實(shí)現(xiàn)對(duì)溫度的實(shí)時(shí)監(jiān)測(cè),并且超過設(shè)定的最高或最低溫度時(shí)可以自動(dòng)報(bào)警,這個(gè)最高和最低溫度可以通過對(duì)單片機(jī)的控制來隨意設(shè)置。第二章: 課程設(shè)計(jì)功能描述本次單片機(jī)應(yīng)用的課程設(shè)計(jì)要求是運(yùn)用
5、at89s52,ds18b20和四個(gè)開關(guān)以及若干導(dǎo)線、電阻、三極管設(shè)計(jì)并制作一個(gè)數(shù)字溫度的控制檢測(cè)的電路板產(chǎn)品其具體實(shí)現(xiàn)的功能如下:1.能過實(shí)現(xiàn)運(yùn)用ds18b20這一溫度傳感器可以實(shí)時(shí)準(zhǔn)確的檢測(cè)出當(dāng)前的溫度,并將檢測(cè)的溫度清楚準(zhǔn)確的顯示在四位集成數(shù)碼管上。2.能夠運(yùn)用at89s52可以控制ds18b20的檢測(cè)的過程,在數(shù)碼管上可以初始化顯示。3.能夠設(shè)置最高溫度和最低溫度,并且通過開關(guān)控制at89s52可以把最高溫度和最高溫度可以顯示在數(shù)碼管上。4.能夠通過開關(guān)控制at89s52,可以調(diào)整最高溫度和最低溫度。5.能過實(shí)現(xiàn)當(dāng)檢測(cè)的實(shí)際溫度高于最高溫度或低于最低溫度時(shí)都能夠報(bào)警提示。第三章: 課程
6、設(shè)計(jì)分析設(shè)計(jì)3.1. 溫度采集系統(tǒng)如圖3.1所示為溫度采集報(bào)警系統(tǒng)框圖。該課程設(shè)計(jì)將以單片機(jī)控制的溫度采集系統(tǒng)為主,利用單片機(jī)完成對(duì)溫度的檢測(cè),實(shí)現(xiàn)安全溫度內(nèi)正常顯示溫度值,超出設(shè)定溫度則進(jìn)行報(bào)警。系統(tǒng)在溫度采集時(shí)主要應(yīng)用ds18b20芯片,該器件經(jīng)過初始化后單片機(jī)首先進(jìn)行rom匹配,當(dāng)收到測(cè)溫器件發(fā)回的信號(hào)時(shí)證明該器件正常工作,接著單片機(jī)發(fā)出溫度轉(zhuǎn)換命令進(jìn)行溫度采集,測(cè)溫的精確度很高,設(shè)計(jì)中用三極管進(jìn)行數(shù)碼管顯示驅(qū)動(dòng)。圖3.1 系統(tǒng)圖框3.2. ds18b20單線數(shù)字溫度傳感器ds18b20、 ds1822 “一線總線”數(shù)字化溫度傳感器是dallas最新單線數(shù)字溫度傳感器, 同ds1820一
7、樣,ds18b20也 支持“一線總線”接口,測(cè)量溫度范圍為 -55c+125c,在-10+85c范圍內(nèi),精度為0.5c。ds1822的精度較差為 2c ?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,與前一代產(chǎn)品不同,新的產(chǎn)品支持3v5.5v的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 ds18b20可以程序設(shè)定912位的分辨率,精度為0.5c。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在eeprom中,掉電后依然保存。ds18b20的性能是新一代產(chǎn)品中最好的!性能價(jià)格比也非常出色!
8、ds1822與 ds18b20軟件兼容,是ds18b20的簡(jiǎn)化版本。省略了存儲(chǔ)用戶定義報(bào)警溫度、分辨率參數(shù)的eeprom,精度降低為2c,適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。 繼“一線總線”的早期產(chǎn)品后,ds1820開辟了溫度傳感器技術(shù)的新概念。ds18b20和ds1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)。 圖3.2 ds18b20內(nèi)部結(jié)構(gòu)圖3.2.1.ds18b20的管腳ds18b20內(nèi)部結(jié)構(gòu)主要有四部分組成:64位光刻rom、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器th和tl、配置寄存器。ds18b20的管腳排列如下:dq為數(shù)字信號(hào)輸入/
9、輸出端gnd為電源地vdd為外接電源輸入端圖3.3 ds18b203.2.2.ds18b20存儲(chǔ)器ds18b20的存儲(chǔ)器包括高速暫存器ram和可電擦除ram,可電擦除ram又包括溫度觸發(fā)器th和tl,以及一個(gè)配置寄存器。存儲(chǔ)器能完整的確定一線端口的通訊,數(shù)字開始用寫寄存器的命令寫進(jìn)寄存器,接著也可以用讀寄存器的命令來確認(rèn)這些數(shù)字。當(dāng)確認(rèn)以后就可以用復(fù)制寄存器的命令來將這些數(shù)字轉(zhuǎn)移到可電擦除ram中。當(dāng)修改過寄存器中的數(shù)時(shí),這個(gè)過程能確保數(shù)字的完整性。 高速暫存器ram是由8個(gè)字節(jié)的存儲(chǔ)器組成;第一和第二個(gè)字節(jié)是溫度的顯示位。第三和第四個(gè)字節(jié)是復(fù)制th和tl,同時(shí)第三和第四個(gè)字節(jié)的數(shù)字可以更新;
10、第五個(gè)字節(jié)是復(fù)制配置寄存器,同時(shí)第五個(gè)字節(jié)的數(shù)字可以更新;六、七、八三個(gè)字節(jié)是計(jì)算機(jī)自身使用。用讀寄存器的命令能讀出第九個(gè)字節(jié),這個(gè)字節(jié)是對(duì)前面的八個(gè)字節(jié)進(jìn)行校驗(yàn)。3.2.3.ds18b20高速暫存存儲(chǔ)器高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在 高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如表1所示。對(duì)應(yīng)的溫度計(jì)算: 當(dāng)符號(hào)位s=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)s=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。表3.1是對(duì)應(yīng)的一部分溫度值。第九個(gè)字節(jié)是 冗余檢驗(yàn)字節(jié)。表3
11、.1 ds18b20暫存寄存器分布根據(jù)ds18b20的通訊協(xié)議,主機(jī)(單片機(jī))控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)ds18b20進(jìn)行 復(fù)位操作,復(fù)位成功后發(fā)送一條rom指令,最后發(fā)送ram指令,這樣才能對(duì)ds18b20進(jìn)行預(yù)定的操作。復(fù)位要求主cpu將數(shù)據(jù)線下拉500微秒,然后 釋放,當(dāng)ds18b20收到信號(hào)后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主cpu收到此信號(hào)表示復(fù)位成功。3.2.4.ds18b20有4個(gè)主要的數(shù)據(jù)部件光刻rom中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼。64位光刻rom的排列是:開始8位
12、 (28h)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該ds18b20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(crc=x8+x5+x4+1)。光刻rom的作用 是使每一個(gè)ds18b20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)ds18b20的目的。ds18b20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 0.0625/lsb形式表達(dá),其中s為符號(hào)位。圖3.4 ds18b20測(cè)溫原理框圖3.2.5.ds18b20和電源的接線方式ds18b20可以使用外部電源vdd,也可以使用內(nèi)部的寄生電源。當(dāng)vdd端口接3.0v5.5v的電壓時(shí)是使用外部電
13、源;當(dāng)vdd端口接地時(shí)使用了內(nèi)部的寄生電源。無論是內(nèi)部寄生電源還是外部供電,i/o口線要接5k左右的上拉電阻。圖3.5 ds18b20寄生電源供電方式此次課設(shè)我們用的是外部電源供電方式,在外部電源供電方式下,ds18b20工作電源由vdd引腳接入,此時(shí)i/o線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時(shí)在總線上理論可以掛接任意多個(gè)ds18b20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。注意:在外部供電的方式下,ds18b20的gnd引腳不能懸空 ,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。圖3.6 ds18b20外接電源供電方式3.3. ds18b20的工作原理ds18b20的讀寫時(shí)序和測(cè)溫原理
14、與ds1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s 減為750ms。 ds18b20測(cè)溫原理如圖3.4所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(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ù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器
15、值的累加,此時(shí)溫度寄存器中的數(shù)值即 為所測(cè)溫度。圖3中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。 3.3.1.ds18b20的初始化主機(jī)首先發(fā)出一個(gè)480960微秒的低電平脈沖,然后釋放總線變?yōu)楦唠娖?,并在隨后的480微秒時(shí)間內(nèi)對(duì)總線進(jìn)行檢測(cè),如果有低電平出現(xiàn)說明總線上有器件已做出應(yīng)答。若無低電平出現(xiàn)一直都是高電平說明總線上無器件應(yīng)答。 做為從器件的ds18b20在一上電后就一直在檢測(cè)總線上是否有480960微秒的低電平出現(xiàn),如果有,在總線轉(zhuǎn)為高電平后等待1560微秒后將總線電平拉低60240微秒做出響應(yīng)存在脈沖,告訴主機(jī)本器件已做好準(zhǔn)備。若沒有檢測(cè)到就一直
16、在檢測(cè)等待。 圖3.7初始化時(shí)序圖3.3.2.對(duì)ds18b20寫和讀接下來就是主機(jī)發(fā)出各種操作命令,但各種操作命令都是向ds18b20寫0和寫1組成的命令字節(jié),接收數(shù)據(jù)時(shí)也是從ds18b20讀取0或1的過程。因此首先要搞清主機(jī)是如何進(jìn)行寫0、寫1、讀0和讀1的。寫周期最少為60微秒,最長(zhǎng)不超過120微秒。寫周期一開始做為主機(jī)先把總線拉低1微秒表示寫周期開始。隨后若主機(jī)想寫0,則繼續(xù)拉低電平最少60微秒直至寫周期結(jié)束,然后釋放總線為高電平。若主機(jī)想寫1,在一開始拉低總線電平1微秒后就釋放總線為高電平,一直到寫周期結(jié)束。而做為從機(jī)的ds18b20則在檢測(cè)到總線被拉底后等待15微秒然后從15us到4
17、5us開始對(duì)總線采樣,在采樣期內(nèi)總線為高電平則為1,若采樣期內(nèi)總線為低電平則為0。圖3.8寫操作的時(shí)序圖對(duì)于讀數(shù)據(jù)操作時(shí)序也分為讀0時(shí)序和讀1時(shí)序兩個(gè)過程。讀時(shí)隙是從主機(jī)把單總線拉低之后,在1微秒之后就得釋放單總線為高電平,以讓ds18b20把數(shù)據(jù)傳輸?shù)絾慰偩€上。ds18b20在檢測(cè)到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出0就把總線拉為低電平直到讀周期結(jié)束。若要送出1則釋放總線為高電平。主機(jī)在一開始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內(nèi)的15微秒時(shí)間內(nèi)完成對(duì)總線進(jìn)行采樣檢測(cè),采樣期內(nèi)總線為低電平則確認(rèn)為0。采樣期內(nèi)總線為高電平則確認(rèn)為1。完成一個(gè)讀時(shí)序過程,至
18、少需要60us才能完成圖3.9讀操作的時(shí)序圖ds18b20 單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,如果出現(xiàn)序列混亂, 1-wire 器件將不響應(yīng)主機(jī),因此讀寫時(shí)序很重要。系統(tǒng)對(duì) ds18b20 的各種操作必須按協(xié)議進(jìn)行。根據(jù) ds18b20 的協(xié)議規(guī)定,微控制器控制 ds18b20 完成溫度的轉(zhuǎn)換必須經(jīng)過以下 3個(gè)步驟 :(1)每次讀寫前對(duì) ds18b20 進(jìn)行復(fù)位初始化。復(fù)位要求主 cpu 將數(shù)據(jù)線下拉 500us ,然后釋放, ds18b20 收到信號(hào)后等待 16us60us 左右,然后發(fā)出60us240us 的存在低脈沖,主 cpu 收到此信號(hào)后表示復(fù)位成功。(2)發(fā)送一條 ro
19、m 指令(3)發(fā)送存儲(chǔ)器指令表3.2 ds18b20的rom指令集表3.3 ds18b20的ram指令集現(xiàn)在我們要做的是讓ds18b20進(jìn)行一次溫度的轉(zhuǎn)換,那具體的操作就是:1、主機(jī)先作個(gè)復(fù)位操作,2、主機(jī)再寫跳過rom的操作(cch)命令,3、然后主機(jī)接著寫個(gè)轉(zhuǎn)換溫度的操作命令,后面釋放總線至少一秒,讓ds18b20完成轉(zhuǎn)換的操作。在這里要注意的是每個(gè)命令字節(jié)在寫的時(shí)候都是低字節(jié)先寫,例如cch的二進(jìn)制為11001100,在寫到總線上時(shí)要從低位開始寫,寫的順序是“零、零、壹、壹、零、零、壹、壹”。讀取ram內(nèi)的溫度數(shù)據(jù)。同樣,這個(gè)操作也要接照三個(gè)步驟。1、主機(jī)發(fā)出復(fù)位操作并接收ds18b20
20、的應(yīng)答(存在)脈沖。2、主機(jī)發(fā)出跳過對(duì)rom操作的命令(cch)。3、主機(jī)發(fā)出讀取ram的命令(beh),隨后主機(jī)依次讀取ds18b20發(fā)出的從第0一第8,共九個(gè)字節(jié)的數(shù)據(jù)。如果只想讀取溫度數(shù)據(jù),那在讀完第0和第1個(gè)數(shù)據(jù)后就不再理會(huì)后面ds18b20發(fā)出的數(shù)據(jù)即可。同樣讀取數(shù)據(jù)也是低位在前的。在這里說明一下,第二步跳過對(duì)rom操作的命令是在總線上只有一個(gè)器件時(shí),為節(jié)省時(shí)間而簡(jiǎn)化的操作,若總線上不止一個(gè)器件,那么跳過rom操作命令將會(huì)使幾器件同時(shí)響應(yīng),這樣就會(huì)出現(xiàn)數(shù)據(jù)沖突。3.3.3.ds18b20在應(yīng)用中應(yīng)注意的事項(xiàng)ds1820雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在
21、實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題:1. 較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于ds1820與微處理器間采用串行數(shù)據(jù)傳送,因此 ,在對(duì)ds1820進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測(cè)溫結(jié)果。在使用pl/m、c等高級(jí)語言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì) ds1820操作部分最好采用匯編語言實(shí)現(xiàn)。2. 在ds1820的有關(guān)資料中均未提及單總線上所掛ds1820數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個(gè) ds1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛ds1820超過8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí) 要加以注意。3. 連接ds1820的總線電纜
22、是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過50m時(shí),讀取的 測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正 常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用ds1820進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考 慮總線分布電容和阻抗匹配問題。4. 在ds1820測(cè)溫程序設(shè)計(jì)中,向ds1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds1820的返回信號(hào),一旦 某個(gè)ds1820接觸不好或斷線,當(dāng)程序讀該ds1820時(shí),將沒有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行ds1820硬件連接和
23、軟件設(shè)計(jì)時(shí)也要給予 一定的重視。 測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接vcc和地線,屏蔽層在源端單點(diǎn)接地3.4. at89s52單片機(jī)簡(jiǎn)介at89s52為 atmel 所生產(chǎn)的一種低功耗、高性能cmos8位微控制器,具有8k在系統(tǒng)可編程flsah存儲(chǔ)器。3.4.1. at89s52主要功能列舉如下1、擁有靈巧的8位cpu和在系統(tǒng)可編程flash2、晶片內(nèi)部具時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 12mhz)3、內(nèi)部程序存儲(chǔ)器(rom)為 8kb4、內(nèi)部數(shù)據(jù)存儲(chǔ)器(ram)為 256字節(jié)5、32 個(gè)可編程i/o 口線6、8 個(gè)中斷向量源7、三個(gè) 16 位定時(shí)器/計(jì)數(shù)器
24、8、三級(jí)加密程序存儲(chǔ)器9、全雙工uart串行通道3.4.2. at89s52各引腳功能介紹vcc:at89s52電源正端輸入,接+5v。vss:電源地端。xtal1:?jiǎn)涡酒到y(tǒng)時(shí)鐘的反相放大器輸入端。xtal2:系統(tǒng)時(shí)鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 xtal1 和 xtal2 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩引腳與地之間加入一 20pf 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。reset:at89s52的重置引腳,高電平動(dòng)作,當(dāng)要對(duì)晶片重置時(shí),只要對(duì)此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,at89s51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功
25、能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000h處開始讀入程序代碼而執(zhí)行程序。ea/vpp:ea為英文external access的縮寫,表示存取外部程序代碼之意,低電平動(dòng)作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部eprom中)來執(zhí)行程序。因此在8031及8032中,ea引腳必須接低電平,因?yàn)槠鋬?nèi)部無程序存儲(chǔ)器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部eprom時(shí),可以利用此引腳來輸入21v的燒錄高壓(vpp)。ale/prog:ale是英文address latch enable的縮寫,表示地址鎖存器啟用
26、信號(hào)。at89s52可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74ls373),將端口0的地址總線(a0a7)鎖進(jìn)鎖存器中,因?yàn)閍t89s52是以多工的方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ale引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄8751程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來使用。psen:此為program store enable的縮寫,其意為程序儲(chǔ)存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(shí)(ea=0),會(huì)送出此信號(hào)以便取得程序代碼,通常這支腳是接到eprom的oe腳。at89s52可以利用psen及rd引腳分別啟用存
27、在外部的ram與eprom,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器可以合并在一起而共用64k的定址范圍。port0(p0.0p0.7):端口0是一個(gè)8位寬的開路汲極(open drain)雙向輸出入端口,共有8個(gè)位,p0.0表示位0,p0.1表示位1,依此類推。其他三個(gè)i/o端口(p1、p2、p3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,p0在當(dāng)做i/o用時(shí)可以推動(dòng)8個(gè)ls的ttl負(fù)載。如果當(dāng)ea引腳為低電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器),p0就以多工方式提供地址總線(a0a7)及數(shù)據(jù)總線(d0d7)。設(shè)計(jì)者必須外加一鎖存器將端口0送出的地址栓鎖住成為a0a7,再配合端口2所送出的a8a15合成一
28、完整的16位地址總線,而定址到64k的外部存儲(chǔ)器空間。port2(p2.0p2.7):端口2是具有內(nèi)部提升電路的雙向i/o端口,每一個(gè)引腳可以推動(dòng)4個(gè)ls的ttl負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來使用。p2除了當(dāng)做一般i/o端口使用外,若是在at89s52擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié)a8a15,這個(gè)時(shí)候p2便不能當(dāng)做i/o來使用了。port1(p1.0p1.7):端口1也是具有內(nèi)部提升電路的雙向i/o端口,其輸出緩沖器可以推動(dòng)4個(gè)ls ttl負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,
29、p1.0又當(dāng)做定時(shí)器2的外部脈沖輸入腳,而p1.1可以有t2ex功能,可以做外部中斷輸入的觸發(fā)腳位。port3(p3.0p3.7):端口3也具有內(nèi)部提升電路的雙向i/o端口,其輸出緩沖器可以推動(dòng)4個(gè)ttl負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。其引腳分配如下:p3.0:rxd,串行通信輸入。p3.1:txd,串行通信輸出。p3.2:int0,外部中斷0輸入。p3.3:int1,外部中斷1輸入。p3.4:t0,計(jì)時(shí)計(jì)數(shù)器0輸入。p3.5:t1,計(jì)時(shí)計(jì)數(shù)器1輸入。p3.6:wr:外部數(shù)據(jù)存儲(chǔ)器的寫入信號(hào)。p3.7:
30、rd,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置
31、位無效。/psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。/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)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。第四章:繪制硬件電路圖并對(duì)硬件電路圖進(jìn)行說明4.1.protuel軟
32、件簡(jiǎn)介早期的protel主要作為印制板自動(dòng)布線工具使用,運(yùn)行在dos環(huán)境,對(duì)硬件的要求很低,在無硬盤286機(jī)的1m內(nèi)存下就能運(yùn)行,但它的功能也較少,只有電原理圖繪制與印制板設(shè)計(jì)功能,其印制板自動(dòng)布線的布通率也低,而現(xiàn)今的protel已發(fā)展到protel99(網(wǎng)絡(luò)上可下載到它的測(cè)試板),是個(gè)龐大的eda軟件,完全安裝有200多m,它工作在windows95環(huán)境下,是個(gè)完整的板級(jí)全方位電子設(shè)計(jì)系統(tǒng),它包含了電路原理圖繪制、模擬電路與數(shù)字電路混合信號(hào)仿真、多層印制電路板設(shè)計(jì)(包含印制電路板自動(dòng)布線)、可編程邏輯器件設(shè)計(jì)、圖表生成、電子表格生成、支持宏操作等功能,并具有client/server(客戶
33、/服務(wù)器)體系結(jié)構(gòu),同時(shí)還兼容一些其它設(shè)計(jì)軟件的文件格式,如orcad,pspice,excel等,其多層印制線路板的自動(dòng)布線可實(shí)現(xiàn)高密度pcb的100布通率。在國(guó)內(nèi)protel軟件較易買到,有關(guān)protel軟件和使用說明的書也有很多,這為它的普及提供了基礎(chǔ)。想更多地了解protel的軟件功能或者下載protel99的試用版,可以在internet上。4.2.protuel軟件特色protel99 se共分5個(gè)模塊,分別是原理圖設(shè)計(jì)、pcb設(shè)計(jì)(包含信號(hào)完整性分析)、自動(dòng)布線器、原理圖混合信號(hào)仿真、pld設(shè)計(jì)。 以下介紹一些protel99se的部分最新功能:1,可生成30多種格式的電氣連接網(wǎng)
34、絡(luò)表; 2,強(qiáng)大的全局編輯功能; 3,在原理圖中選擇一級(jí)器件,pcb中同樣的器件也將被選中; 4,同時(shí)運(yùn)行原理圖和pcb,在打開的原理圖和pcb圖間允許雙向交叉查找元器件、引腳、網(wǎng)絡(luò) 5,既可以進(jìn)行正向注釋元器件標(biāo)號(hào)(由原理圖到pcb),也可以進(jìn)行反向注釋(由pcb到原理圖),以保持電氣原理圖和pcb在設(shè)計(jì)上的一致性; 6,滿足國(guó)際化設(shè)計(jì)要求(包括國(guó)標(biāo)標(biāo)題欄輸出,gb4728國(guó)標(biāo)庫); * 方便易用的數(shù)?;旌戏抡妫嫒輘pice 3f5); , 7,方便的打印預(yù)覽功能,不用修改pcb文件就可以直接控制打印結(jié)果; 8,獨(dú)特的3d顯示可以在制板之前看到裝配事物的效果; 9,強(qiáng)大的cam處理使您輕松
35、實(shí)現(xiàn)輸出光繪文件、材料清單、鉆孔文件、貼片機(jī)文件、測(cè)試點(diǎn)報(bào)告等; 在原理圖部分,新增加“靈巧粘帖”可以將一些不同的對(duì)象拷貝到原理圖當(dāng)中,比如一些網(wǎng)絡(luò)標(biāo)號(hào), 一頁圖紙的bom表,都可以拷貝粘帖到原理圖當(dāng)中。原理圖文件切片,多個(gè)器件集體操作,文本筐的直接編輯,箭頭的添加,器件精確移動(dòng),總線走線,自動(dòng)網(wǎng)標(biāo)選擇等! 強(qiáng)大的前端將多層次、多通道的原理圖輸入、vhdl開發(fā)和功能仿真、布線前后的信號(hào)完整性分析功能。在信號(hào)仿真部分,提供完善的混合信號(hào)仿真,在對(duì)xspice 標(biāo)準(zhǔn)的支持之外,還支持對(duì)pspice模型和電路的仿真。對(duì)fpga設(shè)計(jì)提供了豐富的ip內(nèi)核,包括各種處理器、存儲(chǔ)器、外設(shè)、接口、以及虛擬儀器
36、 。在pcb部分,除了protel2004中的多通道復(fù)制;實(shí)時(shí)的、阻抗控制布線功能;situstm自動(dòng)布線器等新功能以外,altium designer 6.0還著重在:差分對(duì)布線,fpga器件差分對(duì)管腳的動(dòng)態(tài)分配, pcb和fpga之間的全面集成,從而實(shí)現(xiàn)了自動(dòng)引腳優(yōu)化和非凡的布線效果。還有pcb文件切片,pcb多個(gè)器件集體操作,在pcb文件中支持多國(guó)語言(中文、英文、德文、法文、日文),任意字體和大小的漢字字符輸入,光標(biāo)跟隨在線信息顯示功能,光標(biāo)點(diǎn)可選器件列表,復(fù)雜bga器件的多層自動(dòng)扇出,提供了對(duì)高密度封裝(如bga)的交互布線功能, 總線布線功能,器件精確移動(dòng),快速鋪銅等功能。圖4.1
37、 protel原理圖圖4.2 pcb板第五章:繪制軟件流程圖和對(duì)軟件流程圖的介紹首先啟動(dòng)系統(tǒng),然后初始化ds18b20,初始化的目的是檢測(cè)單片機(jī)的外部連接的ds18b20和單片機(jī)的連接狀態(tài)是否良好并且檢測(cè)ds18b20是否處于正常工作狀態(tài)。ds18b20處于正常工作的狀態(tài)并且單片機(jī)得到ds18b20的應(yīng)答,那么接這就跳過rom,跳過對(duì)rom操作的命令是在總線上只有一個(gè)器件時(shí),為節(jié)省時(shí)間而簡(jiǎn)化的操作,若總線上不止一個(gè)器件,那么跳過rom操作命令將會(huì)使幾器件同時(shí)響應(yīng),這樣就會(huì)出現(xiàn)數(shù)據(jù)沖突。 接著單片機(jī)發(fā)出溫度轉(zhuǎn)換命令,ds18b20開始進(jìn)行溫度的檢測(cè)和轉(zhuǎn)換,將檢測(cè)的結(jié)果顯示在數(shù)碼管上,這時(shí)單片機(jī)根
38、據(jù)ds18b20傳來的數(shù)據(jù)進(jìn)行判斷,如果檢測(cè)的溫度大于設(shè)定的最高溫度或低于設(shè)定的最低溫度,此時(shí)進(jìn)行報(bào)警,報(bào)警后返回初始化。如果沒有超過設(shè)定溫度直接返回初始化。圖5.1 流程圖第六章:上機(jī)調(diào)試及運(yùn)行結(jié)果6.1.對(duì)proteus的簡(jiǎn)介軟件是英國(guó)labcenter electronics公司出版的eda工具軟件。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到
39、單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即將增加cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器6.2.proteus功能特點(diǎn)原理布圖 自動(dòng)或人工布線 spice電路仿真革命性的特點(diǎn)(1)互動(dòng)的電路仿真用戶甚至可以實(shí)時(shí)采用諸如ram,rom,鍵盤,馬達(dá),l
40、ed,lcd,ad/da,部分spi器件,部分iic器件。(2)仿真處理器及其外圍電路可以仿真51系列、avr、pic、arm、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,proteus建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。6.3.電路仿真在proteus繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.hex,可以在proteus的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。proteus不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)
41、物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。由于proteus提供了實(shí)驗(yàn)室無法相比的大量的元器件庫,提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺(tái)。隨著科技的發(fā)展,“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門重要的前期設(shè)計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)果、過程的統(tǒng)一的特點(diǎn)。可使設(shè)計(jì)時(shí)間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險(xiǎn)。相信在單片機(jī)開發(fā)應(yīng)用中proteus也能茯得愈來
42、愈廣泛的應(yīng)用。使用proteus 軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計(jì), 是虛擬仿真技術(shù)和計(jì)算機(jī)多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計(jì)能力及仿真軟件的操作能力;實(shí)踐證明,在使用 proteus 進(jìn)行系統(tǒng)仿真開發(fā)成功之后再進(jìn)行實(shí)際制作,能極大提高單片機(jī)系統(tǒng)設(shè)計(jì)效率。因此,proteus 有較高的推廣利用價(jià)值。6.4.調(diào)試遇到的問題分析我們?cè)谡{(diào)試的過程中遇到了很多問題,整個(gè)調(diào)試的過程實(shí)際上就是解決這些問題的過程。首先我們仿真的時(shí)候我們發(fā)現(xiàn)數(shù)碼管根本不會(huì)顯示,我們很失望,后來經(jīng)過分析發(fā)現(xiàn)三極管接反了,本來是三極管的發(fā)射極與集成數(shù)碼管的位相連接,集電極接電源,而我們正好接反了,后來改正后數(shù)碼管可以
43、顯示了。接著我們遇到的問題就是我們的數(shù)碼管顯示錯(cuò)誤,我們認(rèn)真的檢查后發(fā)現(xiàn)我們的程序和所用的數(shù)碼管不一致,我們程序是共陽極的,但是我們?cè)谶x器件的時(shí)候選成了共陰極,后來我們改正了錯(cuò)誤。改完后發(fā)現(xiàn)數(shù)碼管的四位數(shù)字顯示的順序正好相反,我們分析后覺得是單片機(jī)和集成數(shù)碼管的位連接的時(shí)候位接反了。我們?cè)谡{(diào)試的過程中是把改我們的原理圖和改程序結(jié)合者進(jìn)行調(diào)試的最終達(dá)到了我們的期望得到的結(jié)果。6.5. prteus原理圖圖6.1 proteus仿真圖圖6.2 焊接產(chǎn)品總結(jié)本次課程設(shè)計(jì)的寫作是在老師的指導(dǎo)下進(jìn)行的。針對(duì)在寫作過程中遇到許多的難題老師都給以認(rèn)真的解釋,為此,向老師表示最衷心的謝意。我在這次課程設(shè)計(jì)中,
44、學(xué)會(huì)了怎么去發(fā)現(xiàn)問題,解決問題。遇到不明白的問題都會(huì)積極的去詢問老師,或者去找尋相關(guān)的資料。從中學(xué)到了很多知識(shí)。這次課程設(shè)計(jì)使我們有機(jī)會(huì)把我們的課堂理論知識(shí)運(yùn)用到實(shí)際生活中,貼近生活,實(shí)現(xiàn)我們的人生價(jià)值。并且通過對(duì)知識(shí)的綜合利用,加入個(gè)人的分析和比較,加深了了我們對(duì)理論知識(shí)的理解和運(yùn)用。參考文獻(xiàn)【1】倪曉軍 單片機(jī)原理與接口技術(shù) 北京:清華大學(xué)大學(xué)出版社 2009.9【2】 廖常初 plc 編程及應(yīng)用 北京:機(jī)械工業(yè)出版社 2010.1【3】 胡學(xué)林 可編程控制器教程 北京:電子工業(yè)出版社 2008.6附錄#include #define uint unsigned int#define uc
45、har unsigned char /宏定義sbit p34=p24;sbit p35=p25;sbit p36=p26;sbit dp=p07;sbit p37=p27;sbit dq=p22; /定義ds18b20總線i/osbit set=p31; /定義選擇報(bào)調(diào)整警溫度上限和下限(1為上限,0為下限)/*p3.2和p3.3為調(diào)整溫度報(bào)警增加鍵和減少鍵*/sbit ling=p20; /定義響鈴signed char m; /溫度值全局變量bit sign=0; /外部中斷狀態(tài)標(biāo)志signed char shangxian=38; /上限報(bào)警溫度,默認(rèn)值為38signed char xi
46、axian=6; /下限報(bào)警溫度,默認(rèn)值為5uchar code leddata=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;/*延時(shí)子程序*/void delay(uint i) while( i- );/*初始化ds18b20*/void init_ds18b20(void) unsigned char x=0; dq=1; delay(8); /稍做延時(shí) dq=0; /單片機(jī)將dq拉低 delay(80); /精確延時(shí),大于480us dq=1; /拉高總線 delay(14); x=dq; /稍做延時(shí)后,如果x
47、=0則初始化成功,x=1則初始化失敗 delay(20);/*讀一個(gè)字節(jié)*/unsigned char readonechar(void) unsigned char i=0; unsigned char dat=0; for (i=8;i0;i-) dq=0; / 給脈沖信號(hào) dat=1; dq=1; / 給脈沖信號(hào) if(dq) dat|=0x80; delay(4); return(dat);/*寫一個(gè)字節(jié)*/void writeonechar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) dq=0; dq=dat&0x0
48、1; delay(5); dq=1; dat=1; void tmpchange(void) /發(fā)送溫度轉(zhuǎn)換命令 init_ds18b20(); writeonechar(0xcc); /跳過讀序號(hào)列號(hào)的操作 writeonechar(0x44); /啟動(dòng)溫度轉(zhuǎn)換/*讀取溫度*/unsigned int readtemperature(void) unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; tmpchange(); init_ds18b20(); writeonechar(0xcc); /跳過讀序號(hào)列號(hào)的操作 writeonechar(0xbe); /讀取溫度寄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校辦公室工作總結(jié)《攜手并進(jìn)共創(chuàng)高效辦公新篇章》3篇
- 銷售管理制度
- 原子的結(jié)構(gòu)課件
- 【培訓(xùn)課件】認(rèn)真貫徹學(xué)習(xí)食品安全法做好綜合協(xié)調(diào)工作
- 平面設(shè)計(jì)實(shí)習(xí)心得范文(33篇)
- 年付租金房屋承租合同(30篇)
- 2025屆湖南省株洲市茶陵縣二中高三最后一模數(shù)學(xué)試題含解析
- 北京市知春里中學(xué)2025屆高考英語倒計(jì)時(shí)模擬卷含解析
- 甘肅省甘谷一中2025屆高三適應(yīng)性調(diào)研考試英語試題含解析
- 2025屆浙江七彩陽光聯(lián)盟高三第三次測(cè)評(píng)語文試卷含解析
- 2012電池制造行業(yè)分析報(bào)告
- 2024年軍隊(duì)文職統(tǒng)一考試《專業(yè)科目》管理學(xué)試卷(網(wǎng)友回憶版)
- JT-T-973-2015路用非氯有機(jī)融雪劑
- 物業(yè)工作未來規(guī)劃與展望
- 新制定《公平競(jìng)爭(zhēng)審查條例》全文
- 人體漫游指南(山東聯(lián)盟)智慧樹知到期末考試答案章節(jié)答案2024年山東協(xié)和學(xué)院
- 數(shù)字電子技術(shù)(廣東工業(yè)大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年廣東工業(yè)大學(xué)
- 突發(fā)事件的應(yīng)急管理課件
- 手術(shù)室標(biāo)本丟失的應(yīng)急預(yù)案
- 四年級(jí)上冊(cè)混合運(yùn)算題大全1000題
- 中外美術(shù)評(píng)析與欣賞智慧樹知到期末考試答案章節(jié)答案2024年湖南大學(xué)
評(píng)論
0/150
提交評(píng)論