溫室大棚卷簾機控制系統(tǒng)總體方案設(shè)計_4842_第1頁
溫室大棚卷簾機控制系統(tǒng)總體方案設(shè)計_4842_第2頁
溫室大棚卷簾機控制系統(tǒng)總體方案設(shè)計_4842_第3頁
溫室大棚卷簾機控制系統(tǒng)總體方案設(shè)計_4842_第4頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、專業(yè)資料目錄第一章緒論21.1背景介紹21.2相關(guān)技術(shù)的情況21.3設(shè)計的意義2第二章總體設(shè)計方案32.1結(jié)構(gòu)設(shè)計32.2本設(shè)計主要功能流程圖4第三章硬件設(shè)計模塊53.1單片機主控制模塊63.2GSM短信收發(fā)模塊 .73.3溫度顯示模塊93.4矩陣鍵盤模塊123.5步進電機仿卷簾機模塊13第四章軟件設(shè)計154.1程序設(shè)計總流程圖154.2GSM短信模塊程序設(shè)計164.3DS18B20 程序設(shè)計 .194.41602液晶程序設(shè)計 .234.5矩陣鍵盤程序設(shè)計274.6步進電機程序設(shè)計30第五章調(diào)試與總結(jié)33WORD 完美格式下載可編輯專業(yè)資料5.1調(diào)試 .335.2總結(jié) .34致謝 . .36參

2、考文獻. .37附錄 . .39第一章緒 論1.1背景介紹2009 年 12 月 8 日傍晚,福興地某村一位中年婦女到自家大棚上放草簾,由于沒有及時停住卷簾機,導(dǎo)致繩子在鐵桿上反纏,該婦女去拉繩子時,不慎被繩子纏住圍巾,最終被勒住頸部,當場死亡。1.2相關(guān)技術(shù)的情況目前使用的溫室大棚卷簾機是靠人工送電,以達到控制卷簾機升降的目的,存在著很大的安全隱患。卷簾機本是幫助人們干活的工具,可有時卻成了殺人工具,而且不管溫室中是否有勞動任務(wù),管理人員必須親自到溫室按動按鍵實現(xiàn)卷簾機的升降,浪費了時間。1.3設(shè)計的意義本設(shè)計以發(fā)送短信的方式來控制卷簾機的升降,通過遠程控制,就能實現(xiàn)卷簾機的自動升降,一方面

3、可以有效的避免類似上述情況的發(fā)生,另一方面可減輕管理人員的勞動強度,在溫室中沒有勞動任務(wù)的時候不必親自到溫室,僅僅為實現(xiàn)大棚簾子的升降,節(jié)省了時間。同時本設(shè)計外加其他功能,一方面能檢測室內(nèi)WORD 完美格式下載可編輯專業(yè)資料溫度,將溫度以短信的形式發(fā)給管理人員,使管理人員能夠及時準確的了解溫室內(nèi)的溫度情況,及時實現(xiàn)對溫室大棚的通風(fēng),使作物獲得適宜的生長溫度,有利于作物的生長;另一功能就是當室內(nèi)溫度過低時,卷簾機能夠自動放簾,以保證室內(nèi)基本恒溫,縮短蔬菜生長周期,使蔬菜提前上市,提高經(jīng)濟效益。第二章總體設(shè)計方案溫室大棚卷簾機控制系統(tǒng)總體方案設(shè)計是根據(jù)其功能而設(shè)計的,從全局的角度,以系統(tǒng)的觀點而進

4、行整體方面的設(shè)計,主要由GSM短信收發(fā)模塊、溫度顯示模塊、矩陣鍵盤設(shè)置模塊,步進電機模擬卷簾機模塊等組成。2.1結(jié)構(gòu)設(shè)計按鍵設(shè)置模塊AT89S52GSM 短信收發(fā)模塊溫度檢測模塊單片機卷簾機升降控1602 液晶顯示模塊WORD 完美格式下載可編輯專業(yè)資料(圖 2-1 總體框架結(jié)構(gòu)圖)其中 AT89S52單片機作為本系統(tǒng)的主控制模塊。按鍵設(shè)置模塊可設(shè)置最低報警溫度和管理人員手機號碼。GSM模塊中的短信內(nèi)容由單片機進行判別,如讀到升起的指令,卷簾機往上卷,若為降指令,則往下卷。同時18B20溫度傳感器將檢測到的溫度傳輸?shù)絃CD顯示,溫度一旦低于設(shè)置的值,單片機發(fā)短信給GSM,提示管理人員降下簾子。

5、2.2本設(shè)計主要功能流程圖WORD 完美格式下載可編輯專業(yè)資料(圖 2-2功能流程圖)小節(jié): 本章對該設(shè)計的總體框架結(jié)構(gòu)體系設(shè)計進行了論述,并對該設(shè)計的功能通過流程圖的形式進行了介紹, 硬件及軟件模塊的設(shè)計分別在第三章、第四章給以介紹。第三章硬件設(shè)計模塊WORD 完美格式下載可編輯專業(yè)資料溫室大棚卷簾機控制系統(tǒng)硬件模塊主要由單片機主控制模塊、GSM短信收發(fā)模塊、溫度顯示模塊、按鍵模塊、步進電機仿卷簾機五大模塊組成。下面分別對五大模塊進行分析。3.1單片機主控制模塊本模塊主要由單片機最小系統(tǒng)搭建而成,主要包括復(fù)位電路與時鐘電路兩大部分,這里單片機主要進行計算,判斷,進制轉(zhuǎn)換等一系列工作,也是整個

6、系統(tǒng)中最關(guān)鍵的部分,下面具體介紹一下單片機主控制模塊的各個組成。功能簡介AT89S52和 AT89S51(如圖)基本是一樣的,S52 比 S51 多一個定時器,由于S52 的定時器 2 不常用,故在此我們討論 S51,它是一個低功耗,高性能 CMOS8位單片機,片內(nèi)含 4k Bytes ISP(In-system programmable)的可反復(fù)擦寫 1000次的 Flash 只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準 MCS-51指令系統(tǒng)及 80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8 位中央處理器和 ISP Flash 存儲單元,功能強大的微型計算機的 AT

7、89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S51具有如下特點: 40 個引腳,4k Bytes Flash片內(nèi)程序存儲器, 128WORD 完美格式下載可編輯專業(yè)資料bytes 的隨機存取數(shù)據(jù)存儲器( RAM),32 個外部雙向輸入 / 輸出( I/O )口,5 個中斷優(yōu)先級 2 層中斷嵌套中斷,2 個 16 位可編程定時計數(shù)器 ,2 個全雙工串行通信口,看門狗( WDT)電路,片內(nèi)時鐘振蕩器。(圖 3-1-1 AT89S51 引腳圖 )復(fù)位電路為確保單片機系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的部分,復(fù)位電路有上電自動復(fù)位和按鍵復(fù)位兩種,這里采用按鍵復(fù)位。其工作

8、電路圖( )。時鐘電路時鐘電路是單片機工作的心臟,它控制著單片機的工作節(jié)奏,單片機就是通過復(fù)雜的時序電路完成不同指令功能的。時鐘的工作電路圖如(3.1.3 )。( 圖 3-1-2復(fù)位電路)( 圖 3-1-3時鐘電路)3.2GSM短信收發(fā)模塊GSM短信收發(fā)的主要功能是收發(fā)短信,當溫度低于設(shè)定的值時自動給管理人員發(fā)送短信,給以報警提示,同時接受管理人員回復(fù)的短信,通過單片機判斷短WORD 完美格式下載可編輯專業(yè)資料信內(nèi)容,控制卷簾機的升降。模塊簡介TC35 是 Siemens 公司推出的新一代無線通信 GSM模塊,可以快速安全可靠地實現(xiàn)系統(tǒng)方案中的數(shù)據(jù)、語音傳輸、短消息服務(wù) (Short Mess

9、ageService) 和傳真。模塊的工作電壓為3.35.5V ,可以工作在 900MHz和1800MHz兩個頻段,所在頻段功耗分別為2W(900M)和 1W( 1800M)。模塊有 AT命令集接口,支持文本和 PDU模式的短消息、第三組的二類傳真、以及 2.4k ,4.8k ,9.6k 的非透明模式。 此外,該模塊還具有電話簿功能、多方通話,漫游檢測功能,常用工作模式有省電模式、 IDLE、TALK等模式。通過獨特的 40 引腳的 ZIF 連接器,實現(xiàn)電源連接、指令、數(shù)據(jù)、語音信號、及控制信號的雙向傳輸。通過ZIF 連接器及 50 天線連接器,可分別連接SIM卡支架和天線。引腳極其用法簡介T

10、C35有 40 個引腳, 114 引腳為電源部分,其中l(wèi) 5 引腳為電源電壓輸入端 VBATT+610 引腳為電源地 GND,ll 12 引腳為充電端, 13 引腳為對外輸出電壓 ( 供外部電路使用 ) ,2429 引腳為 SIM 卡連接端; 3340 引腳為語音接口用來接電話手柄。 15、30、31 和 32 引腳為控制部分, 15 引腳為啟動線 IGT(Ignition)。當 TC35通電后必須給 IGT 一個大于 100 mV的低電平,模塊才能啟動。30 引腳為RTC BACK up;31 引腳為掉電控制; 32 引腳為 SYNC,1623 引腳為數(shù)據(jù)輸入輸WORD 完美格式下載可編輯專

11、業(yè)資料出端。啟動電路由漏極開路三極管控制。在這里,著重介紹下SYNC引腳,因為該引腳可以很好的反映TC35的工作狀態(tài)。SYNC引腳可以用來輸出一個同步信號(synchronization signal),也可以在應(yīng)用時來控制一個LED燈的輸出狀態(tài)。 SYNC端通過一個三極管或門電路來控制LED。一個簡單的電路接法是:SYNC端通過一電阻接到NPN三極管(如 9013)的基極,射極直接接地,集電極通過一個接限流電阻接到LED的負端, LED的正端接 VCC。LED的工作模式完全類同于同步信號,顯示的是TC35的工作狀態(tài):【1】LED燈滅,表示 TC35電源關(guān)閉,處于休眠、報警或單純的充電模式【2

12、】600 ms 亮 / 600ms 滅,表示未插入 SIM 卡,或者個人身份未登記 / 已注銷,或者網(wǎng)絡(luò)正在搜尋中,或者正在進行管理人員身份鑒定,或者網(wǎng)絡(luò)注冊正在進行中【3】75ms 亮 / 3s 滅,表示網(wǎng)絡(luò)注冊成功(控制通道和管理人員交換信息完成),無來電【4】LED燈亮,依據(jù)不同的呼叫類型:聲音呼叫,數(shù)據(jù)呼叫,在建立或者完畢時的狀態(tài)。3.3溫度顯示模塊本模塊主要通過DS18B20溫度傳感器采集室內(nèi)溫度,將實時溫度顯示在LCD液晶上,并且當溫度低于設(shè)定溫度時,將溫度值發(fā)送給管理人員,讓管理人員知道溫室內(nèi)溫度變化。溫度傳感器( 1)DS18B20溫度傳感器簡介WORD 完美格式下載可編輯專業(yè)

13、資料DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9 12 位的數(shù)字值讀數(shù)方式獨特的單線接口僅需要一個端口引腳進行通信;多個DS18B20可以并聯(lián)在惟一的三線上, 實現(xiàn)多點組網(wǎng)功能; 無須外部器件; 可通過數(shù)據(jù)線供電, 電壓范圍為 3.0 5.5V;零待機功耗。零待機功耗; 溫度以或位數(shù)字;管理人員可定義報警設(shè)置; 報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。(2) 溫度檢測電路

14、溫度檢測采用數(shù)字溫度計DS18B20。如圖()(圖 3-3-1 )字符型 LCD液晶屏( 1)LCD簡介WORD 完美格式下載可編輯專業(yè)資料字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式 LCD,目前常用 16*1,16*2 ,20*2 和 40*2 行等的模塊。本次設(shè)計選用的是長沙太陽人電子有限公司的 1602 字符型液晶顯示器,下面介紹其用法。一般1602 字符型液晶顯示器實物如圖3-3-2-1 :(圖 3-3-2-1 )引腳功能說明1602LCD采用標準的 14 腳(無背光)或 16 腳(帶背光)接口,各引腳接口說明如下:第 1 腳: VSS為地電源。第 2 腳: VDD接

15、 5V 正電源。第 3 腳: VL 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個 10K 的電位器調(diào)整對比度。第 4 腳: RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第 5 腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。 當RS和 R/W共同為低電平時可以寫入指令或者顯示地址, 當 RS為低電平 R/W為高電平時可以讀忙信號,當 RS為高電平 R/W為低電平時可以寫入數(shù)據(jù)。第 6 腳:E 端為使能端,當 E 端由高電平跳變成低電平時, 液晶模塊執(zhí)行命令。第 7 14 腳: D0D7 為

16、 8 位雙向數(shù)據(jù)線。第 15 腳:背光源正極。WORD 完美格式下載可編輯專業(yè)資料第 16 腳:背光源負極。( 2) LCD 顯示電路本設(shè)計液晶顯示模塊的設(shè)計如下圖(3-3-2-2 )所示 , 該電路實現(xiàn)的功能是:通過 AT89S52的 P00P07八個口輸出控制信號,控制液晶的8 位雙向數(shù)據(jù)線,通過單片機的 P2.0 、P2.1 、P2.2 向液晶模塊發(fā)送命令,控制液晶執(zhí)行各種命令,其中 P2.2 控制液晶的使能端, 當 E 端由高電平跳變成低電平時, 液晶模塊執(zhí)行命令,P2.1 控制液晶模塊的讀寫,高電平時進行讀操作,低電平時進行寫操作。當P2.0和 P2.1 共同為低電平時可以寫入指令或

17、者顯示地址,當 P2.0 為低電平 P2.1 為高電平時可以讀忙信號, 當 P2.0 為高電平 P2.1 為低電平時可以寫入數(shù)據(jù),P2.0 控制寄存器的選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。(圖 3-3-2-2 )3.4矩陣鍵盤模塊矩陣鍵盤主要用來對最低溫度和管理人員手機號碼的設(shè)置,可以隨時改變數(shù)WORD 完美格式下載可編輯專業(yè)資料值,更符合實際生產(chǎn)的要求。4×4矩陣鍵盤的工作原理矩陣鍵盤又稱為行列式鍵盤, 它是用 4 條 I/O 線作為行線, 4 條 I/O 線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設(shè)置一個按鍵。這樣鍵盤中按鍵的個數(shù)是 4×4個

18、。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機系統(tǒng)中I/O 口的利用率。鍵盤電路設(shè)計矩陣鍵盤引腳接法及其電路圖3-4-2 :S0S1S2S3P2.0S4S5S6S7P2.1S8S9S10S11P2.2S12S13S14S15P2.3P2.4P2.5P2.6P2.7(圖 3-4-2 )3.5步進電機仿卷簾機模塊現(xiàn)實生活中本模塊是卷簾機控制,卷簾機主要由直流電機和減速器組成。本設(shè)計用二相四線步進電機模擬卷簾機的升降。步進電機的工作原理步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度( 稱為“步距WORD 完美格式下載可編輯專業(yè)資

19、料角” ) ,它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的,同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差 ( 精度為 100%)的特點,廣泛應(yīng)用于各種開環(huán)控制。現(xiàn)在比較常用的步進電機包括反應(yīng)式步進電機(VR)、永磁式步進電機( PM)、混合式步進電機( HB)和單相式步進電機等。步進電機模擬卷簾機的設(shè)計本設(shè)計步進電機及驅(qū)動器模塊設(shè)計的電路如圖所示,VCC接 12V 電源, GND接地, A+、A- ,B+、 B-分別連接步進電機的四根接線,CP+、 CP-、

20、CW+、CW分-別連接單片機 P10P13口。該電路實現(xiàn)的功能是:通過AT89S51的 P10、P11、P12、P13四個口輸出四個信號,其中 P10、P12口輸出控制水平方向和垂直方向脈沖的個數(shù),即兩個方向上的位移量; P11、P13 口控制步進電機的轉(zhuǎn)動方向,即正反轉(zhuǎn)??刂七^程為:單片機接受鍵盤傳來的信號,通過P1的四個口輸出控制信號,通過硬件接線,發(fā)送到步進電機的驅(qū)動器,通過驅(qū)動器控制步進電機的轉(zhuǎn)向和轉(zhuǎn)角。當然,其中還包括單片機的內(nèi)部振蕩電路,驅(qū)動器匹配的電路等的設(shè)計。WORD 完美格式下載可編輯專業(yè)資料(圖 3-5-2 ) 步進電機及驅(qū)動器模塊設(shè)計電路圖引腳功能說明P10、P12(1、

21、3 腳):接步進驅(qū)動器,傳遞脈沖個數(shù);P11、P13(2、4 腳):控制電機的轉(zhuǎn)動方向;小節(jié): 本章節(jié)對單片機主控制模塊、GSM短信收發(fā)模塊、溫度顯示模塊、按鍵模塊、步進電機仿卷簾機模塊分別進行了介紹,里面對各模塊的重點,難點及注意點進行了很仔細的分析與講解。第四章軟件設(shè)計溫室大棚卷簾機控制系統(tǒng)軟件設(shè)計主要由GSM短信模塊程序設(shè)計,DS18B20程序設(shè)計, 1602 液晶程序設(shè)計,矩陣鍵盤程序設(shè)計及步進電機程序組成。每一模塊都是先單獨調(diào)試,最后整體調(diào)試的。下面分別介紹一下各模塊的程序設(shè)計過程及注意點。4.1程序設(shè)計總流程圖WORD 完美格式下載可編輯專業(yè)資料(圖 4-1功能流程圖)4.2GSM

22、 短信模塊程序設(shè)計GSM模塊與手機之間的通信協(xié)議是一些AT 指令集, AT 指令是以AT 作首,字符結(jié)束的字符串,AT 指令的響應(yīng)數(shù)據(jù)包在中。每個指令執(zhí)行成功與否都有相應(yīng)的返回。所以本模塊的程序設(shè)計主要以發(fā)送AT 指令為著手點。用 AT 命令設(shè)置 TC35的參數(shù)時,必須先要將命令寫入串口,然后通過讀取WORD 完美格式下載可編輯專業(yè)資料串口的應(yīng)答數(shù)據(jù)來判斷是否成功。一般AT 命令發(fā)送成功時,會返回數(shù)據(jù)“OK",表示 AT 命令執(zhí)行成功。在短消息模塊設(shè)計的過程中,對于TC35的相關(guān)參數(shù)要進行設(shè)置。具體應(yīng)用到的AT指令如下:(1) 設(shè)置發(fā)送模式短消息收發(fā)時,必須要用AT命令設(shè)置 TC35

23、的發(fā)送和接收模式。在收發(fā)短消息時,必須按照設(shè)置的模式對發(fā)送和接收的數(shù)據(jù)進行相應(yīng)編碼和解碼。其中,設(shè)置 PDU模式的命令為“ AT+CMGF=1回車“。(2) 設(shè)置服務(wù)中心號碼根據(jù)前面介紹短消息收發(fā)技術(shù)原理,短消息的傳輸總是由處于GSM外部的短消息服務(wù)中心進行中繼。每個消息有自己的目的地或起源地,但只與用戶和SMSC有關(guān),因此要根據(jù)SIM 卡的營運商設(shè)置相應(yīng)的服務(wù)中心。如設(shè)置徐州聯(lián)通公司服務(wù)中心的命令是,“回車“。(3) 短消息發(fā)送在短消息發(fā)送時,使用以下命令將短信發(fā)出去:at cmgf1 回車at csmp17, 167,0,0 回車at cscs gsm 回車at cmgs手機號碼回車輸入短

24、信內(nèi)容 text格式(注:“” ASCII值為 26,即 1AH )發(fā)送短信子程序如下:; =WORD 完美格式下載可編輯專業(yè)資料;發(fā)送短信程序; =MAIN:MOVSP,#53H;設(shè)置堆棧指針MOV78H,#20H;設(shè)置要發(fā)送的數(shù)據(jù)塊的首末地址MOV 77H,#00HMOV 76H,#20HMOV75H,#40HACALL TRANS;調(diào)用發(fā)送子程序SJMP$TRANS:MOV SBUF ,78H;發(fā)送地址高 8 位WAT1:JNBTI,WAT1CLR TIMOV SBUF ,77H;發(fā)送地址低 8 位WAT2:JNBTI,WAT2CLR TIMOV SBUF ,76H;發(fā)送地址高 8 位W

25、AT3:JNBTI,WAT3CLR TIMOV SBUF ,75H;發(fā)送地址低 8 位WAT4:JNBTI,WAT4CLR TIMOV IE,#90H;打開中斷允許寄存器,采用中斷方式發(fā)送數(shù)據(jù)WORD 完美格式下載可編輯專業(yè)資料MOV DPH,78HMOV DPL,77HMOVX A,DPTRMOV SBUF,A;發(fā)送首個數(shù)據(jù)WAIT: JNB F0,WAITRETCOM_INT: CLR TI;關(guān)發(fā)送中斷標志位 TIINCDPTR;數(shù)據(jù)指針加 1,準備發(fā)送下一個數(shù)據(jù)MOV A,DPH;判斷當前被發(fā)送的數(shù)據(jù)地址是不是末地址CJNE A,76H,END1;不是末地址則跳轉(zhuǎn)MOV A,DPLCJN

26、E A,75H,END1SETE FO;數(shù)據(jù)發(fā)送完畢,置 1 標志位CLRES;關(guān)串行口中斷CLREA;關(guān)中斷RETI;中斷返回END1: MOVX A,DPTR;將要發(fā)送的數(shù)據(jù)送累加器,準備發(fā)送MOV SBUF,A;發(fā)送數(shù)據(jù)RETI;中斷返回4.3DS18B20程序設(shè)計WORD 完美格式下載可編輯專業(yè)資料DS18B20溫度傳感器是 DALLAS公司生產(chǎn)的單總線器件,在一根線上進行全部的信息傳輸,因為硬件簡單,所以軟件設(shè)計相對麻煩,對時序掌控精度要求較高。寫 18B20 程序設(shè)計主機要生存一個寫時間隙,必須把數(shù)據(jù)線拉低到低電平然后釋放,寫時間間隙開始后的 15us 內(nèi)允許數(shù)據(jù)線拉倒高電平。主機

27、要生成一個寫0 間隙,必須把數(shù)據(jù)線拉低電平并保持60us,如圖所示。(圖 4-3-1 DS18B20 寫時序圖)寫 18b20 子程序的匯編程序如下:;=; 寫 DS18B20的子程序 ( 有具體的時序要求 );=WRITE_1820:MOVR2,#8; 一共 8 位數(shù)據(jù)CLRCWR1:CLRDQMOVR3, #6WORD 完美格式下載可編輯專業(yè)資料DJNZR3, $RRCAMOVDQ, CMOVR3,#23DJNZR3,$SETBDQNOPDJNZR2,WR1SETBDQRET讀 18B20程序設(shè)計主機生成讀時間間隙,從ds18b20 輸出的數(shù)據(jù)在讀間隙的下降沿出現(xiàn)的15us內(nèi)有效,因此主機

28、停止I/O 口的操作,以讀取I/O 口的值,如圖所示。( 圖 4-3-2 DS18B20 讀時序圖 )WORD 完美格式下載可編輯專業(yè)資料讀 18b20 子程序的匯編程序如下:;=;讀 DS18B20的程序;=READ_18200:MOV R4,#2;將溫度高位和低位從DS18B20中讀出MOVR1,#TEMPER_L ;低位存入 TEMPER_L(TEMPER_L);高位存入 (TEMPER_H)RE00:MOV R2,#8;數(shù)據(jù)一共有 8 位RE01:CLR CSETBDQNOPNOPCLR DQNOPNOPNOPSETBDQMOV R3,#9RE10:DJNZ R3,RE10MOVC,D

29、QMOVR3,#23WORD 完美格式下載可編輯專業(yè)資料RE20:DJNZ R3,RE20RRCADJNZR2,RE01MOVR1,ADECR1DJNZR4,RE00RET單線總線的空閑狀態(tài)是高電平。無論任何理由需要暫停某一執(zhí)行過程時,如果還想恢復(fù)執(zhí)行的話,總線必須停留在空閑狀態(tài)。在恢復(fù)期間,如果單線總線處于非活動(高電平)狀態(tài),位與位間的回復(fù)時間可以無限長。如果總線停留在低電平超過 480us,總線上所有的器件都將復(fù)位。執(zhí)行序列通過單線總線端口訪問DS18B20的協(xié)議流程圖如下:(圖 4-3-2協(xié)議流程圖)4.41602液晶程序設(shè)計WORD 完美格式下載可編輯專業(yè)資料液晶顯示模塊是一個慢顯示

30、器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖4.4 是 1602 的內(nèi)部顯示地址。(圖 4-4 1602LCD 內(nèi)部顯示地址)例如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平 1 所以實際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。初始化的程序設(shè)計在對液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時光標是自動右

31、移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602LCD的一般初始化(復(fù)位)過程延時 15mS寫指令 38H(不檢測忙信號)WORD 完美格式下載可編輯專業(yè)資料延時 5mS寫指令 38H(不檢測忙信號)延時 5mS寫指令 38H(不檢測忙信號)以后每次寫指令、讀 / 寫數(shù)據(jù)操作均需要檢測忙信號寫指令 38H:顯示模式設(shè)置寫指令 08H:顯示關(guān)閉寫指令 01H:顯示清屏寫指令 06H:顯示光標移動設(shè)置寫指令 0CH:顯示開及光標設(shè)置液晶初始化程序:; =; 初始化; =INIT:MOVA,#38H;#38H->ALCALLWIR;調(diào)寫 IR 子程序MOVA,#0E

32、H;#0EH->A( 顯示開,光標開,光標閃爍)LCALLWIR;調(diào)寫 IR 子程序MOVA,#06H;#06H->ALCALLR;調(diào)寫 IR 子程序RET;返回寫指令與數(shù)據(jù)的程序設(shè)計WORD 完美格式下載可編輯專業(yè)資料因為本設(shè)計是顯示溫度值,所以不要讀數(shù)據(jù),只需寫入指令與數(shù)據(jù)即可。下面著重介紹一下1602 寫指令及數(shù)據(jù)的時序特點;如圖 4-4-2是 1602 寫操作時序(圖 4-4-2時序圖)按照圖時序?qū)懼噶罴皵?shù)據(jù)程序如下:; =;寫指令; =WIR: ACALL CKLCD;調(diào)查空閑子程序CLR E;E清 0CLR RS;RS清 0CLR RW;RW清 0SETB E;E置 1

33、WORD 完美格式下載可編輯專業(yè)資料MOV P0,A;A->P0CLRE;E清0RET;返回; =;寫數(shù)據(jù); =WDR: ACALL CKLCD;調(diào)查空閑子程序CLR E;E清 0SETB RS;RS置 1CLR RW;RW清 0SETB E;E置 1MOV P0,A;A->P0CLR E;E清 0RET;返回4.5矩陣鍵盤程序設(shè)計矩陣鍵盤又稱為行列式鍵盤,它是用4 條 I/O 線作為行線, 4 條 I/O 線作為列線組成的鍵盤。本模塊設(shè)計是先讀取鍵盤的狀態(tài),然后得到按鍵的特征編碼,再而讓液晶顯示。下面介紹一下鍵盤掃描的過程。先從 P2 口的高四位輸出低電平,低四位輸出高電平,從P

34、2 口的低四位讀取鍵盤狀態(tài)。再從P2 口的低四位輸出低電平,高四位輸出高電平,從P2 口的高四位讀取鍵盤狀態(tài)。將兩次讀取結(jié)果組合起來就可以得到當前按鍵的特征編碼。使用上述方法我們得到16 個鍵的特征編碼。WORD 完美格式下載可編輯專業(yè)資料舉例說明如何得到按鍵的特征編碼:假設(shè)“ 1”鍵被按下,找其按鍵的特征編碼。從 P2 口的高四位輸出低電平,即 P2.4 P2.7 為輸出口。低四位輸出高電平,即 P2.0 P2.3 為輸入口。讀 P2 口的低四位狀態(tài)為“ 1101 ”,其值為“ 0DH”。再從 P2 口的高四位輸出高電平,即 P2.4 P2.7 為輸入口。低四位輸出低電平,即 P2.0 P2

35、.3 為輸出口,讀 P2 口的高四位狀態(tài)為“ 1110”,其值為“ E0H”。將兩次讀出的P2 口狀態(tài)值進行邏輯或運算就得到其按鍵的特征編碼為“EDH”。用同樣的方法可以得到其它15 個按鍵的特征編碼。; =;按鍵掃描子程序; =KEY_SCAN:;識別鍵盤有無鍵按下子程序MOV P2,#0F0H;置列線為 0,行線為 1MOV A,P2;讀 P2口ANL A,#0F0H;取出高四位MOV B,A;暫存到 BMOV P2,#0FH;置列線為 1,行線為 0MOV A,P2;讀 P1口ANL A,#0FH;取出低四位ORL A,B;高四位與低四位邏輯或運算重新組合CJNE A,#0FFH,KEY

36、_IN1;0FFH為無按鍵按下WORD 完美格式下載可編輯專業(yè)資料RETKEY_IN1:;識別具體按鍵值子程序MOV B,A;將按鍵的特征編碼暫存于BMOV DPTR,#KEYTABLEMOV R3,#0FFHKEY_IN2:INC R3;順序碼加 1MOV A,R3MOVC A,A+DPTR;查表CJNE A,B,KEY_IN3;比較,若相同則找到按鍵的特征編碼。MOV A,R3;找到特征編碼后,取順序碼MOV 30H,A;存入 30H單元RETKEY_IN3:CJNE A,#00H,KEY_IN2;末完,繼續(xù)查RET;00H為結(jié)束碼KEY_TABLE:DB 0EEH,0EDH,0EBH,0

37、E7H,0DEH;0,1,2,3,4,順序碼DB 0DDH,0DBH,0D7H,0BEH,0BDH;5,6,7,8,9,順序碼DB 0BBH,0B7H,07EH,07DH,07BH, 077H;A,B,C,D,E,F順序碼DB 00H;結(jié)束碼WORD 完美格式下載可編輯專業(yè)資料4.6步進電機程序設(shè)計步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。通俗一點講:當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進角)??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時還可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。所以在軟件編寫

38、時一定要注意步進電機時序的變化,時序圖如圖(4-6 )13571357135713ABCD( 圖 4-6步進電機時序圖 );=;步進電機子程序;=MOTO:MOV SP,50HSTOP:MOV P1,#0FFH;步進電機停轉(zhuǎn)LOOP:JNB K1,MZZ2;是否 K1按下,是則轉(zhuǎn)正轉(zhuǎn)模塊JNB K2,MFZ2;是否 K2按下,是則轉(zhuǎn)反轉(zhuǎn)模塊JNB K3,STOP1;是否 K3按下,是則轉(zhuǎn)步進電機停轉(zhuǎn)WORD 完美格式下載可編輯專業(yè)資料JMP LOOP;循環(huán)STOP1: ACALL DELAY;按 K3鍵,消除抖動JNB K3,$;K3放開否?ACALL DELAY;放開消除抖動JMP STOP;步進電機停轉(zhuǎn)MZZ2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論