智能窗簾控制裝置(畢業(yè)論文)_第1頁
智能窗簾控制裝置(畢業(yè)論文)_第2頁
智能窗簾控制裝置(畢業(yè)論文)_第3頁
智能窗簾控制裝置(畢業(yè)論文)_第4頁
智能窗簾控制裝置(畢業(yè)論文)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 .PAGE46 / NUMPAGES46信息職業(yè)技術學院畢業(yè)設計論文作者 生龍 學號 11031P10 系部 電子信息學院 專業(yè) 計算機控制技術 題目 智能窗簾控制裝置 指導教師 龍凌云 評閱教師完成時間: 2013年 5 月 1 日 畢業(yè)設計(論文)中文摘要智能窗簾控制裝置摘要:隨著現代社會的高速發(fā)展,人們對室設計智能化的要求也越來越高。方便與享受的智能窗簾對于現代快節(jié)奏的人們生活來說,是適應現代化辦公和生活環(huán)境的需要,是人們生活水平提高的一個標志。對于室的窗簾而言,它不僅要具有遮光作用和美化功能,更要具有方便智能的使用功能。本文綜述了智能窗簾控制裝置系統(tǒng)的設計與制作過程,介紹了設計制作一

2、個完整的窗簾控制系統(tǒng)需要做的理論分析以與其制作過程。智能窗簾控制裝置系統(tǒng)核心采用的是單片機AT89C51,其次利用了光照傳感器、鍵盤顯示接口電路以與信號調理電路等外圍電路,它主要的功能有時間顯示, 定時控制開閉窗簾,還可以根據光強度自動調節(jié)窗簾以使屋達到舒適愜意的環(huán)境。整個系統(tǒng)在理論層面上,用程序語言驅動各模塊工作,實現系統(tǒng)的在聯(lián)系,在應用層面上則采用Protel軟件進行原理圖設計。智能窗簾控制裝置系統(tǒng)的構成主要由光照傳感電路、系統(tǒng)主控模塊電路、電源轉換電路、電機控制電路、鍵盤以與顯示電路等組成,重點討論了窗簾自動控制系統(tǒng)的設計過程、硬件選用和軟件調試等問題,通過本系統(tǒng)可實現利用光照強度以與設

3、置時間來控制窗簾自動開閉。關鍵詞:單片機智能窗簾 定時 步進電機畢業(yè)設計(論文)外文摘要Title :Smart curtain controldeviceAbstract:With the rapid developmentofmodern society, peopleare increasingly high requirementsforinterior designintelligent. Convenience andenjoysmartcurtainsforthefast pace of modernlife for peopletoadapttotheneedsofthemod

4、ern officeand living environment, isa sign ofimproved living standards. Forthecurtainsintheroom, itnot onlyhasashadingeffectandlandscaping features, but also to facilitateintelligentusefeatures. In this paper,intelligentcurtain controldevicesystem design andproduction process, designa completecurtai

5、n controlsystemsneed to dotheoretical analysisandits production process. Intelligentcurtain controldevice systemcoremicrocontrollerAT89C51, followed bythe use ofalightsensor, keyboard and displayinterface circuit, and a signalconditioning circuitperipheral circuits, it is mainlythe function oftime d

6、isplay, timing controltheopeningandclosingcurtains, you can also automaticallyaccording tothelight intensityadjustthecurtainstothehouseofasafe and comfortableenvironment. The entire systemat the theoretical level, each moduledrivenprogramming language, the intrinsic linkofthesystem, usingProtel soft

7、wareforschematic designat the application level.Intelligent curtain controldevicesystemconstitutes a majorbythelightsensing circuit, systemmain control modulecircuit, power conversion circuits, motor control circuit, keyboard anddisplay circuitfocused on thedesign processofthecurtainsof automatic co

8、ntrol system, hardwareselection andsoftwareissues such as debuggingthrough the systemcan be realizedusinglight intensity, andset the timeto control thecurtainsopen and close automatically.keywords: MCU Smart CurtainsTimingStepper Motor目錄TOC o 1-3 u 第1章 緒論51.1 研究背景與意義51.2 基本容安排61.3 設計思想與基本功能7第2章 總體電路

9、設計與其原理說明72.1 系統(tǒng)基本功能72.2 系統(tǒng)總體結構設計8第3章 硬件分析與設計93.1電源電路設計93.1.1單片機電源電路設計93.1.2步進電機電源電路設計113.2 89C51單片機與相關電路123.2.1晶振電路133.2.2復位電路143.2.3時鐘電路143.2.4鍵盤電路163.2.5 顯示電路173.2.6 AD轉換電路193.2.7光敏傳感器213.2.8 步進電機223.2.9信號校正電路243.3窗簾框架構造設計253.3.1電動機選擇25第4章 程序分析與設計274.1 主程序設計274.2 主要子程序設計284.2.1 鍵盤程序設計284.2.2定時程序設計

10、304.2.3步進電機程序設計31結論32致33參考文獻34附錄一 智能窗簾原理圖35附錄二 程序清單36第1章 緒論1.1研究目的和意義21世紀是信息化的世紀,各種電信和互聯(lián)網新技術推動了人類文明的巨大進步。智能家居控制系統(tǒng)可以定義為一個過程或者一個系統(tǒng)。利用先進的計算機技術、網絡通訊技術、綜合布線技術、將與家居生活有關的各種子系統(tǒng),有機地結合在一起,通過統(tǒng)籌管理,讓家居生活更加舒適、安全、有效。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,提供舒適安全、高品位且宜人的家庭生活空間。還將原來的被動靜止結構轉變?yōu)榫哂心軇又腔鄣墓ぞ?,提供全方位的信息交換功能,幫助家庭與外部保持信息交換暢通,優(yōu)

11、化人們的生活方式,幫助人們有效安排時間,增強家居生活的安全性,甚至為各種能源費用節(jié)約資金。系統(tǒng)的網絡化功能可以提供遙控、家電(空調,熱水器等)控制、照明控制、室外遙控、窗簾自控、防盜報警、遠程控制、可編程定時控制與計算機控制等多種功能和手段。使生活更加舒適、便利和安全。因智能家居控制系統(tǒng)布線簡單、功能靈活,擴展容易而被人們廣泛接受和應用。智能化控制的工作原理自然離不開運算和控制單元,在設計本系統(tǒng)時采用的主控器件AT89C51,正是運算與控制單元的集合體。本窗簾控制系統(tǒng)不僅具有采集控制方便、簡單、靈活等優(yōu)點,而且可以大幅度提高采各模塊和芯片的協(xié)調性,從而大大提高系統(tǒng)的可利用性。此次系統(tǒng)設計系統(tǒng)正

12、是利用AT89C51 單片機的優(yōu)點,順利的完成了本設計的要求。并且實現了學習型定時和自動控制功能,為控制家居設備提供了良好的基礎。正是因為通信技術、計算機技術、網絡技術、控制技術的迅猛發(fā)展與提高,促使了家庭實現了生活現代化,居住環(huán)境舒適化、安全化。這些高科技已經影響到人們生活的方方面面,改變了人們生活習慣,提高了人們生活質量,家居智能化也正是在這種形勢下應運而生的。智能家居控制系統(tǒng)的主要功能包括通信、設備自動控制、安全防三個方面。隨著新技術和自動化的發(fā)展,傳感器的使用數量越來越大,功能也越來越強,各種傳感器都已經標準化、模塊化,這給智能家居控制系統(tǒng)的設計提供極大方便。智能窗簾控制裝置系統(tǒng)的整體

13、主要由硬件和軟件兩部分組成。硬件部分由單片機擴展的外圍電路以與各種實現單片機系統(tǒng)控制功能的接口電路組成;軟件部分主要由單片機系統(tǒng)實現其特定控制功能的各種程序組成。本設計中介紹了智能窗簾控制裝置系統(tǒng)的硬件構成以與軟件設計過程,以盡最大可能滿足不同人對窗簾開閉的不同需求。同時,系統(tǒng)在針對人們一般需求的設計開發(fā)外,還提出多種解決方案,在考慮到經濟性和簡便性的前提下,可以供日后對控制系統(tǒng)的功能進行擴展。1.2 基本容安排該設計通過分析電動窗簾的現狀和人們對自動窗簾控制系統(tǒng)的功能的需求,從而對自動窗簾控制器進行總體的設計。系統(tǒng)的總體設計采用以步進電機作為單片機控制元件,執(zhí)行窗簾開閉的主要任務;以光敏電阻

14、作為檢測元件,以提供單片機外界光照的變化;89C51單片機作為主控制芯片,控制著整個系統(tǒng)的運行,此外,輔助以鍵盤和顯示電路,在各個電路模塊的配合下最終實現了自動窗簾控制系統(tǒng)的智能化要求。自動窗簾控制系統(tǒng)設計過程主要分為以下幾個章節(jié):(1)緒論:介紹設計目標國外的發(fā)展現狀和研究意義目的,設計的基本容和本文的章節(jié)安排。(2)總體設計方案:給出了智能窗簾控制裝置的總體方案設想,智能項目,和設計結構規(guī)劃。(3)硬件設計:選用89C51單片機為核心的各種電路設計,包括復位電路,電源電路,時鐘電路,步進電機控制電路,鍵盤/顯示電路等一系列相關電路。(4)軟件設計:介紹各個功能模塊的的設計流程以與設計思路。

15、(5)總結:針對設計中的不足進行再思考以與提出自動窗簾控制系統(tǒng)功能的擴展。1.3 設計思想與基本功能 該系統(tǒng)具有一般的窗簾控制系統(tǒng)的最基本的功能,即通過電動按鈕來開閉窗簾,在此基本功能的前提下,本設計根據需求還設計了可以根據光照強度和設定時間自動開閉窗簾的功能,在選取設計方案和采用元器件方面,該系統(tǒng)本著簡單實用經濟的思想,盡量簡化電路設計,用最簡單的電路布線和選用最經濟實用的器件來達到設計要求。自動窗簾控制系統(tǒng)具有以下幾個基本功能:(1)手動控制:該功能是根據用戶的需求通過按鍵進行窗簾的開關,此功能可以使窗簾的開閉處于任何一種狀態(tài);(2)自動控制:用戶可以通過按鍵一次性開閉窗簾;(3)環(huán)境亮度

16、控制:窗簾的關閉和開啟通過環(huán)境亮度自動完成窗簾的開啟或關閉操作控制,“天黑關閉,天亮打開”具有智能管理,不產生誤動作。(4)時間自動控制:根據設置輸入的開啟或關閉時間,來控制窗簾的關閉和打開。窗簾的正轉、反轉和停止功能可由單片機輸出電平來控制步進電機的運轉以實現。環(huán)境亮度的控制通過光敏二極管和運放組成的電路來控制單片機輸出電平繼而控制電機的正轉和反轉。時間自動控制可以由定時器來控制。第2章 總體電路設計與其原理說明2.1 系統(tǒng)基本功能伴隨著科學技術的發(fā)展和人民生活水平的日益提高,人們對生活舒適性的追求越來越強烈,而窗簾在每個家庭生活是必備的,其基本功能是保護住戶的隱私以與遮蔽等?;谶@些作用窗

17、簾的便利性自然也受到家庭的關注。但傳統(tǒng)的窗簾絕大部分是用手去開關,每天開關不僅不省力,而且還可能錯過最佳光照時間,尤其是大窗簾,比較重,而且長,在開閉時需要費很大力氣才能開關窗簾,特別不方便;針對這種現象,電動窗簾便由此產生?,F有的電動窗簾基本上都可以利用按鍵控制,自動開關閉窗簾,雖然省了力氣,但是有些方面的設計還是不夠人性化。對此,本控制系統(tǒng)提出可以根據光照以與定時等開關窗簾,具體有以下幾大功能:(1)手動控制狀態(tài):此功能使自動窗簾控制系統(tǒng)具有手動拉開、關閉和停止功能。(2)半自動控制狀態(tài):此功能是在要打開或者關閉窗簾的時候,通過“開”或“關”按鍵,窗簾在電機的帶動下可以自動開閉。(3)亮度

18、自動控制:此功能是利用設定的光照強度自動完成窗簾的打開或者關閉,真正實現黑天關閉,白天打開的功能。(4)時間自動控制:此功能根據用戶需要,設定需要開閉窗簾的時間,通過輸入的開啟或關閉時間,控制窗簾開關。系統(tǒng)總體結構設計硬件設計的好壞決定整個方案的成功與否,所以在硬件設計時,在實現功能的情況下電路設計越簡單越好,這樣才能保證這個系統(tǒng)的穩(wěn)定運行。下圖是智能窗簾控制裝置設計的總體框圖如圖2.2.1所示。光敏傳感 信號校正A/D轉換89C51顯示模塊鍵盤模塊步進電機圖2.2.1 電動窗簾控制器結構框圖本智能窗簾控制裝置以89C51為主控芯片,通過其靈活的輸入/輸出口設置,由光電傳感器檢測外界的光強,經

19、過信號調理電路的放大,濾波調理后輸入到A/D轉換器,A/D轉換器件完成一個轉換過程需要一定時間,如果在這段時間信號的幅度發(fā)生變化,轉換結果將會受到影響,所以其間要用到采樣保持電路。轉換后的信號由單片機控制器,來實現電機的運行與停止。顯示模塊主要用來顯示智能窗簾控制裝置的各種狀態(tài)信息。鍵盤模塊主要作用是通過按鍵向單片機輸入指令,其中主要包括設定時間,控制步進電機轉動方向,從而控制窗簾的開與關。第3章 硬件分析與設計3.1電源電路設計3.1.1 單片機電源電路單片機工作需要使用5V電壓,因此需要給單片機設計電源電路。圖3.1.1是單片機的電源電路。它采用LM2576開關穩(wěn)壓集成電路將電動機電源+1

20、2V直流電壓轉變?yōu)?5V的直流電壓為單片機供電。圖3.1.1單片機電源電路LM2576中文資料LM2576系列開關穩(wěn)壓集成電路的主要特性如下:最大輸出電流:3A;最高輸入電壓:LM2576為40V,LM2576HV為60V;輸出電壓:3.3V、5V、12V、15V和ADJ(可調)等可選;震蕩頻率:52kHz;轉換效率:75%88%(不同電壓輸出時的效率不同);控制方式:PWM;工作溫度圍:-40 +125工作模式:低功耗/正常兩種模式可外部控制;工作模式控制:TTL電平兼容;所需外部元件:僅四個(不可調)或六個(可調);器件保護:熱關斷與電流限制;LM2576的部框圖如圖3.1.2所示,該框圖

21、的引腳定義對應于五腳TO-220封裝形式。圖 3.1.2LM2576部包含52kHz振蕩器、1.23V基準穩(wěn)壓電路、熱關斷電路、電流限制電路、放大器、比較器與部穩(wěn)壓電路等。為了產生不同的輸出電壓,通常將比較器的負端接基準電壓(1.23V),正端接分壓電阻網絡,這樣可根據輸出電壓的不同選定不同的阻值,其中R1=1k(可調-ADJ時開路), R2分別為1.7 k(3.3V)、3.1 k(5V)、8.84 k(12V)、11.3 k(15V)和0(-ADJ),上述電阻依據型號不同已在芯片部做了精確調整,因而無需使用者考慮。將輸出電壓分壓電阻網絡的輸出同部基準穩(wěn)壓值 1.23V進行比較,若電壓有偏差,

22、則可用放大器控制部振蕩器的輸出占空比,從而使輸出電壓保持穩(wěn)定。由圖3.1.1與LM2576系列開關穩(wěn)壓集成電路的特性可以看出,以LM2576為核心的開關穩(wěn)壓電源完全可以取代三端穩(wěn)壓器件構成的MCU穩(wěn)壓電源。LM2576系列開關穩(wěn)壓集成電路來組成穩(wěn)壓電源所需的外圍元件極少,電路部還有過流、過熱與調整管的保護電路,使用起來更可靠、更方便。外形圖圖.2 步進電機電源電路本設計采用12V直流電壓為步進電機供電,因此需要給步進電機設計電源電路。圖3.1.4是步進電機的電源電路。由于該電路在應用中比較常見,所以在此不做任何解析。圖3.1.4步進電機的電源電路3.2 89C51單片機與相關電

23、路單片機的全稱是單片微型計算機(Single Chip Microcomputer)。為了使用方便,它把組成計算機的主要功能部件:中央處理器(CPU)、數據存儲器(RAM)、程序存儲器(ROM、EPROM、E2PROM或FLASH)、定時/計數器和各種輸入/輸出接口電路等都集成在一塊半導體芯片上,構成了一個完整的計算機系統(tǒng)。與通用的計算機不同,單片機的指令功能是按照工業(yè)控制的要求設計,因此它又被稱為微控制器(Microcontroller)。MCS51系列1單片機是美國Intel公司于1980年推出的一種8位單片機系列。該系列的基本型產品是8051、8031和8751。這3種產品之間的區(qū)別只是

24、在片程序存儲器方面。8051的片程序存儲器(ROM)是掩膜型的,即在制造芯片時已將應用程序固化進去;8031片沒有程序存儲器;8751部包含有用作程序存儲器4KB的EPROM。由于8051的編程需要制造商的支持,而8751的價格昂貴,因此8031獲得了更為廣泛的使用。MCS51系列單片機優(yōu)異的性能/價格比使得它從面世以來就獲得用戶的認可。Intel公司把這種單片機的核,即8051核,以出售或互換專利的方式授權給一些公司,如Atmel、Philips、ADI等。這些公司的這類產品也被稱為8051兼容芯片,這些8051兼容芯片在原來的基礎上增加了許多特性。本文應用電路中采用了Atmel公司的AT8

25、9S51芯片,它與MCS51單片機指令兼容,同時它的部包含用作程序存儲器4KB的基于FLASH技術的只讀存儲器。采用這款芯片既克服了采用8031需要添加外部程序存儲器導致電路復雜的缺點,又克服了采用8751導致電路制作成本高的缺點。3.2.1 晶振電路電路中的晶振即石英晶體震蕩器。由于石英晶體震蕩器具有非常好的頻率穩(wěn)定性和抗外界干擾的能力,所以,石英晶體震蕩器是用來產生基準頻率的。通過基準頻率來控制電路中的頻率的準確性。同時,它還可以產生振蕩電流,向單片機發(fā)出時鐘信號。圖3.2.1是單片機的晶振電路。電路中的電容C1和C2的典型值通常選擇為30PF左右,該電容的大小會影響振蕩電路頻率的高低、振

26、蕩器的穩(wěn)定性和起振的快速性。晶體振蕩頻率的圍通常在1.212MHz。晶體的頻率越高,系統(tǒng)的時鐘頻率越快,單片機的運行速度越快。但反過來,運行速度對于存儲器的速度要求就越高,對印刷電路板的工藝要求也就越高,即要求線間的寄生電容要小。晶體和電容應該盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。89C51常選擇振蕩頻率12MHz的石英晶體。圖3.2.1 單片機晶振電路圖3.2.2 復位電路復位是單片機的初始化操作,只需要給89C51的復位引腳RST加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就可以使89C51復位。復位時,單片機初始化為0000H,從0000

27、H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當程序運行錯誤(如程序跑飛)或操作錯誤使系統(tǒng)處于鎖死狀態(tài)時,也需要復位鍵使RST腳為高電平,使89C51擺脫“跑飛”或“死鎖”狀態(tài)而重新啟動。圖3.2.2是復位電路圖。圖3.2.2 復位電路圖3.2.3 時鐘電路本設計需要窗簾在給定的時間自動開和關,所以需要用到定時器,而為了保證單片機與外界時鐘一致,要用到一個實時時鐘電路。這里使用DS12887實時時鐘芯片來完成這項功能。DS12887是DALLAS公司生產的實時日歷時鐘芯片,其主要功能包括非易失性時日歷時鐘、報警器、百年歷、可編程中斷、方波發(fā)生器和114字節(jié)的非易失靜態(tài)RAM。使用DS128

28、87時應注意以下幾點:Vcc正常情況下為5V,當Vcc降至4.25V時,所有的輸入被忽略,輸出為高阻狀態(tài),Vcc降至3V時,外部電源被關斷,部鋰電池為實時時鐘和RAM供電,在斷電情況下,時鐘繼續(xù)運行,其中的數據可保存十年以上不會丟失。DS12887有兩種工作時序,即MOTOROLA和INTEL時序,由MOT引腳的電平指定,當MOT引腳為高電平時選擇MOTOROLA時序,當MOT引腳為低電平時選擇INTEL時序,圖中選為INTEL時序,這時芯片的DS引腳接系統(tǒng)的讀信號/RD,R/W引腳接系統(tǒng)的寫信號/WR。AS引腳用于分離數據地址總線AD7-AD0上的地址和數據信息,連接到MCU的ALE引腳。R

29、ESET引腳的信號對日歷時鐘和RAM沒有影響,但它影響DS12887的命令和狀態(tài)寄存器的容,在圖中直接將RESET連至Vcc,這樣可以保證DS12887在進入或退出電源失效狀態(tài)時,其工作狀態(tài)不受RESET引腳的影響。DS12887有一個可編程輸出方波引腳SQW,從該引腳可以輸出頻率為2Hz-256Hz的方波,在系統(tǒng)中正是利用此引腳輸出周期為125MS的方波,作為MCU外部中斷/INT0的中斷源實現周期性中斷,每當中斷發(fā)生時,MCU讀一二次輸入口,檢查電表是否轉過一圈,在整點時還要采一次三相電流和電壓。除此之外,DS12887部還有128字節(jié)的RAM的單元,其中前10個字節(jié)用于存放日歷時鐘信息,

30、字節(jié)0為秒,字節(jié)2為分,字節(jié)4為時,字節(jié)6為星期,字節(jié)7為日,字節(jié)8為月,字節(jié)9為年,字節(jié)0AH-0DH用作控制和狀態(tài)寄存器,剩下的114字節(jié)為用戶RAM,所有的這128字節(jié)都是掉電非易失性的。圖3.2.3 時鐘電路圖DS12887時鐘芯片和AT89C5l單片微機的接口電路如圖3.2.3所示。模式選擇腳MOT接地, DS12887時鐘芯片的AS端口和89C51單片機的AIE端直接相聯(lián);而DS、RW 讀寫控制線與單片機的RD/WR控制線制線相連;DS12887的高位地址由89C51單片機的P27端口來片選,則DS12887的高8位地址定為7FH,而其低8位則由芯片部各單元的地址來決定(00H-3

31、FH);DS12887的中斷輸出端IQR和89C51的外部中斷INT0端相聯(lián),給單片機提供中斷信號;DS12887的SQW端與89C5I的TO端相連。3.2.4鍵盤電路鍵盤在由單片機控制的窗簾自動控制系統(tǒng)中的主要作用是通過按鍵向單片機輸入指令,其中主要包括設定時間,控制窗簾的開關等等功能,是人工控制單片機的主要手段。在窗簾控制系統(tǒng)設計中的鍵盤采用的是44矩陣鍵盤。這16個按鍵分別為:設定鍵主要是用來設定自動窗簾打開或者關閉的時間;0-9數字鍵,其作用主要是用于設定時間;復位鍵主要應用在程序出錯以與誤操作的時候使單片機復位,從而重新設定;反轉鍵是使步進電機反轉,控制窗簾關閉;正轉鍵是使步進電機正

32、轉,從而控制窗簾打開;停止鍵可以控制步進電機停止工作,窗簾控制器停止運行;確定鍵主要是用于在時間設定完成后的確定輸入。由于按鍵比較多,單獨設置按鍵會增加總體設計的復雜性,而且為了減少所占用的端口,可以將按鍵組成一個矩陣,如圖3.2.4所示。 圖3.2.4 鍵盤接口電路3.2.5 顯示電路顯示電路主要是用于顯示時間。采用LED數碼管進行顯示是因為LED數碼管具有以下幾個優(yōu)點:(1)能在低電壓、小電流條件下驅動發(fā)光,能與CMOS、ITL電路兼容。(2)發(fā)光響應時間極短(.若確認按下20ms,得到有效鍵值等待彈起 2. 若不是按下20ms直接結束處理(ret)。 b.若不一樣則將標志清零結束處理(r

33、et)。 (2)若不是首次按下:將鍵值暫存起來,標志置位結束處理。 如果無鍵值,則判斷是否有鍵值已被確認 (1)若有鍵已被確認:判斷按鍵是否首次抬起 a.若首次抬起:判斷抬起延時時間(20ms)是否到達 1.若延時到則將標志處理結束處理。 2.若延時未到直接結束處理(ret)。 b.若非首次抬起:直接結束處理(ret)。 (2)若沒有鍵被確認:直接結束處理(ret)。4.2.2 定時程序設計定時程序的主要作用是在用戶設定的時間后能夠使單片機收到一個中斷信號,從而發(fā)出相應的指令,控制窗簾的開關。時鐘芯片發(fā)出50ms的信號給單片機后,計數器開始工作,計數器記到20,則時間即為1秒,秒單元加1,當秒

34、單元計數到60,分單元加1,此時秒單元清零。當時單元計數到24,時單元清零。圖4.2.2是定時程序流程圖。圖4.2.2 定時程序流程圖4.2.3步進電機程序設計步進電機是操控窗簾開閉的主要執(zhí)行器件,其設計主要是按照單片機指令以與按鍵指令進行正轉或者反轉。圖4.2.3是步進電機程序流程圖。 圖4.2.3步進電機程序流程圖 步進電機程序設計的主要任務是:(1)判斷旋轉方向;(2)按順序傳送控制脈沖;(3)判斷所要求的控制步數是否傳送完畢。對于四相8拍的設計,其控制方式模型如下: 步 序 控 制 位工作狀態(tài)控制模型P.7P.6P.5P.4P.3D相P.2C相P.1B相P.0A相 100000011A

35、B03H 200000110BC06H 300001100CD0CH400001001DA09HA組線圈對應 P2.0B組線圈對應 P2.1C組線圈對應 P2.2D組線圈對應 P2.3正轉次序: AB組-BC組-CD組-DA組 (即一個脈沖,正轉 7.5 度) 總之,只要按一定的順序改變 P2.0P2.3 三位通電的狀況,即可控制步進電機依選定的方向步進。而對于節(jié)拍比較多的控制程序,通常采用循環(huán)程序進行設計。結論 本次設計系統(tǒng)地介紹了自動窗簾控制系統(tǒng)的硬件電路設計以與軟件設計。在總體方案設計中以光敏電阻作為傳送信號的傳感器,用步進電機作為信號輸出的執(zhí)行元件,89C51單片機作為主要的控制元器件

36、,并且應用了按鍵以與和顯示電路。應用89C51單片機的優(yōu)勢減少了硬件的復雜性,光敏電阻接收外界光照信號,經過AD轉換后,傳送給單片機一個電信號,單片機經過處理后,控制步進電機做出相應的動作,以控制窗簾的開閉。在實現一般應用的基礎上,又添加了定時元器件電路,使窗簾的自動化性能得到進一步提升。光敏電阻的良好感光性以與步進電機的結構簡單,控制方便的優(yōu)點使窗簾控制開關更加穩(wěn)定。本次畢業(yè)設計的整個研究與設計過程包括選題、設計以與完善等。首先,在選題方面查閱了很多與題目有關的資料和課題并且制定設計方案,進行設計的總體規(guī)劃,然后將這些方案落實到設計環(huán)節(jié)中。其次,在制定的方案基礎上運用所學的知識對硬件以與軟件

37、進行設計,并用相關軟件進行仿真設計。最后,對設計容進一步修繕,以求達到最佳設計結果。雖然設計容完成了基本的功能,但是其中還是存在一定欠缺,比如在設計中沒有考慮到窗簾工作方式的顯示以與沒有添加類似紅外遙控的設計等。 此次設計過程中,在完成設計任務之外也讓我系統(tǒng)性地認識和全面地掌握了單片機相關技術,從本次畢業(yè)設計中我更加深刻地認識到理念來源于實際的含義。在和同學以與老師的就相關問題的互相討論交流中,我認識到自己的很多不足,但在這些不足中我又學到了很多知識,使我的綜合應用能力有了很大提高。 致 經過這么長時間的忙碌,畢業(yè)設計和論文已經接近尾聲。在畢業(yè)設計的過程中,由于經驗的缺乏以與知識的局限性,難免

38、有許多考慮不周全的地方,在選題,設計等方面,如果沒有龍老師的督促指導,沒有同學們的支持和幫助,單獨完成這個設計,其中還是有一定難度的。在論文完稿之際,我想借此機會對在完成畢業(yè)設計期間關心、幫助、支持和鼓勵過我的老師、同學以與朋友們致以最誠摯的意和最衷心的祝福!首先我要感的是我的指導老師,在完成整個畢業(yè)設計的過程中,老師給我提供了很大的幫助,在選題、設計以與修改論文的各個環(huán)節(jié)里老師給我指出了很多錯誤,提出了很多寶貴意見,對于設計中存在的問題也是耐心的回答和指導,讓我能夠順利的完成畢業(yè)設計。在此謹向老師致以誠摯的意和崇高的敬意。 其次要感的是所有在大學三年中教育指導過我的所有老師,你們傳授給我的專

39、業(yè)知識是我完成本設計的基礎,也是日后踏入工作崗位的重要基石,對于老師們一絲不茍,兢兢業(yè)業(yè)的精神表示衷心的感。最后我還要向所有關心和支持我學習的朋友和同學們表示真摯的意!感你們對我的關心、關注和支持。參 考 文 獻1.童詩白,華成英.模擬電子技術基礎.高等教育,2003.2.胡漢才,單片機原理與接口技術.:清華大學,2004.3.江思敏,胡榮.Protel電路設計教程.:清華大學,2002.4.全利,遲榮強.單片機原理與接口技術.:高等教育,2001.5.程學先,林珊,程傳慧.匯編語言程序設計.:機械工業(yè),2005.6.王建校,建國.51系列單片機與C51程序設計.:科學,2002.7.王幸之.

40、AT89系列單片機原理.:航空航天大學 20048.閻石.數字電子技術基礎.:高等教育,1998.9.AT89C51 DATA SHEEP Philips Semiconductors 1999.dec10.廣第. 單片機基礎. :航空航天大學,200111.周航慈,朱兆優(yōu). 智能儀器原理與設計. :航空航天大學,200512.守義. 單片機應用技術. :電子科技大學,200713.王曉明. 電動機的單片機控制. :航空航天大學,200214.福安電子電路設計與實踐:科學技術,200515.大茂.智能儀器:單片機應用系統(tǒng)設計.:航空工業(yè),1998附錄一:原理圖附錄二:程序清單主程序: ML E

41、QU 32H ;ML存放分的個位數MH EQU 33H ;MH存放分的十位數HL EQU 34H ;HL存放小時的個位數HH EQU 35H ;HH存放小時的十位數L0 EQU 36H ;L0L3:顯示數據存儲器L1 EQU 37HL2 EQU 38HL3 EQU 39HDSPLYP EQU 3AH ;顯示數據指針PLYTS EQU 3BH ;顯示次數計數器LPLMOD BIT 39H ;低兩位顯示方式HPLMOD BIT 3AH ;高兩位顯示方式BRIGHT BIT 3BH ;DISPLAY子程序參數TCOUNT EQU 3CH ;時間計數器ADDRES EQU 3DH ;加l子程序參數MA

42、X EQU 3EH ;加l子程序參數IFDEC BIT 20H ;BCD加法子程序參數RMOD EQU 3FH LED4 BIT 30H ;發(fā)光管狀態(tài)位BELL BIT P1.7 WITCH BIT P3.7 FKEY BIT P3.0 ;功能鍵(S1) MKEY BIT P3.1 ;修改鍵(S2) WORKIN BIT 38H ;工作狀態(tài)指示位MAIN: MOV IE,#00H ;關中斷MOV SP,#57H ;設置堆棧指針MOV PSW,#00H ;選用寄存器組0MOV TMOD,#11H ;設定中斷工作方式為T0和T1MOV A,56HCJNE A,#0AAH,CSTART ;判斷上電復

43、位標志,無標志轉冷啟動MOV A,57HCJNE A,#55H,CSTART ;無標志轉冷啟動AJMP HSTART ;有上電復位標志轉熱啟動NOPNOPCSTART: MOV P1,#0FFH ;冷啟動,全面初始化MOV P3,#0FFHMOV TCON,#00H ;計時停止MOV TL0,#0B0H ;賦中斷T0初值MOV TH0,#3CHMOV TCOUNT,#0AH ;賦定時器初值MOV R5,#00H ;R5為一空單元(備用)MOV R4,#00H ;R4為工作模式選擇寄存器MOV ML,#00H MOV MH,#00H ;分MOV HL,#00H MOV HH,#00H ;時MOV

44、 PLYTS,#64H ;賦顯示次數初值為100次MOV DSPLYP,#L0 ;顯示指針指向顯存單元MOV L0,#0AH ;送顯示數據“一”MOV L1, #0AHMOV L2,#0AHMOV L3,#04HSETB LED4 ;數碼管之間的發(fā)光二極管SETB LPLMOD ;設定顯示方式為閃爍SETB HPLMOD SETB BRIGHT ;允許顯示CLR WORKIN ;清工作標志,待命AJMP SETUP ;轉開始工作NOPNOPHSTART: MOV SCON,#00H ;有上電標志,熱啟動,清串行口控制MOV IP,#00H ;清中斷優(yōu)先控制寄存器SETB FKEY ;重設按鍵S

45、ETB MKEYSETB EA ;開中斷AJMP BEGIN ;轉向繼續(xù)工作NOPNOPSETUP: ETB EA ;開中斷MAINl: ACALL DISPLAY ;調用顯示 FKEY,JUDGE ;按鍵掃描ACALL DELAY1 ;延時消抖動 FKEY,JUDGE ;無鍵按下判斷是否到點CLR ET0 ;功能鍵被按下CLR TR0 ;暫停計日寸ACALL MTAB ;調用菜單設置程序BEGIN: SETB WORKIN ;置工作標志位,開始工作SETB ET0 ;開中斷SETB TR0 ;開始計時MOV A,R4 ;移入工作模式選擇RL A MOV DPTR,#7F01H JMP A+D

46、PTR ;根據模式轉到相應程序段MTAB:AJMP WORKlAJMP WORK2AJMP WORK3AJMP WORK4NOPNOPWORKl: WORK2: CLR WITCH ;工作方式1和2:開繼電器AJMP MAIN2NOPNOPWORK3: WORK4: SETB WITCH ;工作方式3和4:不開繼電器MAIN2: CLR BELL ;ACALL DL05SSETB BELLJUDGE: JNB WORKIN,MAINl ;判斷是否在定時之中JNZ MAINlMOV A,ML ;判斷分是否為零JNZ MAINlMOV A,HH ;判斷時是否為零JNZ MAINl ;若時、分、秒全

47、為零CLR ET0 ;停止計時CLR TR0 ACALL KEYI ;調用到點工作子程序AJMP MAIN ;返回NOPNOPORG 0100HROUNT1: MOV A,#N ;步進電機步數AJNB 00H,LOOP2 ;反向,轉 LOOP2LOOP1: MOV P2,#03H ;正向,A組線圈工作 ACALL DELAY ;延時 DEC A ;A0,轉DONEJZ DONEMOV P2,06H ;B組線圈工作 ACALL DELAY ;延時DEC A ;A0,轉DONEJZ DONEMOV P2,0CH ;C組線圈工作ACALL DELAY ;延時DEC A ;A0,轉DONEJZ DON

48、EMOV P2,09H ;D組線圈工作ACALL DELAY ;延時DEC A ;A0,轉LOOP1 JNZ LOOP1AJMP DONE ;A0,轉DONELOOP2: MOV P2,0CH ;反向,A組線圈工作ACALL DELAY ;延時DEC A;A0,轉DONJZ DONEMOV P2,06H ;B組線圈工作 ACALL DELAY ;延時DEC AJZ DONE ;MOV P2,03H ;C組線圈工作ACALL DELAY ;延時DEC A MOV P2,09H ;D組線圈工作 ACALL DELAY ;延時DEC A ;A0,轉LOOP2JZ DONEJNZ LOOP2DONE:

49、 RETDISPLAY:MOV A , #03H ;初始化MOV DPTR , #7F00HMOVX DPTR , AMOV R0 , #60H ;置顯示緩沖區(qū)首地址MOV R2 , #01H ;置位選碼初值MOV A , R2LOOP: MOV DPTR , #7F01HMOVX DPTR , AINC DPTRMOV A , R0ADD A , #0DH ;形成查表的偏移地址MOVC A , A+PCDIR: MOVX DPTR , AACALL DELAY ;延時INC R0MOV A , R2 ACC.5 , LOP1 ;判斷6位是否顯示完畢RL AMOV R2 , AAJMP LOO

50、PLOP1: RETDB 3FH , 06H , 5BH , 4FH , 66H , 6DHDB 7DH , 07H , 7FH , 6FH , 77H , 7CHDB 39H , 5EH , 79H , 71HDELAY: MOV R7 , #04HDELAY1: MOV R6 , #0FFHDELAY2: DJNZ R6 , DELAY2DJNZ R7 , DELAY1RETKEYI: ACALL KS1 ;調用判有無鍵閉合子程序JNZ LK1 ;有鍵閉合,跳LK1NI: ACALL DIR ;無鍵閉合,調用顯示程序,延遲6ms后,跳KEYIAJMP KEYILK1: ACALL DIR

51、;可能有鍵閉合,延遲12ms,軟件去抖ACALL DIRACALL KS1 ;調用判有無鍵閉合子程序JNZ LK2 ;經去抖,判鍵確實閉合,跳LK2處理ACALL DIR ;調用顯示子程序延遲6msAJMP KEYI ;抖動引起,跳KEYILK2: MOV R2,#0FEH ;列選碼R2MOV R4,#00H ;R4為列號計數器LK4: MOV DPTR,#7F01H ;列選碼8155H的PA口MOV A,R2 MOVX DPTR,A INC DPTR ;數據指針增2,指向PC口INC DPTR MOVX A,DPTR ;讀8155H PC口 Acc.0,LONE ;0行線為高,無鍵閉合,跳L

52、ONE,轉判1行MOV A,#00H ;0行有鍵閉合,首鍵號0AAJMP LKP ;跳LKP,計算鍵號LONE: Acc.1,LTW0 ;1行線為高,則跳LTW0,轉判2行MOV A,#08H ;1行有鍵閉合,首鍵號8AAJMP LKPLTW0: Acc.2,LTHR ;2行線為高,則跳LTHR,轉判3行MOV A,#10H ;2行有鍵閉合,首鍵號10HAAJMP LKP ;跳LKP,計算鍵號LTHR: Acc.3,NEXT ;3行線為高,跳NEXT,準備下一列掃描MOV A,#18H ;3行有鍵閉合,首鍵號18HALKP: ADD A,R4 ;計算鍵號:首鍵號列號=鍵號PUSH ACC ;鍵

53、號進棧保護LK3: ACALL DIR ;調用顯示子程序,延時6msACALL KS1 ;調用無鍵閉合子程序,延時6msJNZ LK3 ;判鍵釋放否,未釋放,則循環(huán)POP ACC ;鍵已釋放,鍵號出棧ARETNEXT: INC R4 ;列計數器加1,為下一列掃描作準備MOV A,R2 ;判是否已掃到最后一列(最右一列)JNB Acc.7,KND ;鍵掃描已掃到最后一列,跳KND,重新進行掃描RL A ;位選碼左移一位MOV R2,A ;位選碼R2AJMP LK4 KND: AJMP KEYI KS1: MOV DPTR ,#7F01H ;判有無鍵閉合子程序MOV A,#00H ;即列線全為低電

54、平MOVX DPTR,A INC DPTR ;DPTR增2,指向PC口INC DPTR ;指針增1,指向PC口MOVX A,DPTR ;從PC口讀行線的狀態(tài)CPL A ;行線取反,如無鍵按下,則A為0;ANL A,#0FH ;屏蔽無用的高4位RETEND主程序: ML EQU 32H ;ML存放分的個位數MH EQU 33H ;MH存放分的十位數HL EQU 34H ;HL存放小時的個位數HH EQU 35H ;HH存放小時的十位數L0 EQU 36H ;L0L3:顯示數據存儲器L1 EQU 37HL2 EQU 38HL3 EQU 39HDSPLYP EQU 3AH ;顯示數據指針PLYTS

55、EQU 3BH ;顯示次數計數器LPLMOD BIT 39H ;低兩位顯示方式HPLMOD BIT 3AH ;高兩位顯示方式BRIGHT BIT 3BH ;DISPLAY子程序參數TCOUNT EQU 3CH ;時間計數器ADDRES EQU 3DH ;加l子程序參數MAX EQU 3EH ;加l子程序參數IFDEC BIT 20H ;BCD加法子程序參數RMOD EQU 3FH LED4 BIT 30H ;發(fā)光管狀態(tài)位BELL BIT P1.7 WITCH BIT P3.7 FKEY BIT P3.0 ;功能鍵(S1) MKEY BIT P3.1 ;修改鍵(S2) WORKIN BIT 38

56、H ;工作狀態(tài)指示位MAIN: MOV IE,#00H ;關中斷MOV SP,#57H ;設置堆棧指針MOV PSW,#00H ;選用寄存器組0MOV TMOD,#11H ;設定中斷工作方式為T0和T1MOV A,56HCJNE A,#0AAH,CSTART ;判斷上電復位標志,無標志轉冷啟動MOV A,57HCJNE A,#55H,CSTART ;無標志轉冷啟動AJMP HSTART ;有上電復位標志轉熱啟動NOPNOPCSTART: MOV P1,#0FFH ;冷啟動,全面初始化MOV P3,#0FFHMOV TCON,#00H ;計時停止MOV TL0,#0B0H ;賦中斷T0初值MOV

57、 TH0,#3CHMOV TCOUNT,#0AH ;賦定時器初值MOV R5,#00H ;R5為一空單元(備用)MOV R4,#00H ;R4為工作模式選擇寄存器MOV ML,#00H MOV MH,#00H ;分MOV HL,#00H MOV HH,#00H ;時MOV PLYTS,#64H ;賦顯示次數初值為100次MOV DSPLYP,#L0 ;顯示指針指向顯存單元MOV L0,#0AH ;送顯示數據“一”MOV L1, #0AHMOV L2,#0AHMOV L3,#04HSETB LED4 ;數碼管之間的發(fā)光二極管SETB LPLMOD ;設定顯示方式為閃爍SETB HPLMOD SE

58、TB BRIGHT ;允許顯示CLR WORKIN ;清工作標志,待命AJMP SETUP ;轉開始工作NOPNOPHSTART: MOV SCON,#00H ;有上電標志,熱啟動,清串行口控制MOV IP,#00H ;清中斷優(yōu)先控制寄存器SETB FKEY ;重設按鍵SETB MKEYSETB EA ;開中斷AJMP BEGIN ;轉向繼續(xù)工作NOPNOPSETUP: ETB EA ;開中斷MAINl: ACALL DISPLAY ;調用顯示 FKEY,JUDGE ;按鍵掃描ACALL DELAY1 ;延時消抖動 FKEY,JUDGE ;無鍵按下判斷是否到點CLR ET0 ;功能鍵被按下CL

59、R TR0 ;暫停計日寸ACALL MTAB ;調用菜單設置程序BEGIN: SETB WORKIN ;置工作標志位,開始工作SETB ET0 ;開中斷SETB TR0 ;開始計時MOV A,R4 ;移入工作模式選擇RL A MOV DPTR,#7F01H JMP A+DPTR ;根據模式轉到相應程序段MTAB:AJMP WORKlAJMP WORK2AJMP WORK3AJMP WORK4NOPNOPWORKl: WORK2: CLR WITCH ;工作方式1和2:開繼電器AJMP MAIN2NOPNOPWORK3: WORK4: SETB WITCH ;工作方式3和4:不開繼電器MAIN2

60、: CLR BELL ;ACALL DL05SSETB BELLJUDGE: JNB WORKIN,MAINl ;判斷是否在定時之中JNZ MAINlMOV A,ML ;判斷分是否為零JNZ MAINlMOV A,HH ;判斷時是否為零JNZ MAINl ;若時、分、秒全為零CLR ET0 ;停止計時CLR TR0 ACALL KEYI ;調用到點工作子程序AJMP MAIN ;返回NOPNOPORG 0100HROUNT1: MOV A,#N ;步進電機步數AJNB 00H,LOOP2 ;反向,轉 LOOP2LOOP1: MOV P2,#03H ;正向,A組線圈工作 ACALL DELAY

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論