【正文】
脈沖,主 CPU 收到此信號表示復(fù)位成功 [7]。 for(i=0。 } else//寫 1 { DQ=0。數(shù)據(jù)線必須保持在低邏輯電平至少1微秒。 for(i=0。 Delay_15us(4)。定時器 /計數(shù)器方式控制寄存器 TMOD 不能進行位尋址,只能用于字節(jié)傳送指令設(shè)置定時器工作方式,低半字節(jié)定義為定時器 0,高半字節(jié)定義為定時器 1。//初始化程序 writemandtods18b20(0xcc)。5 結(jié) 論本文針對溫度檢測存在的問題將多種信息處理技術(shù)和單總線技術(shù)相結(jié)合,設(shè)計了一套實時、全面、科學(xué)的溫度檢測系統(tǒng)。2022[3] // 讀出溫度暫放uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。e0。//P0=0Xff。//P0=0Xff。 //P0=0Xff。 LEDC=1。 // 550usDQ=1。 i0。_nop_()。 }///*********18B20 讀 1 個字節(jié)函數(shù)********///從總線上讀取一個字節(jié)uchar read_byte(void){uchar i。DQ = 0。_nop_()。 // 發(fā)送 Skip ROM 命令write_byte(0xBE)。uchar flag3=1,flag2=1。display[0]=ditab[display[4]]。display[1]=display[4]%10。 //顯示溫度值 秒(H=250) } } //**************************************************主函數(shù)開始void main() { /*****************************///初始化 18b20 Disdata=0xc0。h120。t agree with the disciplinary action your employer has taken against you? your employer dismisses you and you think that you have been dismissed unfairly.For more information about dismissal and unfair dismissal, see Dismissal.You can make a claim to an employment tribunal, even if you haven39。s 21 win.Michel Platini, president of European football39。The end of our life, and can meet many things really do? 而窮盡我們的一生,又能遇到多少事情是真正地非做不可?During my childhood, think lucky money and new clothes are necessary for New Year, but as the advance of the age, will be more and more found that those things are optional。s time, your ideas are always special to clear. Want, want, line is clear, as if nothing could shake his. Also once seemed to be determined to do something, but more often is he backed out at last. Dislike his cowardice, finally found that there are a lot of love, there are a lot of miss, like shadow really have been doomed. Those who do, just green years oneself give oneself an arm injection, or is a selfrighteous spiritual. 一個人的時候,自己的想法總是特別地清晰。 Have declared the end of the encounter that haven39。t. Baumgartner still will free fall at a speed that would cause you and me to pass out, and no parachute is guaranteed to work higher than 25,000 feet (7,620 meters).cause there。 Those were broken into various shapes of stationery。Originally, this world, can produce a chemical reaction to an event, in addition to resolutely, have to do, and time. 原來,這個世界上,對某個事件能產(chǎn)生化學(xué)反應(yīng)的,除了非做不可的堅決,還有,時間??傆X得自己自己似乎應(yīng)該去做點什么,或者寫點什么。s Premier League match at Chelsea on Sunday.I am going to be at the match tomorrow and I have asked to meet Yaya Toure, he told BBC Sport.For me it39。在此祝愿老師身體健康,工作順利。 // Skip ROMwrite_byte(0x44)。h25。display[3]=display[4]/100。 }display[4]=temp_data[0]amp。 // 發(fā)送轉(zhuǎn)換命令}/***********溫度數(shù)據(jù)處理函數(shù)**********/void work_temp(){uchar n=0。}/***********讀出溫度函數(shù)**********/read_temp(){ow_reset()。_nop_()。_nop_()。 //右移一位}DQ = 1。_nop_()。} ///**********18B20 寫命令函數(shù)*********///向 1WIRE 總線上寫一個字節(jié)void write_byte(uchar val){uchar i。DQ=0。 //選擇數(shù)碼管 2Delay(2)。 //段碼P0=0X7F。 //段碼P0=0X3F。 //段碼//P0=0X7F。t0。//共陰數(shù)碼管顯示 0~F /* 共陰 LED 段碼表 0 1 2 3 4 5 6 7 8 9 不亮 */ uchar code ditab[16]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9}。本設(shè)計中由于采用了 AT89C51 單片機,性能可靠電路簡單,適于批量生產(chǎn), 而且溫度傳感器 DS18B20 轉(zhuǎn)化溫度的方法非常簡潔且精度高、測試范圍較廣。程序應(yīng)按照嚴(yán)格的時序進行,以保證數(shù)據(jù)的完整性。 EA=1。以上三條同時滿足時, CPU 才有可能響應(yīng)中斷 [8]。 DQ=1。 unsigned char temp。 //右移 1 位 循環(huán) 8 次 } } 從 DS18B20 讀數(shù)據(jù) 當(dāng)從DS18B20讀數(shù)據(jù)時,主機產(chǎn)生讀時序。 _nop_()。對于 DS18B20 寫 0 時序和寫 1 時序的要求不同,當(dāng)要寫 0 時序時,單總線要被拉低至少 60us,保證 DS18B20 能夠在 15us 到 45us 之間能夠正確地采樣 IO 總線上的“0”電平,當(dāng)要寫 1 時序時,單總線被拉低之后,在 15us 之內(nèi)就得釋放單總線。其工作時序包括初始化時序、寫時序和讀時序。他有兩種結(jié)構(gòu),共陽極和共陰極。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。LED 、LCD 顯示器有兩種顯示結(jié)構(gòu):段顯示(7 段、米字型等)和點陣顯示(588 點陣) 。C ) 輸出的二進制碼 對應(yīng)的十六進制碼+125 0000 0111 1101 0000 07D0H+85 0000 0101 0101 0000 0550H+ 0000 0000 0000 1000 0008H0 0000 0000 000 0000 0000H 1111 1111 1111 1000 FFF8H25 1111 1110 0110 1111 FE6FH55 1111 1100 1001 0000 FC90H 另外,由于DS18B20單線通信功能是分時完成的,即異步通信,它有嚴(yán)格的時隙概念,因此讀寫時序很重要。C,四舍五入最大量化誤差為士1/2LSB,176。圖中比較器的作用是以四舍五入的量化方式確定溫度寄存器的最低有效位。C,每當(dāng)計數(shù)器1從預(yù)置數(shù)開始減計數(shù)到0時,溫度寄存器中寄存的溫度值就增加1176。接著總線主機便釋放此線并進入接收方式(Rx)。 DS18B20 的讀寫時序 對DS18B20的使用,多采用單片機實現(xiàn)數(shù)據(jù)采集。單總線通常要求外接一個約為 歐的上拉電阻,這樣,當(dāng)總線閑置時,其狀態(tài)為高電平 [5]。 1wire 技術(shù) 單線總線,即 1wire 技術(shù)是 DS18B20 的一個特點。C (–67176。由于每一個 DS18B20 出廠時都刻有唯一的一個序列號并存入其 ROM 中,因此 CPU 可用簡單的通信協(xié)議就可以識別,從而節(jié)省大量的引線和邏輯電路。而實際中大量的被測量是隨時間變化的動態(tài)信號,傳感器的輸出不僅需要精確地顯示被測量的大小,還要顯示被測量隨時間變化的規(guī)律,即被測量的波形。復(fù)位對單片機來說,是程序還沒有開始執(zhí)行,是在做準(zhǔn)備工作。在不訪問片外存儲器時,89C51 自動在 ALE/ 上輸出頻率為 fosc/6 的PROG脈沖序列。每個引腳可驅(qū)動 4 個 TTL 負(fù)載。見圖 3。同時本設(shè)計中采用了復(fù)位電路,在正常狀態(tài)下本復(fù)位電路用處不大,但當(dāng)出現(xiàn)死機等狀態(tài)時,復(fù)位鍵可以在 CPU 不需要重起的情況下,復(fù)位成功。(2) 把“單片機系統(tǒng)”-“動態(tài)數(shù)碼顯示”區(qū)域中的S1S2S3S4S5S6S7S8端子上。 高可靠性是單片機系統(tǒng)應(yīng)用的前提,在系統(tǒng)設(shè)計的每一個環(huán)節(jié),都應(yīng)該將可靠性作為首要的設(shè)計準(zhǔn)則。2 課題的系統(tǒng)設(shè)計 系統(tǒng)概述 單片機在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,并且在很多電子產(chǎn)品中也將其用到溫度檢測和溫度控制。本設(shè)計方案具有較高的測量精度,適合對溫度精度要求較高的化工生產(chǎn)、電力工程等行業(yè)。本設(shè)計有效的提高了控制系統(tǒng)的實時性改善了溫度測量的自動化程度,具有較高的實用價值。本文結(jié)合實際使用經(jīng)驗,完成了 DS18B20 數(shù)字溫度傳感器在單片機下的硬件連接及軟件編程,并給出了軟件流程圖。本論文設(shè)計實現(xiàn)了溫度實時測量、顯示系統(tǒng)。溫度的測量值用數(shù)碼管顯示 。其簡單框圖如下:圖 1 設(shè)計總體框圖 系統(tǒng)設(shè)計原則 要求單片機系統(tǒng)應(yīng)具有可靠性高、操作維護方便、性價比高等特點。 系統(tǒng)工作原理電路圖如下:圖 2 系統(tǒng)電路系統(tǒng)的硬件電路連線如下(1) 把“單片機系統(tǒng)”-“動態(tài)數(shù)碼顯示”區(qū)域中的ABCDEFGDP端子上。然后單片機工作, (運行一系列程序)經(jīng)過寫,讀,轉(zhuǎn)換,顯示等一系列的運行,顯示結(jié)果送到數(shù)碼管,四個數(shù)碼管采用動態(tài)顯示技術(shù),最后準(zhǔn)確的顯示環(huán)境溫度。通常把4 個端口稱為 POP3。 (2) PI 口為 8 位準(zhǔn)雙向 1/0 口,內(nèi)部具有上拉電阻,一般作通用 1/0 口使用,它的每一位都可以分別定義為輸入線或輸出線,作為輸入時,鎖存器必須置 1。在訪PROG問片外存儲器時,89C51 CPU 在 引腳上輸出片外存儲器低 8 位地址的同時在 ALE/ 上輸出一個高電位脈沖,用于把這個片外存儲器低 8 位地址鎖存到外部專用地址鎖存器,以便空出 引腳線去傳送隨后而來的片外存儲器讀寫數(shù)據(jù)。圖 3 AT89C51 引腳圖 時鐘晶振電路和復(fù)位電路 時鐘電路用于產(chǎn)生時鐘信號,時鐘信號是單片機內(nèi)部各種微操作的時間基準(zhǔn),在此基礎(chǔ)上,控制器按照指令的功能產(chǎn)生一系列在時間上有一定次序的信號,控制相關(guān)的邏