![基于PIC單片機(jī)的多路溫度巡回檢測系統(tǒng)設(shè)計論文_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d825da7a-29cd-4cb5-813c-dc11c36ab999/d825da7a-29cd-4cb5-813c-dc11c36ab9991.gif)
![基于PIC單片機(jī)的多路溫度巡回檢測系統(tǒng)設(shè)計論文_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d825da7a-29cd-4cb5-813c-dc11c36ab999/d825da7a-29cd-4cb5-813c-dc11c36ab9992.gif)
![基于PIC單片機(jī)的多路溫度巡回檢測系統(tǒng)設(shè)計論文_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d825da7a-29cd-4cb5-813c-dc11c36ab999/d825da7a-29cd-4cb5-813c-dc11c36ab9993.gif)
![基于PIC單片機(jī)的多路溫度巡回檢測系統(tǒng)設(shè)計論文_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d825da7a-29cd-4cb5-813c-dc11c36ab999/d825da7a-29cd-4cb5-813c-dc11c36ab9994.gif)
![基于PIC單片機(jī)的多路溫度巡回檢測系統(tǒng)設(shè)計論文_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d825da7a-29cd-4cb5-813c-dc11c36ab999/d825da7a-29cd-4cb5-813c-dc11c36ab9995.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué) 生 畢 業(yè) 論 文題目(中文)基于pic單片機(jī)的多路溫度巡回檢測系統(tǒng) (英文) multi-channel temperature monitor base on pic16f877a 系別: 物理與電子工程系 專業(yè): 電氣工程及其自動化 班級: 指導(dǎo)教師: 摘要:本文介紹了一種基于pic16f877a單片機(jī),利用ds18b20對多路溫度采集,并進(jìn)行溫度的控制與檢測,并通過12864液晶顯示出來。系統(tǒng)中通過控制按鈕實現(xiàn)了實時各路的報警溫度,并且實現(xiàn)多路與任一單路溫度顯示切換,從而既可以進(jìn)行多路的檢測又可以進(jìn)行任一單路的監(jiān)控,而且還有數(shù)字跟圖形兩種顯示方式更為直觀。在溫度超過設(shè)定溫度時溫度跟
2、時間通過24c02存儲起來,以便查看,同時可以通過固定電話遠(yuǎn)程報警,還能將溫度上傳至pc機(jī),進(jìn)行后續(xù)處理。關(guān)鍵詞:溫度檢測;單片機(jī);串行通訊;ds18b20;abstract:this paper introduces one kind of scm which is based on pic16f877a. through ds18b20, it can form multi-channel temperature detection alarm and is displayed by liquid crystal. through the control button, this syst
3、em can achieve the real-time setting of all different alarm temperature of each channel, and the realization of multi-channel or single switch temperature display, which can carry out multi-channel detection and also can be carried out as a one-way monitoring. the digital and graphic displays make i
4、t easier to be seen. when the temperature is beyond the setting temperature, the 24c02 will store temperature and time, which make it convenient to be checked. at the same time, it can realize distant alarm through the fixed telephone, and upload the temperature to the pc machine for later dealing w
5、ith.key words: temperature detection; mcu; seria communication; ds18b20目錄1系統(tǒng)設(shè)計72主芯片:pic16f877a單片機(jī)簡介92.1 pic單片機(jī)的優(yōu)越之處:92.2 pic16f877a引腳圖及主要性能102.3 最小系統(tǒng)112.3.1復(fù)位功能112.3.2 系統(tǒng)時鐘122.4 設(shè)計心得總結(jié)123lcd12864液晶原理介紹及接口實現(xiàn)123.1 液晶顯示模塊概述123.2 液晶引腳說明133.3 接口時序143.4 具體指令介紹153.5 顯示坐標(biāo)關(guān)系193.5.1、圖形顯示坐標(biāo)193.5.2 漢字顯示坐標(biāo)203.6
6、與單片機(jī)的接口實現(xiàn)213.7設(shè)計心得總結(jié)224ds18b20原理介紹及接口實現(xiàn)224.1 ds18b20簡介224.2ds18b20結(jié)構(gòu)及其工作原理234.3ds18b20的接口實現(xiàn)294.3.1 硬件設(shè)計294.3.2 軟件設(shè)計304.4設(shè)計心得總結(jié)314.4.1 焊接問題:314.4.2 軟件設(shè)計:314.4.3 不足:315存儲芯片at24c02簡單介紹及接口實現(xiàn)325.1at24c02功能描述管腳定義325.2管腳定義及接口實現(xiàn)325.3設(shè)計心得346 實時時鐘ds1302簡單介紹及接口實現(xiàn)346.1 ds1302簡介346.2 ds1302結(jié)構(gòu)及工作原理346.3ds1302的接口實
7、現(xiàn)357溫度上限報警功能377.1 設(shè)計原理377.2 設(shè)計心得體會378與pc串口通訊及vb上位機(jī)簡單介紹388.1 與pc串口通信388.2 上位機(jī)介紹399 總結(jié)43附錄44部分原理圖:44參考文獻(xiàn)45致謝46基于pic單片機(jī)的多路溫度監(jiān)控巡回系統(tǒng)1 系統(tǒng)設(shè)計在工業(yè)生產(chǎn)和日常生活中,經(jīng)常要對溫度進(jìn)行測量與控制,并且有時是對多個點進(jìn)行溫度測量,比如冷庫溫度監(jiān)控、環(huán)境溫度監(jiān)測、農(nóng)業(yè)溫室監(jiān)控、糧庫溫度監(jiān)控等。在這種情況下,多點溫度檢測系統(tǒng)應(yīng)運而生。多點溫度檢測系統(tǒng)通常能夠?qū)Χ鄠€工作點的溫度進(jìn)行檢測,顯示當(dāng)前溫度,并能夠?qū)囟冗M(jìn)行存儲和報警,還能將溫度上傳至pc機(jī),進(jìn)行后續(xù)處理。傳統(tǒng)的測溫元件有
8、熱電偶和熱電阻,需很多硬件支持并且電路復(fù)雜。本文將設(shè)計一款由新型的數(shù)字溫度傳感器ds18b20配合單片機(jī),具有溫度檢測、顯示、存儲、自動統(tǒng)計分析及跟電腦通訊連接還利用固定電話遠(yuǎn)程報警等功能的多點溫度監(jiān)控系統(tǒng)。多路溫度監(jiān)控系統(tǒng)30 pc機(jī)通訊4 * 溫度傳感器固話報警 圖 1.1 多路溫度監(jiān)控系統(tǒng)模擬應(yīng)用溫度監(jiān)控主系統(tǒng)構(gòu)架框圖如圖 1.2 所示:pic16f877a單片機(jī)12864液晶顯示實時時鐘上限報警接口按鍵控制pc機(jī)通訊at24c02溫度儲存四路溫度采集 圖 1.2 多路溫度監(jiān)控系統(tǒng)構(gòu)架框圖圖1.3 手工焊接實物圖主要技術(shù)參數(shù)a溫度檢測范圍 : -55+125b測量精度 : 0.0625c
9、 顯示方式: lcd12864顯示d 報警方式: 固話報警2 主芯片:pic16f877a單片機(jī)簡介2.1 pic單片機(jī)的優(yōu)越之處:(1)哈佛總線結(jié)構(gòu):mcs-51單片機(jī)的總線結(jié)構(gòu)是馮-諾依曼型,計算機(jī) 在同一個存儲空間取指令和數(shù)據(jù),兩者不能同時進(jìn)行;而pic單片機(jī)的總線結(jié)構(gòu)是哈佛結(jié)構(gòu),指令和數(shù)據(jù)空間是完全分開的,一個用于指令,一個用于數(shù)據(jù),由于 可以對程序和數(shù)據(jù)同時進(jìn)行訪問,所以提高了數(shù)據(jù)吞吐率。正因為在 pic單片機(jī)中采用了哈佛雙總線結(jié)構(gòu),所以與常見的微控制器不同的一點是:程序和數(shù)據(jù)總線可以采用不同的寬度。數(shù)據(jù)總線都是8位的,但指令總線位數(shù)分別位 12、14、16位。 (2)流水線結(jié)構(gòu):m
10、cs-51單片機(jī)的取指和執(zhí)行采用單指令流水線結(jié)構(gòu),即取一條指令,執(zhí)行完后再取下一條指令;而pic的取指和執(zhí)行采用雙指令流水線結(jié)構(gòu),當(dāng)一條指令被執(zhí)行時,允許下一條指令同時被取出,這樣就實現(xiàn)了單周期指令。 (3)寄存器組:pic單片機(jī)的所有寄存器,包括i/o口,定時器和程序計數(shù)器等都采用ram結(jié)構(gòu)形式,而且都只需要一個指令周期就可以完成訪問和操作;而mcs-51單片機(jī)需要兩個或兩個以上的周期才能改變寄存器的內(nèi)容。 (4)運行速度高:由于采用了哈佛總線結(jié)構(gòu),以及指令的讀取和執(zhí)行才用了流水作業(yè)方式,使得運行速度大大提高。 (5)功耗低:pic單片機(jī)的功率消耗極低,是目前世界上最低的單片機(jī)品種之一。在4
11、mhz時鐘下工作時耗電不超過2ma,在睡眠模式下耗電可以低到1ua以下。 (6)驅(qū)動能力強(qiáng):i/o端口驅(qū)動負(fù)載的能力較強(qiáng),每個i/o引腳吸入和輸出電流的最大值可分別達(dá)到25ma和20ma,能夠直接驅(qū)動發(fā)光二極管led、光電耦合器或者輕微繼電器等。 (7)外接電路簡潔pic單片機(jī)片內(nèi)集成了上電復(fù)位電路、i/o引腳上拉電路、看門狗定時器等,可以最大程度減少或免用外接器件,以便實現(xiàn)“純單片機(jī)”應(yīng)用。這樣,不僅方便于開發(fā),而且還可節(jié)省用戶的電路空間和制作成本。 (8)程序保密性強(qiáng)目前,尚無辦法對其直接進(jìn)行解密拷貝,可以最大限度的保護(hù)用戶的程序版權(quán)。2.2 pic16f877a引腳圖及主要性能pic16
12、f877a的詳細(xì)引腳如圖2.21所示。 圖 2.2-1 pic16f877a引腳圖 圖 2.2 -2 pic16f877a實物圖主要性能參數(shù)如下所示:l 具有高性能risc cpul 僅有35條單字指令l 100000次擦寫周期l 除程序分支指令為兩個周期外,其余均為單周期指令l 運行速度: dc20mhz始終輸入 dc200ns 指令周期l 8k * 14個 flash程序存儲器368 * 8 個數(shù)據(jù)存儲器(ram)字節(jié)256 * 8 eeprm 數(shù)據(jù)存儲器字節(jié)l 提供14個中斷源l 功耗低在5v, 4mhz 時鐘運行時電流小于 2ma在3v, 32khz 時鐘運行時電流小于20ual 支持
13、在線串行編程(icsp)l 運行電壓范圍廣,2.0v到5.5vl 輸入及輸出電流可達(dá)到25mal timer0:帶有預(yù)分頻器的8位定時器/計數(shù)器l timer1:帶有預(yù)分頻器的16位定時器/計數(shù)器,在使用外部晶振震蕩時鐘時,在睡眠期間仍能工作l timer2:帶有8位周期寄存器,預(yù)分頻器和后分頻器的8位定時器/計數(shù)器。l 2個捕捉器,比較器,pwm模塊其中: 捕捉器是16位,最大分辨率是12.5ns 比較器是16位,最大分辨率是200ns pwm最大分辨率是10位l 10位多通道模數(shù)轉(zhuǎn)換器2.3 最小系統(tǒng) 2.3.1復(fù)位功能pic16f877a的復(fù)位功能設(shè)計得比較完善,實現(xiàn)復(fù)位或引起復(fù)位的條件
14、和原因可以歸納成4類:人工復(fù)位、上電復(fù)位、看門狗復(fù)位、欠壓復(fù)位。這里簡單介紹一下人工復(fù)位人工復(fù)位:無論是單片機(jī)在正常運行程序,還是處在睡眠狀態(tài)或出現(xiàn)死機(jī)狀態(tài),只要在人工復(fù)位端mclr加入低點平信號,就令其復(fù)位。本次設(shè)計的電路圖如圖2.31所示。 圖 2.31 pic最小系統(tǒng)電路圖 圖2.32 最小系統(tǒng)實物圖 2.3.2 系統(tǒng)時鐘 數(shù)字電路的工作離不開時鐘信號,每一步細(xì)微動作都是在一個共同的時間基準(zhǔn)信號協(xié)調(diào)下完成的。作為時基發(fā)生器的時鐘震蕩電路,為整個單片機(jī)芯片的工作提供系統(tǒng)時鐘信號,也為單片機(jī)與其他外接芯片之間的通訊提供可靠的同步時鐘信號。pic16f877a的時鐘電路是由片內(nèi)的一個反相器和一
15、個反饋電阻,與外接的1個石英晶體和2個電容,共同構(gòu)成的一個自激多諧振蕩器。電路如圖2.31 所示。2.4 設(shè)計心得總結(jié) pic16f877a的最小系統(tǒng)跟51相似,較為簡單。芯片自身增加了很多功能,如:自帶8路ad轉(zhuǎn)換、增加spi總線,引腳復(fù)位功能多等。芯片自身功能的增加給設(shè)計帶來了很多靈活性,同時也是學(xué)習(xí)的難點。3 lcd12864液晶原理介紹及接口實現(xiàn)3.1 液晶顯示模塊概述12864a-1漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個中文漢字(16x16點陣)、128個字符(8x16點陣)及64x256點陣顯示ram(gdram)。主要技術(shù)參數(shù)和顯示特性:電源:vdd 3.3v
16、+5v(內(nèi)置升壓電路,無需負(fù)壓);顯示內(nèi)容:128列× 64行顯示顏色:黃綠顯示角度:6:00鐘直視lcd類型:stn與mcu接口:8位或4位并行/3位串行配置led背光多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等3.2 液晶引腳說明引腳號引腳名稱方向功能說明1vss-模塊的電源地2vdd-模塊的電源正端3v0-lcd驅(qū)動電壓輸入端4rs(cs)h/l并行的指令/數(shù)據(jù)選擇信號;串行的片選信號5r/w(sid)h/l并行的讀寫選擇信號;串行的數(shù)據(jù)口6e(clk)h/l并行的使能信號;串行的同步時鐘7db0h/l數(shù)據(jù)08db1h/l數(shù)據(jù)19db2h/l數(shù)據(jù)210db3h/l數(shù)
17、據(jù)311db4h/l數(shù)據(jù)412db5h/l數(shù)據(jù)513db6h/l數(shù)據(jù)614db7h/l數(shù)據(jù)715psbh/l并/串行接口選擇:h-并行;l-串行16nc空腳17/reth/l復(fù)位 低電平有效18nc空腳19led_a-背光源正極(led+5v)20led_k-背光源負(fù)極(led-ov)邏輯工作電壓(vdd):4.55.5v電源地(gnd):0v工作溫度(ta):060(常溫) / -2075(寬溫)3.3 接口時序模塊有并行和串行兩種連接方法,本文采用并行接法(時序如下):8位并行連接時序圖mpu寫資料到模塊程序?qū)崿F(xiàn)如下:/* 名 稱:send_i() * 功 能:寫一個字節(jié)命令到lcd* 入
18、口參數(shù):unsigned char x 字符*/void send_i(unsigned char x)chk_busy(); /檢測lcd是否工作繁忙rs = 0; /設(shè)置該字節(jié)數(shù)據(jù)為控制命令rw = 0; /設(shè)置此次操作為寫portd = x; /送數(shù)據(jù)口portde = 1; /使能nop();nop();nop();e = 0; /禁止mpu從模塊讀出資料程序?qū)崿F(xiàn)如下:/* 讀數(shù)據(jù)*/unsigned char u8_lcd12864readbyte_f( void ) unsigned char byreturnvalue ; chk_busy() ; /檢測lcd是否工作繁忙tri
19、sd=0xff; /設(shè)置pd口為輸入狀態(tài) portd = 0xff ; /pd初始化為高電平 rs=1; / 讀置高 rw=1; / 寫置高 e=0; / 使能置低 e=1; / 使能置高 byreturnvalue = portd ; / 讀數(shù)據(jù) e=0; / 關(guān)使能trisd=0x00; / 恢復(fù)pd口為輸出 return byreturnvalue ; / 返回讀到的數(shù)據(jù)3.4 具體指令介紹1、清除顯示code: rw rs db7 db6 db5 db4 db3 db2 db1 db0lllllllllh功能:清除顯示屏幕,把ddram位址計數(shù)器調(diào)整為“00h”2、位址歸位code:
20、rw rs db7 db6 db5 db4 db3 db2 db1 db0llllllllhx功能:把ddram位址計數(shù)器調(diào)整為“00h”,游標(biāo)回原點,該功能不影響顯示ddram3、位址歸位code: rw rs db7 db6 db5 db4 db3 db2 db1 db0lllllllhi/ds功能:把ddram位址計數(shù)器調(diào)整為“00h”,游標(biāo)回原點,該功能不影響顯示ddram功能:執(zhí)行該命令后,所設(shè)置的行將顯示在屏幕的第一行。顯示起始行是由z地址計數(shù)器控制的,該命令自動將a0-a5位地址送入z地址計數(shù)器,起始地址可以是0-63范圍內(nèi)任意一行。z地址計數(shù)器具有循環(huán)計數(shù)功能,用于顯示行掃描同
21、步,當(dāng)掃描完一行后自動加一。4、顯示狀態(tài) 開/關(guān)code: rw rs db7 db6 db5 db4 db3 db2 db1 db0llllllhdc b 功能: d=1;整體顯示on c=1;游標(biāo)on b=1;游標(biāo)位置on5、游標(biāo)或顯示移位控制code: rw rs db7 db6 db5 db4 db3 db2 db1 db0lllllhs/cr/lx x 功能:設(shè)定游標(biāo)的移動與顯示的移位控制位:這個指令并不改變ddram的內(nèi)容6、功能設(shè)定code: rw rs db7 db6 db5 db4 db3 db2 db1 db0llllhdlx0 rex x 功能:dl=1(必須設(shè)為1) r
22、e=1;擴(kuò)充指令集動作 re=0:基本指令集動作7、設(shè)定cgram位址code: rw rs db7 db6 db5 db4 db3 db2 db1 db0lllhac5ac4ac3ac2ac1 ac0功能:設(shè)定cgram位址到位址計數(shù)器(ac)8、設(shè)定ddram位址code: rw rs db7 db6 db5 db4 db3 db2 db1 db0llhac6ac5ac4ac3ac2ac1 ac0 功能:設(shè)定ddram位址到位址計數(shù)器(ac)9、讀取忙碌狀態(tài)(bf)和位址code: rw rs db7 db6 db5 db4 db3 db2 db1 db0lhbfac6ac5ac4ac3a
23、c2ac1 ac0 功能:讀取忙碌狀態(tài)(bf)可以確認(rèn)內(nèi)部動作是否完成,同時可以讀出位址計數(shù)器(ac)的值10、寫資料到ramcode: rw rs db7 db6 db5 db4 db3 db2 db1 db0hld7d6d5d4d3d2d1 d0 功能:寫入資料到內(nèi)部的ram(ddram/cgram/tram/gdram)11、讀出ram的值code: rw rs db7 db6 db5 db4 db3 db2 db1 db0hhd7d6d5d4d3d2d1 d0 功能:從內(nèi)部ram讀取資料(ddram/cgram/tram/gdram)12、待命模式(12h)code: rw rs db
24、7 db6 db5 db4 db3 db2 db1 db0lllllllll h 功能:進(jìn)入待命模式,執(zhí)行其他命令都可終止待命模式13、卷動位址或iram位址選擇(13h)code: rw rs db7 db6 db5 db4 db3 db2 db1 db0llllllllh sr 功能:sr=1;允許輸入卷動位址 sr=0;允許輸入iram位址 14、反白選擇(14h)code: rw rs db7 db6 db5 db4 db3 db2 db1 db0lllllllhr1 r0功能:選擇4行中的任一行作反白顯示,并可決定反白的與否15、睡眠模式(015h)code: rw rs db7 d
25、b6 db5 db4 db3 db2 db1 db0llllllhslx x功能:sl=1;脫離睡眠模式 sl=0;進(jìn)入睡眠模式16、擴(kuò)充功能設(shè)定(016h)code: rw rs db7 db6 db5 db4 db3 db2 db1 db0llllhhx1 reg l 功能:re=1;擴(kuò)充指令集動作 re=0;基本指令集動作 g=1;繪圖顯示on g=0;繪圖顯示off17、設(shè)定iram位址或卷動位址(017h)code: rw rs db7 db6 db5 db4 db3 db2 db1 db0lllhac5ac4ac3ac2ac1 ac0 功能:sr=1;ac5ac0為垂直卷動位址 s
26、r=0;ac3ac0寫iconram位址18、設(shè)定繪圖ram位址(018h)code: rw rs db7 db6 db5 db4 db3 db2 db1 db0llhac6ac5ac4ac3ac2ac1 ac0 功能:設(shè)定gdram位址到位址計數(shù)器(ac)備注、1、當(dāng)模塊在接受指令前,微處理順必須先確認(rèn)模塊內(nèi)部處于非忙碌狀態(tài),即讀取bf標(biāo)志時bf需為0,方可接受新的指令;如果在送出一個指令前并不檢查bf標(biāo)志,那么在前一個指令和這個指令中間必須延遲一段較長的時間,即是等待前一個指令確實執(zhí)行完成,指令執(zhí)行的時間請參考指令表中的個別指令說明。2、“re”為基本指令集與擴(kuò)充指令集的選擇控制位元,當(dāng)變
27、更“re”位元后,往后的指令集將維持在最后的狀態(tài),除非再次變更“re”位元,否則使用相同指令集時,不需每次重設(shè)“re”位元。本次設(shè)計液晶初始化如下:void lcd_init()rst = 0; /復(fù)位lcddelay(1); /保證復(fù)位所需要的時間(1ms)rst = 1; /恢復(fù)lcd正常工作/nop();/psb = 1; /設(shè)置lcd為8位并口通信send_i(0x30); /基本指令操作send_i(0x01); /清除顯示send_i(0x06); /指定在寫入或讀取時,光標(biāo)的移動方向send_i(0x0c); /開顯示,關(guān)光標(biāo),不閃爍3.5 顯示坐標(biāo)關(guān)系3.5.1、圖形顯示坐標(biāo)水
28、平方向x以字節(jié)單位 垂直方向y以位為單位/*函數(shù)名稱:draw_pm功 能:在整個液晶屏幕上畫圖參 數(shù):無返回值 :無*/void draw_pm(const uchar *ptr) uchar i,j,k; send_i(0x34); /打開擴(kuò)展指令集i = 0x80; for(j = 0;j < 32;j+) send_i(i+); send_i(0x80); for(k = 0;k < 16;k+) send_d(*ptr+); i = 0x80; for(j = 0;j < 32;j+) send_i(i+); send_i(0x88); for(k = 0;k &l
29、t; 16;k+) send_d(*ptr+); send_i(0x36); /打開繪圖顯示send_i(0x30); /回到基本指令集3.5.2 漢字顯示坐標(biāo) x坐標(biāo)line180h81h82h83h84h85h86h87hline290h91h92h93h94h95h96h97hline388h89h8ah8bh8ch8dh8eh8fhline498h99h9ah9bh9ch9dh9eh9fh/* 名 稱: writelcd()* 功 能: 在lcd上顯示字符串* 入口參數(shù):const unsigned char *pt 字符串的首地址*/void writelcd(const unsig
30、ned char *pt) while(*pt)/檢測是否達(dá)到了字符串最后 send_d(*pt+); /發(fā)送數(shù)據(jù)給lcd/ 應(yīng)用如下const uchar table1 =" 基pic 單片機(jī)"const uchar table2 =" 多路溫度" const uchar table3 =" 巡回檢測系統(tǒng)" const uchar table4 ="2009年12月01日"send_i(0x80); / 定位在第一行writelcd(table1); / 寫:基pic 單片機(jī)send_i(0x90); / 定位在
31、第二行writelcd(table2); / 寫:多路溫度send_i(0x88); / 定位在第三行writelcd(table3); / 寫:巡回檢測系統(tǒng)send_i(0x98); / 定位在第四行writelcd(table4); / 寫:2009年12月01日3.6 與單片機(jī)的接口實現(xiàn)12864液晶的電路連線圖如圖3.6 -1所示,實物位置如圖3.6 -2所示 圖 3.6 -1 12864液晶電路連接圖 圖 3.6 -2 12864液晶模塊實物圖3.7 設(shè)計心得總結(jié)lcd12864與1602相比需要較大的電流驅(qū)動,如果出現(xiàn)圖片模糊不清晰或者灰暗,除了檢查背光燈外應(yīng)考慮電源問題。最好采用
32、大于5v的電源,經(jīng)7805穩(wěn)壓管穩(wěn)壓驅(qū)動,以保證電流?;掘?qū)動跟1602相似難度不大。中文及圖像顯示是12864最大的特點也是難點,主要是指令較多,還有就是圖像驅(qū)動需要了解液晶內(nèi)部原理。整屏畫圖可以使用pctolcd2002把圖片轉(zhuǎn)換成16進(jìn)制數(shù),局部畫曲線、直線、圓等需要一些算法,比較復(fù)雜4 ds18b20原理介紹及接口實現(xiàn)4.1 ds18b20簡介ds18b20是dallas半導(dǎo)體公司推出的第一片支持“一線總線”接口的溫度傳感器,他它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點,可直接將溫度轉(zhuǎn)化成串行數(shù)字信號供處理器處理。ds18b20具有以下優(yōu)點:(1) 適應(yīng)電壓范圍寬,
33、電壓范圍在3.0v5.5v,在寄生電源方式下可由數(shù)據(jù)線供電。(2) 獨特的單線接口方式,與微處理器連接時只需要一條口線即可實現(xiàn)微處理器與ds18b20的雙向通信。(3) 支持多點組網(wǎng)功能,多個ds18b20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。(4) 在使用中不需要任何外圍元件,全部傳感元件以及轉(zhuǎn)換電路集成在形如一直三極管的集成電路內(nèi)。(5) 測溫范圍-55+125,在-10+85時進(jìn)度為±0.5(6) 可編程分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫。(7) 負(fù)壓特性。電源極性接反時,芯片不會因為過熱而燒毀,但不能正常工
34、作。4.2 ds18b20結(jié)構(gòu)及其工作原理圖4.1ds18b20內(nèi)部結(jié)構(gòu)圖ds18b20的內(nèi)部結(jié)構(gòu)圖如圖4.1所示。由此我們可以看出ds18b20主要由4部分組成:64位rom、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th和tl、配置寄存器。ds18b20的管腳排列如圖4.2所示,其中dq為數(shù)字信號輸入輸出端;gnd為電源地;vdd為外接供電電源輸入端,在寄生電源接線方式時接地。圖4.2 ds18b20引腳和封裝每顆ds18b20在出廠前都有一個64位光刻rom,它可以看作該ds18b20的地址序列碼。其各位排列順序是:開始8位為產(chǎn)品類型標(biāo)號,接下來48位是該ds18b20自身的序列號,最后8位是前
35、面56位的crc循環(huán)冗余校驗碼(crc=x8+x5+x4+1)。光刻rom的作用是使每一個ds18b20都各不相同,這樣就可以實現(xiàn)一條總線 掛接多個ds18b20的目的。由于ds18b20是在一根i/o線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。ds18b20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:復(fù)位時序、讀時序、寫時序。所有時序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。(1) ds1
36、8b20的復(fù)位時序:圖4.3 ds18b20復(fù)位時序圖程序?qū)崿F(xiàn)如下:/* 名 稱:reset() * 功 能:18b20復(fù)位*/#define dq rb7#define dq_high() trisb7=1#define dq_low() trisb7=0;dq=0void reset()uchar st=1;dq_high(); / 先拉至高電平nop();nop();while(st)dq_low(); / 低電平delayus(70,30); / 延時503usdq_high(); /釋放總線等電阻拉高總線delayus(4,4); /延時60usif(dq=1) /沒有接收到應(yīng)答信號
37、,繼續(xù)復(fù)位st=1;else /接收到應(yīng)答信號st=0;delayus(50,10); /延時430us(2) ds18b20的讀時序:對于ds18b20的讀時序分為讀0時序和讀1時序兩個過程。 對于ds18b20的讀時隙是從主機(jī)把單總線拉低之后,在15us之內(nèi)釋放單總線,以讓ds18b20把數(shù)據(jù)傳輸?shù)絾慰偩€上。ds18b20在完成一個讀時序過程,至少需要60us才能完成。圖4.4 ds18b20讀時序圖/* 名 稱:read_byte() * 功 能:18b20讀字節(jié)* 出口參數(shù):讀出18b20的內(nèi)容*/uch read_byte()uch i;uch value = 0; /讀出溫度sta
38、tic bit j;for (i = 8;i > 0;i-)value >>= 1;dq_low();nop();nop();nop();nop();nop();nop(); /6usdq_high(); /拉至高電平nop();nop();nop();nop();nop(); /4us j = dq;if (j) value |= 0x80;delay(2, 7); /63usreturn (value);(3) ds18b20的寫時序:對于ds18b20的寫時序仍然分為寫0時序和寫1時序兩個過程。 對于ds18b20寫0時序和寫1時序的要求不同,當(dāng)要寫0時序時,單總線要被
39、拉低至少60us,保證ds18b20能夠在15us到45us之間能夠正確地采樣io總線上的“0”電平,當(dāng)要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。 圖4.5 ds18b20寫時序圖/* 名 稱:write_byte() * 功 能:寫18b20寫字節(jié)* 入口參數(shù):uch val 待寫的數(shù)據(jù)*/void write_byte(uch val)uch i;uch temp;for (i = 8;i > 0;i-)temp = val & 0x01; /最低位移出dq_low();nop();nop();nop();nop();nop();/從高拉至低電平,產(chǎn)生寫時
40、間隙if (temp = 1) dq_high(); /如果寫1,拉高電平delay(2, 7); /延時63usdq_high();nop();nop();val = val >> 1; /右移一位ds18b20內(nèi)部帶有共9個字節(jié)的高速暫存器ram和電可擦除eeprom,起結(jié)構(gòu)如表2所示。表2 ds18b20高速暫存器結(jié)構(gòu)寄存器內(nèi)容字節(jié)地址溫度值低位(lsb)0溫度值高位(msb)1高溫限值(th)2低溫限值(tl)3配置寄存器4保留5保留6保留7crc校驗值8ds18b20所包含的操作指令如表3所示。表3 ds18b20操作指令rom操作指令指令約定代碼功能讀rom33h讀ds
41、18b20溫度傳感器rom中的編碼(即64位地址)匹配rom55h發(fā)出命令后接著發(fā)出64位rom編碼,訪問總線上與該編碼對應(yīng)的芯片搜索romf0h用于確定掛接在同一總線上ds18b20的個數(shù)跳過romcch忽略64位rom地址,直接向ds18b20發(fā)溫度變換命令告警搜索ech執(zhí)行后只有問多超過上限或下限的芯片才響應(yīng)ram操作指令指令約定代碼功能溫度轉(zhuǎn)換44h啟動ds18b20溫度轉(zhuǎn)換。12位轉(zhuǎn)換時長典型值750ms讀暫存器beh讀內(nèi)部ram中9字節(jié)的數(shù)據(jù)。寫暫存器4eh向ram第2、3字節(jié)寫上、下限溫度數(shù)據(jù),緊跟命令之后傳送2字節(jié)數(shù)據(jù)復(fù)制暫存器48h將ram中第2、3字節(jié)的內(nèi)容復(fù)制到內(nèi)部eep
42、rom中重調(diào)eepromb8h將eeprom中內(nèi)容恢復(fù)到ram中第3、4字節(jié)溫度數(shù)據(jù)在高速暫存器ram的第0和第1個字節(jié)中的存儲格式如下表4所示。表4 ds18b20溫度數(shù)據(jù)存儲格式位7位6位5位4位3位2位1位0232221202-12-22-32-4位15位14位13位12位11位10位9位8sssss262524ds18b20在出廠是默認(rèn)配置為12位,其中最高位為符號位,即溫度值共11位,單片機(jī)在讀取數(shù)據(jù)時,一次會讀2字節(jié)共16位,讀完后將低11位的二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)后再乘以0.0625便為所測的實際溫度值。另外,還需要判斷溫度的正負(fù)。前5個數(shù)字為符號位,這5位同時變化,我們只需要判
43、斷11位就可以了。前5位為1時,讀取的溫度為負(fù)值,且測到的數(shù)值需要取反加1再乘以0.0625才可得到實際溫度值。前5位為0時,讀取的溫度為正值,且溫度為正值時,只要將測得的數(shù)值乘以0.0625即可得到實際溫度值??紤]到實際使用的需要,在這里我們只使用一個ds18b20,故每次操作前只需復(fù)位后發(fā)出skip rom指令(即跳過rom指令)再讀出溫度的正值、并精確到小數(shù)點后一位,即可滿足設(shè)計需求。/* 名 稱:get_temp() * 功 能:啟動溫度轉(zhuǎn)換*/void get_tem()uchar tem1,tem2,num;float aaa;reset(); /復(fù)位write_byte(0xcc); /跳過romwrite_byte(0x44); /溫度轉(zhuǎn)換for(num=100;num>0;num-) /確保溫度轉(zhuǎn)換完成所需要的時間reset(); /再次復(fù)位,等待從機(jī)應(yīng)答write_byte(0xcc); /忽略rom匹配write_byte(0xbe); /發(fā)送讀溫度命令tem1=read_byte(); /讀出溫度低8tem2=read_byte(); /讀出溫度高8位shu=(tem2<<4|
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國機(jī)器人用立體攝像頭行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國油藏模擬軟件行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國電子保險絲芯片行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球中低牌號無取向硅鋼行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國特殊需求三輪車行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國超精密非球面磨床行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球軟件工程智能平臺行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球1P儲能鋰電池行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國漫畫書出版商行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國自動血壓脈搏測試儀行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 涉詐風(fēng)險賬戶審查表
- 2023年大學(xué)英語四級考試模擬真題及答案
- 四年級數(shù)學(xué)上冊口算天天練4
- 蘇教版二年級數(shù)學(xué)寒假輔導(dǎo)提高班課件 第1講 眼花繚亂的數(shù)據(jù)(66張PPT)
- 水利水電工程監(jiān)理平行檢測表部分
- 分部分項工程質(zhì)量檢驗計劃表
- 社區(qū)衛(wèi)生服務(wù)中心醫(yī)療服務(wù)推薦病-2023版1-4-10
- HY/T 266-2018外壓中空纖維超濾膜表面親水性的測試接觸角法
- 【英文原版小說】the things they carried《負(fù)荷》
- 領(lǐng)導(dǎo)干部如何管理壓力與情緒課件
- 2022-2023年度神農(nóng)中華農(nóng)業(yè)科技獎科研和科普類推薦書和摘要表(樣本)
評論
0/150
提交評論