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

正文內(nèi)容

基于51單片機(jī)及ds18b20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)(存儲(chǔ)版)

2025-06-30 08:55上一頁面

下一頁面
  

【正文】 } if(f==1) //若為負(fù)溫度,若十位為0,百位不顯示,否則百位顯示‘’ { if(k%100/10==0) P0=temperature3[0]。 } }/****************************主顯示函數(shù)********************************/void display(uchar t,uchar t_d) //用于實(shí)測(cè)溫度、上限溫度的顯示{ uchar i。 //關(guān)第三個(gè)數(shù)碼管 wei4=0。 else P0=temperature3[0]。}//若a=0則在第三個(gè)數(shù)碼管上顯示測(cè)量溫度的個(gè)位 if(a==1) //若a=1則在第三個(gè)數(shù)碼管上顯示上限報(bào)警溫度的十位或‘’ { if(s==0) selsct_2(f_max,max)。 wei4=0。 else P0=temperature3[0]。 //每個(gè)數(shù)碼管顯示3ms左右 }}/****************************開機(jī)顯示函數(shù)******************************/void display1(uint z) //用于開機(jī)動(dòng)畫的顯示{ uchar i,j。 wei3=0。 wei2=1。 case 3:P0=temperature3[2]。 } display_delay(200)。 wei3=1。 wei3=0。j++) //依次從左至右顯示‘’ { switch(j) { case 0:P0=temperature3[2]。 break。 if(s1==1) P0=temperature1[max%10]。 } wei1=0。 break。 //通過s標(biāo)志位的變化實(shí)現(xiàn)調(diào)節(jié)上下限報(bào)警溫度時(shí)數(shù)碼管的閃爍 if(s1==1) selsct_1(f_max,max)。 //若a=2則在第一個(gè)數(shù)碼管上顯示‘L’ } wei2=0。 } if(f==1) //若為負(fù)溫度,若十位為0,十位不顯示,否則十位顯示‘’ { if(k%100/10==0) P0=temperature3[2]。 //定時(shí)1s時(shí)間到時(shí)自動(dòng)關(guān)閉報(bào)警上下限查看功能 }}/*********************調(diào)整報(bào)警上下限顯示選擇函數(shù)**********************/void selsct_1(uchar f,uchar k) //消除百位的0顯示,及正負(fù)溫度的顯示選擇{ if(f==0) //若為正溫度,百位為0則不顯示百位,不為0則顯示 { if(k/100==0) P0=temperature3[0]。}} Else //進(jìn)入4次中斷,定時(shí)200ms時(shí)若報(bào)警標(biāo)志位w為‘1’則啟動(dòng)報(bào)警,不為‘1’不啟動(dòng) //實(shí)現(xiàn)間歇性報(bào)警功能 {s=0。 // 局部變量t為1啟動(dòng)定時(shí)器1,為0關(guān)閉定時(shí)器1}/**************************定時(shí)器1中斷函數(shù)*****************************/void timer1() interrupt 3{ TH0=0x3c。j0。 //uchar num=0。 v2=~v2。 //下限顯示不閃爍,顯示1s自動(dòng)退出 } while(key3==0)。 //上限顯示不閃爍,顯示一分鐘左右自動(dòng)退出 } while(key2==0)。}//當(dāng)溫度大于55度時(shí),只能設(shè)定為正溫度 } while(key4==0)。} else。 } if(a==1amp。break。//在上下溫度調(diào)節(jié)功能模式下選擇K4的調(diào)整上下限溫度正負(fù)的功能 v=1。} } while(key3==0)。} } } while(key2==0)。 //v2=0開按鍵音,否則消按鍵音 keyscan_delay(10)。 //v1=1時(shí)定時(shí)1250ms時(shí)間到自動(dòng)關(guān)閉報(bào)警上下限查看功能bit v2=0。 //可位尋址變量定義,sbit key2=P2^1。TR1=1。TR1=1。 //DS18B20初始化 ds18b20_write(0xcc)。 if(f_min==1) //若下限溫度為負(fù),將上限溫度轉(zhuǎn)換成有符號(hào)數(shù) min=min+0x80。 //小數(shù)部分 } else { f=1。}//將下限溫度符號(hào)標(biāo)志位置‘1’表示負(fù)溫度,將下限溫度裝換成無符號(hào)數(shù)。 //讀內(nèi)部RAM (TH) min=ds18b20_read()。 display1(1)。 DQ=1。i0。_nop_()。 //拉高數(shù)據(jù)線,準(zhǔn)備數(shù)據(jù)傳輸;}/***************************ds18b20字節(jié)讀函數(shù)************************/uchar ds18b20_read() //DS18B20 字節(jié)讀取{ uchar i。j)。 //上限溫度的標(biāo)志位‘0’表示“正溫度”‘1’表示“負(fù)溫度”)bit f_min=0。 __ds18b20_h__* 功 能: DS18B20的c51編程頭文件 * 編程者:zicreate* 編程時(shí)間:2009/10/2 * 說 明:用到的全局變量是:無符號(hào)字符型變量temp(測(cè)得的溫度整數(shù)部分),temp_d * (測(cè)得的溫度小數(shù)部分),標(biāo)志位f(測(cè)量溫度的標(biāo)志位‘0’表示“正溫度”‘1’表* 示“負(fù)溫度”),標(biāo)志位f_max(上限溫度的標(biāo)志位‘0’表示“正溫度”、‘1’表* 示“負(fù)溫度”),標(biāo)志位f_min(下限溫度的標(biāo)志位‘0’表示“正溫度”、‘1’表* 示“負(fù)溫度”),標(biāo)志位w(報(bào)警標(biāo)志位‘1’啟動(dòng)報(bào)警‘0’關(guān)閉報(bào)警)。 //初始化定時(shí)器1(未啟動(dòng)定時(shí)器1) get_temperature(1)。在調(diào)節(jié)上下限溫度模式下,K2是實(shí)現(xiàn)加1功能,* K1是實(shí)現(xiàn)減1功能,K3是用來設(shè)定上下限溫度正負(fù)的。本次設(shè)計(jì)的另一個(gè)重點(diǎn)就是軟件程序的設(shè)計(jì),其中需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個(gè)程序并不是一件簡(jiǎn)單的事,有好多的東西,只有我們?nèi)ピ囍隽耍拍苷嬲恼莆?,只學(xué)習(xí)理論,有些東西是很難理解的,更談不上掌握。5電子綜合設(shè)計(jì)體會(huì)經(jīng)過將近一個(gè)月的設(shè)計(jì)、焊接、編程、調(diào)試,我們終于完成了數(shù)字溫度計(jì)的設(shè)計(jì),基本能夠達(dá)到設(shè)計(jì)要求,而且還設(shè)計(jì)了一些其他功能,比可以開啟或消除按鍵音功能,開機(jī)動(dòng)畫功能,查看報(bào)警上下限溫度功能。由于單片機(jī)的I/O口有限,所以數(shù)碼管采用動(dòng)態(tài)掃描的方式來進(jìn)行顯示。對(duì)于主機(jī)產(chǎn)生寫“1”時(shí)序時(shí),數(shù)據(jù)線必須先被拉至低電平,然后被釋放,使數(shù)據(jù)線在寫時(shí)序開始之后15μs內(nèi)拉至高電平。首先控制器拉高數(shù)據(jù)總線,接著控制器給數(shù)據(jù)總線一低電平,延時(shí)480μs,控制器拉高數(shù)據(jù)總線,等待傳感器給數(shù)據(jù)線一個(gè)60240μs的低電平,接著上拉電阻將數(shù)據(jù)線拉高,這樣才初始化完成。結(jié)果存入內(nèi)部9字節(jié)RAM中。傳感器復(fù)位后向傳感器寫相應(yīng)的命令才能實(shí)現(xiàn)相應(yīng)的功能。圖26 顯示電路 按鍵電路設(shè)計(jì)按鍵電路是用來實(shí)現(xiàn)調(diào)節(jié)設(shè)定報(bào)警溫度的上下限和查看上下報(bào)警溫度的功能。 DS18B20溫度傳感器電路設(shè)計(jì)DS18B20溫度傳感器是單總線器件與單片機(jī)的接口電路采用電源供電方。主機(jī)ROM的前56位來計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,℃/LSB形式表示。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值,該字節(jié)各位的定義如表21所示。DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。圖21 溫度計(jì)電路總體設(shè)計(jì)框圖AT89S52單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含有8kb的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。 關(guān)鍵詞:?jiǎn)纹瑱C(jī)、數(shù)字溫度計(jì)、DS18BAT89S52目 錄1 概 述 1 1 2 系統(tǒng)總體方案及硬件設(shè)計(jì) 2 系統(tǒng)總體方案 2 2 2 系統(tǒng)硬件設(shè)計(jì) 5 單片機(jī)電路設(shè)計(jì) 5 DS18B20溫度傳感器電路設(shè)計(jì) 6 顯示電路設(shè)計(jì) 6 按鍵電路設(shè)計(jì) 7 報(bào)警電路設(shè)計(jì) 8 3 軟件設(shè)計(jì) 9 DS18B20程序設(shè)計(jì) 9 DS18B20傳感器操作流程 9 DS18B20傳感器的指令表 9 DS18B20傳感器的初始化時(shí)序 10 DS18B20傳感器的讀寫時(shí)序 10 DS18B20獲取溫度程序流程圖 11 顯示程序設(shè)計(jì) 13 按鍵程序設(shè)計(jì) 13 4實(shí)物制作及調(diào)試 14 5電子綜合設(shè)計(jì)體會(huì) 15 參考文獻(xiàn) 15 附1 源程序代碼 17 附2 系統(tǒng)原理圖 32 1 概 述本系統(tǒng)所設(shè)計(jì)的數(shù)字溫度計(jì)采用的是DS18B20數(shù)字溫度傳感器測(cè)溫,DS18B20直接輸出的就是數(shù)字信號(hào),與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,上下限報(bào)警功能。51單片機(jī)是最常用的一種單片機(jī),而且在高校中都以51單片機(jī)教材為藍(lán)本,這使得51單片機(jī)成為初學(xué)單片機(jī)技術(shù)人員的首選。單片機(jī)技術(shù)已經(jīng)廣泛應(yīng)用社會(huì)生活的各個(gè)領(lǐng)域,已經(jīng)成為一種非常實(shí)用的技術(shù)。在顯示實(shí)時(shí)測(cè)量溫度的模式下還可以通過查詢按鍵查看設(shè)定的上下限報(bào)警溫度。 溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)框圖如圖21所示,控制器采用單片機(jī)AT89S52,溫度傳感器采用DS18B20,顯示采用4位LED數(shù)碼管,報(bào)警采用蜂鳴器、LED燈實(shí)現(xiàn),鍵盤用來設(shè)定報(bào)警上下限溫度。用動(dòng)態(tài)掃描的方式進(jìn)行顯示,這樣能有效節(jié)省I/O口。圖23 DS18B20的高速暫存RAM的結(jié)構(gòu)頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝是易失的,每次上電復(fù)位時(shí)被刷新。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第2字節(jié)。在64位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC)。原理圖如圖24所示。圖25 四位一體的共陰數(shù)碼管管腳分布圖顯示電路的總體設(shè)計(jì)如圖26所示。如圖31 DS18B20的操作流程 DS18B20傳感器的指令表DS18B20傳感器的操作指令如表31所示。溫度
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1