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

正文內(nèi)容

基于stc89c52單片機(jī)的煤氣檢測報(bào)警系統(tǒng)設(shè)計(jì)(編輯修改稿)

2025-02-14 14:44 本頁面
 

【文章內(nèi)容簡介】 電源開關(guān)。D1為電源指示燈。圖11 電源接口電路4 系統(tǒng)軟件的設(shè)計(jì) 系統(tǒng)主程序設(shè)計(jì)及流程圖主程序流程圖如下圖12所示。首先要給傳感器預(yù)熱,因?yàn)镸Q型半導(dǎo)體電阻式煙霧傳感器在不通電存放一段時(shí)間后,再次通電時(shí),傳感器不能立即正常采集煙霧信息,需要一段時(shí)間預(yù)熱。程序初始化結(jié)束后,系統(tǒng)進(jìn)入監(jiān)控狀態(tài)。 譯碼顯示模塊報(bào)警數(shù)據(jù)處理ADC0832信號(hào)轉(zhuǎn)換MQ9煤氣氣體檢測信號(hào)采集將轉(zhuǎn)換的數(shù)據(jù)送到單片機(jī)報(bào)警煤氣濃度超過設(shè)定值 圖12 主程序流程圖 在整個(gè)報(bào)警系統(tǒng)工作中,煤氣濃度信息經(jīng)ADC0832轉(zhuǎn)換處理后,由單片機(jī)進(jìn)行分析處理,判斷系統(tǒng)是否啟動(dòng)報(bào)警。主程序還包括LED八段式數(shù)碼管濃度字符顯示功能、手動(dòng)報(bào)警功能、報(bào)警濃度設(shè)定功能,中斷子程序等,使報(bào)警器功能更加完善,給用戶帶來便利。5 硬件調(diào)試及調(diào)試中遇到的問題第一步為目測,單片機(jī)應(yīng)用系統(tǒng)電路全部手工焊接在洞洞板上,因此對(duì)每一個(gè)焊點(diǎn)都要進(jìn)行仔細(xì)的檢查。檢查它是否有虛焊、是否有毛剌等。第二步為萬用表測試,先用萬用表復(fù)核目測中認(rèn)為可疑的連線或接點(diǎn),查看它們的通斷狀態(tài)是否與設(shè)計(jì)規(guī)定相符,再檢查各種電源線與地線之間是否有短路現(xiàn)象。第三步為加電檢查。當(dāng)系統(tǒng)加電時(shí),首先檢查所有插座或器件引腳的電源端是否有符合要求的電壓值,接地端電壓值是否接近零,接固定電平的引腳端是否電平正確。第四步是聯(lián)機(jī)檢查。在對(duì)硬件電路調(diào)試過程中,還遇到了不少問題,第一次把所有的元件都焊上去后,都準(zhǔn)備調(diào)試了,才發(fā)現(xiàn)正負(fù)極的插針離得太近了,不容易接電源,本不該犯的錯(cuò)誤,這些都是由于自己的粗心大意造成的,所以說,做任何事情都必需經(jīng)過“三思而后行”,來不得半點(diǎn)的馬虎,否則浪費(fèi)了時(shí)間和精力。6 電路的調(diào)試首先燒入顯示程序,看顯示正不正常。在調(diào)試程序時(shí),發(fā)現(xiàn)有的指令用的不正確,導(dǎo)致電路功能不能完全實(shí)現(xiàn),另外軟件程序中的延時(shí)有的過長、有的過短。類似的現(xiàn)象還有很多就不一一列舉了。7 總結(jié)評(píng)價(jià) 本文中煤氣檢測報(bào)警系統(tǒng)的設(shè)計(jì),在智能控制方面,采用了單片機(jī)STC89C52作為系統(tǒng)控制核心,最大限度的將其具備的資源應(yīng)用到設(shè)計(jì)中,既體現(xiàn)了單片機(jī)小系統(tǒng)的應(yīng)用的靈活性,又實(shí)現(xiàn)功能多樣的智能控制。由于采用了單片機(jī)技術(shù)為主導(dǎo)的智能化管理,可實(shí)現(xiàn)對(duì)煤氣濃度的動(dòng)態(tài)監(jiān)控,運(yùn)行穩(wěn)定可靠,靈敏度高,具有非常重要的市場應(yīng)用價(jià)值。在實(shí)際使用中,不同的應(yīng)用場合有著不同的報(bào)警濃度下限。 經(jīng)過近一個(gè)月的畢業(yè)設(shè)計(jì),使我對(duì)集成電路的使用有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)好它要重在實(shí)踐,通過實(shí)踐,我也發(fā)現(xiàn)我的很多不足之處,把所學(xué)習(xí)到的知識(shí)融合到一塊還不是想象中的那么簡單,其中涉及了單片機(jī)、數(shù)字電子技術(shù)、模擬電子技術(shù)、protel 99se等學(xué)科知識(shí),要學(xué)好這門課程還需要更多的努力。 通過實(shí)踐的學(xué)習(xí),使我對(duì)整體的電路設(shè)計(jì)有了一個(gè)更全面的了解,鍛煉了重全局考慮局部的能力。深刻體會(huì)了理論聯(lián)系實(shí)際的重要性,從老師提出設(shè)計(jì)要求到完成設(shè)計(jì)報(bào)告,不斷的完善自己的設(shè)計(jì)和電路。在圖書館查資料到寫出具體的實(shí)施方案、畫出電路圖都要認(rèn)真考慮,尋找最優(yōu)的設(shè)計(jì)方案。經(jīng)過多次修改最終于實(shí)現(xiàn)了設(shè)計(jì)要求。 在大學(xué)四年的學(xué)習(xí)和課題研究期間,老師們給予我許多悉心的指導(dǎo)和幫助,教給我知識(shí)和為人處世的道理。尤其是這次畢業(yè)論文設(shè)計(jì),在這里非常感謝老師在設(shè)計(jì)中給我的建議、支持和幫助,非常感謝老師在我寫論文期間對(duì)我的引導(dǎo)和啟發(fā)。在整個(gè)論文的選題、理論研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)的過程中,自始至終得到了導(dǎo)師老師的悉心指導(dǎo)和深切關(guān)懷。感謝導(dǎo)師對(duì)我論文不厭其煩的精心修改,多次耐心地審閱了論文全稿,提出了許多寶貴的意見。還有一只在身邊支持的同學(xué),在我遇到問題時(shí),他們都盡心為我解答,如果遇到我們都不熟悉的問題,他們都和我一起動(dòng)手解決。由于老師的支持和同學(xué)的各方配合使我的課題能順利的完成。致謝 在完成本設(shè)計(jì)的寫作過程中,我十分感謝我的指導(dǎo)老師。從選題到完成設(shè)計(jì),老師一直都是很悉心的給我講解著在設(shè)計(jì)中遇到的各種問題,循循善誘,嚴(yán)格把關(guān),幫助我開拓設(shè)計(jì)思路,并不斷地鼓舞著我,使我感到信心倍增,讓我非常積極地投入到設(shè)計(jì)中,不斷地完成設(shè)計(jì)中的一個(gè)個(gè)部分。在此,再次感謝老師在設(shè)計(jì)上不斷地給與我?guī)椭?,讓我在大學(xué)里的最后一次的學(xué)習(xí)過程中,充分感受到了自己對(duì)學(xué)習(xí)的興趣和熱情,使我能夠圓滿地完成自己的畢業(yè)設(shè)計(jì)。 回想大學(xué)四年的時(shí)光,仿佛盡在昨天。最后,我還要感謝在我大學(xué)四年的學(xué)習(xí)期間給我極大關(guān)心和支持的家人、各位老師以及我的同學(xué)和朋友。是你們?cè)谏詈蛯W(xué)習(xí)上不斷給與我支持、幫助和無微不至的關(guān)懷,是你們不斷地給與了我信心,讓我在人生中一次次堅(jiān)強(qiáng)地走下去。參考文獻(xiàn) [1]童詩白 華成英 編著《模擬電子技術(shù)基礎(chǔ)》 高等教育出版社 2011年5月[2]李朝青 編著《單片機(jī)原理及接口技術(shù)》 北京航天航空大學(xué)出版社 2011年1月[3]馬忠梅 編著 《單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)》 航空航天出版社 2003年7月[4]佘新平 編著《數(shù)字電子技術(shù)》 華中科技大學(xué)出版社 2011年2月[5]薛永毅 王淑英 何希才 編著《新型電源電路應(yīng)用實(shí)例》 電子工業(yè)出版社 2001年10月[6].[7].[8].[9].[10][11].[12].[13].[14].[15].附件一:總體原理圖設(shè)計(jì)附件二:部分程序源代碼include include define uchar unsigned char define uint unsigned intinclude //數(shù)碼管段選定義 0 1 2 3 4 5 6 7 8 9 uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}。 //斷碼//數(shù)碼管位選定義uchar code smg_we[]={0x7f,0xbf,0xdf,0xef}。//uchar code smg_we[]={0xfe,0xfd,0xfb,0xf7}。uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}。 uchar smg_i = 3。 //顯示數(shù)碼管的個(gè)位數(shù)sbit SCL=P3^4。 //SCL定義為P1口的第3位腳,連接ADC0832SCL腳sbit DO=P3^3。 //DO定義為P1口的第4位腳,連接ADC0832DO腳sbit CS=P3^2。 //CS定義為P1口的第4位腳,連接ADC0832CS腳sbit dq = P3^5。 //18b20 IO口的定義sbit beep = P3^6。 //蜂鳴器IO口定義uint temperature,s_temp 。 //溫度的變量uchar dengji,s_dengji。 //煤氣等級(jí)uchar shoudong。 //手動(dòng)報(bào)警鍵uint huoyan。bit flag_300ms 。uchar key_can。 //按鍵值的變量uchar menu_1。 //菜單設(shè)計(jì)的變量bit flag_lj_en。 //按鍵連加使能bit flag_lj_3_en。 //按鍵連3次連加后使能 加的數(shù)就越大了 uchar key_time,flag_value。 //用做連加的中間變量bit key_500ms 。uchar flag_clock。uchar zd_break_en,zd_break_value。 //自動(dòng)退出設(shè)置界面uchar a_a。/***********************1ms延時(shí)函數(shù)*****************************/void delay_1ms(uint q){ uint i,j。 for(i=0。iq。i++) for(j=0。j120。j++)。}/***********************小延時(shí)函數(shù)*****************************/void delay_uint(uint q){ while(q)。}/******************把數(shù)據(jù)保存到單片機(jī)內(nèi)部eepom中******************/void write_eepom(){ SectorErase(0x2000)。 byte_write(0x2000, s_temp)。 byte_write(0x2001, s_dengji)。 byte_write(0x2060, a_a)。 }/******************把數(shù)據(jù)從單片機(jī)內(nèi)部eepom中讀出來*****************/void read_eepom(){ s_temp = byte_read(0x2000)。 s_dengji = byte_read(0x2001)。 a_a = byte_read(0x2060)。}/**************開機(jī)自檢eepom初始化*****************/void init_eepom(){ read_eepom()。 //先讀 if(a_a != 1) //新的單片機(jī)初始單片機(jī)內(nèi)問EEPOM { s_temp = 50。 s_dengji = 5。 a_a = 1。 write_eepom()。 } }/***********************18b20初始化函數(shù)*****************************/void init_18b20(){ bit q。 dq = 1。 //把總線拿高 delay_uint(1)。 //15us dq = 0。 //給復(fù)位脈沖 delay_uint(80)。 //750us dq = 1。 //把總線拿高 等待 delay_uint(10)。 //110us q = dq。 //讀取18b20初始化信號(hào) delay_uint(20)。 //200us dq = 1。 //把總線拿高 釋放總線}/*************寫18b20內(nèi)的數(shù)據(jù)***************/void write_18b20(uchar dat){ uchar i。 for(i=0。i8。i++) { //寫數(shù)據(jù)是低位開始 dq = 0。 //把總線拿低寫時(shí)間隙開始 dq = dat amp。 0x01。 //向18b20總線寫數(shù)據(jù)了 delay_uint(5)。 // 60us dq = 1。 //釋放總線 dat = 1。 } }/*************讀取18b20內(nèi)的數(shù)據(jù)***************/uchar read_18b20(){ uchar i,value。 for(i=0。i8。i++) { dq = 0。 //把總線拿低讀時(shí)間隙開始 value = 1。 //讀數(shù)據(jù)是低位開始 dq = 1。 //釋放總線 if(dq == 1) //開始讀寫數(shù)據(jù) value |= 0x80。 delay_uint(5)。 //60us 讀一個(gè)時(shí)間隙最少要保持60us的時(shí)間 } return value。 //返回?cái)?shù)據(jù)}/*************讀取溫度的值 讀出來的是小數(shù)***************/uint read_temp(){ uint value。 uchar low。 //在讀取溫度的時(shí)候如果中斷的太頻繁了,就應(yīng)該把中斷給關(guān)了,否則會(huì)影響到18b20的時(shí)序 init_18b20()。 //初始化18b20 write_18b20(0xcc)。 //跳過64位ROM write_18b20(0x44)。 //啟動(dòng)一次溫度轉(zhuǎn)換命令 delay_uint(50)。 //500us init_18b20()。 //初始化18b20 write_18b20(0xcc)。 //跳過64位ROM write_18b20(0xbe)。 //發(fā)出讀取暫存器命令 EA = 0。 low = read_18b20()。 //讀溫度低字節(jié) value = read_18b20()。 //讀溫度高字節(jié) EA = 1。 value = 8。 //把溫度的高位左移8位 value |= low。 //把讀出的溫度低位放到value的低八位中 value *= 。 //轉(zhuǎn)換到溫度值 return value。 //返回讀出的溫度 }/***********讀數(shù)模轉(zhuǎn)換數(shù)據(jù)********************************************************/ //請(qǐng)先
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1