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

正文內(nèi)容

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

2025-08-05 16:40上一頁面

下一頁面
  

【正文】 break。//第一個(gè)數(shù)碼管顯示 wei2=0。//若s1=1則顯示第四個(gè)數(shù)碼管 } if(a==2) //若a=2則在第四個(gè)數(shù)碼管上顯示下限報(bào)警溫度的個(gè)位 { if(s==0) P0=temperature1[min%10]。 case 2: //選通第三個(gè)數(shù)碼管 if(a==0){P0=temperature2[t%10]。 //關(guān)第二個(gè)數(shù)碼管 wei3=0。 else P0=temperature1[k/100]。 //重新賦初值,定時(shí)50ms TL0=0xb0。 //定義num為全局無符號字符型變量,賦初值為‘0’uchar code temperature1[]={ 0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}。 keyscan_delay(10)。 keyscan_delay(10)。amp。 //在上下溫度調(diào)節(jié)功能模式下選擇KK3的溫度加減功能 i++。 keyscan_delay(10)。 //消按鍵音功能調(diào)整位,為‘0’時(shí)開按鍵音,為‘1’時(shí)關(guān)按鍵音/***************************讀鍵盤延時(shí)子函數(shù)**************************/void keyscan_delay(uint z) //延時(shí)1ms左右{ uint i,j。} //當(dāng)測量值小于最大值或大于最小值時(shí)報(bào)警 if((temp+temp_d*)minamp。 //向DS18B20發(fā)跳過讀ROM命令 ds18b20_write(0x48)。 //i為1,表示讀取的溫度是負(fù)溫度,設(shè)立負(fù)溫度標(biāo)記 a=~a+1。 //讀內(nèi)部RAM (Tl) } if((maxamp。 d = 1。_nop_()。}/**************************ds18b20初始化函數(shù)*************************/void ds18b20_init() // DS18B20初始化{ DQ=1。 *********************************************************************/ifndef __ds18b20_h__ //定義頭文件define __ds18b20_h__define uint unsigned int //變量類型宏定義,用uint表示無符號整形(16位)define uchar unsigned char //變量類型宏定義,用uchar表示無符號字符型(8位)sbit DQ= P2^3。 * 編程者:zicreate* 編程時(shí)間:2009/10/2 *********************************************************************/include //include //(調(diào)用其中的_nop_()空操作函數(shù)延時(shí))define uint unsigned int //變量類型宏定義,用uint表示無符號整形(16位)define uchar unsigned char //變量類型宏定義,用uchar表示無符號字符型(8位)uchar max=0x00,min=0x00。此次的設(shè)計(jì)使我從中學(xué)到了一些很重要的東西,那就是如何從理論到實(shí)踐的轉(zhuǎn)化,怎樣將我們所學(xué)到的知識運(yùn)用到實(shí)踐中去。對于主機(jī)產(chǎn)生寫“1”時(shí)序時(shí),數(shù)據(jù)線必須先被拉至低電平,且至少保持低電平60μs。讀暫存器0xBE讀內(nèi)部RAM中9字節(jié)的內(nèi)容寫暫存器0x4E發(fā)出向內(nèi)部RAM的4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。電路原理圖如圖210所示。調(diào)節(jié)模塊是由四個(gè)按鍵接地后直接接單片機(jī)的I/O口完成的。表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位。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程的Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。本次設(shè)計(jì)采用的AT89S52是一種flash型單片機(jī),可以直接在線編程,向單片機(jī)中寫程序變得更加容易。本設(shè)計(jì)的顯示模塊是用四位一體的數(shù)碼管動(dòng)態(tài)掃描顯示實(shí)現(xiàn)的。顯示電路采用4位共陰LED數(shù)碼管,從P0口輸出段碼,P2口的高四位為位選端。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。 系統(tǒng)硬件設(shè)計(jì) 單片機(jī)電路設(shè)計(jì)圖24 單片機(jī)最小系統(tǒng)原理圖單片機(jī)最小系統(tǒng)是由晶振電路,上電復(fù)位、按鍵復(fù)位電路,ISP下載接口和電源指示燈組成。DS18B20的操作流程如圖31所示。 DS18B20傳感器的初始化時(shí)序DS18B20傳感器為單總線結(jié)構(gòu)器件,在讀寫操作之前,傳感器芯片應(yīng)先進(jìn)性復(fù)位操作也就是初始化操作。圖33 DS18B20傳感器的讀寫時(shí)序 DS18B20獲取溫度程序流程圖DS18B20的讀字節(jié),寫字節(jié),獲取溫度的程序流程圖如圖33所示。還有就是文章中提到的蜂鳴器驅(qū)動(dòng)問題等等。 //關(guān)閉蜂鳴器 led=1。 //測量溫度的小數(shù)部bit f=0。 //等待DS18B20拉低總線 ds18b20_delayus(20)。 //返回讀取的值}/*************************ds18b20字節(jié)寫函數(shù)**************************/void ds18b20_write(uchar d) // ds18b20字節(jié)寫{ uchar i。//向DS18B20發(fā)跳過讀ROM命令 ds18b20_write(0x44)。0x80)==0x80)//若讀取的下限溫度的最高位(符號位)為‘1’表明是負(fù)溫度 {f_min=1。 //小數(shù)部分 temp_d=a。(temp+temp_d*)min) {w=0。} //若測量值是正值時(shí)報(bào)警 } } }endif/*********************************************************************** 程序名。j)。 //每按一下K3溫度為正時(shí)下調(diào)1,為負(fù)時(shí)上調(diào)1 if(a==1){if(count0) count=0。 //在正常模式下選擇KK3的查看上下限報(bào)警溫度功能 store_t()。v==1) //a=2選擇顯示下限溫度且v=1時(shí)選擇上下限溫度減功能 {led=1。 //選擇上限顯示 TR1=1。 keyscan_delay(10)。i0。}else{beer=1。(k%100/10==0)) P0=temperature3[0]。} //若a=0則在第二個(gè)數(shù)碼管上顯示測量溫度的十位或‘’ if(a==1) //若a=1則在第二個(gè)數(shù)碼管上顯示上限報(bào)警溫度的百位或‘’ { if(s==0) selsct_1(f_max,max)。 else P0=temperature3[0]。 wei3=0。 case 1:P0=temperature3[2]。 wei4=1。 case 2:P0=temperature3[2]。 for(i=0。 break。 } wei1=0。i4。led=1。 //定時(shí)器賦初值,定時(shí)50ms TL0=0xb0。 __ds18b20_display_H__ * 功 能: ds18b20數(shù)碼管動(dòng)態(tài)顯示頭文件,通過定時(shí)器0延時(shí)實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示* 編程者:zicreate* 編程時(shí)間:2009/10/2 **********************************************************************/ifndef __ds18b20_display_H__ //定義頭文件define __ds18b20_display_H__define uint unsigned int //變量類型宏定義,用uint表示無符號整形(16位)define uchar unsigned char //變量類型宏定義,用uchar表示無符號字符型(8位)sbit wei1=P2^4。 if(key3==0) { beer=1。 if(a==1) {if(max55) f_max=0。break。 keyscan_delay(10)。}//當(dāng)溫度值大于125時(shí)不上調(diào) if(a==2){if(count125) count=125。 //定義全局變量i用于不同功能模式的選擇,‘0’正常模式,‘1’上限調(diào)節(jié)模式,‘2’下限調(diào)節(jié)模式uchar a=0。} } if(f==1) //若測量值是負(fù)值 { if((temp+temp_d*)=min)//當(dāng)測量值大于最小值時(shí)報(bào)警 {w=1。 //向DS18B20發(fā)寫字節(jié)至?xí)捍嫫?和3(TH和TL)命令 ds18b20_write(max)。 //i為0,表示讀取的溫度是正溫度,設(shè)立正溫度標(biāo)記 temp=((a4)|(b4))。 //向DS18B20發(fā)跳過讀ROM命令 ds18b20_write(0xbe)。_nop_()。i0。 for(i=t。 //按鍵掃面函數(shù) display(temp,temp_d*)。參考文獻(xiàn)[1] (第三版).北京:清華大學(xué)出版社, [2] 余發(fā)山,:中國礦業(yè)大學(xué)出版社, [3] :人民郵電出版社, [4] :人民郵電出版社, [5] 于永,戴佳,(第2版).北京:電子工業(yè)出版社, 附1 源程序代碼/********************************************************************* 程序名。圖36 按鍵程序流程圖4實(shí)物制作及調(diào)試制作好的實(shí)物如圖41所示。有兩種類型的寫時(shí)序:寫“0”時(shí)序,寫“1”時(shí)序。跳過 ROM0xCC忽略 64 位 ROM 地址,直接向 DS1820 發(fā)溫度變換命令。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。表22 DS18B20輸出的溫度值溫度
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1