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

正文內(nèi)容

基于ds18b20的測(cè)溫系統(tǒng)設(shè)計(jì)畢業(yè)論文-在線瀏覽

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

【正文】 VDD電源正極10D3Date I/O3VL液晶顯示偏壓信號(hào)11D4Date I/O4RS數(shù)據(jù)/命令選擇端(V/L)12D5Date I/O5R/W讀/寫(xiě)選擇端(H/L)13D6Date I/O6E使能信號(hào)14D7Date I/O7D0Date I/O15BLA背光源正極8D1Date I/O16BLK背光源負(fù)極表4 LCD1602液晶接口引腳定義2 組電源。VL 是調(diào)節(jié)對(duì)比度的引腳,調(diào)節(jié)此腳上的電壓可以改變黑白對(duì)比度。該腳電平為高時(shí)表示將進(jìn)行數(shù)據(jù)操作;為低時(shí)表示進(jìn)行命令操作。該腳電平為高是表示要對(duì)液晶進(jìn)行讀操作,為低時(shí)表示要進(jìn)行寫(xiě)操作。D0—D7 ,8 位雙向并行總線,用來(lái)傳送命令和數(shù)據(jù)。3 系統(tǒng)設(shè)計(jì) 硬件設(shè)計(jì) 設(shè)計(jì)思路硬件電路包括三部分:DS18B20采溫電路;STC89C52控制電路;1602溫度顯示電路。STC89C52控制電路則是正常單片機(jī)工作電路即可,主要包括外接晶振,復(fù)位按鍵等;1602的復(fù)位,讀寫(xiě),,,數(shù)據(jù)口為單片機(jī)的P0口,綜上所述,系統(tǒng)硬件電路簡(jiǎn)單,這也是以DS18B20為采溫元件的的優(yōu)勢(shì)之一。其工作原理為:當(dāng)該電路上電工作以后,首先刷新顯示(LED),然后,溫度傳感器采集溫度送單片機(jī)檢查溫度的高低,由單片機(jī)送出信號(hào)經(jīng)過(guò)驅(qū)動(dòng)電路送往顯示電路。從軟件的功能不同可分為兩大類(lèi):一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專(zhuān)門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了[6]。uVision4是一款可用于多種8051MCU的集成開(kāi)發(fā)環(huán)境(IDE),該IDE同時(shí)也是PK51及其它開(kāi)發(fā)套件的一個(gè)重要組件。此外其內(nèi)置的仿真器可模擬目標(biāo)MCU,包括指令集、片上外圍設(shè)備及外部信號(hào)等。圖9 uVision4操作界面 DS18B20軟件設(shè)計(jì)DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲(chǔ)器操作指令→數(shù)據(jù)傳輸。若無(wú)低電平出現(xiàn)一直都是高電平說(shuō)明總線上無(wú)器件應(yīng)答。若沒(méi)有檢測(cè)到就一直在檢測(cè)等待。 //儲(chǔ)存DS18B20是否存在的標(biāo)志,flag=0,表示存在;flag=1,表示不存在 DQ = 1。time2。 //略微延時(shí)約6微秒 DQ = 0。time200。 //略微延時(shí)約600微秒 //以向DS18B20發(fā)出一持續(xù)480~960us的低電平復(fù)位脈沖 DQ = 1。time10。 //延時(shí)約30us(釋放總線后需等待15~60us讓DS18B20輸出存在脈沖) flag=DQ。time200。 //延時(shí)足夠長(zhǎng)時(shí)間,等待存在脈沖輸出完畢 return (flag)。因此首先要搞清主機(jī)是如何進(jìn)行寫(xiě)0、寫(xiě)讀0和讀1的。寫(xiě)周期一開(kāi)始做為主機(jī)先把總線拉低1微秒表示寫(xiě)周期開(kāi)始。若主機(jī)想寫(xiě)1,在一開(kāi)始拉低總線電平1微秒后就釋放總線為高電平,一直到寫(xiě)周期結(jié)束。 對(duì)于讀數(shù)據(jù)操作時(shí)序也分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。DS18B20在檢測(cè)到總線被拉低1微秒后,便開(kāi)始送出數(shù)據(jù),若是要送出0就把總線拉為低電平直到讀周期結(jié)束。主機(jī)在一開(kāi)始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內(nèi)的15微秒時(shí)間內(nèi)完成對(duì)總線進(jìn)行采樣檢測(cè),采樣期內(nèi)總線為低電平則確認(rèn)為0。完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成圖12 DS18B20讀寫(xiě)時(shí)序圖/*****************************************************函數(shù)功能:從DS18B20讀取一個(gè)字節(jié)數(shù)據(jù)出口參數(shù):dat***************************************************/ unsigned char ReadOneChar(void){ unsigned char i=0。 //儲(chǔ)存讀出的一個(gè)字節(jié)數(shù)據(jù) for (i=0。i++) { DQ =1。 //等待一個(gè)機(jī)器周期 DQ = 0。 //等待一個(gè)機(jī)器周期 DQ = 1。time2。 //延時(shí)約6us,使主機(jī)在15us內(nèi)采樣 dat=1。 //如果讀到的數(shù)據(jù)是1,則將1存入dat else dat|=0x00。time8。 //延時(shí)3us,兩個(gè)讀時(shí)序之間必須有大于1us的恢復(fù)期 } return(dat)。 for (i=0。 i++) { DQ =1。 //等待一個(gè)機(jī)器周期 DQ=0。0x01。time10。//延時(shí)約30us,DS18B20在拉低后的約15~60us期間從數(shù)據(jù)線上采樣 DQ=1。time1。//延時(shí)3us,兩個(gè)寫(xiě)時(shí)序間至少需要1us的恢復(fù)期 dat=1。time4。 //稍作延時(shí),給硬件一點(diǎn)反應(yīng)時(shí)間} 液晶顯示程序 液晶顯示是系統(tǒng)程序運(yùn)行的窗口,所有需要的操作都可以通過(guò)顯示窗口表現(xiàn)出來(lái)。液晶顯示器的設(shè)定、讀寫(xiě)與光標(biāo)控制都需要相應(yīng)的指令來(lái)完成。指令功能清屏清DDRAM和AC的值歸位AC=0,光標(biāo),畫(huà)面回HOME位輸入方式設(shè)置設(shè)置光標(biāo),畫(huà)面移動(dòng)方式顯示快關(guān)控制設(shè)置顯示,光標(biāo)及閃爍開(kāi)、關(guān)光標(biāo),畫(huà)面位移光標(biāo),畫(huà)面移動(dòng),不影響DDRAM功能設(shè)置工作方式設(shè)置CGRAM地址設(shè)置設(shè)置CGRAM地址DDRAM地址設(shè)置DDRA地址設(shè)置讀BF及AC值讀忙標(biāo)志BF值和AC值寫(xiě)數(shù)據(jù)數(shù)據(jù)寫(xiě)入DDRAM或CGRAM內(nèi)讀數(shù)據(jù)從DDRAM或CGRAM數(shù)據(jù)讀出表6:控制指令相關(guān)功能表 而在實(shí)際編程中經(jīng)常用到的指令并不多,分別是清屏、顯示開(kāi)關(guān)控制、光標(biāo)畫(huà)面位移和功能設(shè)置。液晶顯示還有一條比較重要的指令設(shè)置就是讀寫(xiě)寄存器。它的控制功能如下表所示RSRWE功能00下降沿寫(xiě)指令代碼01高電平讀忙標(biāo)志和AC碼10下降沿寫(xiě)數(shù)據(jù)11高電平讀數(shù)據(jù) 表7:讀寫(xiě)寄存器功能表在實(shí)際編程中需要定義液晶顯示第一行和第二行的地址,然后第一行顯示兩個(gè)溫度傳感器測(cè)得的溫度值,第二行默認(rèn)顯示此次測(cè)量規(guī)定的時(shí)間,如果切換后,第二行則顯示最高溫度值。圖13 液晶顯示流程圖程序:/*****************************************************函數(shù)功能:將模式設(shè)置指令或顯示地址寫(xiě)入液晶模塊入口參數(shù):dictate***************************************************/void WriteInstruction (unsigned char dictate){ while(BusyTest()==1)。 //根據(jù)規(guī)定,RS和R/W同時(shí)為低電平時(shí),可以寫(xiě)入指令 RW=0。 //E置低電平(根據(jù)表86,寫(xiě)指令時(shí),E為高脈沖, // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置0 _nop_()。 //空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 P0=dictate。 _nop_()。 _nop_()。 //E置高電平 _nop_()。 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0。 //顯示位置的確定方法規(guī)定為80H+地址碼x }/*****************************************************函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCII碼)寫(xiě)入液晶模塊入口參數(shù):y(為字符常量)***************************************************/ void WriteData(unsigned char y) { while(BusyTest()==1)。 //RS為高電平,RW為低電平時(shí),可以寫(xiě)入數(shù)據(jù) RW=0。 //E置低電平(根據(jù)表86,寫(xiě)指令時(shí),E為高脈沖, // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置0 P0=y。 _nop_()。 _nop_()。 //E置高電平 _nop_()。 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0。 //延時(shí)15ms,首次寫(xiě)指令時(shí)應(yīng)給LCD一段較長(zhǎng)的反應(yīng)時(shí)間 WriteInstruction(0x38)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x38)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x38)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x0c)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x06)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x01)。 //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 } 需要注意的是:液晶顯示的每一個(gè)過(guò)程都與讀寫(xiě)寄存器有關(guān),所以在進(jìn)行每步操作時(shí)都需要對(duì)讀寫(xiě)寄存器進(jìn)行設(shè)置。在每執(zhí)行輸入指令時(shí)要先確定顯示模塊為不忙,否則指令失效。Protues軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它是目前最好的仿真單片機(jī)及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。它的軟件仿真功能有:1)提供軟件調(diào)試功能。  RAM,ROM,鍵盤(pán),馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。  3) 提供豐富的虛擬儀器。4) 具有強(qiáng)大的原理圖繪制功能。同時(shí)具有硬件電路簡(jiǎn)單,控溫精度高、功能強(qiáng)、體積小,簡(jiǎn)單靈活等優(yōu)點(diǎn),可以應(yīng)用于控制溫度在55℃到+125℃之間的各種場(chǎng)合,可以實(shí)現(xiàn)溫度的實(shí)時(shí)采集、顯示功能與控制功能,可以視為一種比較理想的智能化控制系統(tǒng)。該單總線技術(shù)可以為其他過(guò)程參數(shù)測(cè)控系統(tǒng)提供技術(shù)支持,具有實(shí)用價(jià)值和推廣價(jià)值。我很感謝這次畢設(shè),讓我明白了動(dòng)手操作的必要性和重要性,也讓我明白了學(xué)習(xí)的目的與方法,一個(gè)DS18B20很簡(jiǎn)單,畢業(yè)設(shè)計(jì)也不難但是通過(guò)畢業(yè)設(shè)計(jì)這件事情,我們所能學(xué)到的知識(shí),能力,怎么處理、實(shí)現(xiàn)一件設(shè)計(jì)工程才是最為重要的。我的平時(shí)成績(jī)不錯(cuò)而且也參加過(guò)電子設(shè)計(jì)大賽等比賽,按道理來(lái)講,我的動(dòng)手與專(zhuān)業(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í)。未來(lái)的社會(huì)是一個(gè)競(jìng)爭(zhēng)與機(jī)遇同時(shí)存在的社會(huì),有了技術(shù),有了能力,走到哪里都不怕,所以在學(xué)校我們都應(yīng)該盡可能盡力的去學(xué)習(xí)更多的知識(shí),去培養(yǎng)更大的能力,以便使我具有更大的競(jìng)爭(zhēng)能力。在這次實(shí)踐中我們老師也投入了很大的時(shí)間和精力,在此我感謝老師們的辛苦培養(yǎng),謝謝老師。[3] 戴佳,戴衛(wèi)恒。[4] 步維提,郭強(qiáng)。[5] 楊剛,周群。[6] 譚浩強(qiáng),C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第3版), 清華大學(xué)出版社,200507。附錄一源代碼程序//DS18B20溫度檢測(cè)及其液晶顯示include //包含單片機(jī)寄存器的頭文件include //包含_nop_()函數(shù)定義的頭文件unsigned char code digit[11]={0123456789}。 //說(shuō)明顯示的是溫度unsigned char code Error[]={ DS18B20 ERROR}。 //說(shuō)明沒(méi)有檢測(cè)到DS18B20unsigned char code Temp[]={WENDU:}。 //溫度單位unsigned char flag,tltemp。 //寄存器選擇位,sbit RW=P2^1。 //使能信號(hào)位,sbit BF=P0^7。 for(i=0。i++) for(j=0。j++)。 for(i=0。i++) delay1ms()。result=1,忙碌。 RS=0。 E=1。 //空操作 _nop_()。 _nop_()。 //將忙碌標(biāo)志電平賦給result E=0。}/*****************************************************函數(shù)功能:將模式設(shè)置指令或顯示地址寫(xiě)入液晶模塊入口參數(shù):dictate***********************************
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1