版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機課程設(shè)計說明書 題 目: 溫度檢測系統(tǒng)設(shè)計 系 部: 專 業(yè): 班 級: 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 2015年 12 月 14 日單片機課程設(shè)計說明書目 錄1 設(shè)計任務(wù)與要求11.1 設(shè)計任務(wù)11.2 設(shè)計要求12 設(shè)計方案12.1 設(shè)計思路12.2 單片機STC89C52RC22.2.1 單片機STC89C52RC功能介紹22.2.2 STC89C52RC管腳介紹2 2.2.3 STC89C52RC單片機器件參數(shù)32.3 溫度傳感器DS18B2032.3.1 DS18B20的主要特性32.3.2 DS18B20的外形和內(nèi)部結(jié)構(gòu)32.4 液晶顯示器LCD160242.4.1 液晶
2、顯示器LCD1602功能介紹4 2.4.2 LCD1602管腳介紹53 硬件電路設(shè)計5 3.1 系統(tǒng)框圖6 3.2 最小的單片機系統(tǒng)63.2.1 時鐘電路6 3.2.2 復(fù)位電路6 3.3 溫度檢測系統(tǒng)設(shè)計7 3.4 液晶顯示電路設(shè)計74 主要參數(shù)計算與分析85 軟件設(shè)計85.1 整體系統(tǒng)分析85.2 程序流程圖96 proteus軟件仿真107 實物制作117.1 器材清單117.2 最小系統(tǒng)板制作127.3 溫度檢測系統(tǒng)電路板制作127.4 溫度檢測展示127.5 焊接點展示137.6 作品檢查138 結(jié)論14附錄15參考文獻201 設(shè)計任務(wù)與要求11 設(shè)計任務(wù) 利用電阻、瓷片電容、電解電
3、容、12MHz晶振、STC89C52單片機、DS18B20溫度傳感器、液晶顯示器、1P杜邦線彩色、排針、最小系統(tǒng)板、電位器、洞洞板等,完成一個溫度檢測系統(tǒng)。 1、采用單片機及溫度傳感器設(shè)計溫度檢測系統(tǒng); 2、溫度檢測結(jié)果采用液晶顯示器輸出; 3、必須具有上電自檢功能及外接電源,公共地線接口。1. 2 設(shè)計思路 1、熟悉此電路工作原理。 2、掌握組裝與調(diào)試方法。 3、畫出Proteus原理圖,PCB圖。 4、用Proteus仿真。 5、測量范圍099攝氏度,精度誤差小于1攝氏度。 6、一份設(shè)計說明書。 7、做出所設(shè)計的系統(tǒng)的實物。2 設(shè)計方案2. 1 設(shè)計方案 由于本設(shè)計是測溫電路,可以使用熱敏
4、電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進而考慮到用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以可以采用溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。 故針對上述現(xiàn)象,本文設(shè)計了一種由單片機控制的溫度采集與顯示系統(tǒng),它以STC89C52單片機為核心,采用溫度傳感器DS18B20實現(xiàn)對溫度信號的采集以及運用LCD1602液晶顯示器來顯示數(shù)據(jù)。在溫度信號的采集方面,采用D
5、S18B20型溫度傳感器,與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度,并可根據(jù)實際要求通過簡單的編碼實現(xiàn)912位的數(shù)字式讀數(shù)方式,可在-50300范圍內(nèi)顯示數(shù)據(jù),在-10+85時精度為±0.5。2.2 單片機STC89C52RC2.2.1 單片機STC89C52RC功能介紹 STC89C52RC是STC生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,
6、3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35MHz,6T/12T可選。2.2.2 STC89C52RC管腳介紹STC89C52RC單片機,選用PDIP封裝。管腳如圖3-1所示:圖2-1 PDIP封裝的STC89C52 單片機的引腳功能說明: 1、電源引腳
7、VCC(40 腳):電源端,工作電壓為5V。 GND(20腳): 接地端。 2、時鐘電路引腳XTAL1(19 腳)和XTAL2(18 腳)。 3、復(fù)位 RST(9 腳)。 4、輸入輸出(I/O)引腳 P0.0-P0.7(39腳-32腳):輸入輸出腳,稱為P0 口,是一個8 位漏極開路型雙向I/O 口,內(nèi)部不帶上拉電阻。 P1.0-P1.7(1腳 - 8腳):輸入輸出腳,稱為P1 口,是一個帶內(nèi)部上拉電阻的8 位雙向I/0 口。 P2.0-P2.7(21腳28腳):輸入輸出腳,稱為P2 口,是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口。 P3.0-P3.7 (10腳17腳):輸入輸出腳,稱為P3
8、口,是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口。P3 端口具有復(fù)用功能。 2.2.3 STC89C52RC單片機器件參數(shù) 1、增強型8051單片機,6 時鐘/機器周期和12 時鐘/機器周期可以任意 選擇,指令代碼完全兼容傳統(tǒng)8051。 2、工作電壓:5.5V3.3V(5V單片機)/3.8V2.0V(3V 單片機)。 3、工作頻率范圍:040MHz,相當(dāng)于普通8051 的080MHz,實際工作 頻率可達(dá)48MHz 4、用戶應(yīng)用程序空間為8K字節(jié)。 5、片上集成512 字節(jié)RAM。 6、通用I/O 口(32 個),復(fù)位后為:P0/P1/P2/P3 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為
9、總線擴展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。 7、ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片 8、具有EEPROM 功能。 9、共3 個16 位定時器/計數(shù)器。即定時器T0、T1、T2。 10、外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒。 11、通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART。 12、工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)。 13、PDIP封
10、裝。2.3 溫度傳感器DS18B20 DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場合的不同而改變其外觀。2.3.1 DS18B20的主要特性 1、適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù) 據(jù)線供電。 2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 3、 DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。 4、DS18B20在使用中不
11、需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。 5、溫范圍-55+125,在-10+85時精度為±0.5。 6、可編程 的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫。2.3.2 DS18B20的外形和內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形及管腳排列如圖3-2所示:圖2-2 溫度傳感器DS18B20 DS18B20引腳定義: (1)GND為電源地; (2)DQ為數(shù)字信號輸入/輸出端; (3)
12、VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。2.4 液晶顯示器LCD16022.4.1 液晶顯示器LCD1602功能介紹 1602液晶顯示器也叫1602字符型液晶顯示器,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。如圖3-3所示:圖2-3液晶顯示器LCD16022.4.2 LCD1602管腳介紹LCD1602采用標(biāo)準(zhǔn)的16腳接口,如圖3-3所示,
13、其中從左到右為1-16腳: 第1腳:GND為電源地 第2腳:VCC接5V電源正極 第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。 第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。 第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負(fù)跳變時執(zhí)行指令。 第7-14腳:D0D7為8位雙向數(shù)據(jù)端。第15-16腳:空腳或背燈電源,15腳背光正極,16腳背光負(fù)極。2
14、.4.3 LCD1602主要特性 1、3.3V或5V工作電壓,對比度可調(diào)。 2、內(nèi)含復(fù)位電路。 3、提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。 4、有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM。 5、內(nèi)建有192個5X7點陣的字型的字符發(fā)生器CGROM。6、8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。3 硬件電路設(shè)計3.1 系統(tǒng)框圖溫度檢測系統(tǒng)由USB接口電源,DS18B20溫度傳感器組成的溫度檢測模塊,STC89C52單片機組成的核心電路,復(fù)位電路、時鐘電路及液晶顯示器組成的顯示電路構(gòu)成。如圖3-4所示:STC89C52單片機時鐘電路模塊復(fù)位電路模塊LCD1602 顯示
15、模塊 DS18B20 溫度檢測模塊電源模塊圖3-1 系統(tǒng)框圖3.2 最小的單片機系統(tǒng)單片機最小系統(tǒng)以AT89C52RC為核心,外加時鐘電路和復(fù)位電路,電路結(jié)構(gòu)簡單,抗干擾能力強,成本相對較低,非常符合本設(shè)計的所有要求。3.2.1 時鐘電路時鐘電路在單片機的外部通過XTAL1,XTAL2這兩個引腳跨接晶體振蕩器和微調(diào)電容,構(gòu)成穩(wěn)定的自激振蕩器。本系統(tǒng)采用的為12MHz的晶振,一個機器周期為1us,C1、C2為22pF。如圖3-5所示圖3-2 時鐘電路仿真圖3.2.2 復(fù)位電路復(fù)位電路分為上電自動復(fù)位和按鍵手動復(fù)位,RST引腳是復(fù)位信號的輸入端,復(fù)位信號是高電平有效。上電自動復(fù)位通過電容C3和電阻
16、R1來實現(xiàn)。如圖3-6所示:圖3-3 復(fù)位電路原理圖 按鍵手動復(fù)位是復(fù)位鍵來實現(xiàn)的,上圖3-6中未添加復(fù)位鍵,復(fù)位鍵可添加在正5V電源與單片機RST管腳之間。3.3 溫度檢測系統(tǒng)設(shè)計DS18B20采用單線進行數(shù)據(jù)傳輸,第2管腳外接一個4.7k上拉電阻與單片機的P3.6口相連進行數(shù)據(jù)的雙向傳輸,第3管腳外接正5V電源,第1管腳接地。如圖3-7所示:圖3-4 溫度檢測仿真圖 外部電源供電方式是DS18B20的最佳工作方式,工作溫度可靠,抗干擾能力強,電路也簡單,并且可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng)。3.4 液晶顯示電路設(shè)計LCD1602液晶顯示屏采用標(biāo)準(zhǔn)的16腳接口,VSS管腳接地,VDD管腳
17、接正5V電源,VEE管腳接電位器RV1,RS管腳外接單片機的P1.1口,RW管腳接地,E管腳外接單片機的P1.2口,D0-D7管腳分別接單片機的P2.0-P2.7口,仿真圖未標(biāo)識出的A、K管腳為背光燈電源管腳,分別接正5V電源和地。如圖3-8所示: 圖3-5液晶顯示電路原理圖液晶顯示器雖然加了驅(qū)動電路,但并不發(fā)光,液晶顯示器發(fā)出來的光是由背光發(fā)出的,燈管的特性類似于家用日光燈,工作時需要高壓。這部分電路通常稱為高壓背光電路?;蚪懈邏罕彻怛?qū)動電路。液晶顯示器所消耗的電能基本全是由背光消耗。相對而言,這部分電路工作在高壓大電流下,很容易出現(xiàn)故障,液晶顯示器的自然故障大多數(shù)是這個部分出現(xiàn)了電路故障。
18、4 主要參數(shù)計算與分析溫度顯示一共 2 個字節(jié),LSB 是低字節(jié),MSB 是高字節(jié),其中 MSB 是字節(jié)的高位,LSB 是字節(jié)的低位。大家可以看出來,二進制數(shù)字,每一位代表的溫度的含義,都表示出來了。其中 S表示的是符號位,低 11 位都是 2 的冪,用來表示最終的溫度。DS18B20 的溫度測量范圍是從-55 度到+125 度,而溫度數(shù)據(jù)的表現(xiàn)形式,有正負(fù)溫度,寄存器中每個數(shù)字如同卡尺的刻度一樣分布。如表一所示:TEMPERATUREDIGITAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+125度0000 0111 1101 000007D0h+25.0625度0
19、000 0001 1001 00010191h+10.125度0000 0000 1010 001000A2h+0.5度0000 0000 0000 10000008h0度0000 0000 0000 00000000h-0.5度1111 1111 1111 1000FFF8h-10.125度1111 1111 0101 1110FF5Eh-25.0625度1111 1110 0110 1111FF6Fh-55度1111 1100 1001 0000FC90h表一 實際溫度對照表二進制數(shù)字最低位變化 1,代表溫度變化 0.0625 度的映射關(guān)系。當(dāng) 0 度的時候,那就是0x0000,當(dāng)溫度 1
20、25 度的時候,對應(yīng)十六進制是 0x07D0,當(dāng)溫度是零下 55 度的時候,對應(yīng)的數(shù)字是 0xFC90。反過來說,當(dāng)數(shù)字是 0x0001 的時候,那溫度就是0.05,達(dá)到了設(shè)計要求。5 軟件設(shè)計5.1 整體系統(tǒng)分析溫度檢測系統(tǒng)由溫度及中斷初始化,溫度檢測,溫度輸入處理,溫度顯示等幾部分模塊組成。如圖5-1所示: 圖5-1 軟件設(shè)計5.2 程序流程圖程序流程圖包括:開始后先進行各個模塊的初始化,然后再進行溫度(數(shù)據(jù))的采樣處理,最后由液晶顯示器輸出溫度。如圖5-2所示:開始單片機開始初始化LCD顯示初始化中斷初始化DS18B20初始化 DS18B20進行溫度采集LCD顯示實時溫度等待圖5-2 程
21、序流程圖6 Proteus軟件仿真溫度檢測系統(tǒng)設(shè)計的 Proteus原理圖設(shè)計,找到12MHz晶振、STC89C52單片機、DS18B20溫度傳感器、液晶顯示器等器件,并用線進行連接,注意電源與地。如圖6-1所示:圖6-1 溫度檢測系統(tǒng)仿真圖 加載程序液晶屏顯示溫度。如圖6-2所示:圖6-2 溫度檢測系統(tǒng)模擬運行 通過調(diào)整DS18B20中的“+”“-”即可改變顯示數(shù)值。7 實物制作7.1 器材清單 實物制作用到的器件有以下幾種,如表二所示: 名稱封裝型號參數(shù)數(shù)量瓷片電容直插30PF2石英晶體直插11.0592MHZ1電阻直插1/4W10K1電解電容直插22UF/16V1CPU雙列直插STC89
22、C52RCHD1CPU座雙列直插DIP-401電阻直插1/4W4.7K1溫度傳感器直插DS18B201電位器直插3296W-10310K1液晶顯示器LCD160211P杜邦線彩色母對母兩頭插好杜邦頭孔對孔40根一排單根長度20cm30針排針直插腳距2.54高111X40單排插針30線最小系統(tǒng)板1洞洞板9X7CM單面1表二 溫度檢測單片機元器件明細(xì)表7.2 最小系統(tǒng)板制作 焊接最小系統(tǒng)板,把電容、極性電容、12Mhz晶振、電阻、排針、底座插到最小系統(tǒng)板上,因為背面電路都已連接好,只需在各個位置焊上個元器件即可。實物圖如圖7-1所示:圖7-1 最小系統(tǒng)電路實物圖7.3 溫度檢測系統(tǒng)電路板制作DS1
23、8B20焊接時應(yīng)注意1,2,3腳,電路板最右面焊排針,以便輸入信號。輸入程序前用杜邦線將各個模塊進行連接。實物圖如圖7-2所示:圖7-2 溫度檢測系統(tǒng)電路實物圖7.4 溫度檢測展示室內(nèi)溫度測量如圖7-3所示:圖7-3 室溫 用手指捏住DS18B20一段時間,再次進行溫度的測量。如圖7-4所示:圖7-4 手指加熱7.5 焊接點展示每個焊點以方正,不帶刺,均勻為好。當(dāng)焊好電路后,仔細(xì)檢查焊點質(zhì)量與是否導(dǎo)通。如圖7-5所示:圖7-5 焊接點展示7.6 作品檢查 1、首先按照仿真圖將實物焊接,注意焊接的質(zhì)量,不要出現(xiàn)虛焊等現(xiàn)象。 2、通電觀察現(xiàn)象。 3、通電后無反應(yīng)。 4、將單片機換一塊最小系統(tǒng)板,檢
24、查是否原來最小系統(tǒng)板有問題及單片機是否有問題。 5、液晶顯示器的顯示和仿真是否有不同。 6、檢查單片機引腳與液晶顯示器連接的順序是否正確.程序是否匹配。 7、液晶顯示器不亮或亮的很暗。 8、檢查線路的正負(fù)極是否接反,檢查限流電阻阻值是否正確,檢查是否有斷路現(xiàn)象。當(dāng)焊好電路后通電之后,發(fā)現(xiàn)電路不亮,檢查了一下單片機向外的接口,虛焊了個地方,重新焊好后,接入液晶顯示器,發(fā)現(xiàn)有一組液晶顯示器不亮,原因是未連接背光電路,重新連接后,通電,試驗成功。8 結(jié)論 本系統(tǒng)充分利用了STC89C52RC芯片的I/O引角。系統(tǒng)統(tǒng)采用MSC-51系列單片機為中心器件來設(shè)計溫度檢測系統(tǒng),實現(xiàn)了能根據(jù)實際溫度通過單片機
25、芯片的P2口控制液晶顯示器的顯示;系統(tǒng)設(shè)計簡便、實用性強、操作簡單、程序設(shè)計簡便。系統(tǒng)不足之處在于電路18B20易損壞、以及液晶顯示不明顯等。由于本設(shè)計涉及到的知識面比較廣,再加上本人在相關(guān)領(lǐng)域知識的缺乏,所以本設(shè)計的性能指標(biāo)還是有待改善的,并讓我明白了仿真和真實動手是具有差距的,想的和做的并不一樣。要特別注重細(xì)節(jié),制作實物時出現(xiàn)液晶屏不顯示故障,當(dāng)時只認(rèn)為是程序或焊接有問題,最后才發(fā)現(xiàn)只是電位器沒調(diào)節(jié)好。這次課程設(shè)計,使我對所學(xué)的知識與技能、分析和解決問題的能力進行了可貴的鍛煉,使我深刻領(lǐng)會了單片機的基本原理以及了解到單片機應(yīng)用系統(tǒng)開發(fā)過程的艱難。在常用編程設(shè)計思路技巧的掌握方面都向前邁了一
26、大步。通過這次的課程設(shè)計,我充分意識到了自己所學(xué)的東西還是非常有限的,明確了以為要努力的方向,不能只學(xué)習(xí)課本上的理論知識,還要了解一些書本上無法學(xué)到的東西,為自己的以后奠定了一定的基礎(chǔ)。 附錄:C語言程序:#include<reg52.h>#include<intrins.h>#define uchar unsigned char #define uint unsigned int#define LCDIO P2 /1602數(shù)據(jù)口sbit DQ=P36;/ds18b20與單片機連接口sbit rs=P11; /1602數(shù)據(jù)命令選擇引腳/sbit rd=1;/讀寫選擇 s
27、bit lcden=P12;/1602選通引腳float f_temp; /浮點型溫度值 uint tvalue;/溫度值uchar tflag;uchar code table="The temperature " /每行顯示16個字符uchar code table1="is: 000.0C wfu"uchar data disdata5;void delay(uint z)/短延時uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void write_com(uchar com)/1602寫命令子程序r
28、s=0;/RS是數(shù)據(jù)命令選擇短,高電平寫數(shù)據(jù),低電平寫命令/rd=1; lcden=0;/1602選通端,高電平選通,低電平禁止P2=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)/1602寫數(shù)據(jù)子程序rs=1;/RS是數(shù)據(jù)命令選擇短,高電平寫數(shù)據(jù),低電平寫命令/rd=1;/?lcden=0;/1602選通端,高電平選通,低電平禁止P2=date;delay(5);lcden=1;delay(5);lcden=0;void init()/1602初始化程序uchar num;lcden=0;write_com(
29、0x38);/0011 1000B,功能模式設(shè)置,設(shè)置為8為數(shù)據(jù)口,兩行顯示,5*7點陣write_com(0x0c);/0000 1011B,顯示開及光標(biāo)設(shè)置,關(guān)顯示,顯示光標(biāo),光標(biāo)閃爍write_com(0x06);/0000 0110B,顯示光標(biāo)移動設(shè)置,讀或?qū)懸粋€字符,地址指針減一且光標(biāo)減一,寫一個字符屏幕顯示不移動write_com(0x01);/0000 0001B,顯示清屏,數(shù)據(jù)指針和所有顯示清屏write_com(0x80);/1000 000B,關(guān)閉顯示delay(5);write_com(0x80);/1000 000B,設(shè)置為2行顯示,寫入第一行字符的地址,第一行地址是0
30、0-2Ffor(num=0;num<16;num+) write_date(tablenum);/寫入第一行數(shù)據(jù)delay(5);write_com(0x80+0x40);/1100 0000B,設(shè)置為2行顯示,寫入第二行字符的地址,第而行地址是40-67for(num=0;num<16;num+)/寫入第二行數(shù)據(jù)write_date(table1num);/寫入第二行數(shù)據(jù)delay(5); void delay_18B20(unsigned int i)/延時1微秒 while(i-);void ds1820rst()/*ds1820復(fù)位*/DS18B20要求數(shù)據(jù)線拉低500US
31、即可復(fù)位。 unsigned char x=0; DQ = 1; /DQ復(fù)位 delay_18B20(4); /延時 DQ = 0; /DQ拉低 delay_18B20(100); /精確延時大于480us DQ = 1; /拉高 delay_18B20(40); uchar ds1820rd()/*讀數(shù)據(jù)*/ unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-) DQ = 0; /給脈沖信號dat>>=1;DQ = 1; /給脈沖信號if(DQ)dat|=0x80;delay_18B20(10);return(da
32、t);void ds1820wr(uchar wdata)/*寫數(shù)據(jù)*/unsigned char i=0;for (i=8; i>0; i-) DQ = 0;DQ = wdata&0x01;delay_18B20(10);DQ = 1;wdata>>=1;read_temp()/*讀取溫度值并轉(zhuǎn)換*/uchar a,b;ds1820rst(); ds1820wr(0xCC);/跳過ROM_nop_();/ds1820wr(0x4E);/寫EEPROM,發(fā)出向內(nèi)部RAM的3、4 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)/ ds1820wr(0x0
33、0);/Th/ds1820wr(0x00);/Tlds1820wr(0x7f);/12 bits溫度分辨率x1f, 0x3f, 0x5f ,0x7f溫度讀數(shù)分辨率分別對應(yīng)0.5, 0.25, 0.125 ,0.0625 /ds1820wr(0xcc); /跳過讀EPROM序列 /ds1820wr(0x48); 將RAM 中第3 、4 字節(jié)的內(nèi)容復(fù)制到EEPROM中ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/_nop_();ds1820wr(0x44);/*啟動溫度轉(zhuǎn)換*/ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0xbe);/*讀取溫度*/ a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)tflag=0;elsetvalue=tvalue+1;tflag=1;/tvalue=tvalue*(0.425);/溫度值擴大10倍,精確到1位小數(shù)f_temp=tvalue*(0.0625); / 溫度在寄存器中為12位,分辨率為0.0625tvalue=f_temp*10+0.5; /乘以10表示小數(shù)點后面只取1位,加0.5時四舍五入 /f_temp=f_temp+0
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運營助理的年終總結(jié)
- 新生兒輕度窒息的護理
- 福建省2024八年級數(shù)學(xué)上冊第12章整式的乘除12.2整式的乘法3.多項式與多項式相乘課件新版華東師大版
- 人事測評課件教學(xué)課件
- 2.1.2碳酸鈉和碳酸氫鈉 說課課件 高一上學(xué)期化學(xué)人教版(2019)必修第一冊
- 洗地機行業(yè)現(xiàn)狀分析報告
- 如何寫年終述職報告
- 肱骨遠(yuǎn)段骨折康復(fù)治療
- 不樣的我教案反思
- 2025文旅景區(qū)蛇年新年國潮非遺年貨大集主題活動策劃方案-111P
- 巴以沖突2023年專題
- 污水處理設(shè)施運維服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 急性肺栓塞多學(xué)科團隊救治中國專家共識(2022版)解讀
- 第-17章-情景分析和壓力測試
- 中醫(yī)執(zhí)業(yè)醫(yī)師實踐技能考試第二站(中醫(yī)基本操作)
- 《預(yù)防為主生命至上》119消防安全日主題班會課件
- 少年中國說-英文版
- GA/T 2071-2023法庭科學(xué)生物檢材中四氫唑啉等5種咪唑啉類藥物檢驗液相色譜-質(zhì)譜法
- 胺碘酮在急診合理應(yīng)用
- 非暴力溝通(完整版)
- 系統(tǒng)諧振及過電壓
評論
0/150
提交評論