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

正文內(nèi)容

基于51單片機(jī)及ds18b20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)-全文預(yù)覽

2024-07-17 16:40 上一頁面

下一頁面
  

【正文】 K2溫度下調(diào)1 if(a==1){if(count55) count=55。 //K2按下關(guān)按鍵音 if(f==0) //若溫度為正 { count++。j)。 for(i=z。 //K4按鍵雙功能選擇位,k4=0時(shí)K4按鍵選擇消按鍵音的功能,k4=1時(shí)K4按鍵選擇正負(fù)溫度設(shè)定功能bit v=0。 //sbit key4=P3^3。} //若測量值是正值時(shí)報(bào)警 } } }endif/*********************************************************************** 程序名。amp。} if((temp+temp_d*)min)//當(dāng)測量值小于最小值時(shí)不報(bào)警 {w=0。TR1=1。(temp+temp_d*)min) {w=0。 //向DS18B20發(fā)將RAM中3字節(jié)的內(nèi)容寫入EEPROM } //DS18B20上電后會(huì)自動(dòng)將EEPROM中的上下限溫度拷貝到TH、TL暫存器/**************************溫度超限報(bào)警函數(shù)*************************/ void alarm() { //若上限值是正值 if(f_max==0) { if(f_min==0) //若下限值是正值 { if(f==0) //若測量值是正值 { if((temp+temp_d*)=min||(temp+temp_d*)=max) {w=1。 //向暫存器TL(下限溫度暫存器)寫溫度 ds18b20_write(0xff)。 //DS18B20初始化 ds18b20_write(0xcc)。 //小數(shù)部分 temp_d=a。 //負(fù)數(shù)的小數(shù)部分取反加1 b=~b。0x0f)。i=4。0x80)==0x80)//若讀取的下限溫度的最高位(符號位)為‘1’表明是負(fù)溫度 {f_min=1。0x80)==0x80) //若讀取的上限溫度的最高位(符號位)為‘1’表明是負(fù)溫度 {f_max=1。 //讀內(nèi)部RAM (LSB) b=ds18b20_read()。 ds18b20_init()。//向DS18B20發(fā)跳過讀ROM命令 ds18b20_write(0x44)。 }}/***************************獲取溫度函數(shù)****************************/ void get_temperature(bit f) { uchar a=0,b=0,c=0,d=0。0x01。 _nop_()。 //返回讀取的值}/*************************ds18b20字節(jié)寫函數(shù)**************************/void ds18b20_write(uchar d) // ds18b20字節(jié)寫{ uchar i。 DQ = 1。 //d左移一位,低位先發(fā); DQ = 0。 //定義一個(gè)局部變量d DQ = 1。 //等待DS18B20拉低總線 ds18b20_delayus(20)。 //拉高數(shù)據(jù)線 DQ=0。i) for(j=120。 //報(bào)警標(biāo)志位‘1’啟動(dòng)報(bào)警‘0’關(guān)閉報(bào)警)/*****************************延時(shí)子函數(shù)******************************/void ds18b20_delayus(uint t) //延時(shí)幾μs{ while(t)。 //測量溫度的小數(shù)部bit f=0。 //可位尋址變量定義,sbit beer=P1^0。 //報(bào)警函數(shù) keyscan()。 //按鍵掃面函數(shù) get_temperature(0)。 //關(guān)閉蜂鳴器 led=1。 //max是上限報(bào)警溫度,min是下限報(bào)警溫度bit s=0。K1是用來* 進(jìn)入上下限調(diào)節(jié)模式的,當(dāng)按一下K1進(jìn)入上限調(diào)節(jié)模式,再按一下進(jìn)入下限* 調(diào)節(jié)模式。充分認(rèn)識到理論學(xué)習(xí)與實(shí)踐相結(jié)合的重要性,對于書本上的很多知識,不但要學(xué)會(huì),更重要的是會(huì)運(yùn)用到實(shí)踐中去。還有就是文章中提到的蜂鳴器驅(qū)動(dòng)問題等等。在大學(xué)課堂的學(xué)習(xí)只是給我們灌輸專業(yè)知識,而我們應(yīng)把所學(xué)的知識應(yīng)用到我們現(xiàn)實(shí)的生活中去。比如本來是采用NPN型9013驅(qū)動(dòng)蜂鳴器,但是在實(shí)際調(diào)試中蜂鳴器驅(qū)動(dòng)不了,經(jīng)多次試驗(yàn),在三極管的基極電阻與單片機(jī)的接口處接一個(gè)2kΩ的上拉電阻就能驅(qū)動(dòng)了。圖35 顯示程序流程圖 按鍵程序設(shè)計(jì)按鍵是用來設(shè)定上下限報(bào)警溫度的。圖33 DS18B20傳感器的讀寫時(shí)序 DS18B20獲取溫度程序流程圖DS18B20的讀字節(jié),寫字節(jié),獲取溫度的程序流程圖如圖33所示。在數(shù)據(jù)總線由高電平變?yōu)榈碗娖街?,?shù)據(jù)線至少應(yīng)保持低電平1μs,來自DS18B20的輸出的數(shù)據(jù)在下降沿15μs后有效,所以在數(shù)據(jù)線保持低電平1μs之后,主機(jī)將數(shù)據(jù)線拉高,等待來自DS18B20的數(shù)據(jù)變化,在下降沿15μs之后便可開始讀取DS18B20的輸出數(shù)據(jù)。在數(shù)據(jù)總線由高電平變?yōu)榈碗娖街?,DS18B20在15μs至60μs的時(shí)間間隙對總線采樣,如果為“1”則向DS18B20寫“1”, 如果為“0”則向DS18B20寫“0”。每次操作只能讀寫一位。 DS18B20傳感器的初始化時(shí)序DS18B20傳感器為單總線結(jié)構(gòu)器件,在讀寫操作之前,傳感器芯片應(yīng)先進(jìn)性復(fù)位操作也就是初始化操作。復(fù)制暫存器0x48將RAM中第3 、4字節(jié)的內(nèi)容復(fù)制到EEPROM中。告警搜索命令0xEC執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng)。搜索 ROM0xF0用于確定掛接在同一總線上 DS1820 的個(gè)數(shù)和識別 64 位 ROM 地址。DS18B20的操作流程如圖31所示。圖210 按鍵電路原理圖 報(bào)警電路設(shè)計(jì)報(bào)警電路是在測量溫度大于上限或小于下限時(shí)提供報(bào)警功能的電路。四位一體的共陰數(shù)碼管的管腳分布圖如圖25所示。圖27 DS18B20電源供電方式當(dāng)DS18B20處于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10us。 系統(tǒng)硬件設(shè)計(jì) 單片機(jī)電路設(shè)計(jì)圖24 單片機(jī)最小系統(tǒng)原理圖單片機(jī)最小系統(tǒng)是由晶振電路,上電復(fù)位、按鍵復(fù)位電路,ISP下載接口和電源指示燈組成。當(dāng)按鍵沒有按下時(shí)單片機(jī)管腳相當(dāng)于懸空,默認(rèn)下為高電平,當(dāng)按鍵按下時(shí)相當(dāng)于把單片機(jī)的管腳直接接地,此時(shí)為低電平。因此,可用多只DS18B20同時(shí)測量溫度并進(jìn)行報(bào)警搜索。輸出的二進(jìn)制數(shù)的高5位是符號位,最后4位是溫度小數(shù)點(diǎn)位,中間7位是溫度整數(shù)位。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。當(dāng)DS18B20分辨率越高時(shí),所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖23所示。SOP封裝,其其封裝形式如圖22所示。顯示電路采用4位共陰LED數(shù)碼管,從P0口輸出段碼,P2口的高四位為位選端。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。 32 2 系統(tǒng)總體方案及硬件設(shè)計(jì) 系統(tǒng)總體方案由于DS18B20數(shù)字溫度傳感器具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測量電路變得簡單、可靠,所以在該設(shè)計(jì)中采用DS18B20數(shù)字溫度傳感器測量溫度。該設(shè)計(jì)控制器使用的是51單片機(jī)AT89S52,AT89S52單片機(jī)在工控、測量、儀器儀表中應(yīng)用還是比較廣泛的。本設(shè)計(jì)的顯示模塊是用四位一體的數(shù)碼管動(dòng)態(tài)掃描顯示實(shí)現(xiàn)的。本次設(shè)計(jì)的數(shù)字溫度計(jì)采用的是DS18B20數(shù)字溫度傳感器,DS18B20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測量電路變得簡單、可靠。所以本次設(shè)計(jì)的數(shù)字溫度計(jì)在工業(yè)、農(nóng)業(yè)、日常生活中都有廣泛的應(yīng)用。本設(shè)計(jì)用數(shù)字傳感器DS18B20測量溫度,測量精度高,傳感器體積小,使用方便。本次設(shè)計(jì)采用的AT89S52是一種flash型單片機(jī),可以直接在線編程,向單片機(jī)中寫程序變得更加容易。溫度值的分辨率可以被用戶設(shè)定為912位,可以設(shè)置上下限報(bào)警溫度,當(dāng)溫度不在設(shè)定的范圍內(nèi)時(shí),就會(huì)啟動(dòng)報(bào)警程序報(bào)警。其輸出溫度采用LED數(shù)碼管顯示,主要用于對測溫比較準(zhǔn)確的場所。蜂鳴器用來實(shí)現(xiàn)當(dāng)測量溫度超過設(shè)定的上下限時(shí)的報(bào)警功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程的Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。DS18B20的性能特點(diǎn)如下:獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無須外部器件;可通過數(shù)據(jù)線供電,~;零待機(jī)功耗;溫度以9或12位二進(jìn)制數(shù)字表示;用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; DS18B20采用3腳TO-92封裝或8腳SO或181。DS18B20溫度傳感器的內(nèi)部存儲器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM。表21:配置寄存器D7 D6 D5 D4 D3 D2 D1 D0TMR1R011111配置寄存器的低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率,“R1R0”為“00”是9位,“01”是10位,“10”是11位,“11”是12位。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)符號位s=0時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位s=1時(shí),表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。若T>TH或T<TL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。調(diào)節(jié)模塊是由四個(gè)按鍵接地后直接接單片機(jī)的I/O口完成的。報(bào)警時(shí)蜂鳴器間歇性報(bào)警,發(fā)光二極管閃爍。電源供電方式如圖27,此時(shí)DS18B20的1腳接地,2腳作為信號線,3腳接電源。 顯示電路設(shè)計(jì)顯示電路是由四位一體的共陰數(shù)碼管進(jìn)行顯示的,數(shù)碼管由三極管9013驅(qū)動(dòng)。電路原理圖如圖210所示。復(fù)位要求主CPU將數(shù)據(jù)線下拉5
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1