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

正文內(nèi)容

智能家庭煙霧檢測火災(zāi)報警系統(tǒng)結(jié)構(gòu)設(shè)計(文件)

2025-07-13 02:49 上一頁面

下一頁面
 

【正文】 統(tǒng)單片機控制電路的設(shè)計上,采用了高性能、高整合度的STC89C52單片機作為核心芯片,充分利用了其高速數(shù)據(jù)處理能力和豐富的片內(nèi)外設(shè),實現(xiàn)了儀器的小型化和智能化。煙霧報警器能在較寬的溫度范圍工作,可將煙霧濃度顯示用LED數(shù)碼管顯示。到目前為止我的畢業(yè)設(shè)計也即將告一段落了,在這次的畢業(yè)設(shè)計中,自己也學習到了很多以前沒有沒有經(jīng)歷過的知識,讓我更加清楚了理論知識和實踐能力的差別了,了解到自己的短處,培養(yǎng)了我的獨立思考能力,進一步提高了自己在實際設(shè)計過程中研究問題、發(fā)現(xiàn)問題、解決問題的能力,同時,也發(fā)現(xiàn)了自己的不足之處,和一些問題的存在,并有待進一步學習和發(fā)展,讓自己在未來的工作和學習之中更快的適應(yīng)和提高自己。 回想大學四年的時光,仿佛盡在昨天。 //斷碼//數(shù)碼管位選定義uchar code smg_we[]={0x7f,0xbf,0xdf,0xef}。 //顯示數(shù)碼管的個位數(shù)sbit SCL=P3^4。 //18b20 IO口的定義sbit beep = P3^6。 //手動報警鍵uint huoyan。 //菜單設(shè)計的變量bit flag_lj_en。uchar flag_clock。 for(i=0。j++)。 byte_write(0x2001, s_dengji)。 a_a = byte_read(0x2060)。 a_a = 1。 //把總線拿高 delay_uint(1)。 //把總線拿高 等待 delay_uint(10)。 //把總線拿高 釋放總線}/*************寫18b20內(nèi)的數(shù)據(jù)***************/void write_18b20(uchar dat){ uchar i。 //把總線拿低寫時間隙開始 dq = dat amp。 //釋放總線 dat = 1。i++) { dq = 0。 delay_uint(5)。 //在讀取溫度的時候如果中斷的太頻繁了,就應(yīng)該把中斷給關(guān)了,否則會影響到18b20的時序 init_18b20()。 //500us init_18b20()。 low = read_18b20()。 //把溫度的高位左移8位 value |= low。 SCL=0。 //第一個上升沿 SCL=0。 DO=ODD。 for(i=0。 //開始從第四個下降沿接收數(shù)據(jù) value=1。i++) { //接收校驗數(shù)據(jù) value1=1。 } CS=1。}/***********************數(shù)碼顯示函數(shù)*****************************/void display(){ uchar i。 //位選 P1 = dis_smg[i]。 //位選 } }/*************定時器0初始化程序***************/void time_init() { EA = 1。 //允許定時器0定時}/****************按鍵處理數(shù)碼管顯示函數(shù)***************/void key_with(){ if(key_can == 4) //緊急報警鍵 手動報警 { if(menu_1 == 0) shoudong = 1。 //取溫度的個位數(shù)顯示 dis_smg[1] = smg_du[temperature / 10 % 10]。 //取十位顯示 dis_smg[2] = 0xbf 。 //取個位顯示 dis_smg[1] = 0xbf 。 } } if(menu_1 == 0) { if((key_can == 2) || (key_can == 3)) shoudong = 0。 dis_smg[0] = smg_du[s_temp % 10]。 //顯示A } if(key_can == 3) { if(flag_lj_3_en == 0) s_temp 。 //取個位顯示 dis_smg[1] = smg_du[s_temp / 10 % 10]。 else s_dengji ++ 。 dis_smg[2] = 0xbf 。 if(s_dengji = 1) s_dengji = 1。 dis_smg[3] = smg_du[11]。 else key_value = 0。 key_new = 1。 //清零 } } else { if((P2 amp。 key_new = 0。 //自動退出設(shè)置界變量清零 } } key_can = 20。 //自動退出設(shè)置界變量清零 key_new = 0。 (key_old == 1)) { switch(P2 amp。 break。 break。 if(value = 3) { value = 10。 (temperature (s_temp 1)) amp。 } }}void main(){ static uchar value。 //初始化定時器 delay_1ms(650)。 //讀取溫度值 if(flag_300ms == 1) { flag_300ms = 0。 huoyan = ad0832read(1,1)。 if(huoyan 2) { smg_i = 4。 //十位 dis_smg[0]=smg_du[temperature%10]。 //H。 //H。 //每300ms加一次 if(zd_break_value 100) //30秒后自動退出設(shè)置界面 { menu_1 = 0。 } } } display()。 // 50ms value ++。 if(key_time = 10) //500ms { key_time = 0。 flag_lj_3_en = 1。 //500ms flag_value ++。 //300ms value = 0。 TH0 = 0x3c。 zd_break_en = 0。 //H。 //H。 smg_i = 4。 //顯示煙物報警等級 dis_smg[2]= 0xbf。 if(menu_1 == 0) { if(temperature = 99) temperature = 99。 dengji = ad0832read(1,0)。 //獨立按鍵程序 if(key_can 10) { key_with()。 //讀取溫度值 init_eepom()。 (shoudong == 0)) //取消報警 { value = 0。 //蜂鳴器報警 } }else { if((dengji s_dengji) amp。 }/****************報警函數(shù)***************/void clock_h_l(){ static uchar value。 break。 break。 } if((key_new == 0) amp。 zd_break_en = 1。 //連加使能 zd_break_en = 1。 //按鍵按下的時候 else key_value = 0。 //關(guān)閉連加使能 flag_lj_3_en = 0。 key_value = 0。 if(key_new == 0) { //按鍵松開的時候做松手檢測 if((P2 amp。 //取個位顯示 dis_smg[1] = 0xbf 。 //顯示B } if(key_can == 3) { if(flag_lj_3_en == 0) s_dengji 。 dis_smg[0] = smg_du[s_dengji % 10]。 dis_smg[3] = smg_du[10]。 //按鍵按下未松開自動減三次之后每次自動減10 if(s_temp = 10) s_temp = 10 。 //取十位顯示 dis_smg[2] = 0xbf 。 //按鍵按下未松開自動加三次 else s_temp += 10。 dis_smg[3] = smg_du[11]。 //顯示A smg_i = 4。 } if(menu_1 == 1) { dis_smg[0] = smg_du[s_temp % 10]。 if(menu_1 = 3) { menu_1 = 0。 //定時器0、定時器1工作方式1 ET0 = 1。 P1 = 0xff。ismg_i。 if(value==value1) //與校驗數(shù)據(jù)比較,正確就返回數(shù)據(jù),否則返回0 return value。 SCL=1。 } for(i=0。i++) { SCL=1。 //第三個上升沿 SCL=0。 SCL=1。 CS=0。 //轉(zhuǎn)換到溫度值 return value。 //讀溫度高字節(jié) EA = 1。 //跳過64位ROM write_18b20(0xbe)。 //跳過64位ROM write_18b20(0x44)。 //返回數(shù)據(jù)}/*************讀取溫度的值 讀出來的是小數(shù)***************/uint read_temp(){ uint value。 //讀數(shù)據(jù)是低位開始 dq = 1。 for(i=0。 //向18b20總線寫數(shù)據(jù)了 delay_uint(5)。i8。 //讀取18b20初始化信號 delay_uint(20)。 //給復(fù)位脈沖 delay_uint(80)。 } }/***********************18b20初始化函數(shù)*****************************/void init_18b20(){ bit q。 //先讀 if(a_a != 1) //新的單片機初始單片機內(nèi)問EEPOM { s_temp = 50。 }/******************把數(shù)據(jù)從單片機內(nèi)部eepom中讀出來*****************/void read_eepom(){ s_temp = byte_read(0x2000)。}/******************把數(shù)據(jù)保存到單片機內(nèi)部eepom中******************/void write_eepom(){ SectorErase(0x2000)。i++) for(j=0。 //自動退出設(shè)置界面uchar a_a。 //按鍵連3次連加后使能 加的數(shù)就越大了 uchar key_time,flag_value。uchar key_can。 //溫度的變量uchar dengji,s_dengji。 //DO定義為P1口的第4位腳,連接ADC0832DO腳sbit CS=P3^2。uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}。是你們在生活和學習上不斷給與我支持、幫助和無微不至的關(guān)懷,是你們不斷地給與了我信心,讓我在人生中一次次堅強地走下去。從選題到完成設(shè)計,老師一直都是很悉心的給我講解著在設(shè)計中遇到的各種問題,循循善誘,嚴格把關(guān),幫助我開拓設(shè)計思路,并不斷地鼓舞著我,使我感到信心倍增,讓我非常積極地投入到設(shè)計中,不斷地完成設(shè)計中的一個個部分。通過現(xiàn)場標定及測試,分析煙霧濃度信號的實驗數(shù)據(jù),%LEL,在所規(guī)定誤差范圍177。由于煙霧傳感器需要在加熱狀態(tài)下工作,溫度越高,反應(yīng)越快,響應(yīng)時間和恢復(fù)時間就越快。該傳感器是對以烷類煙霧為主的多種煙霧有良好敏感特性的廣譜型半導體敏感器件。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1