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

正文內(nèi)容

單片機課程設(shè)計報告-基于at89c51單片機的數(shù)顯溫度傳感器設(shè)計-在線瀏覽

2024-07-17 21:00本頁面
  

【正文】 碼管的亮度就可以明顯的得到提升。電路圖如下:。K1是用 來進入上下限調(diào)節(jié)模式的,當按一下K1進入上限調(diào)節(jié)模式,再按一下進入下限調(diào)節(jié)模式。在調(diào)節(jié)上下限溫度模式下,K2是實現(xiàn)加1功能, K1是實現(xiàn)減1功能,K3是用來設(shè)定上下限溫度正負的。然后開始焊接硬件電路,在多孔板上焊出相應的電路,用杜邦線將各個模塊與單片機最小系統(tǒng)板連接在一起得到最終電路,用燒錄軟件將程序燒錄進單片機,最終以實際電路的形式展現(xiàn)出成果。軟件調(diào)試可以先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序和現(xiàn)實數(shù)據(jù)刷新子程序等的編程及調(diào)試四、總結(jié)(對整個設(shè)計工作過程進行歸納和綜合,對設(shè)計中所存在的問題和不足進行分析和總結(jié),提出解決的方法、措施、建議和對這次設(shè)計實踐的認識、收獲和提高。通過系統(tǒng)仿真軟件Proteus和編譯軟件Keil,使我們進一步了解了 單片機的設(shè)計制作過程,其中最為困難的是軟件部分,即編程部分,我們上網(wǎng)找了好多資料,雖然經(jīng)過自己的修改,但還是有很多功能不能實現(xiàn),如溫度上下限設(shè)置。在應用仿真的過程中,還出現(xiàn)了仿真軟件出現(xiàn)問題,不管怎樣修改程序,結(jié)果在仿真軟件上還是出現(xiàn)錯誤,后來發(fā)現(xiàn)是我們使用的軟件是盜版的所以他可能在仿真過程中出現(xiàn)錯誤,最終決定先將硬件焊接出來將程序?qū)戇M去看看結(jié)果,再對軟件進行相應的調(diào)整,最后焊接出來將程序?qū)戇M單片機經(jīng)過簡單的調(diào)整實現(xiàn)了實驗要求。綜上所述我們得出這樣的結(jié)論,應該借助軟件仿真證明我們方案的可行性,設(shè)計時實際電路和我們理論上的數(shù)值是有所差別的,我們也要學會將理論知識與實際結(jié)合起來,這樣我們才能在實際中提高自我能力,我們才能真正理解并在實際中運用我們的知識。 基于51單片機的溫度計* 功 能: 實時測量溫度,超過上下限報警,報警溫度可手動調(diào)整。在正常模式下, 按一下K2進入查看上限溫度模式,顯示1s左右自動退出; 按一下K3進入查看下限溫度模式,顯示1s左右自動退出; 按一下K4消除按鍵音,再按一下啟動按鍵音。 *********************************************************************/include include //(調(diào)用其中的_nop_()空操作函數(shù)延時)define uint unsigned int define uchar unsigned char uchar max=0x00,min=0x00。 //s是調(diào)整上下限溫度時溫度閃爍的標志位,s=0不顯示200ms,s=1顯示1s左右bit s1=0。 //聲明display1()函數(shù)(,)include include include /******************************************************//* 主函數(shù) //*****************************************************/void main(){ beer=1。 //關(guān)閉LED燈 timer1_init(0)。 //首次啟動DS18B20獲取溫度(DS18B20上電后自動將EEPROM中的上下限溫度復制到TH和TL寄存器) while(1) { keyscan()。 display(temp,temp_d*)。 }}/*********************************************************************** 程序名。 sbit key2=P2^1。 sbit key4=P3^3。 //定義全局變量i用于不同功能模式的選擇,‘0’正常模式,‘1’上限調(diào)節(jié)模式,‘2’下限調(diào)節(jié)模式uchar a=0。 //K4按鍵雙功能選擇位,k4=0時K4按鍵選擇消按鍵音的功能,k4=1時K4按鍵選擇正負溫度設(shè)定功能bit v=0。 //v1=1時定時1250ms時間到自動關(guān)閉報警上下限查看功能bit v2=0。 for(i=z。i) for(j=120。j)。 //v2=0開按鍵音,否則消按鍵音 keyscan_delay(10)。 //K2按下關(guān)按鍵音 if(f==0) //若溫度為正 { count++。}//當溫度值大于125時不上調(diào) if(a==2){if(count125) count=125。 //每按一下K2溫度下調(diào)1 if(a==1){if(count55) count=55。} } } while(key2==0)。 } if(key3==0) { if(v2==0)beer=0。 if(key3==0) //K3按按鍵時消抖 { beer=1。 //每按一下K3溫度為正時下調(diào)1,為負時上調(diào)1 if(a==1){if(count0) count=0。} } while(key3==0)。 //K3松開按鍵時消抖 } return count。 keyscan_delay(10)。 TR1=1。 //在上下溫度調(diào)節(jié)功能模式下選擇K4的調(diào)整上下限溫度正負的功能 v=1。 //K1按一下i加1,i=‘0’進入正常模式,i=‘1’進入調(diào)上限模式,i=‘2’進入調(diào)下限模式 if(i2) //K1按下三次后退出調(diào)節(jié)模式 { i=0。 //關(guān)定時器1 k4=0。 //在正常模式下選擇KK3的查看上下限報警溫度功能 store_t()。break。break。break。 } } while(key1==0)。 } if(a==1amp。v==1) //a=1選擇顯示上限溫度且v=1時選擇上下限溫度加功能 {led=0。}//顯示上限溫度 else if(a==2amp。v==1) //a=2選擇顯示下限溫度且v=1時選擇上下限溫度減功能 {led=1。} else。 keyscan_delay(5)。 if(a==1) {if(max55) f_max=0。}//當溫度大于55度時,只能設(shè)定為正溫度 if(a==2) {if(min55) f_max=0。}//當溫度大于55度時,只能設(shè)定為正溫度 } while(key4==0)。 } } if(v==0) //v=0時選擇上下限查看功能 { if(key2==0) { if(v2==0)beer=0。 if(key2==0) { beer=1。 //選擇上限顯示 TR1=1。 //上限顯示不閃爍,顯示一分鐘左右自動退出 } while(key2==0)。 } if(key3==0) { if(v2==0)beer=0。 if(key3==0) { beer=1。 //選擇下限顯示 TR1=1。 //下限顯示不閃爍,顯示1s自動退出 } while(key3==0)。 } if(v1==1) //v1=1時定時1s時間到自動關(guān)閉報警上下限查看功能 {a=0。TR1=0。 keyscan_delay(10)。 v2=~v2。 keyscan_delay(10)。 DS18B20頭文件 * 說 明:用到的全局變量是:無符號字符型變量temp(測得的溫度整數(shù)部分), temp_d(測得的溫度小數(shù)部分),標志位f(測量溫度的標志位‘0’表 示“正溫度”‘1’表示“負溫度”),標志位f_max(上限溫度的標志位 ‘0’表示“正溫度”、‘1’表示“負溫度”),標志位f_min(下限溫度的 標志位‘0’表示“正溫度”、‘1’表示“負溫度”),標志位w(報警標志位 ‘1’啟動報警‘0’關(guān)閉報警)。 //DS18B20接口sbit beer=P1^0。 //uchar temp=0。 //測量溫度的小數(shù)部分bit f=0。 //上限溫度的標志位‘0’表示“正溫度” ‘1’表示“負溫度”)bit f_min=0。 //報警標志位‘1’啟動報警,‘0’關(guān)閉報警。}void ds18b20_delayms(uint t) //延時1ms左右{ uint i,j。i0。j0。}/******************************************************//* DS18B20初始化函數(shù) //*****************************************************/void ds18b20_init() { uchar c=0。 DQ=0。 //延時1580μs DQ=1。 //等待DS18B20拉低總線,在60240μs之間 ds18b20_delayus(150)。 //拉高數(shù)據(jù)線,準備數(shù)據(jù)傳輸;}/******************************************************//* DS18B20字節(jié)讀函數(shù) //*****************************************************/uchar ds18b20_read() { ucha
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1