




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
./單片機(jī)大作業(yè)題目:基于單片機(jī)實(shí)現(xiàn)GSM短信的防火_防盜報(bào)警系統(tǒng)設(shè)計(jì)_____________組員:苗哲哲、王敬博、穆文遠(yuǎn)_______所屬院:信息院____________專業(yè):通信工程__________班級:1401_____________指導(dǎo)教師:秋菊___________基于單片機(jī)實(shí)現(xiàn)GSM短信的防火防盜報(bào)警系統(tǒng)設(shè)計(jì)摘要:介紹了一個基于單片機(jī)、GSM短信模塊為核心的智能防火防盜報(bào)警系統(tǒng),并從基本工作原理、電路的構(gòu)成等進(jìn)行了詳細(xì)的闡述該系統(tǒng)采用主動式紅外傳感器和煙霧傳感器進(jìn)行檢測,可以實(shí)現(xiàn)遇到有人入侵時(shí),有火情出現(xiàn)有濃煙時(shí)及時(shí)燈光報(bào)警,并且以直觀的中文短信的方式,將具體的情況反應(yīng)到你的手機(jī)屏幕上,能確保你的家庭安全。該系統(tǒng)自動化程度高、適應(yīng)能力強(qiáng)、電路設(shè)計(jì)可靠、一般家庭都能接受。現(xiàn)代報(bào)警系統(tǒng)由簡單化、局部化逐步向著智能化、集成化的方向發(fā)展,為了克服傳統(tǒng)防盜報(bào)警系統(tǒng)通信方式存在線路被切斷或惡意占線的類似隱患或功耗很大等缺點(diǎn),設(shè)計(jì)了一個基于單片機(jī)實(shí)現(xiàn)的GSM短信模塊的家庭無線防火防盜報(bào)警系統(tǒng)。1總體方案設(shè)計(jì)本系統(tǒng)由單片機(jī)與GSM短信模塊、紅外煙霧傳感器、聲光報(bào)警模塊等組成,針對火災(zāi)信號,煙霧傳感器通過監(jiān)測煙霧的濃度來實(shí)現(xiàn)火災(zāi)防,紅外傳感器主要用于防盜,當(dāng)系統(tǒng)檢測到危險(xiǎn)信號時(shí),自動實(shí)現(xiàn)聲光報(bào)警并通過GSM模塊,給預(yù)先設(shè)置好的用戶發(fā)送短信,及時(shí)通知用戶。關(guān)鍵詞:單片機(jī);紅外傳感器;數(shù)據(jù)采集;報(bào)警電路2硬件電路設(shè)計(jì)2.1微處理器電路微處理器采用的是8位高性能的單片機(jī)STC89C52RC,該型號處理器能與51系列單片機(jī)完全兼容,它具有比51系列的單片機(jī)更為強(qiáng)大的功能,它的抗干擾能力強(qiáng)以及性能穩(wěn)定性高,可利用的資源比較豐富,8KB的flash存儲容量,512B的RAM容量,時(shí)鐘晶振可達(dá)80MHZ,性價(jià)比較高,可在高速低速應(yīng)用場合下均可良好應(yīng)用。2.2GSM模塊電路連接GSM是globalsystemformobilecommunications的簡寫,意思是:全球移動通信系統(tǒng)。GSM系統(tǒng)有以下重要特點(diǎn):防盜能力強(qiáng),網(wǎng)絡(luò)容量大,手機(jī)資源豐富,通話清晰,穩(wěn)定性強(qiáng)不易受到干擾,信息靈敏,耗電量低,機(jī)卡分離等優(yōu)點(diǎn),所以先如今被廣泛引用于世界上的各個國家。本設(shè)計(jì)采用的是西門子的TC35型GSM模塊,GSM模塊可以使用文字短信來實(shí)現(xiàn)遠(yuǎn)程的小批量數(shù)據(jù)傳輸,與單片機(jī)通過串口通信,波特率為96009600bps,通過SIM卡座來實(shí)現(xiàn)SIM卡的安裝、應(yīng)用。GSM模塊的引腳接線圖如圖2所示。2.3傳感器電路紅外傳感器對于防盜的紅外感應(yīng)器而言,本系統(tǒng)采用的是紅外線對射傳感器,對射紅外傳感器可適用于安裝在門窗和一切需要設(shè)防的位置,其采用的多光束綜合判斷,當(dāng)前方有障礙物遮擋其紅外感應(yīng)時(shí),紅外設(shè)備就被觸發(fā),極大的降低了傳感器的誤報(bào)現(xiàn)象;其次由于其安裝在門窗等位置,可使用戶夜間的正常活動不受到限制,這給用戶提供了便捷的夜間布防的可能性。煙霧傳感器<也可檢測氣體泄露>煙霧傳感器就是通過監(jiān)測煙霧的濃度來實(shí)現(xiàn)火災(zāi)防的。該設(shè)計(jì)采用的是MQ-2氣體傳感器,它采用的氣敏材料是在二氧化錫<SnO2>。當(dāng)傳感器所處環(huán)境中存在可燃?xì)怏w時(shí),傳感器的電導(dǎo)率將隨空氣中可燃?xì)怏w濃度的增加而增大。由于SnO2在清潔空氣中電導(dǎo)率較低,所以MQ-2氣體傳感器對液化氣、丙烷、氫氣的靈敏度高,對天然氣和其它可燃蒸汽的檢測也很理想。并且簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對應(yīng)的輸出信號,是一款適合多種應(yīng)用的低成本傳感器。2.4蜂鳴器聲光報(bào)警當(dāng)紅外傳感器感應(yīng)到了有物體穿過或者煙霧傳感器<氣體泄漏傳感器>感測到了有煙霧和有害氣體濃度達(dá)到泄漏時(shí),電路板上的顯示燈就會亮起,并且蜂鳴器會發(fā)出聲音,提示感應(yīng)器發(fā)現(xiàn)異物,可提醒人們注意!2.5放大電路的設(shè)計(jì)如圖5所示為最基本的放大電路,Vi是輸入電壓信號,Vo是輸出放大的電壓信號。圖5放大電路圖2.6時(shí)鐘電路的設(shè)計(jì)XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片振蕩器。石晶振蕩和瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動器件,XTAL2應(yīng)不接。因?yàn)橐粋€機(jī)器周期含有6個狀態(tài)周期,而每個狀態(tài)周期為2個振蕩周期,所以一個機(jī)器周期共有12個振蕩周期,如果外接石英晶體振蕩器的振蕩頻率為12MHZ,一個振蕩周期為1/12us,故而一個機(jī)器周期為1us[5]。如圖6所示為時(shí)鐘電路。圖6時(shí)鐘電路圖2.7復(fù)位電路的設(shè)計(jì)復(fù)位方法一般有上電自動復(fù)位和外部按鍵手動復(fù)位,單片機(jī)在時(shí)鐘電路工作以后,在RESET端持續(xù)給出2個機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作[6]。例如使用晶振頻率為12MHz時(shí),則復(fù)位信號持續(xù)時(shí)間應(yīng)不小于2us[7]。本設(shè)計(jì)采用的是外部手動按鍵復(fù)位電路。如圖7示為復(fù)位電路。圖7復(fù)位電路圖2.8發(fā)光二極管報(bào)警電路的設(shè)計(jì)由4個發(fā)光二極管接上電阻后連上單片的RXD的引腳,外接VCC,當(dāng)單片機(jī)的RXD引腳被置低電平后,發(fā)光二極管被點(diǎn)亮,起到報(bào)警作用[8]。圖8所示為發(fā)光二極管報(bào)警電路。圖8發(fā)光二極管報(bào)警電路圖2.9聲音報(bào)警電路的設(shè)計(jì)如下圖所示,用一個Speaker和三極管、電阻接到單片機(jī)的TXD引腳上,構(gòu)成聲音報(bào)警電路,如圖9示為聲音報(bào)警電路。圖9聲音報(bào)警電路圖2.10AT89C51單片機(jī)簡單概述2.10.1AT89C51單片機(jī)的結(jié)構(gòu)AT89C51單片機(jī)是美國Atmel公司生產(chǎn)低電壓,高性能CMOS8位單片機(jī),片含4kbytes的可反復(fù)擦寫的只讀程序存儲器〔EPROM和128bytes的隨機(jī)存取數(shù)據(jù)存儲器<RAM>,器件采用Atmel公司的高密度、非易失性存取技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器〔CPU和Flash存儲單元,功能強(qiáng)大[3]。AT89C51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。圖2為AT89C51單片機(jī)的基本組成功能方塊圖。由圖可見,在這一塊芯片上,集成了一臺微型計(jì)算機(jī)的主要組成部分,其中包括CPU、存儲器、可編程I/O口、定時(shí)器/計(jì)數(shù)器、串行口等,各部分通過部總線相連。下面介紹幾個主要部分。振蕩器和時(shí)序OSC程序存儲器4KBROM數(shù)據(jù)存儲器256BRAM/SFR振蕩器和時(shí)序OSC程序存儲器4KBROM數(shù)據(jù)存儲器256BRAM/SFR定時(shí)器/計(jì)數(shù)器2×16AT89C51CPU64KB總線擴(kuò)展控制器可編程I/O可編程全雙工串行口內(nèi)中斷圖2AT89C51功能方塊圖2.10.2AT89C51管腳說明ATMEL公司的AT89C51是一種高效微控制器。采用40引腳雙列直插封裝形式。AT89C51單片機(jī)是高性能單片機(jī),因?yàn)槭芤_數(shù)目的限制,所以有不少引腳具有第二功能。VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫1時(shí),其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址1時(shí),它利用部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入1后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流。P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3口管腳備選功能P3.0RXD〔串行輸入口P3.1TXD〔串行輸出口P3.2INT0〔外部中斷0P3.3INT1〔外部中斷1P3.4T0〔記時(shí)器0外部輸入P3.5T1〔記時(shí)器1外部輸入P3.6〔外部數(shù)據(jù)存儲器寫選通P3.7〔外部數(shù)據(jù)存儲器讀選通P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個機(jī)器周期的高電平時(shí)間。ALE/:當(dāng)訪問外部存儲器時(shí),地址鎖存允許端的輸出電平用于鎖存地址的地址字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。PSEN:外部程序存儲器的選通信號端。在由外部程序存儲器取指期間,每個機(jī)器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。/VP:當(dāng)保持低電平時(shí),則在此期間外部程序存儲器〔0000H-FFFFH,不管是否有部程序存儲器。注意加密方式1時(shí),將部鎖定為RESET;當(dāng)端保持高電平時(shí),此間部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源。XTAL1:反向振蕩放大器的輸入及部時(shí)鐘工作電路的輸入。XTAL2:反向振蕩器的輸出,如采用外部時(shí)鐘源驅(qū)動器件,應(yīng)不接。3軟件設(shè)計(jì)程序主要實(shí)現(xiàn)對家庭防火防盜的布防,啟動后,火焰?zhèn)鞲衅骱蜔熿F傳感器開始工作,GSM模塊和聲光報(bào)警模塊處于待命狀態(tài)。程序流程圖如圖6所示。3.1.1主程序工作流程圖按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖10所示;系統(tǒng)初始化系統(tǒng)初始化聲光報(bào)警結(jié)束檢測外部有無信號輸入聲光報(bào)警是否持續(xù)10秒開始啟動聲光報(bào)警電路開始報(bào)警是否還有檢測信號等待下次報(bào)警結(jié)束YNNYYN圖10主程序工作流程圖3.1.2本主程序?qū)崿F(xiàn)的功能是:當(dāng)單片機(jī)檢測到外部熱釋電傳感器送來的脈沖信號后,表示有人闖入監(jiān)控區(qū),從而經(jīng)過單片機(jī)部程序處理后,驅(qū)動聲光報(bào)警電路開始報(bào)警,報(bào)警持續(xù)10秒鐘后自動停止報(bào)警,然后程序開始循環(huán)工作,檢測是否還有下次觸發(fā)信號,等待報(bào)警從而使報(bào)警器進(jìn)入連續(xù)工作狀態(tài)。同時(shí),利用中斷方式可以實(shí)現(xiàn)報(bào)警持續(xù)時(shí)間未到10秒時(shí),用手工按鍵停止的聲光報(bào)警的作用。手工按鍵停止報(bào)警中斷服務(wù)程序工作流程圖,如下圖11所示;中斷源發(fā)出中斷申請中斷源發(fā)出中斷申請關(guān)中斷、保護(hù)現(xiàn)場INTO端有輸入信號關(guān)閉報(bào)警恢復(fù)現(xiàn)場、開中斷中斷返回圖11中斷服務(wù)程序工作流程圖3.2軟件仿真本設(shè)計(jì)通過利用Proteus仿真,將所編寫的程序用Keil軟件編譯,所仿真原理圖見附錄C。本設(shè)計(jì)所要求達(dá)到的目標(biāo)是在接收到紅外傳感器帶來的低電平信號,可使圖中的綠燈由暗變亮,紅燈產(chǎn)生報(bào)警,可觀察到紅燈一閃一閃的。當(dāng)報(bào)警結(jié)束后,綠燈亮起。4部分程序4.1溫度傳感器模塊讀取18B20的代碼主要是遵循協(xié)議針對部寄存器進(jìn)行操作,主要函數(shù)有1.DS18B20_init該函數(shù)在每次讀取的時(shí)候使用,具體代碼如下:/**///函數(shù)功能:初始化18B20//輸入?yún)?shù):無//輸出參數(shù):無//輸入輸出參數(shù):無//返回值:無//創(chuàng)建日期:/**/voidDS18B20_init<void>{bitq;DS18B20_IO=1;//把總線拿高delay_uint<1>;//15usDS18B20_IO=0;//給復(fù)位脈沖delay_uint<80>;//750usDS18B20_IO=1;//把總線拿高等待delay_uint<10>;//110usq=DS18B20_IO;//讀取18b20初始化信號delay_uint<20>;//200usDS18B20_IO=1;//把總線拿高釋放總線}其中的延遲函數(shù)可以具體參考數(shù)據(jù)手冊,滿足一定圍即可。2.DS18B20_write該函數(shù)往部寄存器寫數(shù)據(jù),當(dāng)然寫命令也是一樣道理/**///函數(shù)功能:往18B20部寫數(shù)據(jù)//輸入?yún)?shù):要寫的數(shù)據(jù)//輸出參數(shù):無//輸入輸出參數(shù):無//返回值:無//創(chuàng)建日期:/**/voidDS18B20_write<uchardat>{uchari;}for<i=0;i<8;i++>{//寫數(shù)據(jù)是低位開始DS18B20_IO=0;//把總線拿低寫時(shí)間隙開始DS18B20_IO=dat&0x01;//向18b20總線寫數(shù)據(jù)了delay_uint<5>;//60usDS18B20_IO=1;//釋放總線dat>>=1;}3.DS18B20_read/**///函數(shù)功能:從18B20讀取一個字節(jié)數(shù)據(jù)//輸入?yún)?shù):無//輸出參數(shù):無//輸入輸出參數(shù):無//返回值:讀取到的一個字節(jié)//創(chuàng)建日期:/**/ucharDS18B20_read<void>{uchari,value;for<i=0;i<8;i++>{DS18B20_IO=0;//把總線拿低讀時(shí)間隙開始value>>=1;//讀數(shù)據(jù)是低位開始DS18B20_IO=1;//釋放總線if<DS18B20_IO==1>//開始讀寫數(shù)據(jù)value|=0x80;delay_uint<5>;//60us讀一個時(shí)間隙最少要保持60us的時(shí)間}returnvalue;}4.從18B20讀取2個字節(jié)的溫度數(shù)據(jù)/**///函數(shù)功能:從18B20讀取兩個字節(jié)的溫度值//輸入?yún)?shù):無//輸出參數(shù):無//輸入輸出參數(shù):無//返回值:讀取到的溫度數(shù)據(jù)//創(chuàng)建日期:/**/uintDS18B20_read_temperature<void>{uintvalue;ucharlow;DS18B20_init<>;//初始化18b20DS18B20_write<0xcc>;//跳過64位ROMDS18B20_write<0x44>;//啟動一次溫度轉(zhuǎn)換命令delay_uint<50>;//500usDS18B20_init<>;//初始化18b20DS18B20_write<0xcc>;//跳過64位ROMDS18B20_write<0xbe>;//發(fā)出讀取暫存器命令EA=0;low=DS18B20_read<>;//讀溫度低字節(jié)value=DS18B20_read<>;//讀溫度高字節(jié)EA=1;value<<=8;//把溫度的高位左移8位value|=low;//把讀出的溫度低位放到value的低八位中value*=0.0625;//轉(zhuǎn)換到溫度值小數(shù)returnvalue;//返回讀出的溫度帶小數(shù)}4.2煙霧濃度檢測模塊該模塊的實(shí)際容就是讀取ADC0832的數(shù)據(jù)unsignedcharADC0832_read<bitSGL,bitODD>{unsignedchari=0,value=0,value1=0;SCL=0;DO=1;CS=0;//開始SCL=1;//第一個上升沿SCL=0;DO=SGL;SCL=1;//第二個上升沿SCL=0;DO=ODD;SCL=1;//第三個上升沿SCL=0;//第三個下降沿DO=1;for<i=0;i<8;i++>{SCL=1;SCL=0;//開始從第四個下降沿接收數(shù)據(jù)value<<=1;if<DO>value++;}for<i=0;i<8;i++>{//接收校驗(yàn)數(shù)據(jù)value1>>=1;if<DO>value1+=0x80;SCL=1;SCL=0;}CS=1;SCL=1;if<value==value1>//與校驗(yàn)數(shù)據(jù)比較,正確就返回?cái)?shù)據(jù),否則返回0returnvalue;return0;}4.3紅外熱釋電就是單個bit的讀取,這個是單片機(jī)的基本操作,不再贅述4.4TC35短信模塊操作就是針對串口的操作,具體參考TC35的使用手冊,按照手冊的要求發(fā)送數(shù)據(jù)到串口,就能實(shí)現(xiàn)。例如要求TC35模塊發(fā)送報(bào)警信息到指定手機(jī)的程序如下:voidsend_alarm_msg<uchar*p>{chang_phone<TC_PUD_4,p>;//交換要是字符的TC_send<TC_MSXZ_0,sizeof<TC_MSXZ_0>-1>;delay_1ms<300>;send_uart0_dat<TC_CMGS,sizeof<TC_CMGS>-1>;TC_send<TC_CMGS_NUM_ydyz,sizeof<TC_CMGS_NUM_ydyz>-1>;//發(fā)總長度delay_1ms<300>;send_uart0_dat<"00",2>;//前面在加兩個"00"send_uart0_dat<TC_PUD_3,sizeof<TC_PUD_3>-1>;send_uart0_dat<TC_PUD_4,sizeof<TC_PUD_4>-1>;//對方手機(jī)號send_uart0_dat<TC_PUD_5,sizeof<TC_PUD_5>-1>;send_uart0_dat<TC_PUD_6_long_ydyz,sizeof<TC_PUD_6_long_ydyz>-1>;//信息長度send_uart0_dat<TC_PUD_7_ydyz,sizeof<TC_PUD_7_ydyz>-1>;//信息容delay_1ms<300>;send_uart<0x1A>;send_uart<0x0D>;send_uart<0x0A>;flag_gsm_text=1;//設(shè)置為TEXT模式使能}4.5LCD1602該模塊主要實(shí)現(xiàn)往1602液晶控制器發(fā)送命令和發(fā)送數(shù)據(jù)函數(shù),代碼如下:voidLCD1602write_<uchar>{e=0;rs=0;rw=0;P0=;delay_uint<3>;e=1;delay_uint<25>;e=0;}voidLCD1602write_data<uchardat>{e=0;rs=1;rw=0;P0=dat;delay_uint<3>;e=1;delay_uint<25>;e=0;}4.6EEPROM由于是置的EEPROM,操作上與外接的有很大不同,STC的操作如下:unsignedcharbyte_read<unsignedintbyte_addr>{EA=0;ISP_ADDRH=<unsignedchar><byte_addr>>8>;/*地址賦值*/ISP_ADDRL=<unsignedchar><byte_addr&0x00ff>;ISP_CMD=ISP_CMD&0xf8;/*清除低3位*/ISP_CMD=ISP_CMD|RdCommand;/*寫入讀命令*/ISPgoon<>;/*觸發(fā)執(zhí)行*/ISP_IAP_disable<>;/*關(guān)閉ISP,IAP功能*/EA=1;return<ISP_DATA>;/*返回讀到的數(shù)據(jù)*/}voidbyte_write<unsignedintbyte_addr,unsignedcharoriginal_data>{EA=0;//SectorErase<byte_addr>;ISP_ADDRH=<unsignedchar><byte_addr>>8>;/*取地址*/ISP_ADDRL=<unsignedchar><byte_addr&0x00ff>;ISP_CMD=ISP_CMD&0xf8;/*清低3位*/ISP_CMD=ISP_CMD|PrgCommand;/*寫命令2*/ISP_DATA=original_data;/*寫入數(shù)據(jù)準(zhǔn)備*/ISPgoon<>;/*觸發(fā)執(zhí)行*/ISP_IAP_disable<>;/*關(guān)閉IAP功能*/EA=1;}4.7矩陣鍵盤掃描voidkey_scan<void>{staticucharkey_new=0,key_l;key_can=20;//按鍵值還原P1=0x0f;if<<P1&0x0f>!=0x0f>//按鍵按下{delay_1ms<1>;//按鍵消抖動if<<<P1&0x0f>!=0x0f>&&<key_new==1>>{//確認(rèn)是按鍵按下key_new=0;key_l=<P1|0xf0>;//矩陣鍵盤掃描P1=key_l;switch<P1>{case0xee:key_can=1;break;//得到按鍵值case0xde:key_can=4;break;//得到按鍵值case0xbe:key_can=7;break;//得到按鍵值case0x7e:key_can=10;break;//得到按鍵值case0xed:key_can=2;break;//得到按鍵值case0xdd:key_can=5;break;//得到按鍵值case0xbd:key_can=8;break;//得到按鍵值case0x7d:key_can=0;break;//得到按鍵值case0xeb:key_can=3;break;//得到按鍵值case0xdb:key_can=6;break;//得到按鍵值case0xbb:key_can=9;break;//得到按鍵值case0x7b:key_can=11;break;//得到按鍵值case0xe7:key_can=15;break;//得到按鍵值case0xd7:key_can=14;break;//得到按鍵值case0xb7:key_can=13;break;//得到按鍵值case0x77:key_can=12;break;//得到按鍵值}//write_sfm2<1,0,key_can>;}}elsekey_new=1;}主程序#include<STC15F104E.H>#include"intrins.h"voi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 插秧歌說課課件
- DB43-T 2793-2023 漁業(yè)水體底泥中氯硝柳胺的測定液相色譜-串聯(lián)質(zhì)譜同位素內(nèi)標(biāo)法
- 插畫技術(shù)課件下載網(wǎng)站
- 插畫家介紹課件
- 挫折小學(xué)心理健康課件
- 2024年圍巾、領(lǐng)帶、手帕項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2024年電子計(jì)算機(jī)外部設(shè)備及裝置項(xiàng)目資金申請報(bào)告代可行性研究報(bào)告
- 膝關(guān)節(jié)康復(fù)科普知識講課件
- 2025年企業(yè)可持續(xù)發(fā)展目標(biāo)(SDGs)與教育質(zhì)量提升報(bào)告
- 2025年農(nóng)業(yè)與食品行業(yè)綠色農(nóng)業(yè)發(fā)展研究報(bào)告
- 2024年山東煙臺財(cái)金集團(tuán)招聘筆試參考題庫含答案解析
- GB/T 43234-2023成型模斜導(dǎo)柱
- 中建公路工程10T龍門吊安拆方案
- 2023年石獅市國企招聘考試基礎(chǔ)題庫
- 藏象學(xué)說-五臟六腑課件
- 直臂式高空作業(yè)車安全管理培訓(xùn)課件-
- 虛擬現(xiàn)實(shí)應(yīng)用技術(shù)專業(yè)人才培養(yǎng)方案-rrl
- 廣東省省級政務(wù)信息化服務(wù)預(yù)算編制標(biāo)準(zhǔn)(運(yùn)維服務(wù)分冊)
- Web GIS原理與應(yīng)用-河南大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 動火作業(yè)安全培訓(xùn)演示文稿
- 新型光學(xué)生物測量儀晶星900性能特點(diǎn)及臨床應(yīng)用
評論
0/150
提交評論