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

正文內(nèi)容

基于單片機(jī)的電子溫度計(jì)論文(編輯修改稿)

2025-07-24 19:58 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 0000 10000008h0℃0000 0000 0000 0000000h℃1111 1111 1111 1000 FFF8h℃1111 1111 0101 1110FF5Eh℃1111 1110 0110 1111 FF6Fh55℃1111 1100 1001 0000FC90h DS18B20的測(cè)溫原理每一片DSl8B20在其ROM中都存有其唯一的48位序列號(hào),在出廠前已寫入片內(nèi)ROM 中。主機(jī)在進(jìn)入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號(hào)讀出。程序可以先跳過ROM,啟動(dòng)所有DSl8B20進(jìn)行溫度變換,之后通過匹配ROM,再逐一地讀回每個(gè)DSl8B20的溫度數(shù)據(jù)。,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測(cè)量前,首先將55 ℃所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在55 ℃所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達(dá)到被測(cè)溫度值,這就是DS18B20的測(cè)溫原理。另外,由于DS18B20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。減法計(jì)數(shù)器斜坡累加器減到0減法計(jì)數(shù)器預(yù) 置低溫度系數(shù)振 蕩 器高溫度系數(shù)振 蕩 器計(jì)數(shù)比較器預(yù) 置溫度寄存器減到0 測(cè)溫原理內(nèi)部裝置 DS18B20的測(cè)溫流程初始化DS18B20跳過ROM匹配溫度變換延時(shí)1S跳過ROM匹配讀暫存器轉(zhuǎn)換成顯示碼數(shù)碼管顯示 DS18B20測(cè)溫流程 DS18B20數(shù)據(jù)校驗(yàn)與糾錯(cuò)在進(jìn)行多點(diǎn)測(cè)溫時(shí),敏感元件與數(shù)據(jù)采集系統(tǒng)一般有一定的距離,不可避免的要遇到電磁干擾。信號(hào)衰減問題,使數(shù)據(jù)發(fā)生錯(cuò)誤。如果在數(shù)據(jù)的傳輸過程中系統(tǒng)具有一定的容錯(cuò)能力,在糾錯(cuò)范圍內(nèi),就可以對(duì)錯(cuò)誤的數(shù)據(jù)進(jìn)行糾正,提高抗干擾能力和加大傳輸距離,當(dāng)錯(cuò)誤超出糾錯(cuò)范圍時(shí),也可以識(shí)別出錯(cuò)誤的數(shù)據(jù)進(jìn)行從新采集,從而提高了采集數(shù)據(jù)的可信度。DS18B20在設(shè)計(jì)時(shí)已經(jīng)為用戶提高了用于檢驗(yàn)遇救錯(cuò)的循環(huán)冗余校驗(yàn)碼(cyclic redundancy code crc)。下邊將就用軟件對(duì)DS18B20中數(shù)據(jù)的校驗(yàn)與糾錯(cuò)進(jìn)行詳細(xì)的討論,并給出了用查表法進(jìn)行校驗(yàn)及糾錯(cuò)的算法以及實(shí)現(xiàn)這一算法的過程。字節(jié)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)如表210所示。圖210 9字節(jié)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)圖CRC保留保留保留配置寄存器低溫限值TL高溫限值TL溫度高字節(jié)溫度低字節(jié)由溫度存儲(chǔ)器的低字節(jié)、高字節(jié),低溫報(bào)警器TL,高字節(jié)報(bào)警觸發(fā)器TH,配置寄存器,和CRC字節(jié)組成了DS18B20的數(shù)據(jù)存儲(chǔ)器,共九個(gè)字節(jié),結(jié)構(gòu)如圖29。其中溫度存儲(chǔ)器的低位字節(jié)、高位字節(jié)是以符號(hào)擴(kuò)展,0表示正數(shù),1表示負(fù)數(shù)值,其余位正整數(shù)部分。例如16進(jìn)制溫度值018CH對(duì)應(yīng)的二進(jìn)制數(shù)為0000000110001100,℃;FF5EH對(duì)應(yīng)的二進(jìn)制為1111111101011110,℃。圖中的CRC是通過CRC發(fā)生器產(chǎn)生的。CRC發(fā)生器產(chǎn)生的邏輯電路是由移位寄存器或異或門組成,也稱除法邏輯電路。CRC發(fā)生器的邏輯電路對(duì)應(yīng)的表達(dá)式是X8+X5+X4+1(對(duì)應(yīng)的二進(jìn)制數(shù)為100110001),也稱生成多項(xiàng)式,記位g(x)。實(shí)際應(yīng)用中就是通過這種除法邏輯電路對(duì)一組數(shù)據(jù)進(jìn)行校驗(yàn)和糾錯(cuò)。如果速度允許,也常使用生成多項(xiàng)式g(x)通過軟件方法進(jìn)行校驗(yàn)與糾錯(cuò)。(2) CRC校驗(yàn)的算法與編碼的算法是相同的,校驗(yàn)時(shí)要將CRC作為數(shù)據(jù)一同進(jìn)行計(jì)算。下邊對(duì)其進(jìn)行討論并給出查表算法。直接算法:用于生成多項(xiàng)式直接進(jìn)行校驗(yàn)的方法是將低字節(jié)位放在前(左)。然后用g(x)去做異或除法。得到的余數(shù)若為0,則表示數(shù)據(jù)正確,余數(shù)不為0,則表示數(shù)據(jù)有錯(cuò),通過余數(shù)便可知道結(jié)果是否正確。DS18B20的CRC碼是可以糾正一位錯(cuò)誤的。改進(jìn)算法;直接算法由于循環(huán)次數(shù)較多而且需要的時(shí)間很長(zhǎng)。改進(jìn)算法能叫為方便的進(jìn)行處理,該算法是對(duì)數(shù)據(jù)進(jìn)行逐步字節(jié)處理,處理順序是由低字節(jié)到高字節(jié)。這里首先將CRC單元賦0,取一個(gè)字節(jié)數(shù)據(jù)做異或并將結(jié)果存入暫存單元AY,然后字節(jié)數(shù)據(jù)左環(huán)移。如果AY的最低位是一,則CRC只左移。在將AY的最低移入CRC的最高位。做完一個(gè)字節(jié)之后,將CRC的結(jié)果與下一個(gè)字節(jié)做同樣處理直至最后一個(gè)字節(jié)處理完。(3)糾錯(cuò):如果結(jié)果不為0,則意味著數(shù)據(jù)錯(cuò)誤。DS18B20的編碼是可以糾正一位錯(cuò)誤的,當(dāng)錯(cuò)誤多余一個(gè)就是要重新采集數(shù)據(jù),本文給出一種利用查表進(jìn)行糾錯(cuò)的方法。該方法是首先計(jì)算出一位錯(cuò)誤代碼的樣圖,如表27所示。表27 一位錯(cuò)誤代碼的樣圖下標(biāo)D7D6D5D4D3D2D1D001732181091869316281164114673168844221134672151199239251241155122613234117182911612201105542032332481246231131205521722411256281471436984914874371587917174715519323611859145196814070351571949718894然后根據(jù)查表得到這個(gè)余數(shù)在圖中的位置(這里設(shè)為N,N的值從0到71),通過N的值就可以計(jì)算出錯(cuò)誤在數(shù)據(jù)中的值,計(jì)算的方法是,將N被8除,商的整數(shù)部分位錯(cuò)誤字節(jié)的位置,用7減去余數(shù)則得到錯(cuò)誤位在該字節(jié)中的位號(hào),只需對(duì)錯(cuò)誤位取反即可糾正錯(cuò)誤??偨Y(jié):由于使用了校驗(yàn)與糾錯(cuò)方法,增加了數(shù)據(jù)的傳輸距離與可信度。在沒有使用校驗(yàn)與糾錯(cuò)方式時(shí),線路大于20米,顯示的溫度常出現(xiàn)大幅度的跳動(dòng)。在使用了校驗(yàn)與糾錯(cuò)方法后,線路在50米時(shí)仍然十分穩(wěn)定。 DS18B20在測(cè)溫系統(tǒng)中的應(yīng)用DS18B20與單片機(jī)的接口極其簡(jiǎn)單,只需將DS18B20的信號(hào)線與單片機(jī)的一位雙向端口相連即可。一般測(cè)溫電纜采用屏蔽4芯雙絞線,其中一對(duì)接地線與信號(hào)線,另一對(duì)Vdd和地線,屏蔽層在源端單點(diǎn)接地。對(duì)DS18B20初始化后,主機(jī)發(fā)出SKIP ROM命令,此命令執(zhí)行后的存儲(chǔ)器操作命令將對(duì)所在線的DS18B20,在發(fā)出溫度轉(zhuǎn)換啟動(dòng)碼44H,等待750ms后,先發(fā)出匹配ROM命令(55H),緊接著主機(jī)提供一片DS18B20的64位序列號(hào),讀取其溫度存儲(chǔ)器值,存入數(shù)據(jù)緩存。 注意事項(xiàng)DS18B20具有測(cè)溫系統(tǒng)簡(jiǎn)單,測(cè)溫精度高,連接方便,站用口線少等優(yōu)點(diǎn),但是在實(shí)際使用中也應(yīng)注意以下幾方面的問題:(1)DS18B20從測(cè)溫結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時(shí)間,這是必須保證的,不然會(huì)出現(xiàn)轉(zhuǎn)換錯(cuò)誤的現(xiàn)象,使溫度輸出總是顯示85。(2)在實(shí)際使用時(shí)發(fā)現(xiàn),應(yīng)使電源保持在5V左右。若電源電壓過低,會(huì)使所測(cè)得的溫度與實(shí)際溫度出現(xiàn)偏高現(xiàn)象,經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),一般在5V左右。(3)初始化時(shí),當(dāng)主機(jī)受到DS18B20回應(yīng)的低電平信號(hào)后等到單總線恢復(fù)高電平后,主機(jī)才能接著對(duì)DS18B20進(jìn)行操作。(4)當(dāng)主機(jī)發(fā)溫度轉(zhuǎn)換命令使DS18B20進(jìn)行溫度轉(zhuǎn)換時(shí),數(shù)據(jù)線要保持高電平的時(shí)間為750ms。(5)當(dāng)主機(jī)發(fā)數(shù)值拷貝命令使DS18B20將溫度寄存器的數(shù)值拷貝到EERAM中時(shí),數(shù)據(jù)線保持高電平時(shí)間至少為10ms。(6)當(dāng)不進(jìn)行復(fù)位時(shí),數(shù)據(jù)線保持為低電平時(shí)間不超過60us,否則將產(chǎn)生復(fù)位讀操作。(7)要嚴(yán)格的按照時(shí)隙圖對(duì)DS18B20進(jìn)行復(fù)位和讀寫操作。(8)單總線上所掛的DS18B20超過8個(gè)時(shí),要注意微處理器的總線驅(qū)動(dòng)問題。[15](9)在DS18B20測(cè)溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號(hào),一旦某個(gè)DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時(shí),將沒有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)要注意。(10) 測(cè)溫電纜線在這里采用屏蔽4雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接Vcc和地線,屏蔽層在源端點(diǎn)單點(diǎn)接地。 鍵盤電路介紹 鍵盤接口技術(shù)單片機(jī)使用的鍵盤一般分為兩種:獨(dú)立式鍵盤與矩陣式鍵盤。獨(dú)立式鍵盤實(shí)際上就是一組相互獨(dú)立的按鍵,這些按鍵可直接與單片機(jī)的I/O 口連接,即每個(gè)按鍵獨(dú)占一條口線,接口簡(jiǎn)單,在按鍵數(shù)目不多的場(chǎng)合使用方便。矩陣式鍵盤也叫行列式鍵盤,因?yàn)榘存I的個(gè)數(shù)較多,所以按鍵組成行列式的矩陣。鍵盤在應(yīng)用的時(shí)候包括兩項(xiàng)工作:一個(gè)是按鍵的識(shí)別,即在鍵盤中找出被按下的是哪一個(gè)鍵,一般使用接口電路來實(shí)現(xiàn);另一個(gè)是按鍵功能的實(shí)現(xiàn),要通過鍵盤服務(wù)程序來完成。接口電路可以采用如下4 種方式:使用單片機(jī)本身的并行口;使用單片機(jī)本身的串行口;使用通用接口芯片(如8255);使用專用接口芯片(如HD7279,8279,ZLG7289 等)。鍵盤處理的過程如下: 鍵盤掃描,用查詢或中斷方式判斷是否有按鍵被按下。去抖動(dòng),用硬件或軟件方法去除按鍵抖動(dòng)。鍵碼的識(shí)別,用來區(qū)分不同的按鍵。根據(jù)鍵碼編制程序來處理該按鍵操作。所謂去抖動(dòng)是指消除按鍵閉合或斷開時(shí)引起的瞬間電壓抖動(dòng),這樣才能保證鍵掃描的正確性。常用的去抖動(dòng)方法為軟件方法,其方法為判別到有鍵按下后,軟件延時(shí)一段時(shí)間(一般為10ms 左右)后,再判斷鍵盤狀態(tài),如果仍為有鍵按下狀態(tài),則認(rèn)為有一個(gè)確定的鍵被按下,否則把按鍵當(dāng)作抖動(dòng)處理。 獨(dú)立式鍵盤接口在單片機(jī)的運(yùn)行過程中,鍵盤的掃描和處理有兩種方式:查詢方式和中斷方
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1