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

正文內(nèi)容

基于單片機(jī)的火災(zāi)報(bào)警系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-07-24 19:42 本頁面
 

【文章內(nèi)容簡介】 流程在該系統(tǒng)中,微控制器所做的主要工作就是不斷的讀取時(shí)鐘芯片內(nèi)部的年,月,日,周,時(shí),分,秒寄存器數(shù)據(jù)并將其顯示在液晶屏幕上。開始DS12C887初始化 調(diào)用函數(shù)獲取時(shí)鐘信息 送數(shù)據(jù)顯示 DS12C887程序流程圖 溫度測量元件控制程序流程室內(nèi)環(huán)境溫度和人們的生活息息相關(guān),隨著人們生活水平的提高,人們對和氣候相關(guān)的數(shù)據(jù)越來越關(guān)心。本系統(tǒng)具有室內(nèi)溫度測量功能,并且通過液晶顯示器顯示出來,界面直觀,可以讓人們很方便的了解當(dāng)前的環(huán)境溫度,并且能設(shè)置溫度上下限報(bào)警,超過設(shè)置溫度的上限或下限,蜂鳴器會(huì)報(bào)警。該系統(tǒng)采用DS18B20作為溫度傳感器,一個(gè)微控制器引腳可以掛接多個(gè)DS18B20,在微控制器發(fā)送指令時(shí),究竟哪一個(gè)DS18B20接收指令,由ROM匹配環(huán)節(jié)確定。本設(shè)計(jì)只用到一片DS18B20,所以不需要ROM匹配,直接發(fā)送跳過ROM匹配指令即可。復(fù)位DS18B20跳過ROM匹配送溫度轉(zhuǎn)換指令延時(shí)等待溫度轉(zhuǎn)換結(jié)束復(fù)位DS18B20跳過ROM匹配送讀溫度指令接收并保持溫度指令 DS18B20控制程序流程 公歷轉(zhuǎn)換成農(nóng)歷的基本原理 對于農(nóng)歷來說,大月為30天,小月為29天,這是固定不變的,這樣我們就可用1個(gè)BIT(1位)表示大小月信息。農(nóng)歷一年,如有閏月為13個(gè)月,否則是12個(gè)月,所以一年需要用13個(gè)BIT,閏月在農(nóng)歷中所在月份并不固定,2月到10月中的某個(gè)月。所以要表示閏月的信息,至少要4BIT,在這里我們用4BIT的值來表示閏月的月份。值為0表示本年沒有閏月,為1表示有閏月。有了以上的信息,還不足以判斷公歷日對應(yīng)的農(nóng)歷日,因?yàn)檫€需要有個(gè)參照日,我們選用農(nóng)歷正月初一所對應(yīng)的公歷日期作參照日是,公歷日最大為31日,需要5BIT來表示,而春節(jié)所在的月份不是在1月就是在2月,用1BIT就夠了,考慮到表達(dá)方便,我們用2BIT的值直接表示月份。這樣一年的農(nóng)歷信息只用3個(gè)字節(jié)就全部包括了。陽歷對陰歷數(shù)據(jù),每年三字節(jié),每年對應(yīng)的3字節(jié)數(shù)據(jù)格式說明如下:(1)第一字節(jié)BIT74位表示閏月份,為0,則無閏月,BIT30對應(yīng)陰歷第14個(gè)月 的大小(2)第二字節(jié)BIT70對應(yīng)陰歷第512月大小,(3) 第三字節(jié)BIT7表示陰歷第13月大小。月份對應(yīng)的位為1,表示農(nóng)歷月大(30天),為0表示小(29天)(4)第三字節(jié)BIT65表示春節(jié)的公歷月份,BIT40表示公歷日期 計(jì)算公歷對應(yīng)的農(nóng)歷日期的方法:先計(jì)算出公歷日離當(dāng)年元旦的天數(shù),然后查表取得當(dāng)年的春節(jié)日期,計(jì)算出春節(jié)離元旦的天數(shù),二者相減即可算出公歷日離春節(jié)的天數(shù),以后只要根據(jù)大小月和閏月信息,減月天數(shù),調(diào)整農(nóng)歷月份,即可推算出公歷日對應(yīng)的農(nóng)歷日期。如果公歷日不到春節(jié)日期,農(nóng)歷年要比公歷年小一年,農(nóng)歷大小取前一年的信息,農(nóng)歷月從12月向前推算。 操作與調(diào)試 軟件調(diào)試 在本系統(tǒng)中,硬件電路全部采用集成芯片設(shè)計(jì)。每一個(gè)集成芯片都有相應(yīng)的控制方法,即工作時(shí)序。在應(yīng)用一個(gè)集成芯片的時(shí)候,首先要認(rèn)真閱讀其讀寫時(shí)序,再了解它的初始化流程及指令集。該系統(tǒng)除含有單總線溫度傳感器芯片外,還含有液晶顯示模塊,其控制方式都非常麻煩,對軟件的設(shè)計(jì)要求很嚴(yán)格,尤其是溫度傳感器芯片,在對其讀寫過程中,要求有嚴(yán)格的延時(shí)。系統(tǒng)調(diào)試共分為兩大部分:一個(gè)是軟件仿真,另一個(gè)是硬件仿真。其中軟件仿真通過Keil uVision3實(shí)現(xiàn);硬件部分先在Proteus Professional上設(shè)計(jì)出硬件電路圖,并與Keil uVision3產(chǎn)生的hex文件實(shí)現(xiàn)聯(lián)調(diào),最后用萬能板焊成實(shí)物。在Proteus ,顯示屏12864用的是不帶字庫的,要想顯示漢字還要用字模軟件取字模,而在焊接實(shí)物時(shí)用的是帶字庫的顯示屏,顯示漢字時(shí)不用取字模,操作方便。 在Proteus 萬年歷實(shí)物,本次設(shè)計(jì)的最終結(jié)果展示:溫度過高,會(huì)提示“天氣炎熱注意防暑”調(diào)整分鐘時(shí),會(huì)有漢字提示設(shè)置溫度上下限報(bào)警設(shè)置鬧鐘的時(shí),分及鬧鐘狀態(tài) 具有節(jié)日提醒功能調(diào)整時(shí)間時(shí),會(huì)有趣味的提示本次設(shè)計(jì)采用STC89C52作為主控系統(tǒng),采用DS12C887作為時(shí)鐘電路基礎(chǔ),采用DS18B20作為溫度傳感器采集當(dāng)前溫度,采用12864作為顯示屏,采用四按鍵來調(diào)整時(shí)間。本萬年歷擁有年、月、日、星期、時(shí)、分、秒等功能,擁有閏月識(shí)別顯示功能,通過按鍵可以實(shí)現(xiàn)顯示年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能,擁有溫度顯示、節(jié)日提醒、鬧鐘功能、溫度上下限報(bào)警,達(dá)到了設(shè)計(jì)要求。總結(jié)與展望在該系統(tǒng)設(shè)計(jì)、調(diào)試完成之后,對最后的成功進(jìn)行分析,同時(shí)結(jié)合在調(diào)試過程中出現(xiàn)的錯(cuò)誤進(jìn)行綜合分析,總結(jié)在實(shí)際系統(tǒng)設(shè)計(jì)和調(diào)試過程中的寶貴經(jīng)驗(yàn)。在系統(tǒng)硬件設(shè)計(jì)之前,要結(jié)合當(dāng)前系統(tǒng)的發(fā)展趨勢和現(xiàn)狀對系統(tǒng)功能進(jìn)行定位,使系統(tǒng)在實(shí)際應(yīng)用中具有競爭力。該系統(tǒng)最大的特點(diǎn)就是界面友好,走時(shí)準(zhǔn)確,和現(xiàn)在使用LED顯示數(shù)據(jù)的萬年歷相比,體積更小,可以作為轎車車載顯示裝置。系統(tǒng)采用液晶顯示器,可以使該系統(tǒng)應(yīng)用到更加現(xiàn)代化的地方。該系統(tǒng)采用模塊化程序設(shè)計(jì)方法,同時(shí)保留了很多的微控制器I/O口,擴(kuò)展十分方便。以往的采用LED顯示數(shù)據(jù)的萬年歷要想實(shí)現(xiàn)功能擴(kuò)展,除需要對系統(tǒng)程序進(jìn)行修改外,還必須增加或刪減LED數(shù)碼管,同時(shí)要對LED圖片界面進(jìn)行更換,硬件改動(dòng)較大。本次設(shè)計(jì)中在最初的設(shè)計(jì)中,對于52單片機(jī)進(jìn)行了充分的了解,并與51相比較,了解了兩種單片機(jī)的不同,并最終決定使用STC89C52單片機(jī)制作。程序編寫中,由于思路不清晰,開始時(shí)遇到了很多的問題,通過和老師及同學(xué)的討論,以及對大量書籍資料和論壇中成功的品進(jìn)行借鑒,明白了編程中的的主要算法和實(shí)現(xiàn),從而解決問題。對于液晶屏幕,開始并不是很了解,在運(yùn)用時(shí)查看了大量的手冊資料,并閱讀了網(wǎng)友對于12864液晶的驅(qū)動(dòng)編寫代碼,從而掌握了12864液晶的使用。 該系統(tǒng)本身不僅具有很大的靈活性、方便的可擴(kuò)展性,同時(shí),在其基礎(chǔ)上的系統(tǒng)的市場需求也很可觀。而且對時(shí)間進(jìn)行控制。學(xué)校的電鈴,要根據(jù)時(shí)間進(jìn)行動(dòng)作;自動(dòng)配電系統(tǒng),要根據(jù)時(shí)間進(jìn)行通電或斷電等很多場合需要根據(jù)時(shí)間量進(jìn)行控制,本系統(tǒng)可以很好的滿足這些系統(tǒng)的要求。該系統(tǒng)在進(jìn)行軟件設(shè)計(jì)的時(shí)候,采用模塊化設(shè)計(jì)方法,方便調(diào)試中找出錯(cuò)誤。致 謝歷時(shí)將近幾個(gè)月的時(shí)間終于將這篇論文寫完,在論文的寫作過程中遇到了無數(shù)的困難和障礙,都在同學(xué)和老師的幫助下度過了。尤其要強(qiáng)烈感謝我的論文指導(dǎo)老師,她對我進(jìn)行了無私的指導(dǎo)和幫助,不厭其煩的幫助進(jìn)行論文的修改和改進(jìn)。在此向幫助和指導(dǎo)過我的各位老師表示最忠心的感謝。感謝這篇論文所涉及到的各位學(xué)者。本文引用了數(shù)位學(xué)者的研究文獻(xiàn),如果沒有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成本篇論文的寫作。感謝我的同學(xué)和朋友,在我寫論文的過程中給予我了很多素材,還在論文的撰寫和排版過程中提供熱情的幫助。由于我的學(xué)術(shù)水平有限,所寫論文難免有不足之處,懇請各位老師和學(xué)友批評(píng)和指正。鄭州航空工業(yè)管理學(xué)院畢業(yè)設(shè)計(jì)(論文)參考文獻(xiàn)[1] 譚浩強(qiáng).C程序設(shè)計(jì)(第二版).北京:清華大學(xué)出版社,1999[2] 龍忠琪,賈立新.?dāng)?shù)字集成電路教程[M].北京:科學(xué)出版社,2001[3] 楊振江,杜鐵軍,李群.流行單片機(jī)實(shí)用子程序及應(yīng)用實(shí)例[M].西安:西安電子科技大學(xué)出版社,2002[4] 馮建華,趙亮.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開發(fā)[M].北京:人民郵電出版社,2004[5] 何立民.單片機(jī)高級(jí)教程(第一版)[M].北京:北京航空航天大學(xué)出版社,2001[6] 周潤景,張麗娜.基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M].北京:北京航空航天大學(xué)出版社,2006[7] 余錫存.曹國華.單片機(jī)原理及接口技術(shù)[M].西安電子科技大學(xué)出版社,2004 [8] 張志良.單片機(jī)原理及控制技術(shù)(第2版).北京:機(jī)械工業(yè)出版社,2005 [9] 余永權(quán).MCS51系列單片機(jī)實(shí)用接口技術(shù)[M].北京:北京航空航天大學(xué)出版,1993 [10]余西存,曹國華.單片機(jī)原理及接口技術(shù)[M].西安電子科技大學(xué)出版,2000[11]求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M].人民郵電出版社,2004年5月 [12]張振榮.晉明武.MSC51系列單片機(jī)原理及實(shí)用技術(shù).人民郵電出版社,2000年6月 [13]吉雷.Protel99從入門到精通[M].西安:西安電子科技大學(xué)出版社,2004 [14]徐愛鈞,彭秀華.Keil Cx51 單片機(jī)高級(jí)語言編程與uVision2應(yīng)用實(shí)踐.北京:電子工業(yè)出版社,2004年6月[15]郭強(qiáng).最新液晶顯示應(yīng)用.電子工業(yè)出版社,2006年10月附錄一:系統(tǒng)硬件原理圖附錄二:元器件清單序號(hào)元件名稱型號(hào)及參數(shù)使用個(gè)數(shù)1電阻1K1個(gè)2電阻 10K11個(gè)3 電阻 1個(gè)4電阻 1個(gè)5 可調(diào)電阻10K 1個(gè)6三極管(NPN)Q1 (PNP 8550) 1個(gè)7揚(yáng)聲器SPEAKER 1個(gè)8瓷片電容30PF 2個(gè)9電解電容 10UF 1個(gè)10 晶振12MHZ 1個(gè)11時(shí)鐘芯片DS12C8871個(gè)12數(shù)字式溫度傳感器DS18B201個(gè)13帶字庫的128*64顯示屏1個(gè)14單片機(jī)STC89C521個(gè)15電池盒1個(gè)16輕觸開關(guān)5個(gè)17電源開關(guān)1個(gè)187號(hào)干電池3節(jié)附錄三:設(shè)計(jì)程序主函數(shù)include include include include include include uchar sec,min,hour,day,month,year,week。void di(){ speak=0。 delay(100)。 speak=1。}void beep(){ int i。 uchar hour1,min1,high,low。 hour1=read_ds(0x05)。 // 讀DS12C887 鬧鐘 時(shí)位 min1=read_ds(0x03)。 // 讀DS12C887鬧鐘 分鐘 high=(TH/16)*10+TH%16。//從DS18B20中讀取上限值,并轉(zhuǎn)換為10進(jìn)制 low=(TL/16)*10+TL%16。 // 從DS18B20中讀取上限值,并轉(zhuǎn)換為10進(jìn)制 hour=read_ds(4)。 // 讀DS12C887 時(shí)位 min=read_ds(2)。 // 讀DS12C887 的分 i=GetTemp()/。//對溫度取整 if(mm==1) { LCDTestWord(0,0x87)。 WriteDataLCD(0x0e)。 //顯示開鬧鐘標(biāo)志 WriteDataLCD(0x0e)。 } if(mm==0) { LCDTestWord(0,0x87)。 WriteDataLCD(0x01)。 //關(guān)鬧鐘顯示空白 WriteDataLCD(0x01)。 }/* if(((hour6amp。amp。hour23)amp。amp。sec==0amp。amp。min==0)amp。amp。mm==1) { speak=0。 delay(100)。 speak=1。 delay(10)。 } */ if((hour==hour1amp。amp。min==min1)amp。amp。mm==1) { //鬧鐘成立的條件,把從時(shí)鐘芯片中讀出的鬧鐘 時(shí),分和 //當(dāng)前時(shí)間的 時(shí),分比較,要是相同且鬧鐘狀態(tài)是開,則蜂鳴器響 di()。 delay(100)。 di()。 delay(500)。 } if((i+1high||ilow)amp。amp。mm==1) { //超過溫度上或小于下限且鬧鐘狀態(tài)開,則蜂鳴器報(bào)警 di()。 delay(100)。 di()。 delay(500)。 }} void main(){ Init_12887()。 LCDInit()。 LCDlear()。 PSB=1。//并口 while(1) { while(!next) { Key()。 WriteCommandLCD(0x0c)。 DisplayYear()。//顯示年 DisplayMonth()。//顯示月 DisplayDay()。//顯示日 DisplayWeek()。//顯示周 DisplayHour()。 //顯示時(shí) DisplayMin()。 //顯示分 DisplaySec()。//顯示秒 Holidays()。 //節(jié)日提醒 DisplayTemp()。 //顯示溫度 beep()。 /
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1