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

正文內(nèi)容

基于單片機的數(shù)字溫度計-畢業(yè)設(shè)計(編輯修改稿)

2025-07-17 12:38 本頁面
 

【文章內(nèi)容簡介】 工作穩(wěn)定可靠,抗干擾能力強,而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng)。使用外部電源供電方式,畢竟比寄生電源方式只多接一根VCC引線。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點,即使電源電壓VCC 降到3V 時,依然能夠保證溫度量精度。由于DS18B20 只有一根數(shù)據(jù)線,因此它和主機(單片機)通信是需要串行通信,而AT89S51 有兩個串行端口,所以可以不用軟件來模擬實現(xiàn)。經(jīng)過單線接口訪問DC18B20 必須遵循如下協(xié)議:初始化、ROM 操作命令、存儲器操作命令和控制操作。要使傳感器工作,一切處理均嚴(yán)格按照時序。主機發(fā)送(Tx)復(fù)位脈沖(最短為480μs 的低電平信號)。接著主機便釋放此線并進(jìn)入接收方式(Rx)。在檢測到I/O 引腳上的上升沿之后,DS18B20 等待15~60μs,并且接著發(fā)送脈沖(60~240μs 的低電平信號)。然后以存在復(fù)位脈沖表示DS18B20 已經(jīng)準(zhǔn)備好發(fā)送或接收,然后給出正確的ROM 命令和存儲操作命令的數(shù)據(jù)。DS18B20 通過使用時間片來讀出和寫入數(shù)據(jù),時間片用于處理數(shù)據(jù)位和進(jìn)行何種指定操作的命令。它有寫時間片和讀時間片兩種:l 寫時間片:當(dāng)主機把數(shù)據(jù)線從邏輯高電平拉至邏輯低電平時,產(chǎn)生寫時間片。有兩種類型的寫時間片:寫1 時間片和寫0 時間片。所有時間片必須有60 微秒的持續(xù)期,在各寫周期之間必須有最短為1微秒的恢復(fù)時間.l 讀時間片:從DS18B20 讀數(shù)據(jù)時,使用讀時間片。當(dāng)主機把數(shù)據(jù)線從邏輯高電平拉至邏輯低電平時產(chǎn)生讀時間片。數(shù)據(jù)線在邏輯低電平必須保持至少1 微秒;來自DS18B20 的輸出數(shù)據(jù)在時間下降沿之后的15 微秒內(nèi)有效。為了讀出從讀時間片開始算起15微秒的狀態(tài),主機必須停止把引腳驅(qū)動拉至低電平。在時間片結(jié)束時,I/O 引腳經(jīng)過外部的上拉電阻拉回高電平,所有讀時間片的最短持續(xù)期為60 微秒,包括兩個讀周期間至少1μs 的恢復(fù)時間。一旦主機檢測到DS18B20 的存在,它便可以發(fā)送一個器件ROM 操作命令。所有ROM 操作命令均為8位長。所有的串行通訊,讀寫每一個bit 位數(shù)據(jù)都必須嚴(yán)格遵守器件的時序邏輯來編程,同時還必須遵守總線命令序列,對單總線的DS18B20 芯片來說,訪問每個器件都要遵守下列命令序列:首先是初始化;其次執(zhí)行ROM 命令;最后就是執(zhí)行功能命令(ROM 命令和功能命令后面以表格形式給出)。如果出現(xiàn)序列混亂,則單總線器件不會響應(yīng)主機。當(dāng)然,搜索ROM命令和報警搜索命令,在執(zhí)行兩者中任何一條命令之后,要返回初始化?;趩慰偩€上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出的復(fù)位脈沖和從機響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機知道,總線上有從機,且準(zhǔn)備就緒。在主機檢測到應(yīng)答脈沖后,就可以發(fā)出ROM 命令。這些命令與各個從機設(shè)備的唯一64 位ROM 代碼相關(guān)。在主機發(fā)出ROM命令,以訪問某個指定的DS18B20,接著就可以發(fā)出DS18B20支持的某個功能命令。這些命令允許主機寫入或讀出DS18B20便箋式RAM、啟動溫度轉(zhuǎn)換。軟件實現(xiàn)DS18B20的工作嚴(yán)格遵守單總線協(xié)議:(1)主機首先發(fā)出一個復(fù)位脈沖,信號線上的DS18B20 器件被復(fù)位。(2)接著主機發(fā)送ROM命令,程序開始讀取單個在線的芯片ROM編碼并保存在單片機數(shù)據(jù)存儲器中,把用到的DS18B20 的ROM 編碼離線讀出,最后用一個二維數(shù)組保存ROM 編碼,數(shù)據(jù)保存在X25043中。(3)系統(tǒng)工作時,把讀取了編碼的DS18B20 掛在總線上。發(fā)溫度轉(zhuǎn)換命令,再總線復(fù)位。(4)然后就可以從剛才的二維數(shù)組匹配在線的溫度傳感器,隨后發(fā)溫度讀取命令就可以獲得對應(yīng)的度值了。在主機初始化過程,主機通過拉低單總線至少480us,來產(chǎn)生復(fù)位脈沖。接著,主機釋放總線,并進(jìn)入接收模式。當(dāng)總線被釋放后,上拉電阻將單總線拉高。在單總線器件檢測到上升沿后,延時15~60us,接著通過拉低總線60~240us,以產(chǎn)生應(yīng)答脈沖。寫時序均起始于主機拉低總線,產(chǎn)生寫1 時序的方式:主機在拉低總線后,接著必須在15us之內(nèi)釋放總線。產(chǎn)生寫0 時序的方式:在主機拉低總線后,只需在整個時序期間保持低電平即可(至少60us)。在寫字節(jié)程序中的寫一個bit 位的時候,沒有按照通常的分別寫0時序和寫1 時序,而是把兩者結(jié)合起來,當(dāng)主機拉低總線后在15us 之內(nèi)將要寫的位c 給DO:如果c 是高電平滿足15us 內(nèi)釋放總線的要求,如果c是低電平,則DO=c這條語句仍然是把總線拉在低電平,最后都通過延時58us 完成一個寫時序(寫時序0或?qū)憰r序1)過程。寫時間時序:當(dāng)主機把數(shù)據(jù)從邏輯高電平拉到邏輯低電平的時候,寫時間隙開始。有兩種寫時間隙,寫1 時間隙和寫0 時間隙。所有寫時間隙必須最少持續(xù)60μs,包括兩個寫周期至少1μs 的恢復(fù)時間。I/O線電平變低后,DS18B20 在一個15μs 到60μs 的窗口內(nèi)對I/O 線采樣。如果線上事高電平,就是寫1,如果是低電平,就是寫0。主機要生成一個寫時間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時間隙開始后的15μs 內(nèi)允許數(shù)據(jù)線拉到高電平。主機要生成一個寫0 時間隙,必須把數(shù)據(jù)線拉到低電平并保存60μs。每個讀時隙都由主機發(fā)起,至少拉低總線1us,在主機發(fā)起讀時序之后,單總線器件才開始在總線上發(fā)送0 或1。所有讀時序至少需要60us。本此設(shè)計可以采用發(fā)光二級管報警電路,如過需要報警,則只需將相應(yīng)位置1,當(dāng)參數(shù)判斷完畢后,再看報警模型單元ALARM 的內(nèi)容是否與預(yù)設(shè)一樣,如不一樣,則發(fā)光報警。但本次設(shè)計采軟件處理報警,利用有源蜂鳴器進(jìn)行報警輸出,采用直流供電。當(dāng)所測溫度超過獲低于所預(yù)設(shè)的溫度時,數(shù)據(jù)口相應(yīng)拉高電平,報警輸出。報警電路硬件連接見圖 。圖 5 軟件設(shè)計 概述整個系統(tǒng)的功能是由硬件電路配合軟件來實現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實質(zhì)性的功能如測量、計算、顯示、通訊等。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實時性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。主程序需要調(diào)用4 個子程序,分別為數(shù)碼管顯示程序,溫度測試及處理子程序,報警子程序,中斷設(shè)定子程序。各模塊程序功能如下:●數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分?!駵囟葴y試及處理程序:對溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示?!駡缶映绦颍哼M(jìn)行溫度上下限判斷及報警輸出。●中斷設(shè)定程序:實現(xiàn)設(shè)定上下限報警功能。圖 圖 DS18B20初始化流程圖 下面對主要子程序的流程圖做介紹 溫度檢測流程DS18B20在單片機控制下分三個階段:●18B20 初始化:初始化流程圖見●讀18B20時序:讀DS18B20流程見圖 :●寫18B20時序:寫18B20 圖 圖 中斷設(shè)定流程中斷模塊采用了外中斷和內(nèi)中斷套用方法。當(dāng)設(shè)計需要實現(xiàn)上下限報警時,利用INT0口進(jìn)行中斷,set 鍵進(jìn)行上下限報警溫度設(shè)定,進(jìn)入溫度設(shè)定狀態(tài)后(按一下溫度設(shè)定鍵),首先會提示顯示“UP”字母,表示要用戶設(shè)定高溫報警溫度,按S3 鍵 ,表示本位數(shù)字+1,按S4 表示移向下一位,如果4 位高溫設(shè)定完畢,則顯示“DO”,表示要用戶設(shè)定低溫報警溫度。4位低溫設(shè)定完畢,如果用戶設(shè)置的高溫比設(shè)定的低溫高的話則顯示“ERRO”表示錯誤提示,同時會有蜂鳴器及時報警提示,然后自動顯示“UP”,讓用戶重新進(jìn)行溫度設(shè)定。中斷設(shè)定子程序流程圖見下圖 中斷設(shè)定子程序流程圖源程序TIMEL EQU 0E0HTIMEH EQU 0B1HTEMPHEAD EQU 36H。BITST DATA 20HTIME1SOK BIT TEMPONEOK BIT TEMPL DATA 26HTEMPH DATA 27HTEMPHC DATA 28HTEMPLC DATA 29H。TEMPDIN BIT 。 ORG 0000H LJMP START ORG 00BH LJMP T0IT。 ORG 100HSTART: MOV SP,60HCLSMEM: MOV R0,20H MOV R1,60HCLSMEM1: MOV @R0,00H INC R0 DJNZ R1,CLSMEM1 MOV TMOD,00100001B MOV TH0,TIMEL MOV TL0,TIMEH SJMP INITERROR: NOP LJMP START NOPINIT: NOP SETB ET0 SETB TR0 SETB EA MOV PSW,00H CLR TEMPONEOK LJMP
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1