freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于ds18b20的測(cè)溫系統(tǒng)設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-02-14 14:58 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 0寫入一個(gè)字節(jié)數(shù)據(jù)入口參數(shù):dat***************************************************/ WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=0。 i8。 i++) { DQ =1。 // 先將數(shù)據(jù)線拉高 _nop_()。 //等待一個(gè)機(jī)器周期 DQ=0。 //將數(shù)據(jù)線從高拉低時(shí)即啟動(dòng)寫時(shí)序 DQ=datamp。0x01。 //利用與運(yùn)算取出要寫的某位二進(jìn)制數(shù)據(jù), //并將其送到數(shù)據(jù)線上等待DS18B20采樣 for(time=0。time10。time++) 。//延時(shí)約30us,DS18B20在拉低后的約15~60us期間從數(shù)據(jù)線上采樣 DQ=1。 //釋放數(shù)據(jù)線 for(time=0。time1。time++) 。//延時(shí)3us,兩個(gè)寫時(shí)序間至少需要1us的恢復(fù)期 dat=1。 //將dat中的各二進(jìn)制位數(shù)據(jù)右移1位 } for(time=0。time4。time++) 。 //稍作延時(shí),給硬件一點(diǎn)反應(yīng)時(shí)間} 液晶顯示程序 液晶顯示是系統(tǒng)程序運(yùn)行的窗口,所有需要的操作都可以通過(guò)顯示窗口表現(xiàn)出來(lái)。因此信息顯示是系統(tǒng)必不可少的部分。液晶顯示器的設(shè)定、讀寫與光標(biāo)控制都需要相應(yīng)的指令來(lái)完成。一般LCD1602共有11條控制指令,具體功能如下表所示。指令功能清屏清DDRAM和AC的值歸位AC=0,光標(biāo),畫面回HOME位輸入方式設(shè)置設(shè)置光標(biāo),畫面移動(dòng)方式顯示快關(guān)控制設(shè)置顯示,光標(biāo)及閃爍開、關(guān)光標(biāo),畫面位移光標(biāo),畫面移動(dòng),不影響DDRAM功能設(shè)置工作方式設(shè)置CGRAM地址設(shè)置設(shè)置CGRAM地址DDRAM地址設(shè)置DDRA地址設(shè)置讀BF及AC值讀忙標(biāo)志BF值和AC值寫數(shù)據(jù)數(shù)據(jù)寫入DDRAM或CGRAM內(nèi)讀數(shù)據(jù)從DDRAM或CGRAM數(shù)據(jù)讀出表6:控制指令相關(guān)功能表 而在實(shí)際編程中經(jīng)常用到的指令并不多,分別是清屏、顯示開關(guān)控制、光標(biāo)畫面位移和功能設(shè)置。因此只需記住這幾條常用指令即可。液晶顯示還有一條比較重要的指令設(shè)置就是讀寫寄存器。它主要決定此時(shí)液晶顯示寄存器的工作方式。它的控制功能如下表所示RSRWE功能00下降沿寫指令代碼01高電平讀忙標(biāo)志和AC碼10下降沿寫數(shù)據(jù)11高電平讀數(shù)據(jù) 表7:讀寫寄存器功能表在實(shí)際編程中需要定義液晶顯示第一行和第二行的地址,然后第一行顯示兩個(gè)溫度傳感器測(cè)得的溫度值,第二行默認(rèn)顯示此次測(cè)量規(guī)定的時(shí)間,如果切換后,第二行則顯示最高溫度值。在這里,第二行顯示最高溫度值時(shí)需經(jīng)過(guò)鍵盤掃描切換方可實(shí)現(xiàn),所以不與論述。圖13 液晶顯示流程圖程序:/*****************************************************函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊入口參數(shù):dictate***************************************************/void WriteInstruction (unsigned char dictate){ while(BusyTest()==1)。 //如果忙就等待 RS=0。 //根據(jù)規(guī)定,RS和R/W同時(shí)為低電平時(shí),可以寫入指令 RW=0。 E=0。 //E置低電平(根據(jù)表86,寫指令時(shí),E為高脈沖, // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置0 _nop_()。 _nop_()。 //空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 P0=dictate。 //將數(shù)據(jù)送入P0口,即寫入指令或地址 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=1。 //E置高電平 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0。 //當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令 }/*****************************************************函數(shù)功能:指定字符顯示的實(shí)際地址入口參數(shù):x***************************************************/ void WriteAddress(unsigned char x) { WriteInstruction(x|0x80)。 //顯示位置的確定方法規(guī)定為80H+地址碼x }/*****************************************************函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCII碼)寫入液晶模塊入口參數(shù):y(為字符常量)***************************************************/ void WriteData(unsigned char y) { while(BusyTest()==1)。 RS=1。 //RS為高電平,RW為低電平時(shí),可以寫入數(shù)據(jù) RW=0。 E=0。 //E置低電平(根據(jù)表86,寫指令時(shí),E為高脈沖, // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置0 P0=y。 //將數(shù)據(jù)送入P0口,即將數(shù)據(jù)寫入液晶模塊 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=1。 //E置高電平 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0。 //當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令 }/*****************************************************函數(shù)功能:對(duì)LCD的顯示模式進(jìn)行初始化設(shè)置***************************************************/void LcdInitiate(void){ delaynms(15)。 //延時(shí)15ms,首次寫指令時(shí)應(yīng)給LCD一段較長(zhǎng)的反應(yīng)時(shí)間 WriteInstruction(0x38)。 //顯示模式設(shè)置:162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口 delaynms(5)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x38)。 delaynms(5)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x38)。 //連續(xù)三次,確保初始化成功 delaynms(5)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x0c)。 //顯示模式設(shè)置:顯示開,無(wú)光標(biāo),光標(biāo)不閃爍 delaynms(5)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x06)。 //顯示模式設(shè)置:光標(biāo)右移,字符不移 delaynms(5)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x01)。 //清屏幕指令,將以前的顯示內(nèi)容清除 delaynms(5)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 } 需要注意的是:液晶顯示的每一個(gè)過(guò)程都與讀寫寄存器有關(guān),所以在進(jìn)行每步操作時(shí)都需要對(duì)讀寫寄存器進(jìn)行設(shè)置。另外液晶顯示與單片機(jī)之間的數(shù)據(jù)傳輸是并行通信。在每執(zhí)行輸入指令時(shí)要先確定顯示模塊為不忙,否則指令失效。在keil開發(fā)環(huán)境下不能進(jìn)行有效的仿真調(diào)試,所以在系統(tǒng)中采用protues單片機(jī)仿真工具進(jìn)行仿真調(diào)試。Protues軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),支持當(dāng)前的主流單片機(jī),如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等[7]。它的軟件仿真功能有:1)提供軟件調(diào)試功能。  2)提供豐富的外圍接口器件及其仿真?! AM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。接近實(shí)際。  3) 提供豐富的虛擬儀器?! ±锰摂M儀器在仿真過(guò)程中可以測(cè)量外圍電路的特性,培養(yǎng)實(shí)際硬件的調(diào)試能力。4) 具有強(qiáng)大的原理圖繪制功能。圖14 系統(tǒng)仿真圖該系統(tǒng)實(shí)現(xiàn)了利用DS18B20進(jìn)行測(cè)溫,STC89C52進(jìn)行溫度控制,LCD1602進(jìn)行顯示,初步達(dá)到了設(shè)計(jì)的預(yù)先期望。同時(shí)具有硬件電路簡(jiǎn)單,控溫精度高、功能強(qiáng)、體積小,簡(jiǎn)單靈活等優(yōu)點(diǎn),可以應(yīng)用于控制溫度在55℃到+125℃之間的各種場(chǎng)合,可以實(shí)現(xiàn)溫度的實(shí)時(shí)采集、顯示功能與控制功能,可以視為一種比較理想的智能化控制系統(tǒng)。由此構(gòu)成的單片機(jī)控制的單總線溫度采集系統(tǒng)比傳統(tǒng)的測(cè)溫系統(tǒng)可靠性高,易于構(gòu)成網(wǎng)絡(luò)控制,適用與各種溫度檢測(cè)與控制系統(tǒng)。該單總線技術(shù)可以為其他過(guò)程參數(shù)測(cè)控系統(tǒng)提供技術(shù)支持,具有實(shí)用價(jià)值和推廣價(jià)值。畢業(yè)設(shè)計(jì)讓我深深的感受到了理論與實(shí)踐相結(jié)合的重要性,平日里我們狠拿書本學(xué)習(xí),為的就是在我們以后的工作和學(xué)習(xí)中能有更突出的發(fā)揮,我想我們這次畢業(yè)設(shè)計(jì),也就是我們與社會(huì)接軌的一個(gè)演練吧。我很感謝這次畢設(shè),讓我明白了動(dòng)手操作的必要性和重要性,也讓我明白了學(xué)習(xí)的目的與方法,一個(gè)DS18B20很簡(jiǎn)單,畢業(yè)設(shè)計(jì)也不難但是通過(guò)畢業(yè)設(shè)計(jì)這件事情,我們所能學(xué)到的知識(shí),能力,怎么處理、實(shí)現(xiàn)一件設(shè)計(jì)工程才是最為重要的。為了實(shí)現(xiàn)畢業(yè)設(shè)計(jì)的要求,通過(guò)不斷的上網(wǎng)查資料,去圖書館查信息,通過(guò)對(duì)以往書本的重新學(xué)習(xí),讓我對(duì)以往所學(xué)過(guò)的知識(shí)有了個(gè)重新的認(rèn)識(shí)。我的平時(shí)成績(jī)不錯(cuò)而且也參加過(guò)電子設(shè)計(jì)大賽等比賽,按道理來(lái)講,我的動(dòng)手與專業(yè)技術(shù)水平應(yīng)該還是不錯(cuò)的,但通過(guò)這次動(dòng)手操作實(shí)習(xí),我發(fā)現(xiàn)在強(qiáng)中更有強(qiáng)中手,每一個(gè)人都不是弱者,在學(xué)習(xí)方面我逐漸有了攀比意識(shí),我知道與別人攀比是不好的,但是在學(xué)習(xí)上,動(dòng)手能力上與別人攀比則是好的,所以在以后的學(xué)習(xí)與工作中我更應(yīng)該注重自己的動(dòng)手能力,還有與別人的競(jìng)爭(zhēng)意識(shí)。馬上就要畢業(yè)了,畢業(yè)設(shè)計(jì)讓我們本來(lái)無(wú)所事事的生活又變的既忙碌又充實(shí),我想這才是大學(xué)校園里真正應(yīng)該學(xué)到的東西,同時(shí)也感謝畢業(yè)設(shè)計(jì)讓我的四年曲園生活在充實(shí)中結(jié)束。未來(lái)的社會(huì)是一個(gè)競(jìng)爭(zhēng)與機(jī)遇同時(shí)存在的社會(huì),有了技術(shù),有了能力,走到哪里都不怕,所以在學(xué)校我們都應(yīng)該盡可能盡力的去學(xué)習(xí)更多的知識(shí),去培養(yǎng)更大的能力,以便使我具有更大的競(jìng)爭(zhēng)能力。這次畢業(yè)設(shè)計(jì)正是我們理論知識(shí)的一個(gè)實(shí)踐,也是我們動(dòng)手操作能力的一個(gè)提高。在這次實(shí)踐中我們老師也投入了很大的時(shí)間和精力,在此我感謝老師們的辛苦培養(yǎng),謝謝老師。參考文獻(xiàn)[1] DS18B20 datasheet 。[3] 戴佳,戴衛(wèi)恒。51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社。[4] 步維提,郭強(qiáng)。最新液晶顯示應(yīng)用[M]. 北京:電子工業(yè)出版社,2007。[5] 楊剛,周群。電子系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:電子工業(yè)出版社,2004,2426。[6] 譚浩強(qiáng),C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第3版), 清華大學(xué)出版社,200507。[7] 徐愛鈞,單片機(jī)原理與應(yīng)用,機(jī)械工業(yè)出版社,2010。附錄一源代碼程序//DS18B20溫度檢測(cè)及其液晶顯示include //包含單片機(jī)寄存器的頭文件include //包含_nop_()函數(shù)定義的頭文件unsigned char code digit[11]={0123456789}。 //定義字符數(shù)組顯示數(shù)字unsigned char code Str[]={Test by DS18B20}。 //說(shuō)明顯示的是溫度unsigned char code Error[]={ DS18B20 ERROR}。 /
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1