版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)課程設(shè)計(jì)論文指導(dǎo)教師:摘要本論文主要講述了數(shù)字溫度計(jì)的設(shè)計(jì)過程,主要包括硬件設(shè)計(jì)和程序設(shè)計(jì)。硬件主要包括以AT89C51單片機(jī)為主要控制電路、溫度采集電路、顯示電路等。溫度采集傳感器采用的是美國Datlas半導(dǎo)體公司(現(xiàn)已并入MAXIM公司)于20世紀(jì)90年代新推出的一種串行總線技術(shù)。該技術(shù)只需要一根信號線(將計(jì)算機(jī)的地址線、數(shù)據(jù)線、控制線合為一根信號線)便可完成串行通信??刂齐娐返暮诵钠骷褪茿T89C51單片機(jī),顯示電路采用位共陰極數(shù)碼管。由單片機(jī)控制傳感器的讀寫來測量環(huán)境的溫度,再通過與單片機(jī)連接的數(shù)碼管將溫度顯示出。由于采用了DS18B20作為側(cè)位元器件,這使得本溫度計(jì)與傳統(tǒng)的溫
2、度計(jì)相比,硬件電路相對有減少。因此本溫度計(jì)成本降低,使用起來更加的方便。關(guān)鍵詞:單片機(jī)、顯示電路、溫度傳感器DS18B20目錄1. 設(shè)計(jì)任務(wù)及方案分析2. 芯片功能簡介3. 硬件系統(tǒng)電路設(shè)計(jì)(一定要有硬件連接圖)4. 軟件編程調(diào)試及性能分析(應(yīng)該包含程序框圖和程序)5、總結(jié)參考文獻(xiàn)謝辭1. 設(shè)計(jì)任務(wù)及方案分析 一、任務(wù)要求設(shè)計(jì)內(nèi)容:用單片機(jī)、溫度傳感器等器件實(shí)現(xiàn)溫度采集, 要求采集的溫度精確到0.1ºC設(shè)計(jì)要求:1.硬件設(shè)計(jì)。掌握單片機(jī)、溫度傳感器、 顯示電路等相關(guān)原理與知識;畫出原理圖 2、軟件設(shè)計(jì) 3、用PROTEUS軟件對硬件系統(tǒng)進(jìn)行仿真 4、兩人一組做實(shí)物 5、按照畢業(yè)論文要
3、求交一份設(shè)計(jì)報(bào)告二、設(shè)計(jì)總體方案及方案論證按照系統(tǒng)的設(shè)計(jì)要求,本系統(tǒng)主要分為三個(gè)部分:主控制器AT89C51,溫度傳感器DS18B20及驅(qū)動(dòng)顯示電路。方案比較1、 測溫元器件方案一:由于本電路是測溫電路,因此可以采用熱敏電阻來感應(yīng)溫度的變化,再根據(jù)其隨溫度變化的感應(yīng)電阻阻值的變化來測得電流的變化進(jìn)而計(jì)算出此時(shí)的溫度值,不過這種方案需要設(shè)計(jì)模數(shù)轉(zhuǎn)換電路,這會使得電路設(shè)計(jì)起來比較麻煩。方案二、采用溫度傳感器作為溫度采集原件,再通過單片機(jī)來控制其工作從而實(shí)現(xiàn)對傳感器的控制和溫度的讀取,這使得讀取溫度非常的方便,電路也較前一個(gè)方案更加的簡單,操作和設(shè)計(jì)起來都更加的容易。故比較兩種方案第二種方案更合適。
4、2、控制器件這個(gè)種類較多,可以根據(jù)實(shí)際情況選擇,這里選擇89C52單片機(jī)。3、顯示器件由于液晶顯示器較貴,所以這里選用8位共陰極數(shù)碼管作為顯示器件,并且該器件使用起來也十分的方便。三、實(shí)現(xiàn)方案簡介DS18B20采用外接電源方式工作,一線測溫的一線與AT89C52的P3.0連接并加上上拉電阻使其工作,測出的數(shù)據(jù)存直接顯示在LED顯示器上??傮w方案框圖如下圖所示。主控制器AT89C51DS18B20顯示電路2. 芯片功能簡介一 AT89C51的功能簡介1、 AT89C51芯片簡介 AT89C52是美國ATMEL公司生產(chǎn)的低電平,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的只讀程
5、序存儲器(PEROM)和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM ),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,32個(gè)可編程I/O口線, 3個(gè)16位定時(shí)/計(jì)數(shù)器, 低功耗空閑和掉電模式。功能強(qiáng)大的AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場合。2、 引腳功能說明(1)VCC:電源電壓(2)GND:地(3) P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對端口P0寫“1”時(shí)可作為高
6、阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)位,在訪問期間激活內(nèi)部上拉電阻。(4)P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTE邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(ILL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P 1.0/T2)和輸入(P 1.1/T2EX ),參見下表。 Flash編程和程序校驗(yàn)期間,P1接收低8位地址
7、。P1.0和P1.1的第二功能引 腳 號 功能特性P1.0T2(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)/計(jì)數(shù)2捕獲/重裝載觸發(fā)和方向控制)(5)P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(ILL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MO
8、VX RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。(6)P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(ILL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表4-2所示。(7)RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。P3口的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外中斷0)P3.3(外中斷1)P3.4T0
9、(定時(shí)/計(jì)數(shù)0)P3.5T1(定時(shí)/計(jì)數(shù)1)P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器讀選通)(8)/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH ) 。端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會鎖存端狀態(tài)。如端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時(shí),該引腳加上+12V的編程允許電源VPP,當(dāng)然這必須是該器件是使用12V編程電壓VCC 。(9)XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。(10)XTAL2:振蕩器反相放大器的輸出端。(11)數(shù)據(jù)存儲器:AT
10、89C52有256個(gè)字節(jié)的內(nèi)部RAM,80H-FFH高128個(gè)字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128。字節(jié)的RAM和特殊功能寄存器的地址是相同的,但在物理上它們是分開的。當(dāng)一條指令訪問7FH以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128字節(jié)。RAM還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。(12)中斷:AT89C52共有6個(gè)中斷向量:兩個(gè)外中斷(INT0和INT1),3個(gè)定時(shí)器中斷(定時(shí)器0, 1, 2)和串行口中斷。(13)時(shí)鐘振蕩器: AT89C52中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL
11、1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖4-1(a)圖所示。外接石英晶體(或陶瓷諧振器)及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路,對外接電容C1、C2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF士10pF,而如果使用陶瓷諧振器,建議選擇40pF士l0pF。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖4-1(b)圖所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸
12、入端,XTAL2則懸空。 由于外部時(shí)鐘信號是通過一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號的,所以對外部時(shí)鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。二 DS18B20功能簡介1、芯片簡介(1) 適應(yīng)電壓范圍更寬,電壓范圍:3.0 V5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。(2) 獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。(3) DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(4) 測溫范圍55125,在-10+85時(shí)精度為
13、77;0.5。(5) 可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫。(6) 在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(7) 測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。(8) 負(fù)壓特性:電源極性接反時(shí),芯片不會因發(fā)熱而燒毀,但不能正常工作。 2、DS18B20外形和內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)如圖所示,主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存
14、器。DS18B20的管腳排列DS18B20引腳定義:序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。(1) 64位ROM ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個(gè)DS18B20的64位序列號均不相同。64位ROM的循環(huán)冗余校驗(yàn)碼(CRC=X8X5X41)。ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。DS18B20中的溫度傳感器完成對溫度的測量,用16位
15、符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號位。DS18B20溫度值格式表如下所示。這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在DS18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。例如25.0625的數(shù)字輸出為0191H,25.0625的數(shù)字輸出為FF6FH。DS18B20溫度值格式表 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0LS Byte222
16、22222 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 MS ByteSSSSS222 (2)高低溫報(bào)警觸發(fā)器TH和TLDS18B20溫度傳感器的內(nèi)部存儲器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 (3)配置寄存器 該字節(jié)各位的意義如下表所示。配置寄存器結(jié)構(gòu)TMR1R011111低五位一直都是“1”,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。R1和R0用來設(shè)置分辨率,如下表1所示(DS18B20出
17、廠時(shí)被設(shè)置為12位)。高速暫存器是一個(gè)9字節(jié)的存儲器。開始兩個(gè)字節(jié)包含被測溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配置寄存器的臨時(shí)拷貝,每一次上電復(fù)位時(shí)被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個(gè)字節(jié)的CRC碼,可用來保證通信正確。高速暫存器RAM結(jié)構(gòu)圖如下表2所示。表1: 溫度分辨率設(shè)置表R1R0分辨率溫度最大轉(zhuǎn)換時(shí)間009位93.75ms 0110位187.5ms 1011位375ms 1112位750ms 3、 DS18B20的工作時(shí)序DS18B20的一線工作協(xié)議流程是:初始化ROM操作指令存儲器操作指令數(shù)據(jù)傳輸。其工作時(shí)序包括初始化時(shí)序、寫時(shí)序
18、和讀時(shí)序。表4-7: DS18B20暫存寄存器分布寄存器內(nèi)容 字節(jié)地址溫度值低位 (LS Byte)0溫度值高位 (MS Byte)1高溫限值(TH)2低溫限值(TL)3配置寄存器4保留5保留6保留7CRC校驗(yàn)值8主機(jī)控制DS18B20完成任何操作之前必須先初始化,即主機(jī)發(fā)一復(fù)位脈沖(最短為480us的低電平),接著主機(jī)釋放總線進(jìn)入接收狀態(tài),DS18B20在檢測到I/O引腳上的上升沿之后,等待15-60us然后發(fā)出存在脈沖(60-240us的低電平)。 寫時(shí)間片:將數(shù)據(jù)從高電平拉至低電平,產(chǎn)生寫起始信號。在15us之內(nèi)將所需寫的位送到數(shù)據(jù)線上,在15us到60us之間對數(shù)據(jù)線進(jìn)行采樣,如果采樣
19、為高電平,就寫1,如果為低電平,寫0就發(fā)生。在開始另一個(gè)寫周期前必須有1us以上的高電平恢復(fù)期。讀時(shí)間片:主機(jī)將數(shù)據(jù)線從高電平拉至低電平1us以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號。主機(jī)在讀時(shí)間片下降沿之后15us內(nèi)完成讀位。每個(gè)讀周期最短的持續(xù)期為60us,各個(gè)讀周期之間也必須有1us以上的高電平恢復(fù)期。4 、DS18B20與單片機(jī)的典型接口設(shè)計(jì)以MCS51系列單片機(jī)為例,畫出了DS18B20與微處理器的典型連接。圖(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地,圖(b)中DS18B20采用外接電源方式,其VDD端用3V5.5V電源供電。(a) 寄生電源工作方式 (
20、b) 外接電源工作方式5、DS18B20的各個(gè)ROM命令(1) Read ROM 33H這個(gè)命令允許總線控制器讀到DS18B20的8位系列編碼,惟一的序列號的8位CRC碼。只有在總線上存在單只DS18B20的時(shí)候才能用這個(gè)命令。如果總線上有不止一個(gè)從機(jī),當(dāng)所有從機(jī)試圖同時(shí)傳送信號時(shí)就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成“與”的效果)。(2)Match ROM 55H這是個(gè)匹配ROM命令,后跟64位ROM序列,讓總線控制器在多點(diǎn)總線上定位一只特定的DS18B20。只有和64位ROM序列完全匹配的DS18B20才能響應(yīng)隨后的存儲器操作。所有和64位ROM序列不匹配的從機(jī)都將等待復(fù)位脈沖。這條命令在
21、總線上有單個(gè)或多個(gè)器件時(shí)都可以使用。(3) Skip ROM 0CCH 這個(gè)命令允許總線控制器不用提供64位ROM編碼就使用存儲器操作命令,在單點(diǎn)總線情況下,可以節(jié)省時(shí)間。如果總線上不止一個(gè)從機(jī),在命令之后緊跟著發(fā)一條讀命令,由于多個(gè)從機(jī)同時(shí)傳信號。總線上發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成“與”的效果)。(4)Search ROM 0F0H當(dāng)一個(gè)系統(tǒng)初次啟動(dòng)時(shí),總線控制器并不知道單線總線上有多少個(gè)器件或它們的64位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從機(jī)的64位編碼。(5)Alarm Search 0ECH 這條命令的流程和Search ROM相同。然而,只有在最近
22、一次測溫后遇到符合報(bào)警條件的情況,DS18B20才會響應(yīng)這條命令。報(bào)警條件定義為溫度高于TH或低于TL。只要DS18B20不掉電,報(bào)警狀態(tài)將一直保持,直到再一次測得的溫度值達(dá)不到報(bào)警條件。(6)Write Scratchpad4EH這個(gè)命令向DS18B20的暫存器TH和TL中寫入數(shù)據(jù)。可以在任何時(shí)刻發(fā)出復(fù)位命令來中止寫入。(7)Read Scratchpad0BEH 這個(gè)命令讀取暫存器的內(nèi)容。讀取將從第1字節(jié)開始,一直進(jìn)行下去,直到第9(CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時(shí)刻發(fā)出復(fù)位命令來中止讀取。(8)Copy Scratchpad48H這個(gè)命令把暫存器的內(nèi)容拷貝到DS
23、18B20的EROM存儲器里,即把溫度報(bào)警觸發(fā)器字節(jié)存入非易失性存儲器里。如果控制器在這條命令之后跟著發(fā)出讀時(shí)間隙,而DS18B20又忙于把暫存器拷貝到E存儲器,DS18B20就會輸出一個(gè)0,如果拷貝結(jié)束的話,DS18B20輸出1。如果使用寄生電源,總線控制器必須在這條命令后立即啟動(dòng)強(qiáng)上拉,并最少保持10ms。(9)Convert T44H 這個(gè)命令啟動(dòng)一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后DS18B20保持等待狀態(tài)。如果控制器在這條命令之后跟著發(fā)出時(shí)間隙,而DS18B20有忙于做時(shí)間轉(zhuǎn)換的話,DS18B20將在總線上輸出一個(gè)0,若溫度轉(zhuǎn)換完,則輸出1。如果使用寄生電源,總線控制
24、器必須在發(fā)出這條命令后立即啟動(dòng)強(qiáng)上拉,并最少保持500ms以上時(shí)間。(10)Read E0B8H這條命令把 觸發(fā)器里的值拷貝回暫存器。這種拷貝操作在DS18B20上電時(shí)自動(dòng)執(zhí)行,這樣一上電暫存器里馬上存在有效的數(shù)據(jù)了。若在這條命令之后發(fā)出讀數(shù)據(jù)隙,器件會輸出溫度轉(zhuǎn)換忙的標(biāo)識:0為忙,1為完成。(11)Read Power Supply0B4H若把這條命令發(fā)給DS18B20后發(fā)出讀時(shí)間隙,器件會返回它的電源模式:0為寄生電源,1為外部電源。3. 硬件系統(tǒng)電路設(shè)計(jì)整個(gè)電路由主控器AT89C51控制,與其相連的分別是一個(gè)溫度傳感器DS18B20和一個(gè)數(shù)碼管。傳感器感知周圍的溫度并將感知的溫度傳給單片
25、機(jī),在通過相應(yīng)的接口將溫度傳給數(shù)碼管顯示。這樣就實(shí)現(xiàn)了溫度的采集與顯示。整個(gè)電路的電路圖如下圖所示:4. 軟件編程調(diào)試及性能分析一、整個(gè)軟件的主流程圖如下圖所示:開始傳感器初始化程序向傳感器讀取一個(gè)字節(jié)程序從傳感器讀一個(gè)字節(jié)程序溫度轉(zhuǎn)換程序調(diào)用溫度轉(zhuǎn)換程序調(diào)用寫程序?qū)懭胂鄳?yīng)的數(shù)調(diào)用讀程序讀取溫度值顯示對應(yīng)的溫度二、主程序#include "reg51.h"#define uchar unsigned char#define unit unsigned intsbit DQ=P30;sbit p20=P20;sbit p21=P21;sbit p22=P22;sbit p23
26、=P23;code uchar tab=0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xf8,0x80,0x90;code uchar tab1=0x40,0x79,0x24,0x30,0x19, 0x12,0x02,0x78,0x00,0x10;uchar a,b,t,h,c;uchar bai,shi,ge,xiao;void delay(unsigned int i) while(i-);/初始化函數(shù)bit int_DS18B20(void)unsigned char x=0;DQ=1;delay(8);DQ=0;delay(52);DQ=1;delay(6)
27、;x=DQ;delay(20);return(x);/讀一個(gè)字節(jié)unsigned char read(void)unsigned char i=0,j=0;unsigned char dat=0;for(i=8;i>0;i-)DQ=0;j+;dat>>=1;DQ=1;j+;j+;if(DQ)dat|=0x80;delay(5);return(dat);/寫一個(gè)字節(jié)程序write(unsigned char dat) unsigned char i=0; for(i=8;i>0;i-) DQ=0; DQ=dat&0x01; delay(6); DQ=1; dat&
28、gt;>=1; delay(5);/啟動(dòng)轉(zhuǎn)換void int_(void) while(int_DS18B20(); write(0xCC); write(0x44); void main(void) unit count=0; P2=0x00; int_(); DQ=1; delay(2200); for(count=0;count<1000;count+) p20=1; P0=tab0; delay(20); p20=0; p21=1; P0=tab0; delay(20); p21=0; p22=1; P0=tab0; delay(20); p22=0; p23=1; P0=0xc6; delay(20); p23=0; while(1) delay(120); while(int_DS18B20(); write(0xcc); write(0xbe); a=read(); b=read(); if(b&g
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食源性疾病培訓(xùn)內(nèi)容知識
- 初中新教師入職培訓(xùn)
- 遼寧省沈陽市鐵西區(qū)2024-2025學(xué)年九年級上學(xué)期第一次質(zhì)量監(jiān)測語文試卷(含答案)
- 湖北省部分高中2025屆高三上學(xué)期11月(期中)聯(lián)考語文試題(含答案)
- 2024-2025學(xué)年江蘇省揚(yáng)州市寶應(yīng)縣國際聯(lián)盟八年級(上)10月月考數(shù)學(xué)試卷(含答案)
- 初中七年級英語上學(xué)期期中考前測試卷(仁愛版)含答案解析
- 滬教牛津版一級英語下冊Unit58
- T-TSSP 028-2023 復(fù)綠青筍標(biāo)準(zhǔn)規(guī)范
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)課件 易月娥 項(xiàng)目3、4 DHCP服務(wù)器的配置與管理、DNS服務(wù)器的配置與管理
- 5工程投標(biāo)報(bào)價(jià)
- 二輪復(fù)習(xí)微專題湖泊專題
- 2024年德陽發(fā)展控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 餐前檢查表(標(biāo)準(zhǔn)模版)
- 2022-2023學(xué)年廣東深圳福田區(qū)七年級上冊期中地理試卷及答案
- 重大風(fēng)險(xiǎn)管控方案及措施客運(yùn)站
- 陜西方言的文化價(jià)值與保護(hù)策略
- 關(guān)于小學(xué)數(shù)學(xué)課堂中數(shù)形結(jié)合教學(xué)的調(diào)查研究的開題報(bào)告
- 傳統(tǒng)文化的傳承和創(chuàng)新
- 2024春國開會計(jì)實(shí)務(wù)專題形考任務(wù)題庫及答案匯總
- 2023年12月教師數(shù)字素養(yǎng)測評試題及參考答案
- 《肺曲霉菌》課件
評論
0/150
提交評論