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

正文內(nèi)容

基于單片機的智能家居安防系統(tǒng)設(shè)計-文庫吧資料

2024-10-26 20:57本頁面
  

【正文】 32 頁 共 53 頁 圖 把源文件加入到工程中 在 “ 選擇文件 ” 對話框中選擇該文件。文件保存后可以看到源文件的標(biāo)題欄中顯示為文件路徑。在 File 菜單下選擇 “new”菜單項新建源文件,輸入源文件如圖 所示。保存完工程之后,彈出用 于選擇 CPU 期間的對話框,在這里選擇 ATMEL 公司的 AT89C52,按確定按鈕進入下一步驟。單擊 File 菜單下的 “new” 菜單項 中 創(chuàng)建新工程,出現(xiàn)對話框后,提示輸入工程名及選擇保存的文件夾。 Keil 還可以對編寫的無其它硬件要求的程序仿真,極大地提高了開發(fā)周期。因為 c 語言的可讀性強、可移植性好而且程 序員不需要對硬件了解的太多就可以編寫,缺點在于它在時間要求比較嚴(yán)格的場合不能做到很精確,這恰恰是匯編語言的優(yōu)點,所以這一部分可以用匯編編寫,再將它們混合在一起。現(xiàn)在對 keil 和 proteus 進行一個簡單的介紹。總結(jié):需要用某個中斷 功能時就 將它打 開,不用時就 將它關(guān)閉 ,這樣可以避免不必要的麻煩。在四次循環(huán)結(jié)束后將定時器關(guān)斷,這樣就不會循環(huán)不止 了。我們通過對摘掛機過程進戶線的極性存在跳變這一現(xiàn)象進行的硬件檢測配合軟件中的外部中斷 0子程序?qū)崿F(xiàn)的。就是定時器模式,在編程時需要加以區(qū)分,如果使用不當(dāng)會使定時器 /計數(shù)器錯誤工作。此時就要注意區(qū)分定時器與計數(shù)器,如果是定時器就不需要外設(shè),而計數(shù)器模式就是通過 T0 口對外部的脈沖進行計數(shù),進行這項控制的是 TMOD,如: TMOD=0x04。m++) {。n++) for(m=0。 for(n=0。在進入之前,首先要開中斷 EX0=1,再開全局中斷EA=1。片內(nèi)閃速存儲器的程序代碼或數(shù)據(jù)可在線寫入,也可通過常規(guī)的編程器編程。 二、單片機類型的選擇及開發(fā)步驟 AT89C52 單片機是一種低功耗、高性能、內(nèi)含 8KB 的閃速存儲器( Flash Memory)的 8 位 CMOS 微控制器。硬件設(shè)計和軟件設(shè)計不能截然分開,硬件設(shè)計時應(yīng)考慮軟件設(shè)計方法,而軟件設(shè)計時應(yīng)了解硬件的工作原理,在真?zhèn)€研制過程中互相協(xié)調(diào),以利于提高工作效率。硬件和軟件只有緊密配合、協(xié)調(diào)一致,才能組成高性能的單片機應(yīng)用系統(tǒng)。硬件指單片機擴展的存儲器、輸入 /輸出設(shè)備等硬部件組成的機器。 從 20 世紀(jì) 70年代開始,半導(dǎo)體廠商把微型機的最基本的部件制作在一個硅片內(nèi),于是就出現(xiàn)了一個大規(guī)模集成電路為主組成的微型計算機 —— 單片微型計算機( single chip microputer)簡稱單片機。} 畢業(yè)設(shè)計說明書 (論文 ) 第 25 頁 共 53 頁 第三章 系統(tǒng)的硬件設(shè)計 AT89C52 單片機概述 一、 單片機的發(fā)展與構(gòu)成 現(xiàn)在計算機采用了大規(guī)模集成電路,具有功能強、結(jié)構(gòu)緊湊、系統(tǒng)可靠等特征。} ********************************************* *******2 號報警函數(shù)播放報警語音 ************** ********************************************* Key2_Handler() {P22=0。 } } ********************************************* ******0 號報警函數(shù)播放報警語音 *************** ********************************************* Key0_Handler() {P20=0。 case(0x03):Key3_Handler()。 case(0x02):Key2_Handler()。 case(0x01):Key1_Handler()。} } ******************************************** ***報警類別選擇函數(shù)判別是哪種類型的報警 ***** ******************************************** KeyChoose() { switch(nKeyNumber) { case(0x00):Key0_Handler()。m510。n200。} ******************************************** ********延時函數(shù)用于短暫延時 **************** ******************************************** 畢業(yè)設(shè)計說明書 (論文 ) 第 23 頁 共 53 頁 void Delay() { int n,m。 //開外部中斷 0 EA=1。 //開定時器 0 TR0=1。 EX1=1。 //被叫用戶摘 機判別變量置位 TH0=0x3c。 //報警類型判別 P27=0。 //允許定時器工作位 0復(fù)位 SoundPlay()。 //關(guān)定時器 0 TF0=0。 //撥號次數(shù)變量復(fù)位 EX0=0。 EA=1。 EX0=1。 TH0=0x3c。 P2=0xff。 P10=0。amp。 //開全局中斷 } } } nCounter++。 //定時器 0溢出復(fù)位 EX0=1。 //開定時器 0 TR0=0。 EX1=1。 //被叫用戶摘機變量置位 TH0=0x3c。 //定時器 0 溢出復(fù)位 P27=0。 //關(guān)外部中斷 0 ET0=0。 //觸發(fā)中斷 k+=1。 //停止撥號 Delay()。 //開外部中斷 1 P10=0。 //開外部中斷 1 EA=1。 //定時器 0 工作方式 1 EX0=1。 P11=0。 //延時 if(DisplayYN==1) //被叫用戶是否接通判別 { DisplayYN=0。 if(nCounter==200) //是否延時十秒了 { P10=0。 ////定時器 0 開始工作 } *************************************************** ****定時器 0中斷進行延時以及撥號是否 4次的判別 ***** **********和被叫用戶是否摘機的判別 ***************** 畢業(yè)設(shè)計說明書 (論文 ) 第 20 頁 共 53 頁 **************************************************** void Timer0_Overflow() interrupt 1 using 0 { TH0=0x3c。 //開定時器 0 TF0=0。 TL0=0xaf。 TMOD=0x01。 //重撥 Delay()。 //撥號 Delay()。 //開外部中斷 1 nCounter=0。 if(P15==0) //是第 4種報警信號嗎? nKeyNumber=0x03。 if(P13==0) //是第 2種報警信號嗎? nKeyNumber=0x01。 //開全局中斷 } ************************************************** **********中斷 1進行判別報警類型和延時 ************ 畢業(yè)設(shè)計說明書 (論文 ) 第 19 頁 共 53 頁 ************************************************** void int1() interrupt 2 using 0 { P26=1。 //開外部中斷 0 EX1=1。 //允許定時器 0復(fù)位 TF0=0。 //定時器 0工作方式 1 ET0=1。 //掛機 P11=0。 //開外部中斷 1 EA=1。 //定時器 0溢出復(fù)位 EX0=1。 //開定時器 0 TR0=0。 //定時器初值 TL0=0xaf。 //重置撥號次數(shù)變量 TMOD=0x01。 //停止撥號 畢業(yè)設(shè)計說明書 (論文 ) 第 18 頁 共 53 頁 P2=0xff。 while(1) { if(k=4) //撥號是否到達四次 { P10=0。 //初始化 P27=1。 //報警類型變量 bit DisplayYN=0。 //定時器溢出的計數(shù)變量 int k=0。 //3 號報警音 void SoundPlay()。 //1 號報警 音 Key2_Handler()。 //報警音選擇函數(shù) Key0_Handler()。 //短延時函數(shù) MakeNew()。 // sbit P23=0xa3。 //外部中斷 1 sbit P20=0xa0。 // sbit P32=0xb2。 // 1 sbit P27=0xa7。 畢業(yè)設(shè)計說明書 (論文 ) 第 17 頁 共 53 頁 sbit P25=0xa5。 // sbit P15=0x95。 // sbit P13=0x93。 // sbit P11=0x91。 EA=1。 ET0=1。 EX1=0。 TH0=0x3c。 P27=0。 SoundPlay()。 P16=1。按此思路歸納出如下流程圖 : 圖 外部 0 中斷子程序 根據(jù)流程圖編寫出如下程序: void int0() interrupt 0 using 0 畢業(yè)設(shè)計說明書 (論文 ) 第 16 頁 共 53 頁 { EX0=0。 } } } nCounter++。 EX0=0。 ET0=1。 TL0=0xaf。 TMOD=0x01。 畢業(yè)設(shè)計說明書 (論文 ) 第 15 頁 共 53 頁 ET0=0。 P16=0。 P10=0。 P2=0xff。 } else
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1