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

正文內容

課程設計-基于單片機的火災報警器設計-閱讀頁

2024-11-12 00:52本頁面
  

【正文】 余的兩個管腳分別連接蜂鳴器電路和紅色 led 電路即可完成此部分的設計。 藍色數碼管的電路已在 中敘述。這樣使得被來要占用的 10個單片機管腳變?yōu)?5 個。 東北大學 2020 屆畢業(yè)設計說明書 第 20 頁 共 37 頁 圖 系統(tǒng)控制電路 4 火災報警系統(tǒng)程序設計 軟件開發(fā)環(huán)境 本系統(tǒng)摒棄了傳統(tǒng)的匯編語言而采用 C 語言進行程序設計。數據結構方面,可以使用結構體和數組,能夠處理復雜的數據,可用于實時處理系統(tǒng)。 Keil C51 軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全 Windows 界面 。在開發(fā)大型軟件時更能 體現(xiàn)高級語言的優(yōu)勢。開發(fā)人員可用 IDE 本身或其它編輯器編輯 C 或匯編源文件。主要功能 要求:( 1)實時檢測至多 8 個監(jiān)測點的環(huán)境溫度、煙霧濃度等因素變化,以判斷是否出現(xiàn)火警 ; ( 2)判定某監(jiān)控點出現(xiàn)火警時進行聲光報警,并顯示此監(jiān)控點編號;( 3)能手動報警和取消報警;( 4)能手動進行系統(tǒng)檢測;( 5)監(jiān)控點數目可以通過鍵盤設置。高電頻意味著沒有出現(xiàn)異常,低電頻意味著煙霧指數出現(xiàn)異常。在讀取的同時也實現(xiàn)了判斷功能,因此也是把報警功能和取消報警功能跟煙霧數據采集結合于一體的原因。每采集一次溫度信息的流程為: 開始 初始化 判斷手動 /自動檢測 指定某監(jiān)測點檢測 輪流檢測某些監(jiān)測點 溫度煙霧信號采集 報警判斷 報警 是否取消報警 結束 取消報警 無異常 異常 自動 手動 東北大學 2020 屆畢業(yè)設計說明書 第 23 頁 共 37 頁 溫度采集子函數: unsigned int temperature(unsigned char Q) { unsigned char temp1,temp2。 rst18B20(Q)。 write18B20(Q,0x44)。 write18B20(Q,0xcc)。 temp1=read18B20(Q)。//高 8 位 temp=temp2。 temp+=temp1。 //保留一位小數 return temp。由于電路連接對應的是單片機的P3 口,所以該函數要借助輔助子函數 unsigned char getQ( unsigned char i)來將1~8 轉化為 P2 口的 P2^0~P2^7 管腳即: 0x01,0x02,0x04,0x10,0x20,0x40,持單總線操作。 火災判斷 /報警子程序 根據任務要求,火災判斷報警子程序要實現(xiàn)兩個功能: 、煙霧濃度值進行判斷,觸發(fā)報警; ,當報警產生時如果被按下,則取消當前的報警,如果再次被按下,則恢復報警功能。 temp=(i1)。 delaynms(1)。 if((denseamp。amp。temp)==0)){ led=0。 seg7(i,2)。amp。 led=0。 seg7(i,2)。 buzz=1。 } 此函數中的參數則指的是檢測點的位置。 數碼管顯示子函數: void seg7(unsigned char value,unsigned char lock){ if(value%2==1) AA=1。 value/=2。 else BB=0。 if(value%2==1) CC=1。 value/=2。 else DD=0。 delaynms(20)。 delaynms(20)。 }else if(lock==2){ //fire number lock2=1。 東北大學 2020 屆畢業(yè)設計說明書 第 25 頁 共 37 頁 lock2=0。 lock1=0。其中 AA、 BB、 CC、 DD 引腳連接的是 74LS47 芯片的輸入引腳,單片機控制這四個引腳輸出的 2 進制數經過 74LS47 譯碼,控制數碼管顯示相應的十進制數字。該程序中包含了毫秒延時函數。 for(x=ms。x) for(y=110。y)。 系統(tǒng)控制子程序 系統(tǒng)控制功能主要有三個 : ; ; 消 /恢復報警功能。根據設計的電路可知, 10個按鍵是經過兩個 83 編碼器連接到單片機的 P3^3~P3^7 五個引腳上的,并且兩個 83 譯碼器的 GS 端還通過一個與門連接到 P3^2 即外部中斷 0 口,所以系統(tǒng)控制子程序是通過外部中斷 0 實現(xiàn)的。 系統(tǒng)控制子程序: void keyValue() interrupt 0{ unsigned char temp。 EA=0。0xf8。//0011 1000 break。//1111 0000 break。//1110 1000 break。//1110 0000 break。//1101 1000 break。//1101 0000 break。//1100 1000 break。//1100 0000 break。//1011 1000 break。//0111 1000 break。amp。 alter=1。 }else if(keyV==10){ alter++。 } EA=1。 } 5 總結與展望 總結 本文設計 了一種基于單片機 AT89C52 的火災自動報警系統(tǒng),系統(tǒng)安全可靠,誤報率低,操作方便,成本較低。在系統(tǒng)的軟件設計方面,采用了模塊化程序設計方法,系統(tǒng)各個模塊的具體功能都是通過子程序調用實現(xiàn)的。 當發(fā)生火災,系統(tǒng)以聲光的形式發(fā)出報警。如果系統(tǒng)出現(xiàn)硬件故障,能發(fā)出故障報警;如果煙霧和溫度出現(xiàn)異常,則說明有火災,發(fā)出火災警報。 ( 2)火災報警系統(tǒng)沒有聯(lián)網,當發(fā)生火災時不能通過電話網絡向消防指揮中心報警。 l)早期、超早期的火災探測報警 超早期火災報警的主要指導思想是: (1)提高靈敏度,在火災早期階段生成物較少的時候即可探測報警 。為此,利用提高靈敏度實現(xiàn)早期火災探測報警的方法中,已經將粒子計數測量技術用于火災探測。 3)采用智能技術處理傳感器提供的火災信息 目前傳感器所提供的是混合型時間信息,做好對信息的處理,以彌補信息源頭的缺陷,盡可能提高報警的可靠性和后續(xù)工程系統(tǒng)聯(lián)動控制的準確性。 東北大學 2020 屆畢業(yè)設計說明書 第 29 頁 共 37 頁 附錄 1 系統(tǒng)程序 include //7seg sbit AA=P0^0。 sbit CC=P0^2。 sbit lock1=P0^6。 //blue //led sbit led=P0^4。 //fog define dense P1 define stdD 0xff //temperature define ww P2 //10key sbit P33=P3^3。 sbit P35=P3^5。 sbit P37=P3^7。 EX0=1。 } 東北大學 2020 屆畢業(yè)設計說明書 第 30 頁 共 37 頁 //all parameters unsigned int keyV=0。 //standard temperature =30 unsigned int tmpT=0。 //range from 1~8 unsigned char fireNum=0。danger=1。 //go on=0。 unsigned char alter=1。alternate=1。 } void delaynms(unsigned int ms) { unsigned int x,y。x。y。 } void rst18B20(unsigned char Q) { ww|=Q。 wwamp。 delay6us(80)。 delay6us(15)。 for(i=8。i) { wwamp。 temp=1。 if(CY) ww|=Q。=~Q。 ww|=Q。 for(i=8。i) { wwamp。 temp=1。//關鍵的神機!! if((wwamp。 delay6us(5)。 } 東北大學 2020 屆畢業(yè)設計說明書 第 32 頁 共 37 頁 unsigned int temperature(unsigned char Q) { unsigned char temp1,temp2。 rst18B20(Q)。 write18B20(Q,0x44)。 write18B20(Q,0xcc)。 temp1=read18B20(Q)。//高 8 位 temp=temp2。 temp+=temp1。 //保留一位小數 return temp。 //function2: 10key value void keyValue() interrupt 0{ unsigned char temp。 EA=0。0xf8。//0011 1000 break。//1111 0000 break。//1110 1000 break。//1110 0000 break。//1101 1000 break。//1101 0000 break。//1100 1000 break。//1100 0000 break。//1011 1000 break。//0111 1000 break。amp。 alter=1。//display the only number to check }else if(keyV==9){ cancel++。 //calculate the total number the check alternately if(alter8) alter=1。 EX0=1。 else AA=0。 if(value%2==1) BB=1。 value/=2。 else CC=0。 if(value%2==1) DD=1。 if(lock==1){ //total number lock1=1。 lock1=0。 lock2=0。 delaynms(20)。 delaynms(20)。 } } unsigned char getQ(unsigned char i){ unsigned char temp=0x01。 return temp。 temp=(i1)。 delaynms(1)。 if((denseamp。amp。temp)==0)){ led=0。 seg7(i,2)。amp。 led=0。 seg7(i,2)。 buzz=1。 } void main(){ unsigned char i=0。 unsigned char temp=0x01。 init_ext0()。 while(1){ seg7(alter,1)。 else { for(i=1。i++){ checkFun(i)。 //顯示指定位置的溫度 seg7(tmpT/100,2)。 seg7(tmpT%100/10,2)。 seg7(tmpT%10,2)。 */ 東北大學 2020 屆畢業(yè)設計說明書 第 37 頁 共 37 頁 } } /* 程序現(xiàn)象說明 : 1. 上電 , 默認檢測 1號位置的溫度和煙霧 , 任意一樣超標 , 紅色 led 燈點亮,蜂鳴器發(fā)聲,紅色數碼管顯示超標位 置的編號 1, 藍色數碼管顯示檢測位置的個數 1. 2. 通過按鍵 9設置取消或不取消報警。 3. 通過按鍵 1~ 8設置要檢測
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1