數(shù)字溫度傳感器課程設(shè)計(jì)論文講解_第1頁
數(shù)字溫度傳感器課程設(shè)計(jì)論文講解_第2頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目錄課題要求:1仁原理分析12. 方案選擇13. 元器件選擇23.1單片機(jī)23.2溫度傳感器43.3顯示屏53.4蜂鳴器63.5其他元件64. proteus原理圖繪制64.1設(shè)計(jì)步驟64.2設(shè)計(jì)過程64.2.1單片機(jī)系統(tǒng)模塊74.2.2晶體振蕩模塊74.2.3揚(yáng)聲器報(bào)警模塊84.2.4溫度傳感器模塊94.2.5液晶顯示模塊105. 綜合調(diào)試136. 總結(jié)14附錄115附錄218附錄320附錄421基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)報(bào)告課題要求:利用數(shù)字溫度傳感器DS18B20與單片機(jī)結(jié)合來測量溫度。利用數(shù)字溫度傳感器DS18B20測量溫度信號,計(jì)算后在LED數(shù)碼管上顯示相應(yīng)的溫度值。其溫度測

2、量范圍為55°C125°C,精確到0.5°C。數(shù)字溫度計(jì)所測量的溫度采用數(shù)字顯示,控制器使用單片機(jī)AT89C51,測溫傳感器使用DS18B20,實(shí)現(xiàn)溫度顯示。1.原理分析(劉星)采用AT89C51單片機(jī)作為控制核心對溫度傳感器DS18B20控制,讀取溫度信號并進(jìn)行計(jì)算處理,并送數(shù)碼管顯示。采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由

3、數(shù)字溫度計(jì)DS18B20和微控制芯片AT89C51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計(jì)算機(jī)連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用AT89C51單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。用AT89C51芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報(bào)警溫度。該系統(tǒng)擴(kuò)展性非常強(qiáng),它可以在設(shè)計(jì)中加入時(shí)鐘芯片DS1302以獲取時(shí)間數(shù)據(jù),在數(shù)據(jù)處理同時(shí)顯示時(shí)間,并可以利用AT24C16芯片作為存儲(chǔ)器件,以此來對某些時(shí)間點(diǎn)的溫度數(shù)據(jù)進(jìn)行存儲(chǔ),利

4、用鍵盤來進(jìn)行調(diào)時(shí)和溫度查詢,獲得的數(shù)據(jù)可以通過MAX232芯片與計(jì)算機(jī)的RS232接口進(jìn)行串口通信,方便的采集和整理時(shí)間溫度數(shù)據(jù)。2-方案選擇(劉星)按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由3個(gè)大的模塊組成:主控制器、測溫電路和顯示電路。由AT89C51單片機(jī)組成硬件設(shè)計(jì),AT89C51的EA接高電平,其外圍電路提供能使之工作的晶振脈沖、復(fù)位按鍵,四個(gè)I/O分別接8路的單列IP座方便與外圍設(shè)備連接。當(dāng)AT89C51芯片接到來自溫度傳感器的信號時(shí),其內(nèi)部程序?qū)⒏鶕?jù)信號的類型進(jìn)行處理,并且將處理的結(jié)果送到顯示模塊,發(fā)送控制信號控制各模塊。3-元器件選擇(黃學(xué)然)3.1單片機(jī)AT89C51芯片:AT89C

5、51是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4K的可反復(fù)擦寫的FLASH只讀存儲(chǔ)器和128BYTES的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口。AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性價(jià)比的解決

6、方案。円.0pi.ipi.1Pl.3Pl.4PL5PL6PL7RST(RXD)P3.0TOZF3.1(Tm)P13仃)險(xiǎn)4(TOP3,5(WP左5問XTAL2XTALJvccPD.0/(ADO)P0.!/(ADUPD,2/CAD2IPD.37(AD3)PD.VW)卩D.5/OD刖HO.b/(.W6lPO.J/CAD?)ET/VPt*ale/FrogPSENP2.7/(A5)P2.6/(A4>P2.5/OU防F2.4(Ali)P2.3/(All)2.3/UlOJP2.1/(別)P2.6/漏AT89C51AT89C5I的引腳排列主要特性:與MCS-51兼容4K字節(jié)可編程FLASH存儲(chǔ)器壽命:

7、1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24MHz三級程序存儲(chǔ)器鎖定128X8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路管腳說明:VCC:供電電壓。GND:接地。P0:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,

8、P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),

9、P2口輸出其特殊功能寄存器的內(nèi)容°P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(計(jì)時(shí)器0外部輸入)P3.5T1(計(jì)時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編

10、程和編程校驗(yàn)接收一些控制信號。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(OOOOH-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:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分

11、頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。32溫度傳感器DS18B20:瞅nr!呂T1昭隠nrI丁niV,1;|血晴畑nr4)DS18B20封裝圖DS18B20的測溫原理23DS18B20是美國DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線

12、本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。他在測溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn),給用戶帶來了更方便的使用和更令人滿意的效果。以下是DS18B20的特點(diǎn):(1) 獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。(2) 在使用中不需要任何外圍元件。(3) 可用數(shù)據(jù)線供電,電壓范圍:+3.0+5.5V。(4) 測溫范圍:-55-+125°C。固有測溫分辨率為0.5°C。(5) 過編程可實(shí)現(xiàn)9-12位的數(shù)字讀數(shù)方式。

13、(6) 用戶可自設(shè)定非易失性的報(bào)警上下限值。(7) 支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測溫。(8) 負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。33顯示屏LCD1602液晶顯示屏:同時(shí)顯示攝氏溫度與華氏溫度。管腳分布:LCD1602模塊的管腳分布功能管腳號管腳名稱狀態(tài)管腳功能1Vss電源地2Vdd電源正極3V0液晶顯示偏壓信號4RS輸入奇存器選著5RW輸入讀、寫操作6E輸入使能信號7DB0三態(tài)數(shù)據(jù)總線0(LSB)8DB1三態(tài)數(shù)據(jù)總線9DB2三態(tài)數(shù)據(jù)總線10DB3三態(tài)數(shù)據(jù)總線11DB4三態(tài)數(shù)據(jù)總線12DB5三態(tài)數(shù)據(jù)總線13DB6三態(tài)數(shù)據(jù)總線

14、14DB7三態(tài)數(shù)據(jù)總線(MSB)15LEDA輸入背光+5V16LEDK輸入背光地34蜂鳴器實(shí)現(xiàn)報(bào)警振鈴音。35其他元件電容(30pf,10uf)、電阻(4.7k,8.2k)、三極管(8550)、晶振(12MHZ)、按鍵、杜邦線、排針若干,萬能板。4proteus原理圖繪制(余琳玲)4.1設(shè)計(jì)步驟1使用proteus軟件畫出原理圖2使用keil軟件1)建立工程2)為工程選擇目標(biāo)器件3)設(shè)置工程的配置參數(shù)4)打開程序文件5)編輯和鏈接工程6)糾正程序中的書寫和錯(cuò)誤并重新建立鏈接7)生成hex文件3使用proteus軟件進(jìn)行仿真42設(shè)計(jì)過程硬件接線圖見附錄44.2.1單片機(jī)系統(tǒng)模塊4.2.2晶體振蕩

15、模塊晶振電路是提供系統(tǒng)時(shí)鐘信號。為了各部分的同步應(yīng)當(dāng)引入公用的外部脈沖信號作為振蕩脈沖。電容選擇在1030pF之間,因?yàn)殡娙莸拇笮∮绊懻袷幤髡袷幍姆€(wěn)定性和起振的速度。電容C1和C2的作用是穩(wěn)定頻率和快速起振,晶振CYS的振蕩頻率取12MHZ。89C51單片機(jī)的時(shí)鐘信號通常有兩種方式產(chǎn)生,外部時(shí)鐘和內(nèi)部時(shí)鐘方式,如下圖所示:(b)內(nèi)部時(shí)鐘方式4.2.3揚(yáng)聲器報(bào)警模塊系統(tǒng)設(shè)有一定的溫度范圍,當(dāng)系統(tǒng)檢測到的溫度不在預(yù)設(shè)的范圍時(shí),則需發(fā)出報(bào)警,警報(bào)系統(tǒng)由PNP三極管和蜂鳴器組成。Rl171f:AIRJQ1、uMPS6521<TEXT>亠亠亠L(fēng)亠-亠7-00-PSENALEEA1P1.0P1

16、.1P1.2P1.3P1.4P1.5P1.6P1.74.2.4溫度傳感器模塊DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。4.2.5液晶顯示模塊硬件連線圖:指令:1)Cleardisplay清顯示指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001清顯示指令將空位字符碼20H送入全部DDRAM地址中,使DDRAM中的內(nèi)容全部清除,顯示消失;地址計(jì)數(shù)器AC=0,自動(dòng)增1模式;顯示歸位,光標(biāo)或者閃爍回到原點(diǎn)(

17、顯示屏左上角);但并不改變移位設(shè)置模式。2)Returnhome歸位指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000000001*歸位指令置地址計(jì)數(shù)器AC=0;將光標(biāo)及光標(biāo)所在位的字符回原點(diǎn);但DDRAM中的內(nèi)容并不改變。3)Entrymodeset設(shè)置輸入模式指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DSI/D:字符碼寫入或者讀出DDRAM后DDRAM地址指針AC變化方向標(biāo)志:I/D=1,完成一個(gè)字符碼傳送后,光標(biāo)右移,AC自動(dòng)加1;I/D=O,完成一個(gè)字符碼傳送后,光標(biāo)左移,AC自動(dòng)減1;S:顯示移位標(biāo)志:S=1,將全部顯

18、示向右(I/D=O)或者向左(I/D=1)移位;S=0,顯示不發(fā)生移位;S=1時(shí),顯示移位時(shí),光標(biāo)似乎并不移位;此外,讀DRAM操作以及對CGRAM的訪問,不發(fā)生顯示移位。4)Displayon/offcontrol顯示開/關(guān)控制指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCBD:顯示開/關(guān)控制標(biāo)志:D=1,開顯示;D=0,關(guān)顯示;關(guān)顯示后,顯示數(shù)據(jù)仍保持在DDRAM中,立即開顯示可以再現(xiàn);C:光標(biāo)顯示控制標(biāo)志:C=1,光標(biāo)顯示;C=0,光標(biāo)不顯示;不顯示光標(biāo)并不影響模塊其它顯示功能;顯示5X8點(diǎn)陣字符時(shí),光標(biāo)在第八行顯示,顯示5X10點(diǎn)陣字符時(shí),光標(biāo)在第

19、十一行顯示;B:閃爍顯示控制標(biāo)志:B=1,光標(biāo)所指位置上,交替顯示全黑點(diǎn)陣和顯示字符,產(chǎn)生閃爍效果,F(xiàn)osc=250kHz時(shí),閃爍頻率為0.4ms左右;通過設(shè)置,光標(biāo)可以與其所指位置的字符一起閃爍。5)Cursorordisplayshift光標(biāo)或顯示移位指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000001S/CR/L*光標(biāo)或顯示移位指令可使光標(biāo)或顯示在沒有讀寫顯示數(shù)據(jù)的情況下,向左或向右移動(dòng);運(yùn)用此指令可以實(shí)現(xiàn)顯示的查找或替換;在雙行顯示方式下,第一行和第二行會(huì)同時(shí)移位;當(dāng)移位越過第一行第四十位時(shí),光標(biāo)會(huì)從第一行跳到第二行,但顯示數(shù)據(jù)只在本行內(nèi)水平移位,第二行的顯示

20、決不會(huì)移進(jìn)第一行;倘若僅執(zhí)行移位操作,地址計(jì)數(shù)器AC的內(nèi)容不會(huì)發(fā)生改變。S/CR/L說明00光標(biāo)向左移動(dòng),AC自動(dòng)減101光標(biāo)向右移動(dòng),AC自動(dòng)加110光標(biāo)和顯示起向左移動(dòng),AC值不變11光標(biāo)和顯示起向右移動(dòng),AC值不變6)Functionset功能設(shè)置指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF*功能設(shè)置指令設(shè)置模塊數(shù)據(jù)接口寬度和LCD顯示屏顯示方式,即MPU與模塊接口數(shù)據(jù)總線為4位或者是8位、LCD顯示行數(shù)和顯示字符點(diǎn)陣規(guī)格;所以建議用戶最好在執(zhí)行其它指令設(shè)置(讀忙標(biāo)志指令除外)之前,在程序的開始,進(jìn)行功能設(shè)置指令的執(zhí)行;DL:數(shù)據(jù)接口寬度標(biāo)志:DL

21、=1,8位數(shù)據(jù)總線DB7DB0;DL=0,4位數(shù)據(jù)總線DB7DB4,DB3DB0不用,使用此方式傳送數(shù)據(jù),需分兩次進(jìn)行;N:顯示行數(shù)標(biāo)志:N=1,兩行顯示模式;N=0,單行顯示模式;F:顯示字符點(diǎn)陣字體標(biāo)志:F=l:5X10點(diǎn)陣+光標(biāo)顯示模式;F=0:5X7點(diǎn)陣+光標(biāo)顯示模式。7)SetCGRAMaddressCGRAM地址設(shè)置指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB00001ACG5ACG4ACG3ACG2ACG1ACG0CGRAM地址設(shè)置指令設(shè)置CGRAM地址指針,它將CGRAM存儲(chǔ)用戶自定義顯示字符的字模數(shù)據(jù)的首地址ACG5ACG0送入AC中,于是用戶自定義字符字

22、模就可以寫入CGRAM中或者從CGRAM中讀出。8)SetDDRAMaddressDDRAM地址設(shè)置指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0001ADD6ADD5ADD4ADD3ADD2ADD1ADD0DDRAM地址設(shè)置指令設(shè)置DDRAM地址指針,它將DDRAM存儲(chǔ)顯示字符的字符碼的首地址ADD6ADD0送入AC中,于是顯示字符的字符碼就可以寫入DDRAM中或者從DDRAM中讀出;值得一提的是:在LCD顯示屏一行顯示方式下,DDRAM的地址范圍為:00H4FH;兩行顯示方式下,DDRAM的地址范圍為:第一行00H27H,第二行40H67H。9)Readbusyflag

23、andaddress讀忙標(biāo)志BF和AC指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB001BFAC6AC5AC4AC3AC2AC1AC0當(dāng)RS=0和R/W=1時(shí),在E信號高電平的作用下,BF和AC6AC0被讀到數(shù)據(jù)總線DB7DB0的相應(yīng)位;BF:內(nèi)部操作忙標(biāo)志,BF=1,表示模塊正在進(jìn)行內(nèi)部操作,此時(shí)模塊不接收任何外部指令和數(shù)據(jù),直到BF=0為止;AC6AC0:地址計(jì)數(shù)器AC內(nèi)的當(dāng)前內(nèi)容,由于地址計(jì)數(shù)器AC被CGROM、CGRAM和DDRAM的公用指針,因此當(dāng)前AC內(nèi)容所指區(qū)域由前一條指令操作區(qū)域決定;同時(shí),只有BF=0時(shí),送到DB7DB0的數(shù)據(jù)AC6AC0才有效。10)Wr

24、itedatatoCGRAMorDDRAM寫數(shù)據(jù)到CGRAM或DDRAM指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB010D7D6D5D4D3D2D1D0寫數(shù)據(jù)到CGRAM或DDRAM指令,是將用戶自定義字符的字模數(shù)據(jù)寫到已經(jīng)設(shè)置好的CGRAM的地址中,或者是將欲顯示字符的字符碼寫到DDRAM中;欲寫入的數(shù)據(jù)D7D0首先暫存在DR中,再由模塊的內(nèi)部操作自動(dòng)寫入地址指針?biāo)付ǖ腃GRAM單元或者DDRAM單元中。11)ReaddatafromCGRAMorDDRAM從CGRAM或DDRAM中讀數(shù)據(jù)指令碼:RSR/WDB7DB6DB5DB4DB3DB2DB1DB011D7D6D

25、5D4D3D2D1D0從CGRAM或DDRAM中讀數(shù)據(jù)指令,是從地址計(jì)數(shù)器AC指定的CGRAM或者DDRAM單元中,讀出數(shù)據(jù)D7D0;讀出的數(shù)據(jù)D7D0暫存在DR中,再由模塊的內(nèi)部操作送到數(shù)據(jù)總線DB7DB0上。5綜合調(diào)試(劉星、余琳玲、黃學(xué)然)系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換子程序、計(jì)算溫度子程序、顯示等等,由余琳玲同學(xué)編寫。程序于附錄圖1主程序流程圖圖2讀出溫度子程序流程圖發(fā)耶13B2O復(fù)世命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令幵始圖4計(jì)算溫度子程序流程圖圖3溫度轉(zhuǎn)換命令子程序流程圖硬件方面主要由黃學(xué)然和劉星調(diào)試焊接,一開始存在少許不易發(fā)現(xiàn)的焊點(diǎn)虛焊漏焊現(xiàn)象,導(dǎo)致顯示屏無顯

26、示,后改正后可以得出正常顯示溫度,證明我們的課程設(shè)計(jì)實(shí)驗(yàn)初步取得成功。6總結(jié)(劉星、余琳玲、黃學(xué)然)本次課程設(shè)計(jì)經(jīng)過我們小組三個(gè)同學(xué)的齊心協(xié)力最終獲得了成功,此次實(shí)驗(yàn)中我們還有不少需要改善的地方,比如這個(gè)溫度計(jì)不能快速的反應(yīng)溫度變化,不能做到接觸測量(由于DS18B20焊接在電路板上),同時(shí)焊接技藝還沒有達(dá)到極致,美觀上略有欠缺。我們在仿真調(diào)試中也獲得不少感悟:畫圖的時(shí)候應(yīng)仔細(xì)連線,線一旦連錯(cuò),程序無法正常運(yùn)行。程序燒寫到單片機(jī),實(shí)物運(yùn)行不能顯示正常結(jié)果,要認(rèn)真檢查仿真圖的連線正確與否以及焊接電路是否出現(xiàn)虛焊、漏焊,元器件是否錯(cuò)放。附錄1C語言程序#includevreg51.h>#in

27、cludevintrins.h>#include"18b20.h"18b20頭文件#include"1602.h"18b20頭文件宏定義#defineucharunsignedchar#defineuintunsignedint定義變量uintbw,sw,gw;uchartable="0123456789"ucharalarm="Alarm"ucharj;1602顯示的字符個(gè)數(shù)longinttem,tem1;tem為攝氏溫度,tem1為華氏溫度,baojing為警報(bào)溫度值longintbaojing=38;s

28、bitspeaker=P1A0;voidbeep();函數(shù)聲明蜂鳴器函數(shù)voiddisplay(void)/18b20顯示攝氏溫度EX0=0;tem=duqu_wendu();if(tem>baojing)beep();bw=tem/10;sw=tem%10;write1602(0x80+0x00);read1602(tablebw);write1602(0x80+0x01);read1602(tablesw);write1602(0x80+0x02);read1602(0xdf);write1602(0x80+0x03);read1602('C');write1602(

29、0x80+0x04);read1602('');EX0=1;voiddisplay1(void)/18b20顯示華氏溫度EXO=O;teml=duqu_wendu()*1.8+32;if(teml>(baojing*1.8+32)beep();bw=tem1/100;sw=(tem1%100)/10;gw=tem1%10;write1602(0x80+0x0b);read1602(tablebw);write1602(0x80+0x0c);read1602(tablesw);write1602(0x80+0x0d);read1602(tablegw);write1602(

30、0x80+0x0e);read1602(0xdf);write1602(0x80+0x0f);read1602('F');EX0=1;voiddisplaybaojing(void)/顯示報(bào)警溫度值bw=baojing/100;sw=baojing/10;gw=baojing%10;write1602(0x80+0x4b);read1602(tablebw);write1602(0x80+0x4c);read1602(tablesw);write1602(0x80+0x4d);read1602(tablegw);write1602(0x80+0x4e);read1602(0xd

31、f);write1602(0x80+0x4f);read1602('C');voidxianshi()/1602顯示alarminti;writel602(0x80+0x40);for(i=0;iv=9;i+)read1602(alarmi);delayms(5);voidbeep(void)蜂鳴器子程序uchari;for(i=0;iv=100;i+)speaker=1;delayus(80);speaker=0;delayus(80);voidstartinterrupt(void)TMOD=0x01;/TO模式1定時(shí)TH0=0xD8;裝入初值,定時(shí)20msTL0=0xF0

32、;IT0=1;外部中斷0為邊沿觸發(fā)方式EA=1;中斷允許總控制位EX0=1;外部中斷0允許EX1=1;ET0=1;定時(shí)器0允許中斷ET1=1;TR0=1;啟動(dòng)定時(shí)器0voidmain()inte1602();/1602初始化xianshi();displaybaojing();delayms(1000);startinterrupt();while(l)voidtimeer(void)interrupt1定時(shí)器0處理函數(shù)TR0=0;TH0=0xD8;裝入初值,定時(shí)20msTL0=0xF0;display。;/18B20顯示display1();TR0=1;啟動(dòng)定時(shí)器計(jì)數(shù)附錄2/*i8b20時(shí)序*/#includevintrins.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P3人6;uinttemp;floatf_temp;單精度實(shí)行延時(shí)函數(shù)voiddelayus(uintus)while(us-);/18B20初始化voidinte_18b20(void)unsignedch

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論