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

正文內(nèi)容

基于51單片機(jī)溫度報(bào)警器的設(shè)計(jì)(參考版)

2024-11-16 15:39本頁面
  

【正文】 break。 41 case 3:P0=table[high%100/10]。 P2=0xfb。break。 case 1:P0=0xff。 P2=0xfe。 } } if(flag==2) { if(t==4) t=0。 P2=0xf7。break。 case 2:P0=table[low/100]。 P2=0xfd。break。 switch(t) { case 0:P0=0xc7。break。 case 3:P0=table[get_temp()%10]。P2=0xfb。break。 switch(t) { 40 case 1:P0=table[get_temp()/100]。 keyscan()。 TL1=(655364000)%256。 } if(templow) { ldidi()。 //temp=get_temp()/10。 while(1) 39 { tempchange()。 if(high==0) high=300。 if(s3==0) { while(!s3)。 if(high==1000) high=200。 if(s2==0) { 38 while(!s2)。 } } } if(s1num==2) { flag=2。 low=10。 } } if(s3==0) { delay(5)。 low+=10。 if(s2==0) { delay(5)。 flag=0。 } if(s1num==2) { flag=2。 s1num++。 delay(5)。 //乘以 10 表示小數(shù)點(diǎn)后面只取一位 return temp。 f_temp=temp*。 //讀低 8 位 b=tempread()。 //寫跳過讀 ROM 指令 tempwritebyte(0xbe)。 delay(1)。 //寫溫度轉(zhuǎn)換指令 } uint get_temp() //讀取寄存器中存儲(chǔ)的溫度數(shù)據(jù) { uchar a,b。 tempwritebyte(0xcc)。 } } } void tempchange(void) //DS18B20 開始獲取溫度并轉(zhuǎn)換 { dsreset()。 i++。 while(i0) i。 } else //寫 0 { ds=0。 i=8。i++。 if(testb) //寫 1 { ds=0。0x01。j=8。 bit testb。 } void tempwritebyte(uchar dat) //向 DS18B20 寫一個(gè)字節(jié)的數(shù)據(jù)函數(shù) { uint i。 dat=(j7)|(dat1)。i=8。 dat=0。 return(dat)。 i=8。i++。 33 ds=1。 ds=0。 } bit tempreadbit(void) //讀 1 位數(shù)據(jù)函數(shù) { uint i。 // 等待 1660us ,收 到 低電 平一 個(gè) 約60240us 則復(fù)位成功 i=4。 //延時(shí)最短 480us while(i0) i。 ds=0。 delay(50)。 beep=1。 led2=0。 delay(500)。 beep=1。 led1=0。 high=300。 flag=0。 TH1=(655364000)/256。 TR1=1。 } void init()//初始化 { EA=1。b0。a0。//帶小數(shù)點(diǎn)的編碼 void delay(uchar z) //延時(shí)函數(shù) { uchar a,b。 uchar code table[]= { 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0xc6 }。 sbit s3=P3^7。 //控制發(fā)光二極管 sbit s1=P3^5。 //定義溫度的上限值 sbit led1=P1^0。 //定義浮點(diǎn)型的溫度數(shù)據(jù) uint low。 //定義整型的溫度數(shù)據(jù) uchar flag。 sbit beep=P1^4。 , 29 附錄一:系統(tǒng)原理圖 30 附錄二 : 程序代碼 include //52 系列頭文件 include define uchar unsigned char define uint unsigned int sbit ds=P3^4。 【 10】劉守義、楊宏麗、王靜霞:《單片機(jī)應(yīng)用技術(shù) 》 . 西安電子科技大學(xué)出版社。 28 【 8】 張 偉: 《 Protel 99SE 實(shí)用教程》 . 人民郵電出版社。 【 5】 廖 芳: 《電子產(chǎn)品生產(chǎn)工藝與管理》 . 電子工業(yè)出版社 【 6】 黃智偉: 《全國大學(xué)生設(shè)計(jì)競賽訓(xùn)練教程》 . 電子工業(yè)出版社。 【 2】 劉樹林: 《低頻電子線路》 第二版 . 電子工業(yè)出版社 【 3】 沈農(nóng): 《傳感器及應(yīng)用技術(shù)》 . 化學(xué)工業(yè)出版社。感謝和我在一起進(jìn)行課題研究的同學(xué)們,和他們在一起討論、研究使我受益非淺。這使得我能夠順利的完成畢業(yè)設(shè)計(jì)工作。使我受益匪淺。主要存在以下幾個(gè)方面: ( 1) 程序的代碼不夠精練,浪費(fèi) AT89S52 內(nèi)的 FLASH ROM; ( 2) 未對(duì)以前的溫度數(shù)值進(jìn)行存儲(chǔ),使以后不能利用這些數(shù)據(jù); ( 3) 對(duì)數(shù)碼管的控制考慮不周,以致出現(xiàn)閃爍現(xiàn)象; 致 謝 畢業(yè)設(shè)計(jì)就要結(jié)束了,在這一段時(shí)間里,我感到自己的收獲是非常大的,使我在專業(yè)技能、動(dòng)手能力多方面都有了很大的提高。如果并沒有超過上下限則不會(huì)報(bào)警。不斷的采集溫度值,顯示溫度值,如果發(fā)現(xiàn)采集的溫度值高于上限值就通過相應(yīng)的提示燈亮。 結(jié) 論 經(jīng)過設(shè)計(jì)和實(shí)踐,本設(shè)計(jì)已經(jīng)完成了一個(gè)比較完整的溫度檢測預(yù)與報(bào)警系統(tǒng)。 26 自檢正常,溫度顯示正 常。 采用溫度傳感器和溫度計(jì)同時(shí)測量水溫變化情況,目測顯示電路是否正常。 使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件檢測是否正常(包括單片機(jī)控制系統(tǒng),鍵盤電路,顯示電路,溫度測試電路等)。 } 第五章 系統(tǒng)調(diào)試 測試溫度: 0100 攝氏度。 led2=1。 delay(50)。 } void ldidi()//斷續(xù)報(bào)警閃爍 { beep=0。 led1=1。 delay(500)。 void hdidi() { beep=0。 //temp 是整型 } 數(shù)碼管顯示模塊 本系統(tǒng)采用共陽極數(shù)碼管,用模擬串口的動(dòng)態(tài)顯示數(shù)據(jù)。 //溫度在寄存器中為 12 位,分辨率為 temp=f_temp*10+。 //讀高 8 位 temp=256*b+a。 //寫溫度 轉(zhuǎn)換指令 a=tempread()。 tempwritebyte(0xcc)。 dsreset()。 //寫跳過讀 ROM 指令 tempwritebyte(0x44)。 delay(1)。i++。 ds=1。 i=8。 while(i0) i。 ds=1。 i++。 dat=dat1。j++) { testb=datamp。 for(j=1。 uchar j。 //讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在 dat 里 } return(dat)。i++) { j=tempreadbit()。 for(i=1。 } uchar tempread(void) //讀 1字節(jié)的數(shù)據(jù)函數(shù) { uint i,j,dat。 while(i0)i。 //i++起到延時(shí)作用 dat=ds。i++。i++。 bit dat。 while(i0) i。 ds=1。 i=103。 19 圖 系統(tǒng)流程圖 顯示當(dāng)前溫度 判斷當(dāng)前溫度值 超過設(shè)定 溫度上限 紅燈亮 設(shè)定溫度上、下限 是 否 低于設(shè)定 溫度下限 是 紅燈亮 否 20 各個(gè)模塊子程序設(shè)計(jì) 溫度采
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1