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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)報(bào)告-基于at89c51單片機(jī)的數(shù)顯溫度傳感器設(shè)計(jì)-文庫吧

2025-05-22 21:00 本頁面


【正文】 9X15cm萬用板(3連孔)1杜邦線15附錄二:實(shí)物焊接圖附錄三:程序/********************************************************************* 程序名。 基于51單片機(jī)的溫度計(jì)* 功 能: 實(shí)時(shí)測量溫度,超過上下限報(bào)警,報(bào)警溫度可手動(dòng)調(diào)整。 K1是用來進(jìn)入上下限調(diào)節(jié)模式的,當(dāng)按一下K1進(jìn)入上限 調(diào)節(jié)模式,再按一下進(jìn)入下限調(diào)節(jié)模式。在正常模式下, 按一下K2進(jìn)入查看上限溫度模式,顯示1s左右自動(dòng)退出; 按一下K3進(jìn)入查看下限溫度模式,顯示1s左右自動(dòng)退出; 按一下K4消除按鍵音,再按一下啟動(dòng)按鍵音。在調(diào)節(jié)上 下限溫度模式下,K2是實(shí)現(xiàn)加1功能,K1是實(shí)現(xiàn)減1功能, K3是用來設(shè)定上下限溫度正負(fù)的。 *********************************************************************/include include //(調(diào)用其中的_nop_()空操作函數(shù)延時(shí))define uint unsigned int define uchar unsigned char uchar max=0x00,min=0x00。 //max是上限報(bào)警溫度,min是下限報(bào)警溫度bit s=0。 //s是調(diào)整上下限溫度時(shí)溫度閃爍的標(biāo)志位,s=0不顯示200ms,s=1顯示1s左右bit s1=0。 //s1標(biāo)志位用于上下限查看時(shí)的顯示void display1(uint z)。 //聲明display1()函數(shù)(,)include include include /******************************************************//* 主函數(shù) //*****************************************************/void main(){ beer=1。 //關(guān)閉蜂鳴器 led=1。 //關(guān)閉LED燈 timer1_init(0)。 //初始化定時(shí)器1(未啟動(dòng)定時(shí)器1) get_temperature(1)。 //首次啟動(dòng)DS18B20獲取溫度(DS18B20上電后自動(dòng)將EEPROM中的上下限溫度復(fù)制到TH和TL寄存器) while(1) { keyscan()。 get_temperature(0)。 display(temp,temp_d*)。 alarm()。 }}/*********************************************************************** 程序名。 ds18b20keyscan函數(shù)* 功 能: 通過鍵盤設(shè)定設(shè)定上下限報(bào)警溫度**********************************************************************/ifndef __keyscan_H__ //定義頭文件define __keyscan_H__ sbit key1=P2^2。 sbit key2=P2^1。 sbit key3=P2^0。 sbit key4=P3^3。 uchar i=0。 //定義全局變量i用于不同功能模式的選擇,‘0’正常模式,‘1’上限調(diào)節(jié)模式,‘2’下限調(diào)節(jié)模式uchar a=0。 //定義全局變量a用于不同模式下數(shù)碼管顯示的選擇bit k4=0。 //K4按鍵雙功能選擇位,k4=0時(shí)K4按鍵選擇消按鍵音的功能,k4=1時(shí)K4按鍵選擇正負(fù)溫度設(shè)定功能bit v=0。 //KK3按鍵雙功能選擇位,v=0時(shí)選擇上下限查看功能,v=1時(shí)選擇上下限溫度加減功能bit v1=0。 //v1=1時(shí)定時(shí)1250ms時(shí)間到自動(dòng)關(guān)閉報(bào)警上下限查看功能bit v2=0。 //消按鍵音功能調(diào)整位,為‘0’時(shí)開按鍵音,為‘1’時(shí)關(guān)按鍵音/******************************************************//* 讀鍵盤延時(shí)子函數(shù) //*****************************************************/void keyscan_delay(uint z) //延時(shí)1ms左右{ uint i,j。 for(i=z。i0。i) for(j=120。j0。j)。}/******************************************************//* 溫度調(diào)節(jié)函數(shù) //*****************************************************/int temp_change(int count,bit f) //上下限溫度調(diào)整{ if(key2==0) //判斷K2是否按下 { if(v2==0)beer=0。 //v2=0開按鍵音,否則消按鍵音 keyscan_delay(10)。 //延時(shí)10ms if(key2==0) //再次判斷K2是否按下(實(shí)現(xiàn)按按鍵時(shí)消抖) { beer=1。 //K2按下關(guān)按鍵音 if(f==0) //若溫度為正 { count++。 //每按一下K2溫度上調(diào)1 if(a==1){if(count125) count=125。}//當(dāng)溫度值大于125時(shí)不上調(diào) if(a==2){if(count125) count=125。} } if(f!=0) //若溫度為負(fù) { count++。 //每按一下K2溫度下調(diào)1 if(a==1){if(count55) count=55。}//當(dāng)溫度值小于55時(shí)不再下調(diào) if(a==2){if(count55) count=55。} } } while(key2==0)。 //K2松開按鍵時(shí)消抖 keyscan_delay(10)。 } if(key3==0) { if(v2==0)beer=0。 keyscan_delay(10)。 if(key3==0) //K3按按鍵時(shí)消抖 { beer=1。 count。 //每按一下K3溫度為正時(shí)下調(diào)1,為負(fù)時(shí)上調(diào)1 if(a==1){if(count0) count=0。}//當(dāng)溫度值達(dá)到0時(shí)不再調(diào) if(a==2){if(count0) count=0。} } while(key3==0)。 keyscan_delay(10)。 //K3松開按鍵時(shí)消抖 } return count。}/******************************************************//* 讀鍵盤函數(shù) //*****************************************************/void keyscan(){ if(key1==0) { if(v2==0)beer=0。 keyscan_delay(10)。 if(key1==0) //K1按按鍵時(shí)消抖 { beer=1。 TR1=1。 //開定時(shí)器1,通過s標(biāo)志位的變化,實(shí)現(xiàn)在上下限溫度調(diào)整時(shí)溫度顯示時(shí)閃爍的功能 k4=1。 //在上下溫度調(diào)節(jié)功能模式下選擇K4的調(diào)整上下限溫度正負(fù)的功能 v=1。 //在上下溫度調(diào)節(jié)功能模式下選擇KK3的溫度加減功能 i++。 //K1按一下i加1,i=‘0’進(jìn)入正常模式,i=‘1’進(jìn)入調(diào)上限模式,i=‘2’進(jìn)入調(diào)下限模式 if(i2) //K1按下三次后退出調(diào)節(jié)模式 { i=0。 //進(jìn)入正常模式 TR1=0。 //關(guān)定時(shí)器1 k4=0。 //在正常模式下選擇K4的消按鍵音功能 v=0。 //在正常模式下選擇KK3的查看上下限報(bào)警溫度功能 store_t()。 //存儲(chǔ)調(diào)整后的上下限報(bào)警溫度 } switch(i) //顯示選擇 { case 0:a=0。break。 //a=0選擇顯示測得的溫度 case 1:a=1。break。 //a=1選擇顯示上限溫度 case 2:a=2。break。 //a=2選擇顯示下限溫度 default:break。 } } while(key1==0)。 //K1松按鍵時(shí)消抖 keyscan_delay(10)。 } if(a==1amp。amp。v==1) //a=1選擇顯示上限溫度且v=1時(shí)選擇上下限溫度加功能 {led=0。max=temp_change(max,f_max)。}//顯示上限溫度 else if(a==2amp。amp。v==1) //a=2選擇顯示下限溫度且v=1時(shí)選擇上下限溫度減功能 {led=1。min=temp_change(min,f
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1