




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
資料內(nèi)容僅供您學習參考,如有不當或者侵權(quán),請聯(lián)系改正或者刪除。目錄TOC\o"1-4"\h\z\u緒論 10.1課題背景 10.2國內(nèi)外概況 10.3課題的研究工作 2第一章核心芯片結(jié)構(gòu)原理介紹 41.1中央控制芯片AT89C2051 41.11AT89C2051的特點 41.12AT89C2051的引腳功能 41.2紅外線接受模塊TSOP18xx 51.21紅外線一體化接受頭 51.22紅外線發(fā)射碼組成 61.3時鐘芯片DS1302 61.31DS1302引腳功能及結(jié)構(gòu) 71.32DS1302的控制字 71.33數(shù)據(jù)輸入與輸出(I/O) 71.34DS1302的寄存器 81.35DS1302與CPU的連接 8第二章硬件電路設(shè)計 92.1電源部分硬件電路設(shè)計 92.2顯示部分硬件電路設(shè)計 102.3鳴響部分硬件電路設(shè)計 112.4紅外接收部分硬件電路設(shè)計 112.5時鐘控制部分硬件電路設(shè)計 122.6電機部分硬件電路設(shè)計 12第三章系統(tǒng)軟件設(shè)計 143.1紅外線解碼的設(shè)計 143.2DS1302的控制程序 153.3數(shù)碼顯示設(shè)計 173.4遙控控制部分 18總結(jié) 19致謝 20參考文獻 21附錄 22緒論本章闡述了單片機控制的紅外線遙控自動窗簾系統(tǒng)的市場價值、研究背景、國內(nèi)外的現(xiàn)狀、以及發(fā)展方向,明確指出了單片機控制的紅外線遙控自動窗簾系統(tǒng)所面臨的問題及一些解決方案。0.1課題背景生活在提高,時代在進步,人類在向文明邁進,不同的時代對居住空間、環(huán)境有不同的要求,這是社會的必然潮流。單片機控制的自動窗簾遙控系統(tǒng),既能解決每天手拉開和關(guān)上窗簾的不便,又顯示出了生活的檔次,同時還能夠根據(jù)光線的明暗來自動控制窗簾的開關(guān),以調(diào)節(jié)室內(nèi)的光線,更進一步地滿足了人們的享受要求。因此該產(chǎn)品能形成大規(guī)模生產(chǎn),很快會普及全國市場,產(chǎn)生巨大的經(jīng)濟效益;另外,除了廣大市民住宅使用外,該遙控窗簾器還能夠廣泛應用于別墅、公寓、賓館、飯店、寫字樓、歌舞廳、影劇院、會議廳、銀行、學校、醫(yī)院等各種公共場所,因此該產(chǎn)品具有廣闊的市場前景。遙控自動窗簾系統(tǒng)在中國還剛剛興起,但其發(fā)展前景廣闊,推廣和應用自動窗簾系統(tǒng)具有重要的現(xiàn)實意義。其一,改變?nèi)藗兊纳罘绞?。單片機控制的遙控自動窗簾系統(tǒng)具有豐富的智能化功能,為家庭用戶營造一個高效、舒適、便利、環(huán)保的居住環(huán)境。單片機控制的遙控自動窗簾只用一個多功能遙控器就能控制和監(jiān)測住房的窗簾開關(guān)問題,給人們?nèi)丈仙顜順O大的方便。這些都將改變?nèi)藗儌鹘y(tǒng)的生活方式,并提高了人們的生活質(zhì)量。其二,牽動一大批產(chǎn)業(yè)。單片機控制的遙控自動窗簾產(chǎn)品面向家庭用戶,其應用市場是龐大的,發(fā)展前景也是廣闊的,必將吸引大批有遠見的各類企業(yè)介入,從而牽動一大批產(chǎn)業(yè)的發(fā)展。這里最先受益的應該是房地產(chǎn)業(yè),單片機控制的遙控自動窗簾不但是一個很好的概念與”賣點”,同時也是直接提升住宅檔次的一個條件,這將會給房地產(chǎn)商帶來新的利潤空間。在家居集成化、網(wǎng)絡(luò)化的趨勢下,家居集成也成為一種潮流,許多更專業(yè)的、美觀的、智能化的家居集成產(chǎn)品相繼出現(xiàn)。其三,開拓一個嶄新的市場。遙控自動窗簾系統(tǒng)牽動了許多的行業(yè),它將不但僅是當前的IT系統(tǒng)集成商或建筑弱電工程總包商的市場,而且是專業(yè)公司和智能化裝飾公司的市場。0.2國內(nèi)外概況在歐美等發(fā)達國家,電動窗簾已廣泛應用。在前,電動窗簾就已經(jīng)進入中國,可一直沒有大的推廣,這兩年,隨著電控技術(shù)的不斷提高及價格的不斷下降,電動窗簾熱才又卷土重來。據(jù)了解,全國共有170多種電動窗簾器獲得了國家專利,但就其技術(shù)本身而言,還是大同小異,但售價卻有很大差別,貴的要數(shù)千元,便宜的只要500塊。盡管遙控自動窗簾系統(tǒng)在國內(nèi)是一個新興的行業(yè),可是,它也正以不可抵擋之勢迅速崛起。遙控自動窗簾系統(tǒng)走進中國以來,在短短四年的時間里,遙控自動窗簾系統(tǒng)生產(chǎn)商由最初的幾家公司增加到如今的百余家企業(yè),其行業(yè)發(fā)展之迅速是當前國內(nèi)任何其它行業(yè)所無法比擬的。當前,中國遙控自動窗簾系統(tǒng)生產(chǎn)廠商、分銷商、集成商與裝飾公司都形成了相當規(guī)模,不少國內(nèi)知名企業(yè)紛紛涉足遙控自動窗簾系統(tǒng)行業(yè),如青島海爾、清華同方、TCL等,并涌現(xiàn)出一些較具影響力的智能家居專業(yè)廠商,如上海索博智能電子有限公司、北京九州易居科技有限公司、天津瑞朗智能家居電子科技有限公司、深圳市正星特科技有限公司等。自動窗簾產(chǎn)品已開始走進中國的家庭。具報道,中國售出商品房1.9億m2,如果每20m2需要一套窗簾架產(chǎn)品,僅此一項就能夠年新增窗簾架產(chǎn)品近千萬套加上。年新增窗簾架產(chǎn)品市場需求將不低于萬套。如果單片機控制的遙控自動窗簾,銷售占市場的5%左右,就可實現(xiàn)年產(chǎn)值上億元。隨著自動窗簾熱潮在世界范圍內(nèi)的日漸興起,隨著中國電子技術(shù)的飛速發(fā)展、人們生活水平的不斷提高以及智能電子技術(shù)在生活中的廣泛應用,自動窗簾已經(jīng)成為未來家居裝飾潮流發(fā)展的最新方向,在不久的將來,沒有自動窗簾系統(tǒng)的住宅肯定不合潮流。從當前的發(fā)展趨勢來看,在未來的20年時間里,自動窗簾行業(yè)將成為中國的主流行業(yè)之一,其市場的發(fā)展前景是非常廣闊的。0.3課題的研究工作智能家居系統(tǒng)是一個大的社會系統(tǒng)工程,我們應當加快中國智能家居標準化進程。自動窗簾系統(tǒng)作為智能家居中一個很重要的部分,需要在中國智能家居這一領(lǐng)域,建立起一個具有中國特色的新興、健康的產(chǎn)業(yè)鏈。讓自動窗簾系統(tǒng)在中國并不是遠在天邊,而是近在眼前?,F(xiàn)有的電動窗簾機的控制方式有固定式開關(guān)控制、遙控、光控、聲控等,其中以前兩種形式居多。就實用程度和經(jīng)濟角度來說,用固定式開關(guān)控制方式較好,這是因為窗簾的開閉不像電視機等家電產(chǎn)品開閉得那樣頻繁,每天開閉的次數(shù)不多,因此安裝在固定的地方使用也相當方便,如把開關(guān)裝在床頭柜等電器綜合控制系統(tǒng)中,睡在床上就能控制窗簾的開閉。利用觸摸開關(guān),實現(xiàn)全自動斷電,既安全又節(jié)能,但最重要的一點就是沒有實現(xiàn)完全的自動化,沒的擺脫對人的依賴作用。而采用遙控控制時,需要候機電源,不可能完全斷電而且增加遙控功能,也增加了成本,售價也相應提高。窗簾機的控制方式大致上有三種:聲控、光控、時控,聲控和遙控屬于半自動類;而光控雖屬全自動式,但因光敏器件的靈敏度,冬夏等不同季節(jié)的光照度的不同,以及人們對起閉窗簾在時間上的要求不同,而難以實施和普及。因此,時控式的全自動窗簾機便成了專業(yè)以及業(yè)余電子設(shè)計人員的熱門課題。根據(jù)以上自動窗簾有些不能實現(xiàn)完全的自動化;有些雖然實現(xiàn)了完全的自動化,但結(jié)構(gòu)復雜,性能不夠穩(wěn)定;有些雖然實現(xiàn)了完全的自動化,且性能還能夠,但價格昂貴不適合普通消費者使用。因此我想利用價格相對便宜的紅外線遙控發(fā)射芯片、單片機作為主要控制器件,來完成該系統(tǒng)的設(shè)計。該系統(tǒng)主要有如下幾方面的特點:1.發(fā)射紅外線的發(fā)射裝置采用一般彩色電視機的遙控器,這樣既方便又實惠,可謂一物兩用。2.時間控制開關(guān)窗簾。經(jīng)過對DS1302芯片的設(shè)定,讓用戶能夠隨自己的生活習慣方便的自動開關(guān)窗簾,無需手動。3.采用紅外遙控方式,不會干擾其它電器的正常工作,也不會影響鄰近的無線設(shè)備。超距離遙控,可達8~9m。4.另一種控制方式為手動控制方式,防止停電后采用手動控制。5.美觀。以往的遙控電動窗簾都是向一邊拉或向上拉,而本設(shè)計為向兩邊打開,隨個人的愛好能夠控制其大小。6.體積小、結(jié)構(gòu)簡單、靈敏度高、抗干擾性強、經(jīng)濟實用、工作可靠。第一章核心芯片結(jié)構(gòu)原理介紹為使基于單片機控制的紅外線遙控系統(tǒng)在實際使用過程中方便快捷,而且具有較高的性能/價格比,因此對該系統(tǒng)的原器件作了精心挑選。按在實際工作中的作用,可分為以下幾個部分:AT89C2051單片機是整個電路的核心,它控制其它模塊來完成各種復雜的操作;紅外線一體化接受頭負責接受命令;芯片DS1302負責時鐘的運行及設(shè)置參數(shù)的存儲。1.1中央控制芯片AT89C205189C2051是由ATMEL公司推出的一種小型單片機,95年出現(xiàn)在中國市場。其主要特點為采用Flash存貯器技術(shù),降低了制造成本,其軟件、硬件與MCS-51完全兼容,且采用ATMEL高密度非易失存儲器制造技術(shù)制造,將多功能8位CPU和閃爍存儲器組合在單個芯片中,能夠很快被中國廣大用戶接受。其程序的電可擦寫特性,使得開發(fā)與試驗比較容易,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。1.11AT89C2051的特點89C2051有很寬的工作電源電壓,可為2.7~6V,當工作在3V時,電流相當于6V工作時的1/4。89C2051工作于12Hz時,動態(tài)電流為5.5Ma,空閑態(tài)為1mA,掉電狀態(tài)僅為20nA。這樣小的功耗很適合于電池供電的小型控制系統(tǒng)。AT89C51具有以下幾個特點:?AT89C2051與MCS-51系列的單片機在指令系統(tǒng)和引腳上完全兼容;?片內(nèi)有4k字節(jié)在線可重復編程快擦寫程序存儲器;?全靜態(tài)工作,工作范圍:0Hz~24MHz;?三級程序存儲器加密;?128×8位內(nèi)部RAM;?32位雙向輸入輸出線;?兩個十六位定時器/計數(shù)器;?五個中斷源,兩級中斷優(yōu)先級;?一個全雙工的異步串行口;?間歇和掉電兩種工作方式。1.12AT89C2051的引腳功能AT89C2051的接口線包括:P0、P1、P2、P3共四個八位口。1. P0口是三態(tài)雙向口,通稱數(shù)據(jù)總線口,因為只有該口能直接用于對外部存儲器的讀/寫操作。P0口也用以輸出外部存儲器的低8位地圖1址。由于是分時輸出,故應在外部加鎖存器將此地址數(shù)據(jù)鎖存,地址鎖存,信號用ALE。2. P1口是專門供用戶使用的I/O口,是準雙向口。3. P2口是從系統(tǒng)擴展時作高8位地址線用。不擴展外部存儲器時,P2口也能夠作為用戶I/O口線使用,P2口也是準雙向口。4. P3口是雙功能口,該口的每一位均可獨立地定義為第一I/O功能或第二I/O功能。作為第一功能使用時操作同P1口。P3口的第二功能如表1.1所示。端口引腳引腳功能P3.0RXD(串行口輸入端)P3.1TXD(串行口輸出端)P3.2INT0(外部中斷0請求端,低電平有效)P3.3INT1P3.4T0(定時器/計數(shù)器0計數(shù)脈沖輸入端)P3.5T1(定時器/計數(shù)器1計數(shù)脈沖輸入端)P3.6WR(外部數(shù)據(jù)存儲器寫選通輸出端)P3.7RD(外部數(shù)據(jù)存儲器讀選通輸出端)表1.1P3口引腳功能說明表1.1P3口引腳功能說明1.2紅外線接受模塊TSOP18xx遙控器發(fā)射裝置首選家用彩電遙控器。因為當前,彩電和VCD已走進千家萬戶,而其所帶的紅外線遙控器給這些家電的操作帶來了極大的方便,而接受只需一個紅外線一體化接受頭就行了。近年來,隨著信息技術(shù)的飛速發(fā)展,無線通信技術(shù)正在向各個領(lǐng)域滲透,特別是利用紅外線進行通信無論從小型化、輕量化、還是從安全性等方面考慮,其可行性都比較高。紅外數(shù)據(jù)通訊實際是利用紅外線作為通訊載體,由紅外發(fā)射器和紅外接收器來完成信號的無線收發(fā)。在發(fā)射端,對發(fā)送的數(shù)字信號經(jīng)適當?shù)恼{(diào)制后,送入電光變換電路,驅(qū)動紅外發(fā)光二極管發(fā)射紅外光脈沖;在接收端,紅外接收器對收到的紅外信號進行光電變換,并進行解調(diào)后,恢復出原信號。在紅外數(shù)據(jù)通訊中,紅外接收器件的選擇是紅外數(shù)據(jù)通訊中至關(guān)重要的因素。1.21紅外線一體化接受頭TSOP18xx系列是Temic公司新近推出的一體化紅外線接收模塊,集紅外線接收、放大、解調(diào)于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作;而體積只有普通三極管大小一樣,適合各種紅外線遙控和紅外線數(shù)據(jù)傳輸,其傳輸距離大于4米。圖1.2TSOP18xx紅外線接收模塊TSOP18xx系列的管腳分布如圖1.2所示,1、2分別為電源和地,3為信號輸出端,其輸出電平和TTL電平兼容。TSOP18xx系列的特性如下:圖1.2TSOP18xx?多種接收頻率可供選擇:30KHz、33KHz、36KHz、36.7KHz、38KHz、40KHz、56KHz;?大范圍工作電壓:(3-6)V;?工作電流:3mA;?遙控距離:大于4m.?內(nèi)置金屬保護裝置;?綜合限幅電路功能;?多種主要傳輸碼;?智能自動增益控制(AGC)。TSOP18xx系列紅外線模塊接收器的受光面一側(cè)為黑色環(huán)氧聚焦濾波透鏡,此透鏡消除了可見光對它的干擾,對于提高可靠性及濾除光噪聲至關(guān)重要。模塊內(nèi)含紅外線PIN接收管、前置放大器和解調(diào)器。當紅外線發(fā)射器發(fā)出的信號經(jīng)空間傳送到TSOP18xx系列模塊時,模塊內(nèi)部PIN紅外線接收管將紅外光轉(zhuǎn)換為電信號,該信號經(jīng)前置放大、解調(diào)后由3腳輸出與TTL電平兼容的電信號,該信號能直接送入到微控器等要求TTL電平信號輸入的芯片中。1.22紅外線發(fā)射碼組成要使用紅外線一體化接受頭接受遙控器發(fā)射的紅外線,再經(jīng)過單片機解碼,那就。必須先了解紅外線發(fā)射器所發(fā)射的紅外線碼的組成。一般的彩電、VCD遙控器的編碼,大概有以下兩種編碼格式(Format)。第一種格式為1913、9012、1621格式;第二種為3010格式。其中尤以第一種格式用得最多。要識別一個遙控器的格式很簡單,只要把遙控器拆開,看它所用的集成塊型號就知道,比如uPD1621、SAA3010,其格式就是1621、3010格式。下面分別具體說明這兩種編碼格式。第一種格式以1621為例,當按下遙控器上的某個按鍵時,遙控器將發(fā)射出一幀數(shù)據(jù),幀數(shù)據(jù)的編碼格式由三部分組成:引導碼(Leadcode)、客戶碼(Customcode)和數(shù)據(jù)碼(Datacode),對于一個遙控器來說,每個按鍵所發(fā)射的幀數(shù)據(jù)的客戶碼總是一樣的,有區(qū)別的只是數(shù)據(jù)碼。其中9012和1913、1621格式的唯一區(qū)別就是引導碼的高電平寬度不一樣,9012格式為4.5ms,1913和1621格式為9ms。幀結(jié)構(gòu)中的客戶碼和數(shù)據(jù)碼各有兩個字節(jié),第一個字節(jié)和第二個字節(jié)互為按位取反,其中客戶碼的高4位與低4位又互為按位取反?!?’碼由0.56ms高電平和0.565ms低電平組合而成、‘1’碼由0.56ms高電平和1.69ms低電平組合而成。碼元的高電平信號采用38kHz矩形波(載波)調(diào)制發(fā)射,載波占空比(Duty)為1/3,低電平無信號發(fā)射。第二種格式3010與第一種格式截然不同,它是以信號脈沖的上升沿和下降沿來分別表示‘1’碼和‘0’碼的。每一幀由起始位(Startbit)、擴展位(Enlargedbit)、翻轉(zhuǎn)位(Togglebit)、系統(tǒng)位(Systembit)和數(shù)據(jù)位(Databit)組成。1.3時鐘芯片DS1302DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它能夠?qū)δ?、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。1.31DS1302引腳功能及結(jié)構(gòu)DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,經(jīng)過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細說明。SCLK為時鐘輸入端。下圖1.3為DS1302的引腳功能圖:圖1.3DS1302引腳功能圖圖1.3DS1302引腳功能圖1.32DS1302的控制字DS1302的控制字如圖1.4示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。1RAMCKA4A3A2A1A0RAMK圖1.4DS1302的控制字圖1.4DS1302的控制字1.33數(shù)據(jù)輸入與輸出(I/O)在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。1.34DS1302的寄存器DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見圖1.5。另外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。寄存器名稱命令字取值范圍各位內(nèi)容寫讀76543210秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN小時寄存器84H85H01-12或00-2312/240AHRHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR圖1.5DS1302寄存器與控制字對照表圖1.5DS1302寄存器與控制字對照表1.35DS1302與CPU的連接DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。其中,時鐘的顯示用LCD。實際上,在調(diào)試程序時能夠不加電容器,只加一個32.768kHz的晶振即可。只是選擇晶振時,不同的晶振,誤差也較大。另外,還能夠在上面的電路中加入DS18B20,同時顯示實時溫度。只要占用CPU一個口線即可。LCD還能夠換成LED,還能夠使用北京衛(wèi)信杰科技發(fā)展有限公司生產(chǎn)的10位多功能8段液晶顯示模塊LCM101,內(nèi)含看門狗(WDT)/時鐘發(fā)生器及兩種頻率的蜂鳴器驅(qū)動電路,并有內(nèi)置顯示RAM,可顯示任意字段筆劃,具有3-4線串行接口,可與任何單片機、IC接口。功耗低,顯示狀態(tài)時電流為2μA(典型值),省電模式時小于1μA,工作電壓為2.4V~3.3V,顯示清晰。第二章硬件電路設(shè)計電路分為七個部分,分別是電源部分、顯示部分、鳴響提示部分、紅外線接收部分、時鐘控制部分、電機控制執(zhí)行部分、單片機主控器件部分。下面逐一分析:2.1電源部分硬件電路設(shè)計經(jīng)過一帶有整流電路的12V變壓器外接市電(220V)后,輸入直流12V電壓,如圖2.1所示。右邊兩個是12伏的電源濾波電容,一般大電容旁邊并聯(lián)一個小電容的目的是降低高頻內(nèi)阻,因為大的電解電容一般采用卷繞工藝制造,因此等效電感較大,小電容能夠提供一個小內(nèi)阻的高頻通道,降低電源全頻帶內(nèi)阻。然后輸出電壓為+12V的VDD,為控制繼電器提供工作電壓。同時經(jīng)過3端集成穩(wěn)壓器LM7805穩(wěn)壓后輸出+5V電壓VBB,為訊響電路、紅外接收電路、顯示電路提供電源,5V電源經(jīng)過二極管D4、限流電阻R18=51后,為單片機提供VCC電壓,BATTERY是直流供電電源,電壓為3V~3.6V,在本電路中為了節(jié)省成本,使用兩節(jié)5號普通電池,C6和C7是單片機電源濾波電容。平時交流電正常的情況下,5V電源為單片機供電的同時,也為電池浮充電,大大延長了電池的使用壽命,當交流電停電的時候,電池僅為單片機供電,單片機在掉電狀態(tài)下維持時鐘的正常走時,VBB供電被D4隔斷。在控制器設(shè)置成手動控制時,單片機除執(zhí)行任務(wù)外,均處于睡眠狀態(tài),遙控器信號的到來,單片機從睡眠中喚醒,恢復正常工作,因此手動狀態(tài)下當交流停電時,電池的耗電電流更小。此處為12V直流供電電源此處為市電220V交流供電電源此處為12V直流供電電源此處為市電220V交流供電電源圖2.1供電部位電路設(shè)計圖紙圖2.1供電部位電路設(shè)計圖紙2.2顯示部分硬件電路設(shè)計顯示電路設(shè)計,考慮到本設(shè)計是作為一般家庭的自動控制窗簾,因此采用的是四位數(shù)碼管來顯示實時時間、調(diào)開窗簾時間、關(guān)窗簾時間,在開窗簾、關(guān)窗簾的時候在數(shù)碼管上不作任何提示,可是伴隨有聲音提示。這部分電路最大的優(yōu)點就是經(jīng)濟實惠,最大的缺點就是欠美觀及不能反映窗簾動作情況。如果此系統(tǒng)作為大型別墅、賓館、飯店、寫字樓、歌舞廳、影劇院、會議廳、銀行、學校、醫(yī)院等各種公共場所,能夠把這部分電路設(shè)計為液晶屏顯示,當然顯示的就不但僅是時間了,還包括年、月、星期。四位數(shù)碼管顯示,如圖2.2所示,在一般情況下顯示實時時間,在需要調(diào)節(jié)開窗簾時間的時候,經(jīng)過軟件的控制作用,數(shù)碼管將顯示此開定時時間;同樣在需要調(diào)節(jié)關(guān)窗簾時間的時候,數(shù)碼管將顯示此關(guān)定時時間。因為在開窗簾、關(guān)窗簾、停窗簾的時候有明顯的動作現(xiàn)象,很容易觀察到,因此沒有設(shè)定在數(shù)碼管上顯示出來。P1口的P1.0、P1.1、P1.2、P1.3分別接四個三極管,當其中一個引腳背拉為低電平的時候,與該引腳相連的三極管便導通,此三極管便驅(qū)動與它相連接的數(shù)碼管,然后送入該位應該顯示的字形碼。圖2.2數(shù)碼顯示部分硬件電路此引線接低電平
圖2.2數(shù)碼顯示部分硬件電路此引線接低電平2.3鳴響部分硬件電路設(shè)計鳴響電路能夠設(shè)計成一個單獨的單元來控制,用一個獨立的按鍵來控制它的開與關(guān),可是紅外線發(fā)射遙控器是采用彩色電視機上的遙控器,而非專用遙控器,考慮到使用的按鍵較多時容易讓用戶記不清各個鍵對應的功能,因此容易產(chǎn)生誤操作;別外考慮到能夠選取一個功率比較小,聲音比較悅耳的陶瓷喇叭,這個喇叭一方面能掩蓋電機和窗簾發(fā)出來的噪聲,另一方面也能作為檢錯用。一般情況下人們不會把它當噪聲來看待。鳴響電路與單片機的一個P口引腳相連,應程序設(shè)定在開窗簾和關(guān)窗簾的時候都會伴隨著聲音。喇叭采用小功率的陶瓷音源,聲音不會很大。音頻信號輸出,音頻信號經(jīng)過R20、C10輸入到三極管V6的基極上,放大后推動發(fā)聲器Y1發(fā)。二極管D3用來提供C10的放電回路,保證交流信號的正常耦合。圖2.3鳴響部分硬件電路設(shè)計圖2.3鳴響部分硬件電路設(shè)計2.4紅外接收部分硬件電路設(shè)計圖2.4紅外接收硬件電路圖此引線接P3.2此引線接低電平圖2.4紅外接收硬件電路圖此引線接P3.2此引線接低電平2.5時鐘控制部分硬件電路設(shè)計DS1302主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,而且能夠關(guān)閉充電功能。采用普通32768Hz晶振,開窗簾時間,關(guān)窗簾時間都保存在DS1302自帶的RAM中,不需要單獨的EEPROM。要特別說明的是備用電源B1,能夠用電池或者超級電容(10萬uF以上)。雖然DS1302在主電源掉電后,耗電很小,但如果要長時間保證時鐘正常,最好選用小型充電電池。能夠用老式電腦主板上的那種3.6V充電電池。如果斷電時間較短(幾小時或幾天)時,就能夠用漏電較小的普通電解電容代替。100uF就能夠保證1小時的正常走時。DS1302在第一次加電后,須進行初始化操作,初始化后就能夠按正常方法調(diào)整時間及升降窗簾時間。如下圖2.5所示。圖2.5時鐘控制部分電路設(shè)計圖2.5時鐘控制部分電路設(shè)計2.6電機部分硬件電路設(shè)計電機執(zhí)行電路,為了減輕單片機的工作負荷,提高單片機的抗干擾能力,因此電機不直接由單片機來驅(qū)動。當繼電器的觸點打開時,沒有漏電流.也就是說,斷開狀態(tài)的電阻非常大(接近無窮大),此時觸點兩側(cè)的電壓可達1500V;當觸點合上時,接通電阻極低,因此繼電器的功率非常小.因此繼電器不會發(fā)熱,一般也不需要散熱器;電磁繼電器的購買成本一般比半導體驅(qū)動器件低;繼電器的打開時間一般是毫秒級的,相比之下,半導體開關(guān)的開關(guān)時間是微秒級的。電機執(zhí)行部分完全受單片機的控制,經(jīng)過單片機的P3.0和P3.1完成。單片機復位狀態(tài)下P3.0和P3.1輸出高電平,三極管V1、V2,V4、V5截止,兩個繼電器J1、J2釋放狀態(tài),方向可逆的電動機因無電源供電而停止。當P3.0或者P3.1其中有一個被拉低后,兩個繼電器便會有一個導通,例如P3.0拉低后V1導通、V4導通,J1吸合,電機得電轉(zhuǎn)動,當只有P3.1拉低后,電機則反方向轉(zhuǎn)動,實現(xiàn)了窗簾的拉開和關(guān)閉。兩個繼電器的工作狀態(tài)受單片機控制,在同一個時間內(nèi)兩個繼電器僅能有一個吸合。即便是在電機工作期間,操作了反向轉(zhuǎn)動按鍵,單片機也是先釋放當前工作的繼電器,并延時一段時間后再吸合另外一個繼電器,防止了電機正反工作線圈同時通電的冒險。電路圖見下圖2.6。接控制線P3.1接控制線P3.0接控制線P3.1接控制線P3.0圖2.6電機控制部分電路設(shè)計圖2.6電機控制部分電路設(shè)計第三章系統(tǒng)軟件設(shè)計該系統(tǒng)最重要的部分就是程序的編寫,如果軟件編寫的科學就能體現(xiàn)出該系統(tǒng)功能的完整性、實用性、經(jīng)濟性。軟件部分的編寫主要分為紅外線解碼程序、時鐘芯片DS1302控制程序、數(shù)碼顯示程序、遙控控制程序這四大部分來闡述。3.1紅外線解碼的設(shè)計該系統(tǒng)采用長虹彩電K11F型遙控器,產(chǎn)生的遙控編碼是連續(xù)的32位二進制碼組,其中前16位為用戶識別碼,能區(qū)別不同的電器設(shè)備,防止不同機種遙控碼互相干擾。該芯片的用戶識別碼固定高8位地址為0BFH,低8位地址為40H;后16位為8位操作碼(功能碼)及其反碼。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進制碼,周期約為108ms。一組碼本身的持續(xù)時間隨它包含的二進制"0"和"1"的個數(shù)不同而不同,大約在45~63ms之間。當一個鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個起始碼(9ms),一個結(jié)果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。代碼寬度算法:16位地址碼的最短寬度:1.12×16=18ms16位地址碼的最長寬度:2.24ms×16=36ms。易知8位數(shù)據(jù)代碼及其8位反代碼的寬度和不變:(1.12ms+2.24ms)×8=27ms。因此得32位代碼的寬度為(18ms+27ms)~(36ms+27ms)解碼的關(guān)鍵是如何識別"0和"1",代碼格式(以接收代碼為準,接收代碼與發(fā)射代碼反向)。從位的定義我們能夠發(fā)現(xiàn)"0"、"1"均以0.56ms的低電平開始,不同的是高電平的寬度不同,"0"為0.56ms,"1"為1.68ms,因此必須根據(jù)高電平的寬度區(qū)別"0"和"1"。如果從0.56ms低電平過后,開始延時,0.56ms以后,若讀到的電平為低,說明該位為"0",反之則為"1",為了可靠起見,延時必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為"0",讀到的已是下一位的高電平,因此取(1.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可;根據(jù)碼的格式,應該等待9ms的起始碼和4.5ms的結(jié)果碼完成后才能讀碼。根據(jù)以上分析可得出解碼程序流程如下:有信號產(chǎn)生中斷→EA清零→延時小于9ms(低電平)→等待高電平的到來→延時小于4.5ms(高電平)→等待下一次高電平的到來→延時0.84ms左右→讀區(qū)P3.2腳電平值→再等待下一次高電平的到來→延時0.84ms左右→讀取P3.2腳電平值,依次取得32位代碼,前16位為識別碼,后18位既為8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼。集體流程框圖見3.1。有信號,中斷有信號,中斷接受解碼跳出識別碼正確否?與實際鍵值(10個)比較,轉(zhuǎn)出執(zhí)行相應動作中斷返回Y圖3.2DS1302讀實時時間圖3.2DS1302讀實時時間80H~88H→R_BIT(DS1301時間地址)60H~66H→W_BIT(2051時間地址)CLK=1,RST=1CLK=0,RST=0CLK=0,RST=1NN圖3.1紅外中斷,接收信號3.2DS1302的控制程序圖3.1紅外中斷,接收信號I2C總線是由數(shù)據(jù)線SDA和時鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,因此每個電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關(guān)。I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是:開始信號、結(jié)束信號和應答信號。開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號:SCL為低電平時,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。應答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應答信號,CPU接收到應答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現(xiàn)故障。當前有很多半導體集成電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監(jiān)控芯片等也提供I2C接口,DSl302有單字節(jié)傳送方式和多字節(jié)傳送方式。經(jīng)過把復位線驅(qū)動至高電平來啟動所有的數(shù)據(jù)傳送。復位線有兩種功能,首先接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,提供了中止單字節(jié)或多字節(jié)數(shù)據(jù)傳送的手段。數(shù)據(jù)輸入時,時鐘的上升沿數(shù)據(jù)必須有效,數(shù)據(jù)的輸出在時鐘的下降沿。如果為低電平,那么所有的數(shù)據(jù)傳送將被中止且I/0引腳變?yōu)楦咦锠顟B(tài)。上電時,在Vcc>2.5伏之前,必須為邏輯0。當把驅(qū)動至邏輯1狀態(tài)時,SCLK必須為邏輯0。單字節(jié)數(shù)據(jù)輸入跟隨在寫命令字節(jié)的8個SCLK周期之后,在隨后的8個SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),數(shù)據(jù)從位0開始輸入,如圖3.3。多字節(jié)數(shù)據(jù)輸出跟隨在輸入讀命令字節(jié)的8個SCLK周期之后,在隨后的8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié),數(shù)據(jù)從位0開始輸出,如圖3.4。圖3.3單字節(jié)傳送方式圖3.3單字節(jié)傳送方式圖3.4多字節(jié)傳送方式圖3.4多字節(jié)傳送方式讀取實時時間過程流程見框圖3.2;DS1302初始化流程見框圖3.5;修改RAM值見框圖3.6。Clk=0,rst=0Clk=0,rst=1CLK=1Clk=0,rst=0Clk=0,rst=1CLK=1,RST=08EH8EH→R_BIT(寫入DS1302)80H→R_BIT(關(guān)允許寫入)8EH→R_BIT(寫入DS1302)8EH→R_BIT(寫入DS1302)00H→R_BIT(開允許寫入)Clk=1,rst=0Clk=0,rst=1Clk=1,rst=0Clk=0,rst=1Clk=1,rst=0Clk=0,rst=190H→R_BIT(充電方式地址)10100101B→R_BIT(充電方式)80H~80H~88H→R_BIT(DS1301時間地址)60H~66H→R_BIT(2051時間地址)Clk=1,rst=0Clk=0,rst=1圖3.5DS1302初始化過程圖3.5DS1302初始化過程圖3.6修改RAM過程圖3.6修改RAM過程CLK=1,RST=0Clk=0,rst=0Clk=0,rst=18EH→R_BIT(寫入DS1302)00H→R_BIT(開允許寫入)R1→R_BIT(地址)R0→R_BIT(數(shù)據(jù))Clk=1,rst=0Clk=0,rst=18EH→R_BIT(寫入DS1302)80H→R_BIT(關(guān)允許寫入)3.3數(shù)碼顯示設(shè)計數(shù)碼管的顯示程序由定時計數(shù)器來設(shè)定,既大約200ms后定時計數(shù)器就會產(chǎn)生中斷,在中斷子程序里面,數(shù)碼管會根據(jù)具體情況執(zhí)行不同的顯示子程序。第一種顯示方式:正常時間顯示,先使與第一個數(shù)碼管相連的三極管導通即把P1.3置一,接著把分鐘個位(61H的低四位)的字形碼送入P0口,延時一段時間,讓第一個三極管截止,第二個三極管導通,把分鐘十位(62H的高四位)的字形碼送如P0口,延時一段時間,至此分鐘就顯示完了。接著以同樣的方式送第三位、第四位到小時的個位、十位;第二種顯示方式:調(diào)開窗簾的時間,如果02H為高電平就表明用戶在調(diào)開窗簾的定時時間,這樣就必須顯示開窗簾的定時時間(6AH、6BH),顯示方式與正常時間顯示一樣。第三中顯示方式:調(diào)關(guān)窗簾的時間,如果03H為高電平就表明用戶在調(diào)關(guān)窗簾的定時時間,這樣就必須顯示關(guān)窗簾的定時時間(6CH、6DH),顯示方式與正常時間顯示一樣。框圖見3.7。02H為1否02H為1否顯示開窗簾時間定時計數(shù)器1中斷03H為1否顯示關(guān)窗簾時間顯示正常時間中斷返回NNYYNNYY圖3.7定時中斷到,顯示圖3.7定時中斷到,顯示3.4遙控控制部分遙控控制部分就是根據(jù)遙控器發(fā)送的編碼來執(zhí)行需要的任務(wù),其中包括:開窗簾、關(guān)窗簾、停止移動(把窗簾設(shè)置成半開狀態(tài))、調(diào)節(jié)實時時間,(按一下此鍵,再按加、減鍵即可使實時時間增加一或減小一)、調(diào)節(jié)開窗簾時間、調(diào)節(jié)關(guān)窗簾時間、時間增加、時間減小、開/關(guān)自動開關(guān)簾、開/關(guān)自動關(guān)窗簾。具體實施措施為:1.接收到的紅外線碼值為10H,轉(zhuǎn)入執(zhí)行stop子程序,此時P3.0、P3.1兩個引腳都將被置為高電平,控制電機的四個三極管都處于截止狀態(tài),電機不執(zhí)行任何動作既窗簾停止不動;2.接受到的紅外線值為16H,轉(zhuǎn)入執(zhí)行OPEN子程序,在此程序中P3.0將被置"1",與P3.0相連接的兩個三極管導通,電機正轉(zhuǎn),延時一段時間也就是窗簾全部打開的時候P3.0又被置"0",電機停止運動;3.接收到的紅外線值為44H,轉(zhuǎn)入執(zhí)行CLOSE子程序,在此程序中P3.1將被置"0",與P3.1相連接的兩個三極管導通,電機反轉(zhuǎn),延時一段時間也就是窗簾全部被關(guān)上的時候P3.1又被置"01",電機停止運動;4.接收到的紅外線值為0CH,就使01H取反,開始01H應該為"0",取反后01H變?yōu)?1"如果此時再按加一或是減一鍵,系統(tǒng)便會轉(zhuǎn)入執(zhí)行STIME子程序,使實時時間加一或是減一后放入DS1302的RAM中,如果再次按到0CH這個鍵,那么01H取反被設(shè)置為"0",按加或是減鍵的時候就不能改變實時時間的值了;5.接受到的紅外線值為46H、47H的時候與第四基本上相同,不同之出就是46H為調(diào)節(jié)開窗簾的定時時間,47H為調(diào)節(jié)關(guān)窗簾的定時時間;6.接受到的紅外線值為49H時,為開/關(guān)自動開窗簾,中斷程序?qū)?3H取反,03H開始應該為"0",取反后變?yōu)?1",系統(tǒng)在去讀取DS1302實時時間的時候如果發(fā)現(xiàn)03H為"1"就會把讀得的實時時間與開窗簾的定時時間想比較,相等就會執(zhí)行開窗簾子程序;如果再次按到該鍵,03H將被值"0",在讀取實時時間的時候就不在作比較了,而是直接退出中斷程序;7.接受到的紅外線值為50H時,為開/關(guān)自動關(guān)窗簾,與開/關(guān)自動開窗簾設(shè)計一樣。總結(jié)現(xiàn)象觀察:在MCS-51仿真器上經(jīng)過編譯、加載、運行后能夠觀察到,在沒有調(diào)時鍵被按下時,數(shù)碼管顯示正常的實時時間,因為在分鐘和小時中間沒有設(shè)置準確的秒鐘閃爍信號,因此只能看到在小時和分鐘間有個點在閃爍。在P3.0、P3.1口上分別接一發(fā)光二極管,在送入低電平的時候亮,高電平的時候不亮。在有鍵被按下時,程序自動轉(zhuǎn)入相應的中斷子程序,如:P2.1口手動開簾鍵被按下時,P3.0口上接的發(fā)光二極管亮;P2.1口上的鍵被按下時,P3.1口上接的發(fā)光二極管亮,這說明程序能夠正常的運行,能夠使繼電器導通,帶動電機向正確的方向轉(zhuǎn)動。經(jīng)過在MCS-51仿真器上調(diào)試運行,此電路及程序基本上達到了預期目的,當然在程序中也還有很多能夠改進的優(yōu)化設(shè)計,也還能夠添加一些輔助功能這些都還有待更好的改進。本文主要完成了如下工作:硬件部分?采用自制5V穩(wěn)壓電源。先用一變壓器把市電(220V交流電)變成12V,經(jīng)整流、濾波后,再用一集成穩(wěn)壓管(74L05)把電壓穩(wěn)定在5V以供單片機使用;?單片機選用89C2051,是整個系統(tǒng)的核心部件,擔負整個系統(tǒng)的管理控制任務(wù);?紅外線遙控方式。發(fā)射部分采用普通的彩電遙控器,既節(jié)約成本又方便;接收部分采用一紅外線接頭,主要是經(jīng)過89C2051解碼,分析出需要執(zhí)行的命令,再由單片機去完成;?采用四位數(shù)碼管來顯示時間及要求的動作指示;?設(shè)有鳴響提示喇叭;?數(shù)據(jù)存儲設(shè)定。選用時鐘日歷芯片DS1302作為萬年歷,因為她帶有32字節(jié)的RAM,而且?guī)в泻髠潆娫床慌聰嚯?因此兼做數(shù)據(jù)存儲器使用,保存用戶設(shè)定的一些參數(shù)。?窗簾用能正反轉(zhuǎn)的電動機來拖動,電機的轉(zhuǎn)動方向由繼電器來控制。軟件部分:?對DS1302芯片進行初始化,I2C總線進行單字節(jié)數(shù)據(jù)讀寫傳送、多字節(jié)數(shù)據(jù)讀寫傳送;?利用紅外線一體化接收頭對紅外線遙控器發(fā)射的編碼進行接收,然后由單片機根據(jù)接收到的信號進行解碼;?控制程序,根據(jù)解碼得到的結(jié)果去執(zhí)行需要的操作。開窗簾、關(guān)窗簾、停止移動、調(diào)節(jié)實時時間、調(diào)節(jié)開窗簾時間、調(diào)節(jié)關(guān)窗簾時間、時間增加、時間減小、開/關(guān)自動開關(guān)簾、開/關(guān)自動關(guān)窗簾;?顯示電路。實時時鐘顯示、開窗簾調(diào)時顯示、關(guān)窗簾調(diào)時顯示。本課題的研究雖然取得了一定的收獲,但在很多方面還有待于進一步的改進和完善。如:鳴響電路沒有作為一個單獨的單元來控制,這樣在每次開關(guān)窗簾的時候有會伴隨著喇叭的聲音,如果把鳴響電路設(shè)計成單獨的控制單元,而且在執(zhí)行不同操作時會伴隨不同的樂曲聲,那樣將是最理想的;還有就是沒有設(shè)計光控電路,以便根據(jù)光線強弱自行調(diào)整升降。致謝在論文完成之際,我首先要對我的指導老師陳老師和幫助過我的所有同學及提供給我實驗條件的高老師表示最真摯的謝意。在整個論文的選題、理論研究、需求分析和系統(tǒng)設(shè)計的過程中,她們給了我不少啟發(fā),并對論文的設(shè)計方案提出了許多至關(guān)重要的建議,在實驗過程中幫我解決了不少的難題。在論文寫作期間曾經(jīng)遇到過很多的阻力,可是在大家的幫助下總算是順利地度過了,現(xiàn)在一切都好了。在論文的完成過程中,我還要特別感謝向老師給予了我無私的幫助,正是在她的鼓勵和幫助之下,才使得我的實驗能順利的完成;同時,得到了其它許多讓我分享她們寶貴經(jīng)驗和知識的老師以及同學的熱心幫助,向她們表示由衷的感謝;我還要感謝這一領(lǐng)域的學者們,是她們給我經(jīng)驗和研究方向,文中引用了一些她們研究成果,在此一并表示衷心的感謝。由于本人學識有限,加之時間倉促,文中不免有錯誤和待改進之處,真誠歡迎各位師長、同行提出寶貴意見。謝謝!參考文獻[1]楊恢先,黃輝先.單片機原理及應用.長沙:國防科技大學出版社,.[2]陽憲惠.現(xiàn)場總線技術(shù)及其應用.北京:清華大學出版社,1999.[3]張友德,等.單片機原理應用與實驗.上海:復旦大學出版社,.[4]李朝青.單片機原理及接口技術(shù).北京:北京航空航天大學出版社,1996.[5]閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,1998.[6]陳玉宏,向鳳紅.自動控制原理.重慶:重慶大學出版社,.[7]楊幫文.新編傳感器實用寶典.北京:機械工業(yè)出版社,.[8]鄭啊奇.VisualBasic教程.清華大學出版社,.[9]杜文潔.電路基礎(chǔ).科學出版社,.[10]俞志根.傳感器與檢測技術(shù).科學出版社,.[11]王法輪.單片機原理及應用.科學出版社,.[12]于安紅.簡明電子元器件手冊.上海交通大學出版社,.[13]楊愛琴.數(shù)字電子技術(shù).科學出版社,.[14]Url:,百度百科附錄;遙控器各按鍵數(shù)據(jù)碼stopequ10h;手動使窗簾停止運動s_timeequ0ch;調(diào)實時時間o_timeequ46h;調(diào)升窗簾時間c_timeequ47h;調(diào)降窗簾時間upequ19h;增加時間鍵downequ1dh;減少時間鍵openequ16h;手動升closeequ44h;手動降o_autoequ49h;自動升簾開關(guān)c_autoequ50h;自動降簾開關(guān)secondequ60h;2051時間地址k_onbitp3.0;電機正轉(zhuǎn)輸出k_offbitp3.1;電機反轉(zhuǎn)輸出clkbitp2.0;ds1302的三總線iobitp2.1rstbitp2.2;60h秒;61h分;62h時;6ah開分from00(1302);6bh開時from01(1302);6ch關(guān)分from10(1302);6dh關(guān)時from11(1302);*****************************************************org0000hajmpstartorg0003hljmps_int;紅外線中斷org000bh;200usljmpp_int;定時讀時間及比較時間org001bhljmpdisplay;*****************************************************org0030hstart:clrrstmovsp,#2ahclr01hclr02hclr03hclr04hclr05hmovtmod,#12h;為00010010bmovtl1,#0e5hmovth1,#0behmovth0,#3fhmovtl0,#3fhsetbet0setbet1setbtr0setbtr1setbit0;電平中斷方式setbex0lcallset1302;初始化movr1,#0c1h;取定時開參數(shù)從1302中(1100,0001)acallt_6061mov6ah,amovr1,#0c3h;(1100,0011)acallt_6061mov6bh,amovr1,#0c5h;取定時關(guān)參數(shù)從1302中(1100,0101)acallt_6061mov6ch,amovr1,#0c7h;(1000,0111)acallt_6061mov6dh,asetbeasjmp$delay1:movr4,#034haa:movr5,#045hdjnzr5,$djnzr4,aaret;*****************************************************p_int:pushaccpushpswsetbrsoclrrs1incr2cjner2,#250d,p_outmovr2,#00hincr3cjner3,#10d,p_outmovr3,#00h;延時250*10*200usacallr_1302;時間放60,61,62h中now1:jnb04h,now2mova,6bhmovb,#10divabswapaadda,bcjnea,62h,now2mova,6ahmovb,#10divabswapaadda,bcjnea,61h,now2;比較62h,61h與6bh,6ahsetbp3.1clrp3.0acalldelay1setbp3.0now2:jnb05h,outmova,6dhmovb,#10divabswapaadda,bcjnea,62h,outmova,6chmovb,#10divabswapaadda,bcjnea,61h,outsetbp3.0clrp3.1acalldelay1setbp3.1;比較62h,61h與6dh,6chout:poppswpopaccreti;*******************************************************display:pushaccpushpswmovtl1,#0e0hmovth1,#0b0hmovdptr,#tab1jb01h,ds1;調(diào)正常顯示時間jb02h,ds2;調(diào)升窗簾時間顯示jb03h,ds3;調(diào)降窗簾時間顯示ds0:movdptr,#tab1mova,62hanla,#0fhmovb,amova,62hswapaanla,#07hmovca,@a+dptrmovp0,aclrp1.3lcalldl2msetbp1.3;顯示小時mova,bmovca,@a+dptrclracc.7movp0,aclrp1.2lcalldl2msetbp1.2mova,61hanla,#0fhmovb,amova,61hswapaanla,#0fhmovca,@a+dptrmovp0,aclrp1.1lcalldl2msetbp1.1mova,bmovca,@a+dptrmovp0,aclrp1.4lcalldl2msetbp1.4setbtr1poppswpopaccretids1:mova,62hmov42h,amova,61hmov43h,asjmpds_1ds2:mova,6bhmov42h,amova,6ahmov43h,asjmpds_1ds3:mova,6dhmov42h,amova,6chmov43h,asjmpds_1ds_1:movdptr,#tab1mova,42hanla,#0fhmovb,amova,42hswapaanla,#07hmovca,@a+dptrmovp0,aclrp1.3lcalldlcmsetbp1.3mova,bmovca,@a+dptrclracc.7movp0,aclrp1.2lcalldlcmsetbp1.2mova,43hanla,#0fhmovb,amova,43hswapaanla,#0fhmovca,@a+dptrmovp0,aclrp1.1lcalldlcmsetbp1.1mova,bmovca,@a+dptrmovp0,aclrp1.4lcalldlcmsetbp1.4poppswpopaccretidl2m:mov40h,#14hdl2:mov41h,#14hdl1:nopnopdjnz41h,dl1djnz40h,dl2retdlcm:mov40h,#160ddl4:mov41h,#160ddl3:nopnopdjnz41h,dl1djnz40h,dl2ret;************************有接收到遙控器信號*******s_int:clreapushaccpushpswclrrs0setbrs1movr6,#10dsb:acallys1jbp3.2,exit;持續(xù)9ms低電平djnzr6,sbjnbp3.2,$acallys2;持續(xù)4ms高電平j(luò)bp3.2,exitmovr1,#1ahmovr2,#4dpp:movr3,#8djjjj:jnbp3.2,$acallys1;高電平延時0.8ms后既為值movc,p3.2jncuuujbp3.2,$uuu:mova,@r1rrcamov@r1,adjnzr3,jjjjincr1djnzr2,pp;mova,1ahxrla,#40h;判斷1ah的值是否等于遙控器低8位地址(40h)jnzexitmova,1bhxrla,#0bfh;再判斷高8位地址是否正確(0bfh)jnzexitmova,1chcplaxrla,1dh;將1ch的值取反后和1dh比較不同則無效丟棄(核對數(shù)據(jù)是否準確)jnzexitacalldo;相應按鍵的處理exit:setbeapoppswpopaccreti;delayys1:mov70h,#16d;延時1,9msdd1:mov71h,#21ddjnz71h,$djnz70h,dd1retys2:mov70h,#09d;延時2,4msdd2:mov71h,#220ddjnz71h,$djnz70h,dd2ret;按鍵判斷d0:cjnea,#stop,d1setbp3.0setbp3.1;電機停止轉(zhuǎn)動ajmpexitd1:cjnea,#open,d2;正轉(zhuǎn)setbp3.1clrp3.0acalldelay1setbp3.0ajmpexitd2:cjnea,#close,d3;反轉(zhuǎn)close1:setbp3.0clrp3.1acalldelay1setbp3.1ajmpexitd3:cjnea,#s_time,d4;調(diào)時間(45h,44h,43h,42h)cpl01hajmpexitd4:cjnea,#o_time,d5;調(diào)升窗簾時間(34h,33h,32h,31h)cpl02hajmpexitd5:cjnea,#c_time,d6;調(diào)降窗簾時間(38h,37h,36h,35h)cpl03hajmpexitd6:cjnea,#0_auto,d7;自動升簾開關(guān)clp04hajmpexitd7:cjnea,#c_auto,d8;自動降簾開關(guān)clp05hajmpexitd8:cjnea,#up,d9;數(shù)字加1sjmpup1ajmpexitd9:cjnea,#down,exit;數(shù)字減1sjmpdown1ajmpexitexit:poppswpopaccreti;incup:jb01h,s_time1jb02h,o_time1jb03h,c_time1rets_time1:mov6fh,61hacallbcd_hexincacjnea,#60d,inch1mova,#0inch1:mov6fh,aacallhex_bcdmov61h,amovr1,#82hmovr0,61hacallsetone;分鐘+1mova,61hcjnea,#00h,exit2mov6fh,62hacallbcd_hexinca
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場專柜靜電合同范本
- 動機驅(qū)動與課堂賦能:大學生英語學習的內(nèi)在邏輯與教學策略
- 中學思想政治課校本教學:理論、實踐與創(chuàng)新發(fā)展
- 2025至2030年中國直角無坑圓壓圓橫切刀數(shù)據(jù)監(jiān)測研究報告
- 吊車出租合同范例
- 2025至2030年中國酸性大紅染料數(shù)據(jù)監(jiān)測研究報告
- 員工上崗合同范例
- 共享單車合作合同范本
- 2025至2030年中國聚酯冰包數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國硫酸阿米卡星注射液數(shù)據(jù)監(jiān)測研究報告
- 中冶集團《工程總承包項目管理手冊》-
- 鐵路軌道與修理
- 紡織行業(yè)清潔生產(chǎn)評價指標體系色紗
- 《風景談》新教學課件
- 職場角色認知與自我定位
- 化工設(shè)備機械基礎(chǔ)復習及答案匯總
- 心肌梗死后心衰病例分享
- 四年級全冊《勞動》課程知識點匯總精排
- 人本位醫(yī)療培訓課件
- 第3課 中古時期的歐洲
- 《供應鏈管理》課程整體設(shè)計
評論
0/150
提交評論