![溫室大棚卷簾機(jī)控制系統(tǒng)總體方案設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/49fb432a2cd79a65b4b1edd08e0e361a/49fb432a2cd79a65b4b1edd08e0e361a1.gif)
![溫室大棚卷簾機(jī)控制系統(tǒng)總體方案設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/49fb432a2cd79a65b4b1edd08e0e361a/49fb432a2cd79a65b4b1edd08e0e361a2.gif)
![溫室大棚卷簾機(jī)控制系統(tǒng)總體方案設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/49fb432a2cd79a65b4b1edd08e0e361a/49fb432a2cd79a65b4b1edd08e0e361a3.gif)
![溫室大棚卷簾機(jī)控制系統(tǒng)總體方案設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/49fb432a2cd79a65b4b1edd08e0e361a/49fb432a2cd79a65b4b1edd08e0e361a4.gif)
![溫室大棚卷簾機(jī)控制系統(tǒng)總體方案設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/49fb432a2cd79a65b4b1edd08e0e361a/49fb432a2cd79a65b4b1edd08e0e361a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
. .. .--優(yōu)選目 錄2背景介紹2相關(guān)技術(shù)的狀況2設(shè)計(jì)的意義2其次章總體設(shè)計(jì)方案3構(gòu)造設(shè)計(jì)3本設(shè)計(jì)主要功能流程圖3第三章硬件設(shè)計(jì)模塊4單片機(jī)主掌握模塊4GSM5溫度顯示模塊7矩陣鍵盤模塊9步進(jìn)電機(jī)仿卷簾機(jī)模塊10第四章軟件設(shè)計(jì)錯(cuò)誤!未定義書(shū)簽。4.1 程序設(shè)計(jì)總流程圖114.2GSM11DS18B2014160217矩陣鍵盤程序設(shè)計(jì)21步進(jìn)電機(jī)程序設(shè)計(jì)23第五章調(diào)試與總結(jié)26調(diào)試26總結(jié)2727參考文獻(xiàn)2829背景介紹
第一章緒論2023128于沒(méi)有準(zhǔn)時(shí)停住卷簾機(jī),導(dǎo)致繩子在鐵桿上反纏,該婦女去拉繩子時(shí),不慎被繩子纏住圍巾,最終被勒住頸部,當(dāng)場(chǎng)死亡。相關(guān)技術(shù)的狀況簾機(jī)的升降,鋪張了時(shí)間。設(shè)計(jì)的意義內(nèi)的溫度狀況,準(zhǔn)時(shí)實(shí)現(xiàn)對(duì)溫室大棚的通風(fēng),使作物獲得適宜的生長(zhǎng)溫度,有利室內(nèi)根本恒溫,縮短蔬菜生長(zhǎng)周期,使蔬菜提前上市,提高經(jīng)濟(jì)效益。其次章 總體設(shè)計(jì)方案溫室大棚卷簾機(jī)掌握系統(tǒng)總體方案設(shè)計(jì)是依據(jù)其功能而設(shè)計(jì)的,從全局的角度,以系統(tǒng)的觀點(diǎn)而進(jìn)展整體方面的設(shè)計(jì),主要由GSM模塊、矩陣鍵盤設(shè)置模塊,步進(jìn)電機(jī)模擬卷簾機(jī)模塊等組成。構(gòu)造設(shè)計(jì)按鍵設(shè)置模塊AT89S52GSM按鍵設(shè)置模塊AT89S52GSM短信收發(fā)模塊單片機(jī)1602液晶顯示模塊溫度檢測(cè)模塊2-1總體框架構(gòu)造圖〕溫度檢測(cè)模塊其中卷簾機(jī)升降控AT89S52單片機(jī)作為本系統(tǒng)的主掌握模塊。按鍵設(shè)置模塊可設(shè)置最低報(bào)警溫度和卷簾機(jī)升降控治理人員手機(jī)。GSM卷簾機(jī)往上卷,假設(shè)為降指令,那么往下卷。同時(shí)18B20溫度傳感器將檢測(cè)到的LCD顯示,溫度一旦低于設(shè)置的值,單片機(jī)發(fā)短信給GSM,提示管理人員降下簾子。本設(shè)計(jì)主要功能流程圖〔圖2-2 功能流程圖〕小節(jié):本章對(duì)該設(shè)計(jì)的總體框架構(gòu)造體系設(shè)計(jì)進(jìn)展了論述,并對(duì)該設(shè)計(jì)的功能通過(guò)流程圖的形式進(jìn)展了介紹,硬件及軟件模塊的設(shè)計(jì)分別在第三章、第四章給以介紹。. .第三章 硬件設(shè)計(jì)模塊GSM模塊、溫度顯示模塊、按鍵模塊、步進(jìn)電機(jī)仿卷簾機(jī)五大模塊組成。下面分別對(duì)五大模塊進(jìn)展分析。單片機(jī)主掌握模塊局部,這里單片機(jī)主要進(jìn)展計(jì)算,推斷,進(jìn)制轉(zhuǎn)換等一系列工作,也是整個(gè)系統(tǒng)中最關(guān)鍵的局部,下面具體介紹一下單片機(jī)主掌握模塊的各個(gè)組成。AT89S52功能簡(jiǎn)介AT89S52和AT89S51〔如圖〕根本是一樣的,S52S51S52的定時(shí)器2不常用,故在此我們爭(zhēng)論S51,它是一個(gè)低功耗,高性能CMOS84kBytesISP(In-systemprogrammable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件承受ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-5180C518位中心處理器和ISPFlashAT89S51可為很多嵌入式掌握應(yīng)用系統(tǒng)供給高性價(jià)比的解決方案。AT89S51具有如下特點(diǎn):404kBytesFlash片內(nèi)程序存儲(chǔ)器,128bytes-優(yōu)選. .2216,2門狗〔WDT〕電路,片內(nèi)時(shí)鐘振蕩器。復(fù)位電路
(圖3-1-1 AT89S51引腳圖)為確保單片機(jī)系統(tǒng)中電路穩(wěn)定牢靠工作,復(fù)位電路是必不行少的局部,〔3.1.2時(shí)鐘電路過(guò)簡(jiǎn)單的時(shí)序電路完成不同指令功能的。時(shí)鐘的工作電路圖如〔3.1.3〔圖3-1-23-1-3GSM短信收發(fā)模塊GSM短信內(nèi)容,掌握卷簾機(jī)的升降。TC35模塊簡(jiǎn)介TC35是Siemens公司推出的一代無(wú)線通信GSM模塊,可以快速平安牢靠地實(shí)現(xiàn)系統(tǒng)方案中的數(shù)據(jù)語(yǔ)音傳輸、短消息效勞(ShortMessageService)和 模塊的工作電壓為3.3-5.5V,可以工作在900MHz和-優(yōu)選. .1800MHz兩個(gè)頻段,所在頻段功耗分別為2W〔900M〕和1W〔1800M。模塊有AT命令集接口,支持文本和PDU模式的短消息、第三組的二類 、以及2.4k,常用工作模式有省電模式IDLETALK等模式通過(guò)獨(dú)特的40引腳的ZIF連接器,實(shí)現(xiàn)電源連接、指令、數(shù)據(jù)、語(yǔ)音信號(hào)、及掌握信號(hào)的雙向傳輸。通過(guò)ZIF連接器及50Ω天線連接器,可分別連接SIM卡支架和天線。TC35引腳極其用法簡(jiǎn)介TC35401~14l~5VBATT+6~10引腳為電源地GND,ll~12引腳為充電端,13引腳為對(duì)外輸出電壓(供外部電路使用),24~29SIM;33~401530313215IGT(IgnitionTC35IGT一個(gè)大于100mV的低電平,模塊才能啟動(dòng)。30引腳為RTCBACKup;31引腳為掉電掌握;32引腳為SYNC,16~23引腳為數(shù)據(jù)輸入/輸出端。啟動(dòng)電路由漏極開(kāi)路三極管掌握。SYNCTC35的工作狀態(tài)。SYNCsynchronizationsignalLED燈的輸出狀態(tài)。SYNC端通過(guò)一個(gè)三極管或門電路來(lái)掌握LED。一個(gè)簡(jiǎn)潔的電路接法是:SYNC端通過(guò)一電阻接到NPN9013〕的基極,射極直接接地,集電極通過(guò)一個(gè)接限流電阻接到LED的負(fù)端,LED的正端接VCC。LED-優(yōu)選. .式完全類同于同步信號(hào),顯示的是TC35的工作狀態(tài):【1】LED燈滅,表示TC35電源關(guān)閉,處于休眠、報(bào)警或單純的充電模式【2】600ms亮/600msSIM卡,或者個(gè)人身份未登記/已注進(jìn)展中【3】75ms/3s畢時(shí)的狀態(tài)。溫度顯示模塊DS18B20LCD液晶上,并且當(dāng)溫度低于設(shè)定溫度時(shí),將溫度值發(fā)送給治理人員,讓治理人員知道溫室內(nèi)溫度變化。DS18B20溫度傳感器〔1〕DS18B20溫度傳感器簡(jiǎn)介DS18B20溫度傳感器是美國(guó)DALLAS9~12位的數(shù)字值讀數(shù)方式獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)展通信;多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無(wú)須外部器件;可通過(guò)3.0~5.5V;零待機(jī)功耗。零待機(jī)功耗;溫度以9或12位數(shù)字;治理人員可定義報(bào)警設(shè)置;報(bào)警搜尋命令識(shí)別并標(biāo)志超過(guò)程序限定溫度燒毀,但不能正常工作。-優(yōu)選. .. .--優(yōu)選〔2〕溫度檢測(cè)電路溫度檢測(cè)承受數(shù)字溫度計(jì)DS18B20。如圖〔3.3.1〕〔圖3-3-1〕1602字符型LCD〔1〕LCD字符型液晶顯示模塊是一種特地用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,16*1,16*2,20*2和40*2行等的模塊。本次設(shè)計(jì)選用的是XX太陽(yáng)人電XX160216023-3-2-1:3-3-2-1〕引腳功能說(shuō)明1602LCD1416說(shuō)明如下:第1腳:VSS為地電源。第2腳:VDD接5V正電源。3VL照度最高,比照度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影〞,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整比照度。4RS放器。5:R/WRS和R/W共同為低電尋常可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電尋常可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電尋常可以寫(xiě)入數(shù)據(jù)。6:EE令。7~14:D0~D78第15腳:背光源正極。第16腳:背光源負(fù)極?!?〕LCD本設(shè)計(jì)液晶顯示模塊的設(shè)計(jì)如以下圖〔3-3-2-2〕所示,該電路實(shí)現(xiàn)的功能是:AT89S52的P00~P078P2.2E端由高電平跳變成低電尋常,液晶模塊執(zhí)行命令,P2.1P2.0P2.1P2.0為低電平P2.1為高電P2.0為高電平P2.1,P2.0掌握存放器的選擇,高電尋常選擇數(shù)據(jù)存放器、低電尋常選擇指令存放器。3-3-2-2〕矩陣鍵盤模塊更符合實(shí)際生產(chǎn)的要求。4×4矩陣鍵盤的工作原理矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O,4條I/O列線組成的鍵盤。在行線和列線的每一個(gè)穿插點(diǎn)上,設(shè)置一個(gè)按鍵。這樣鍵盤中4×4I/O的利用率。鍵盤電路設(shè)計(jì)3-4-2:3-4-2〕步進(jìn)電機(jī)仿卷簾機(jī)模塊設(shè)計(jì)用二相四線步進(jìn)電機(jī)模擬卷簾機(jī)的升降。步進(jìn)電機(jī)的工作原理步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(稱為“步距角位移量,從而到達(dá)準(zhǔn)確定位的目的,同時(shí)可以通過(guò)掌握脈沖頻率來(lái)掌握電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而到達(dá)調(diào)速的目的。100%)的特點(diǎn),廣泛應(yīng)用于各種開(kāi)環(huán)掌握。VRPM混合式步進(jìn)電機(jī)〔HB〕和單相式步進(jìn)電機(jī)等。步進(jìn)電機(jī)模擬卷簾機(jī)的設(shè)計(jì)本設(shè)計(jì)步進(jìn)電機(jī)及驅(qū)動(dòng)器模塊設(shè)計(jì)的電路如以下圖,VCC接12VGNDA+、A-,B+、B-分別連接步進(jìn)電機(jī)的四根接線,CP+、CP-、CW+、CW-P10—P13該電路實(shí)現(xiàn)的功能是:通過(guò)AT89S51P10、P11、P12、P13信號(hào),其中P10、P12口輸出掌握水平方向和垂直方向脈沖的個(gè)數(shù),即兩個(gè)方向上的位移量;P11、P13P1通過(guò)硬件接線,發(fā)送到步進(jìn)電機(jī)的驅(qū)動(dòng)器,通過(guò)驅(qū)動(dòng)器掌握步進(jìn)電機(jī)的轉(zhuǎn)向和轉(zhuǎn)角。固然,其中還包括單片機(jī)的內(nèi)部振蕩電路,驅(qū)動(dòng)器匹配的電路等的設(shè)計(jì)。3-5-2〕步進(jìn)電機(jī)及驅(qū)動(dòng)器模塊設(shè)計(jì)電路圖引腳功能說(shuō)明P10、P12〔1、3P11、P13〔2、4本章節(jié)對(duì)單片機(jī)主掌握模塊、GSM點(diǎn)進(jìn)展了很認(rèn)真的分析與講解。第四章軟件設(shè)計(jì)GSMDS18B20程序設(shè)計(jì),1602液晶程序設(shè)計(jì),矩陣鍵盤程序設(shè)計(jì)及步進(jìn)電機(jī)程序組成。每一模塊都是先單獨(dú)調(diào)試,最終整體調(diào)試的。下面分別介紹一下各模塊的程序設(shè)計(jì)過(guò)程及留意點(diǎn)。程序設(shè)計(jì)總流程圖〔圖4-1 功能流程圖〕GSM短信模塊程序設(shè)計(jì)GSM模塊與手機(jī)之間的通信協(xié)議是一些 AT指令集,AT指令是以AT作首,字符完畢的字符串,AT指令的響應(yīng)數(shù)據(jù)包在中。每個(gè)指令執(zhí)行成功與否都有相應(yīng)的返回。所以本模塊的程序設(shè)計(jì)主要以發(fā)送 AT指令為著手點(diǎn)。用AT命令設(shè)置TC35AT“OK“,AT命令執(zhí)行成功。在短消息模塊設(shè)計(jì)的過(guò)程中,對(duì)于TC35的相關(guān)參數(shù)要進(jìn)展設(shè)置。具體應(yīng)用到的AT指令如下:設(shè)置發(fā)送模式短消息收發(fā)時(shí),必需要用AT命令設(shè)置TC35的發(fā)送和接收模式。在收發(fā)短消息時(shí),必需依據(jù)設(shè)置的模式對(duì)發(fā)送和接收的數(shù)據(jù)進(jìn)展相應(yīng)編碼和解碼。其中,PDU“AT+CMGF=1回車“。設(shè)置效勞中心依據(jù)前面介紹短消息收發(fā)技術(shù)原理,短消息的傳輸總是由處于GSM外部的短消息效勞中心進(jìn)展中繼。每個(gè)消息有自己的目的地或起源地,但只與用戶和SMSC有關(guān)因此要依據(jù)SIM卡的營(yíng)運(yùn)商設(shè)置相應(yīng)的效勞中心如設(shè)置XX聯(lián)通公司效勞中心的命令是,“AT+CSCA=0500 回車“。短消息發(fā)送at+cmgf=1回車at+csmp=17,167,0,0回車at+cscs=gsm回車at+cmgs=手機(jī)回車輸入短信內(nèi)容text格式+〔注:“ 〞ASCII值為26,即1AH〕發(fā)送短信子程序如下:;========================;發(fā)送短信程序;========================MAIN:MOVMOVMOVSP,#53H78H,#20H77H,#00H;設(shè)置堆棧指針;設(shè)置要發(fā)送的數(shù)據(jù)塊的首末地址MOV76H,#20HMOV75H,#40HACALLTRANS;調(diào)用發(fā)送子程序SJMP$TRANS:MOVSBUF,78H ;發(fā)送地址高8位WAT1:JNBTI,WAT1CLRTIMOVSBUF,77H;發(fā)送地址低8位WAT2:JNBTI,WAT2CLRTIMOVSBUF,76H ;發(fā)送地址高8位WAT3:JNBTI,WAT3CLRTIMOV SBUF,75H ;發(fā)送地址低8位WAT4: JNB TI,WAT4CLR TIMOV IE,#90H ;翻開(kāi)中斷允許存放器,承受中斷方式發(fā)送數(shù)據(jù)MOVDPH,78HMOVDPL,77HMOVXA,DPTRMOVSBUF,A;發(fā)送首個(gè)數(shù)據(jù)WAIT: JNB F0,WAITRET_INT:CLR TI ;關(guān)發(fā)送中斷標(biāo)志位TIINC DPTR ;數(shù)據(jù)指針加1,預(yù)備發(fā)送下一個(gè)數(shù)據(jù)MOV A,DPH ;推斷當(dāng)前被發(fā)送的數(shù)據(jù)地址是不是末地址CJNE A,76H,END1 址那么跳轉(zhuǎn)MOV A,DPLCJNE A,75H,END1SETEFO;數(shù)據(jù)發(fā)送完畢,置1標(biāo)志位CLRES;關(guān)串行口中斷CLREA;關(guān)中斷RETI;中斷返回END1:MOVXA,DPTR;將要發(fā)送的數(shù)據(jù)送累加器,預(yù)備發(fā)送MOVSBUF,A;發(fā)送數(shù)據(jù)RETI ;中斷返回DS18B20程序設(shè)計(jì)DS18B20溫度傳感器是DALLAS部的信息傳輸,由于硬件簡(jiǎn)潔,所以軟件設(shè)計(jì)相對(duì)麻煩,對(duì)時(shí)序掌控精度要求較高。18B2015us內(nèi)允許數(shù)據(jù)線拉倒高電平。主機(jī)要生成一個(gè)寫(xiě)0間隙,必需把數(shù)據(jù)線拉低電平并保持60us4.3.1?!矆D4-3-1DS18B20寫(xiě)時(shí)序圖〕18b20子程序的匯編程序如下:;========================================DS18B20的子程序(有具體的時(shí)序要求);========================================WRITE_1820:CLR
MOV R2,#8 ;一共8位數(shù)據(jù)WR1: CLRDQMOVR3,#6DJNZR3,$RRCAMOVDQ,CMOVR3,#23DJNZR3,$SETBDQSETB RET
NOPDJNZ R2,WR118B20程序設(shè)計(jì)主機(jī)生成讀時(shí)間間隙,從ds18b20輸出的數(shù)據(jù)在讀間隙的下降沿消滅的15us內(nèi)有效,因此主機(jī)停頓I/OI/O4.3.2。(圖4-3-2 DS18B20讀時(shí)序圖)18b20子程序的匯編程序如下:;===========================================DS18B20的程序;============================================READ_18200: MOVRE00: MOVRE01: CLRCSETB DQ
R4,#2 ;將溫度高位和低位從DS18B20中讀出R1,#TEMPER_L ;低位存入TEMPER_L(TEMPER_L);高位存入(TEMPER_H)R2,#8 ;數(shù)據(jù)一共有8位NOPNOPCLR NOPNOP
NOPSETBMOV
DQR3,#9RE10:DJNZR3,RE10MOV C,DQMOV R3,#23RE20: DJNZRRC ADJNZ MOV R1,ADEC R1DJNZ RET
R3,RE20單線總線的空閑狀態(tài)是高電平。無(wú)論任何理由需要暫停某一執(zhí)行過(guò)程時(shí),假設(shè)480us,總線上全部的器件都將復(fù)位。執(zhí)行序列通過(guò)單線總線端口訪問(wèn)DS18B20的協(xié)議流程圖如下:〔圖 4-3-2 協(xié)議流程圖〕4.41602液晶程序設(shè)計(jì)液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前肯定要確認(rèn)模塊液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前肯定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否那么此指令失效。要顯示字符時(shí)要先輸入顯示的忙標(biāo)志為低電平,表示不忙,否那么此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告知模塊在哪里顯示字符,圖4.4是1602的內(nèi)部顯示地址。〔圖4-4 1602LCD內(nèi)部顯示地址〕40H,40H在其次行第一個(gè)字符的位置呢?這樣不行,由于寫(xiě)入顯示地址時(shí)要求最高位D71所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)當(dāng)是01000000B〔40H〕+10000000B(80H)=11000000B(C0H)。4.4.1 1602初始化的程序設(shè)計(jì)的狀態(tài)。1602LCD15mS38H〔不檢測(cè)忙信號(hào)〕5mS38H〔不檢測(cè)忙信號(hào)〕5mS38H〔不檢測(cè)忙信號(hào)〕以后每次寫(xiě)指令、讀/寫(xiě)數(shù)據(jù)操作均需要檢測(cè)忙信號(hào)38H:顯示模式設(shè)置08H:顯示關(guān)閉01H:顯示清屏06H:顯示光標(biāo)移動(dòng)設(shè)置寫(xiě)指令0CH:顯示開(kāi)及光標(biāo)設(shè)置液晶初始化程序:;===================================;初始化;====================================INIT:MOVA,#38H;#38H-->ALCALL WIR;調(diào)寫(xiě)IR子程序MOVA,#0EH;#0EH-->A(顯示開(kāi),光標(biāo)開(kāi),光標(biāo)閃爍〕LCALL WIR;調(diào)寫(xiě)IR子程序MOVA,#06H;#06H-->ALCALL R;調(diào)寫(xiě)IR子程序RET;返回4.4.21602寫(xiě)指令與數(shù)據(jù)的程序設(shè)計(jì)1602寫(xiě)指令及數(shù)據(jù)的時(shí)序特點(diǎn);如圖4-4-2是1602寫(xiě)操作時(shí)序〔圖4-4-2依據(jù)圖4.4.2時(shí)序?qū)懼噶罴皵?shù)據(jù)程序如下:;==============================; 寫(xiě)指令;===============================WIR: ACALLCKLCD ;調(diào)查空閑子程序CLRE ;E清0CLRRS ;RS清0CLRRW ;RW清0SETBE ;E置1MOVP0,A ;A-->P0CLRE ;E清0RET ;返回;=====================================; 寫(xiě)數(shù)據(jù);=====================================WDR: ACALLCKLCD ;調(diào)查空閑子程序CLRE ;E清0SETBRS ;RS置1CLRRW ;RW清0SETBE ;E置1MOVP0,A ;A-->P0CLRE ;E清0RET ;返回矩陣鍵盤程序設(shè)計(jì)矩陣鍵盤又稱為行列式鍵盤,它是用4I/O4I/O列線組成的鍵盤。本模塊設(shè)計(jì)是先讀取鍵盤的狀態(tài),然后得到按鍵的特征編碼,再而讓液晶顯示。下面介紹一下鍵盤掃描的過(guò)程。先從P2口的高四位輸出低電平,低四位輸出高電平,從P2口的低四位讀取鍵盤狀態(tài)。再?gòu)腜2口的低四位輸出低電平,高四位輸出高電平,從P2口的高四位讀取鍵盤狀態(tài)。將兩次讀取結(jié)果組合起來(lái)就可以得到當(dāng)前按鍵的特征編碼。使用上述方法我們得到16個(gè)鍵的特征編碼。舉例說(shuō)明如何得到按鍵的特征編碼:假設(shè)“1〞鍵被按下,找其按鍵的特征編碼。P2P2.4-P2.7P2.0-P2.3為輸入口。讀P21101〞,其值為“0DH〞。P2P2.4-P2.7P2.0-P2.3為輸出口,讀P2“1110〞,其值為“E0H〞。將兩次讀出的 P2口狀態(tài)值進(jìn)展規(guī)律或運(yùn)算就得到其按鍵的特征編碼為“EDH〞。用同樣的方法可以得到其它15個(gè)按鍵的特征編碼。;========================================; 按鍵掃描子程序;========================================KEY_SCAN:;識(shí)別鍵盤有無(wú)鍵按下子程序MOVP2,#0F0H;置列線為0,行線為1MOVA,P2;讀P2口ANLA,#0F0H;取出高四位MOVB,A;暫存到BMOVP2,#0FH;置列線為1,行線為0MOVA,P2;讀P1口ANLA,#0FH;取出低四位ORLA,B;高四位與低四位規(guī)律或運(yùn)算重組合CJNEA,#0FFH,KEY_IN1;0FFH為無(wú)按鍵按下RETKEY_IN1:;識(shí)別具體按鍵值子程序MOVB,A;將按鍵的特征編碼暫存于BMOVDPTR,#KEYTABLEMOVR3,#0FFHKEY_IN2:碼。
INC R3 ;挨次碼加1MOV A,R3MOVC A,A+DPTR ;查表CJNE A,B,KEY_IN3 MOV A,R3 ;找到特征編碼后,取挨次碼MOV30H,A;存入30H單元RETKEY_IN3:CJNEA,#00H,KEY_IN2;末完,連續(xù)查RET;00H為完畢碼KEY_TABLE:DB0EEH,0EDH,0EBH,0E7H,0DEH ;0,1,2,3,4, 挨次碼DB0DDH,0DBH,0D7H,0BEH,0BDH ;5,6,7,8,9, DB0BBH,0B7H,07EH,07DH,07BH,077H;A,B,C,D,E,F挨次碼DB00H ; 完畢碼步進(jìn)電機(jī)程序設(shè)計(jì)步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度〔及步進(jìn)角〕??梢酝ㄟ^(guò)掌握脈沖個(gè)數(shù)來(lái)掌握角位移量,從而到達(dá)準(zhǔn)確定位的目的;同時(shí)還可以通過(guò)掌握脈沖頻率來(lái)掌握電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而到達(dá)調(diào)速的目的。所以在軟件編寫(xiě)時(shí)肯定要留意步進(jìn)電機(jī)時(shí)序的變化,時(shí)序圖如圖〔 4-6〕(圖4-6 步進(jìn)電機(jī)時(shí)序圖);===========================; 步進(jìn)電機(jī)子程序;===========================MOTO:MOVSP,50HSTOP:MOVP1,#0FFH;步進(jìn)電機(jī)停轉(zhuǎn)LOOP:JNBK1,MZZ2;是否K1按下,是那么轉(zhuǎn)正轉(zhuǎn)模塊JNBK2,MFZ2;是否K2按下,是那么轉(zhuǎn)反轉(zhuǎn)模塊JNBK3,STOP1;是否K3按下,是那么轉(zhuǎn)步進(jìn)電機(jī)停轉(zhuǎn)JMPLOOP;循環(huán)STOP1:ACALLDELAY;按K3鍵,消退抖動(dòng)JNBK3,$;K3放開(kāi)否?ACALLDELAY;放開(kāi)消退抖動(dòng)JMP STOP;步進(jìn)電機(jī)停轉(zhuǎn)MZZ2:ACALLDELAY;按K1鍵,消退抖動(dòng)JNBK1,$;K1放開(kāi)否?ACALLDELAY;放開(kāi)消退抖動(dòng)JMP MZZ;轉(zhuǎn)步進(jìn)電機(jī)正轉(zhuǎn)模塊MFZ2:ACALLDELAY;按K2鍵,消退抖動(dòng)JNBK2,$;K2放開(kāi)否?ACALLDELAY;放開(kāi)消退抖動(dòng)JMP MFZ;轉(zhuǎn)步進(jìn)電機(jī)反轉(zhuǎn)模塊MZZ:MOVR0,#00H;置表初值MZZ1:MOVA,R0MOVDPTR,#TABLE ;表指針MOVCA,A+DPTR ;取表代碼JZMZZ ;是否取到完畢碼?MOVP1,A ;從P1輸出,正轉(zhuǎn)JNBK3,STOP1 ;是否K3按下,是那么轉(zhuǎn)步進(jìn)電機(jī)停轉(zhuǎn)JNBK2,MFZ2 ;是否K2按下,是那么轉(zhuǎn)反轉(zhuǎn)模塊ACALLDELAY ;步進(jìn)電機(jī)轉(zhuǎn)速INC R0 ;取下一個(gè)碼JMP MZZ1RETMFZ: MOVR0,#05 ;反轉(zhuǎn)到TABLEMFZ1:MOVA,R0MOVDPTR,#TABLE ;表指針MOVCA,A+DPTR ;取表代碼JZ MFZ ;是否取到完畢碼?MOVP1,A ;從P1輸出,反轉(zhuǎn)JNBK3,STOP1 ;是否K3按下,是那么轉(zhuǎn)步進(jìn)電機(jī)停轉(zhuǎn)JNBK1,MZZ2 ;是否K1按下,是那么轉(zhuǎn)正轉(zhuǎn)模塊ACALLDELAY ;步進(jìn)電機(jī)轉(zhuǎn)速INC R0 ;取下一個(gè)碼JMP MFZ1RETTABLE: DB0F1H,0F3H,0F2H,0F6H; DB0F4H,0FCH,0F8H,0F9H;DB00H; ;正轉(zhuǎn)完畢碼DB0F1H,0F9H,0F8H,0FCH; DB0F4H,0F6H,0F2H,0F3H;DB00H; ;反轉(zhuǎn)完畢碼小節(jié):本章節(jié)對(duì)各模塊的軟件編程進(jìn)展了
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 社交媒體平臺(tái)隱私測(cè)試的關(guān)注點(diǎn)
- 2024-2025學(xué)年重慶市沙坪壩區(qū)南開(kāi)中學(xué)高二(上)期末地理試卷
- 萬(wàn)能撤銷處分申請(qǐng)書(shū)
- 特種設(shè)備使用單位落實(shí)主體責(zé)任職責(zé)清單
- 申請(qǐng)書(shū)值日生
- 綠色投資股權(quán)轉(zhuǎn)讓協(xié)議書(shū)(2篇)
- 四川省攀枝花市2022-2023學(xué)年高一下學(xué)期期末考試物理試題(解析版)
- 山西省運(yùn)城市2024-2025學(xué)年高二上學(xué)期11月期中考試物理試題(解析版)
- 白水泥工業(yè)的環(huán)保理念與市場(chǎng)機(jī)遇分析
- Module 8(單元測(cè)試)小學(xué)英語(yǔ)三年級(jí)下冊(cè) 外研版(一起)(含答案)
- 2025年廣西教育出版社有限公司招聘筆試參考題庫(kù)含答案解析
- 中醫(yī)膏方臨床應(yīng)用與制備工藝規(guī)范 DB32/T 4870-2024
- JJG(交通) 208-2024 車貨外廓尺寸動(dòng)態(tài)現(xiàn)場(chǎng)檢測(cè)設(shè)備
- 履帶式剪叉高空作業(yè)平臺(tái)安全操作規(guī)程
- 《水稻育秧技術(shù)新》課件
- 2024-2025年第一學(xué)期初中德育工作總結(jié)
- 圍手術(shù)期手術(shù)患者護(hù)理要點(diǎn)
- TSG07-2019鍋爐安裝工藝+焊接專用工藝卡+施工記錄表
- 2024-2025學(xué)年陜西省西安市浐灞區(qū)數(shù)學(xué)三年級(jí)第一學(xué)期期末統(tǒng)考試題含解析
- 《鈉離子電池用電解液編制說(shuō)明》
- 全球醫(yī)療旅游經(jīng)濟(jì)的現(xiàn)狀與未來(lái)趨勢(shì)
評(píng)論
0/150
提交評(píng)論