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

正文內(nèi)容

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

2023-07-09 16:40:44 本頁(yè)面
 

【正文】 通信的原因。用動(dòng)態(tài)掃描的方式進(jìn)行顯示,這樣能有效節(jié)省I/O口。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。 溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)框圖如圖21所示,控制器采用單片機(jī)AT89S52,溫度傳感器采用DS18B20,顯示采用4位LED數(shù)碼管,報(bào)警采用蜂鳴器、LED燈實(shí)現(xiàn),鍵盤用來(lái)設(shè)定報(bào)警上下限溫度。測(cè)溫傳感器使用的是DS18B20,DS18B20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡(jiǎn)單、可靠。在顯示實(shí)時(shí)測(cè)量溫度的模式下還可以通過(guò)查詢按鍵查看設(shè)定的上下限報(bào)警溫度。本設(shè)計(jì)根據(jù)設(shè)計(jì)要求,首先設(shè)計(jì)了硬件電路,然后繪制軟件流程圖及編寫程序。單片機(jī)技術(shù)已經(jīng)廣泛應(yīng)用社會(huì)生活的各個(gè)領(lǐng)域,已經(jīng)成為一種非常實(shí)用的技術(shù)。 基于51單片機(jī)及DS18B20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì) 基于51單片機(jī)及DS18b20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)摘 要本設(shè)計(jì)采用的主控芯片是ATMEL公司的AT89S52單片機(jī),數(shù)字溫度傳感器是DALLAS公司的DS18B20。51單片機(jī)是最常用的一種單片機(jī),而且在高校中都以51單片機(jī)教材為藍(lán)本,這使得51單片機(jī)成為初學(xué)單片機(jī)技術(shù)人員的首選。本設(shè)計(jì)屬于一種多功能溫度計(jì),溫度測(cè)量范圍是55℃到125℃。 關(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)警功能。顯示是用4位共陰極LED數(shù)碼管實(shí)現(xiàn)溫度顯示,LED數(shù)碼管的優(yōu)點(diǎn)是顯示數(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)及引腳。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫入戶報(bào)警上下限。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值,該字節(jié)各位的定義如表21所示。高速暫存RAM的第8字節(jié)保留未用,表現(xiàn)為全邏輯1。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,℃/LSB形式表示。表22 DS18B20輸出的溫度值溫度值二進(jìn)制輸出十六進(jìn)制輸出+125℃0000 0111 1101 000007D0h+85℃0000 0101 0101 00000550h+℃0000 0001 1001 00010191h+℃0000 0000 1010 001000A2h+℃0000 0000 0000 10000008h0℃0000 0000 0000 00000000h℃1111 1111 1111 1000FFF8h℃1111 1111 0101 1110FF5Eh℃1111 1110 0110 1111FF6Fh55℃1111 1100 1001 0000FC90hDS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。主機(jī)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。報(bào)警模塊是由一個(gè)PNP型的三極管9012驅(qū)動(dòng)的5V蜂鳴器,和一個(gè)加一限流電阻的發(fā)光二極管組成的。 DS18B20溫度傳感器電路設(shè)計(jì)DS18B20溫度傳感器是單總線器件與單片機(jī)的接口電路采用電源供電方。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。圖26 顯示電路 按鍵電路設(shè)計(jì)按鍵電路是用來(lái)實(shí)現(xiàn)調(diào)節(jié)設(shè)定報(bào)警溫度的上下限和查看上下報(bào)警溫度的功能。圖29 報(bào)警電路原理圖3 軟件設(shè)計(jì) DS18B20程序設(shè)計(jì) DS18B20傳感器操作流程根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:? 每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位操作? 復(fù)位成功后發(fā)送一條ROM指令? 最后發(fā)送RAM指令這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。傳感器復(fù)位后向傳感器寫相應(yīng)的命令才能實(shí)現(xiàn)相應(yīng)的功能。跳過(guò) ROM0xCC忽略 64 位 ROM 地址,直接向 DS1820 發(fā)溫度變換命令。結(jié)果存入內(nèi)部9字節(jié)RAM中。讀供電方式0xB4讀DS1820的供電模式。首先控制器拉高數(shù)據(jù)總線,接著控制器給數(shù)據(jù)總線一低電平,延時(shí)480μs,控制器拉高數(shù)據(jù)總線,等待傳感器給數(shù)據(jù)線一個(gè)60240μs的低電平,接著上拉電阻將數(shù)據(jù)線拉高,這樣才初始化完成。有兩種類型的寫時(shí)序:寫“0”時(shí)序,寫“1”時(shí)序。對(duì)于主機(jī)產(chǎn)生寫“1”時(shí)序時(shí),數(shù)據(jù)線必須先被拉至低電平,然后被釋放,使數(shù)據(jù)線在寫時(shí)序開(kāi)始之后15μs內(nèi)拉至高電平。如圖32的下半部分。由于單片機(jī)的I/O口有限,所以數(shù)碼管采用動(dòng)態(tài)掃描的方式來(lái)進(jìn)行顯示。圖36 按鍵程序流程圖4實(shí)物制作及調(diào)試制作好的實(shí)物如圖41所示。5電子綜合設(shè)計(jì)體會(huì)經(jīng)過(guò)將近一個(gè)月的設(shè)計(jì)、焊接、編程、調(diào)試,我們終于完成了數(shù)字溫度計(jì)的設(shè)計(jì),基本能夠達(dá)到設(shè)計(jì)要求,而且還設(shè)計(jì)了一些其他功能,比可以開(kāi)啟或消除按鍵音功能,開(kāi)機(jī)動(dòng)畫功能,查看報(bào)警上下限溫度功能。此次單片機(jī)設(shè)計(jì)也為我們以后進(jìn)行更復(fù)雜的單片機(jī)系統(tǒng)設(shè)計(jì)提供了寶貴的經(jīng)驗(yàn)。本次設(shè)計(jì)的另一個(gè)重點(diǎn)就是軟件程序的設(shè)計(jì),其中需要有很巧妙的程序算法,雖然以前寫過(guò)幾次程序,但我覺(jué)的寫好一個(gè)程序并不是一件簡(jiǎn)單的事,有好多的東西,只有我們?nèi)ピ囍隽耍拍苷嬲恼莆?,只學(xué)習(xí)理論,有些東西是很難理解的,更談不上掌握。參考文獻(xiàn)[1] (第三版).北京:清華大學(xué)出版社, [2] 余發(fā)山,:中國(guó)礦業(yè)大學(xué)出版社, [3] :人民郵電出版社, [4] :人民郵電出版社, [5] 于永,戴佳,(第2版).北京:電子工業(yè)出版社, 附1 源程序代碼/********************************************************************* 程序名。在調(diào)節(jié)上下限溫度模式下,K2是實(shí)現(xiàn)加1功能,* K1是實(shí)現(xiàn)減1功能,K3是用來(lái)設(shè)定上下限溫度正負(fù)的。 //s1標(biāo)志位用于上下限查看時(shí)的顯示void display1(uint z)。 //初始化定時(shí)器1(未啟動(dòng)定時(shí)器1) get_temperature(1)。 //按鍵掃面函數(shù) display(temp,temp_d*)。 __ds18b20_h__* 功 能: DS18B20的c51編程頭文件 * 編程者:zicreate* 編程時(shí)間:2009/10/2 * 說(shuō) 明:用到的全局變量是:無(wú)符號(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)警)。 //uchar temp=0。 //上限溫度的標(biāo)志位‘0’表示“正溫度”‘1’表示“負(fù)溫度”)bit f_min=0。 for(i=t。j)。 //延時(shí)480μs左右 DQ=1。 //拉高數(shù)據(jù)線,準(zhǔn)備數(shù)據(jù)傳輸;}/***************************ds18b20字節(jié)讀函數(shù)************************/uchar ds18b20_read() //DS18B20 字節(jié)讀取{ uchar i。i0。_nop_()。 ds18b20_delayus(10)。i0。_nop_()。 DQ=1。 ds18b20_init()。 display1(1)。 //向DS18B20發(fā)跳過(guò)讀ROM命令 ds18b20_write(0xbe)。 //讀內(nèi)部RAM (TH) min=ds18b20_read()。} //將上限溫度符號(hào)標(biāo)志位置‘1’表示負(fù)溫度,將上限溫度裝換成無(wú)符號(hào)數(shù)。}//將下限溫度符號(hào)標(biāo)志位置‘1’表示負(fù)溫度,將下限溫度裝換成無(wú)符號(hào)數(shù)。 //i為0,表示讀取的溫度是正溫度,設(shè)立正溫度標(biāo)記 temp=((a4)|(b4))。 //小數(shù)部分 } else { f=1。 //整數(shù)部分 a=(aamp。 if(f_min==1) //若下限溫度為負(fù),將上限溫度轉(zhuǎn)換成有符號(hào)數(shù) min=min+0x80。 //向DS18B20發(fā)寫字節(jié)至?xí)捍嫫?和3(TH和TL)命令 ds18b20_write(max)。 //DS18B20初始化 ds18b20_write(0xcc)。} //當(dāng)測(cè)量值小于最小值或大于最大值時(shí)報(bào)警 if((temp+temp_d*)maxamp。TR1=1。} } if(f==1) //若測(cè)量值是負(fù)值 { if((temp+temp_d*)=min)//當(dāng)測(cè)量值大于最小值時(shí)報(bào)警 {w=1。TR1=1。} //當(dāng)測(cè)量值小于最小值且大于最大值時(shí)不報(bào)警 } if(f==0){w=1。 //可位尋址變量定義,sbit key2=P2^1。
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1