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

正文內(nèi)容

基于51單片機的糧倉溫濕度檢測系統(tǒng)-閱讀頁

2024-12-26 01:25本頁面
  

【正文】 或者斷開, LED 燈亮或者 LED 燈滅。 煙臺大學畢業(yè)論文(設計) 18 本章小結 本章主要介紹了系統(tǒng)單片機最小系統(tǒng)的設計及各模塊的功能原理。 煙臺大學畢業(yè)論文(設計) 19 第四章 系統(tǒng)的軟件設計 流程圖設計 系統(tǒng)總體流程圖 溫度檢測流程圖 程序開始執(zhí)行后, DS18B20 初始化,采集溫度信號,將數(shù)字量溫度 值傳送給單片機,對比溫度限值,超出限值做出相應動作,在限值之內(nèi)則繼續(xù)檢測。 否 是 DS18B20 測溫程序 include include include define uchar unsigned char define uint unsigned int HR202 檢測濕度 開始 將模擬量信號送入 A/D轉(zhuǎn)換 得到數(shù)字量濕度值 送入 1602顯示 判斷是否超過濕度限值 延時 濕度上限或濕度下限指示燈亮 煙臺大學畢業(yè)論文(設計) 21 define jump_ROM 0xCC define start 0x44 define read_EEROM 0xBE sbit DQ = P2^3。 /******************************************************************** * 名稱 : delay() * 功能 : 延時 ,延時時間大概為 140US。 for(i=0。 i++) for(j=0。 j++) 。 for(i=0。 i++) 。 for(j=0。j++) for(x=0。x++)。 DQ = 0。 DQ = 1。 deceive_ready = DQ。 return(deceive_ready)。 DQ = 0。 for(i=0。 i++)。 } /******************************************************************** * 名稱 : write_bit() 煙臺大學畢業(yè)論文(設計) 23 * 功能 : 向 DS18B20 寫一位 * 輸入 : bitval(要 對 DS18B20 寫入的位值) * 輸出 : 無 ***********************************************************************/ void write_bit(uchar bitval) { DQ=0。 delay(5)。 } /******************************************************************** * 名稱 : read_byte() * 功能 : 從 DS18B20 讀一個字節(jié) * 輸入 : 無 * 輸出 : 從 DS18B20 讀到的值 ***********************************************************************/ uchar read_byte(void) { uchar i,m,receive_data。 receive_data = 0。 i8。 } delay(6)。 } /******************************************************************** * 名稱 : write_byte() * 功能 : 向 DS18B20 寫一個字節(jié) * 輸入 : val(要對 DS18B20 寫入的命令值) * 輸出 : 無 ***********************************************************************/ void write_byte(uchar val) 煙臺大學畢業(yè)論文(設計) 24 { uchar i,temp。 i8。 temp = temp amp。 write_bit(temp)。 } } /******************************************************************** * 名稱 : Main() * 功能 : 主函數(shù) * 輸入 : 無 * 輸出 : 無 ***********************************************************************/ void main() { uchar lcd_string[2][33]={0}。 long delay_time = 5。 L1602_init()。 write_byte(jump_ROM)。 Reset()。 write_byte(read_EEROM)。 TMPH = read_byte()。 lcd_string[0][0] = temp/10%10 + 0x30。 lcd_string[0][1] = temp%10 + 0x30。= ~(0x01 2)。 if (temp 27) P3 amp。 煙臺大學畢業(yè)論文(設計) 25 else P3 |= (0x01 3)。 lcd_string[1][0] = temp1/10%10 + 0x30。 //添加濕度上下限 result 為濕度值 if (temp 55) P3 amp。 else P3 |= (0x01 4)。= ~(0x01 5)。 if(delay_time == 0) { L1602_string(1,1,lcd_string[0])。 delay_time = 5。 } } A/D 轉(zhuǎn)換程序 include STC12c5a60s2/ include //包含 _nop_()函數(shù)定義的頭文件 include void init_adc() { unsigned long i。 //開 A/D 轉(zhuǎn)換電源 ,第一次使用時要打開內(nèi)部模擬電源 for (i=0。i++)。 //選擇 作為 A/D 轉(zhuǎn)換通道 ADC_CONTR=0xE2。i10000。 //適當延時 } uchar adc_out() { uchar result。 ADC_CONTR|=0x08。 while(status==0) //等待 A/D 轉(zhuǎn)換結束 { status=ADC_CONTRamp。 } ADC_CONTRamp。 //將 ADC_FLAG 清 0 result=ADC_RES。 } 1602 顯示程序 include include /******************************************************************** * 名稱 : delay() * 功能 : 延時 ,延時時間大概為 140US。 for(i=0。 i++) for(j=0。 j++) 。 RS = 0。 E = 0。 E = 1。 } /******************************************************************** * 名稱 : write(uchar del) * 功能 : 1602 寫數(shù)據(jù)函數(shù) * 輸入 : 需要寫入 1602 的數(shù)據(jù) * 輸出 : 無 ***********************************************************************/ void write(uchar del) { DATA = del。 RW = 0。 delay()。 delay()。 enable(0x38)。 enable(0x06)。 煙臺大學畢業(yè)論文(設計) 28 } /******************************************************************** * 名稱 : L1602_char(uchar hang,uchar lie,char sign) * 功能 : 改變液晶中某位的值,如果要讓第一行,第五個字符顯示 b ,調(diào)用該函數(shù)如下 L1602_char(1,5,39。) * 輸入 : 行,列,需要輸入 1602 的數(shù)據(jù) * 輸出 : 無 ***********************************************************************/ void L1602_char(uchar hang,uchar lie,char sign) { uchar a。 if(hang == 2) a = 0xc0。 enable(a)。 } /******************************************************************** * 名稱 : L1602_string(uchar hang,uchar lie,uchar *p) * 功能 : 改變液晶中某位的值,如果要讓第一行,第五個字符開始顯示 ab cd ef ,調(diào)用該函數(shù)如下 L1602_string(1,5,ab cd ef。 if(hang == 1) a = 0x80。 a = a + lie 1。 while(1) { if(*p == 39。) break。 p++。在硬件的基礎上進行軟件編程,實現(xiàn)所需功 能。 初期使用的單片機是 STC89C52,但在后期的時候 需要用 A/D 轉(zhuǎn)換,換用帶有 A/D的 STC12C52A60S2。 在焊接控制電路時,往往出現(xiàn)這樣那樣的問題,在經(jīng)過檢測后,往往是 9012 的極性接錯,有的地方出現(xiàn)虛焊。 煙臺大學畢業(yè)論文(設計) 31 結束語 經(jīng)過為期幾周的畢業(yè)設計,實現(xiàn)了對溫度和濕度的檢測控制。在硬件電路搭建的過程中,通常只有一個大體思路,在具體執(zhí)行的時候發(fā)現(xiàn),阻擋設計進程的往往 是最底層最基本的知識,小到 9012 三極管的導通條件,大到傳感器的時序問題,只有把最底層的知識搞明白,才能順利的運用,出現(xiàn)問題也能及時的排解。深 覺在學習上學習方法和學習資料往往能起到至關重要的作用,為今后的學習工作積累了經(jīng)驗。臨近畢業(yè),自己能靜下心來學些東西,也是一件欣慰的事,或許做的東西不如別人的功能強,或許在進度上比別人慢,但還是自己盡力的一件事。 煙臺大學畢業(yè)論文(設計) 32 參考 文獻 [1]: 郭天祥 .51單片機 C語言教程 入門、提高、開發(fā)、拓展全攻略 [M].電子工業(yè)出版社 [2]:鄭峰 .51 單片機典型應用開發(fā)范例大全 [M].中國鐵道出版社 [3]:楊欣 .51 單片機應用實例詳解 [M].清華大學出版社 [4]:張毅剛 .單片機原理與應用設計 [M].電子工業(yè)出版社 [5]:彭偉 .單片機 C語言程序設計實訓 100 例 [M].電子工業(yè)出版社
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1