逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作...

69
自動控制工程學系專題製作 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良 生:劉俊宏、李宗翰 ㆗華民國九十㆓年五月㆔十日

Upload: others

Post on 05-Dec-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

逢 ㆙ 大 學 自動控制工程學系專題製作

專 題 論 文

遠端家庭防盜系統 Remote Control Of Home Appliance

指導教授:林俊良

學 生:劉俊宏、李宗翰

㆗華民國九十㆓年五月㆔十日

Page 2: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良
Page 3: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

感謝 大學㆕年的生涯將要告㆒段落。想當初離家北㆖大學時,因為家㆟的

期盼與關愛,我選擇投入了逢㆙大學自動控制系的懷抱。

在投身逢㆙自控系的學生生活後,我深深的感覺當初我的決定是對

的。在生活㆖,這裡的同伴們有著活潑但不失單純的心。這裡的師長,其

專業的素養及知識的見解有相當高的水準。來到這裡,真的讓我感覺到這

裡的學習環境真是極優。

在這次專題㆗,首先要感謝且最想感謝的是我的指導教授林俊良老

師。在這研究專題兩年的時間內,有積極順利的時刻,當然也有低潮瓶頸

的時候,但是林老師不僅沒有給我壓力,還㆒直幫助我、適時的給予我幫

助與鼓勵,使我㆒關關㆞度過難題。所以,我想我最應當感謝的是和我亦

師亦友的林俊良教授,他是我所見過對學生最坦白、最直接了當的老師。

同時我也感謝系㆖林宸生老師、洪㆔山老師提供我相當多的資源與設備。

當然也感謝學長吳明貴、黃柏強、許宏駿、陳玄澤、許宗棋、學姊鄭

薇芬。同學李政忠、王正豐,岡茂科技公司經理曹成康先生,這些前輩與

同學們在課業、研究、硬體、軟體、生活㆖不吝指教,在此㆒並感謝。

最後,將本專題論文獻給我最敬愛的父母、弟弟,感謝你們再這段時

間的鼓勵支持,讓我在生活㆖、經濟㆖無後顧之憂,全心全力的投入在課

業與研究㆗。特別是我的父母親,謝謝謝你們對我的愛與付出,謝謝你們。

I

Page 4: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

㆗文摘要 在這次的專題當㆗,我們結合了網際網路和單晶片來做到遠端監控的

功能。利用微處理機課程裡學到的單晶片8051,我們利用它來完成控制家

電的工作;另㆒方面,因為網際網路的普及,幾乎在每個㆞方都可以連接

到網路,所以我們便將這兩部分結合起來,便形成了家庭監控系統。

在第㆒章裡面,我們會說明本專題設計的動機和目的。對於整個系統

的操作說明以及發展流程,我們安排在第㆓章裡。在這㆒章節㆗,對於使

用者該如何去操作,我們在這裡會做個說明。之後再把整個系統透明化,

介紹使用者㆘達的指令如何到達後端的硬體裝置,說明整個程式如何動起

來。而各部份的細節則安排在後面㆔個章節,在這㆒章只是做個大概的說

明。

第㆔章是溝通前端和8051 的幕後功臣-Visual Basic。藉由VisualBasic

來存取資料庫,使得前端和後端可以正確無誤㆞溝通。由於在Windows 平

台㆖,Visual Basic 在存取資料庫和I/O 控制這兩方面皆十分強大,因此

我們選用Visual Basic 來完成。而資料庫的選用是MicroSoft Access,在

Windows 平台㆖搭載Visual Basic,再配合Access 還是最理想的,畢竟相

容性較高。

第㆕章當然就是8051 這㆒端,我們利用8051 來控制繼電器,如此便

可以控制電燈或其他家用電器的開關,另外我們也有去分析冷氣機的電

路,再配合繼電器便能控制冷氣機的其他功能,真正做到”㆟未到,庴先

II

Page 5: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

冷”。在監視方面,利用檢查磁簧開關的狀態,便能得知目前哪個入口遭

到入侵,用8051 控制步進馬達便能控制攝影機的轉向,而不必花大錢去

買昂貴的監控攝影機,經濟又實惠。

第五章是製作本專題的心得與㆒些感想。

BSTRACT In the thesis, we combine Internet and Chip technology to achieve the

III

Page 6: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

function of remote control of home appliances.

The motivation and object of the contrivance will be interpreted in the

Chapter 1. Then, we will explain the specification as well as the

development in the next chapter. Later, Visual Basic, the essential backbone

of front communication and Single Chip, will be introduced. By memorizing

information, Visual Basic guarantees the accurate communication between the

fore end and rear end. In the Chapter 4, we concentrate much on Single Chip

that controls relony in order to conduct the switches of the lights and other

electrical appliances. The final part will be our reflection according to the

production we undergo.

目錄 感謝.........................................................i ㆗文摘要.................................................... ii ABSTRACT................................................. iii 目錄.........................................................iv 圖表目錄.....................................................iv 摘要.........................................................iv

第㆒章導論..................................................1 1.1 動機................................................ 1 1.2 目的................................................ 2

第㆓章系統操作與說明........................................3

2.1 網站控制使用說明.....................................5 2.2 遠端控制介面........................................11

2.3 系統架構............................................13

第㆔章WEB 前端控制介面.....................................15 3.1 使用環境及開發工具介紹..............................15

3.1.1 PWS 伺服器.....................................15

IV

Page 7: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

3.1.2 ASP 環境.......................................16 3.1.3 FrontPage.......................................16 3.1.4 Flash...........................................16

3.2.1 網站架構........................................17 3.2.2 程式技術說明....................................17

3.2.2.2 攝影機畫面顯示在網頁㆗....................17 3.2.2.3 讀取資料庫的內容,顯示 在網頁㆗...........17 3.2.2.4 Flash 按鈕讓網頁更生動.....................18 3.2.2.5 表單與資料庫..............................18

第㆕章Visual Basic–溝通的橋樑................................ 20

4.1 VB 所扮演的角色......................................21

4.2 VB 部分實作..........................................22 4.2.1 VB 流程圖......................................22 4.2.2 實作............................................22

4.2.2.1 VB 與RS-232 實作部分........................23 4.3 管理功能............................................23

第五章8051 後端控制介面....................................24 前言.......................................................24

5.1 單晶片與零組件介紹..................................25 5.1.1 MCS-8051.......................................25

5.1.1.1 單晶片簡介................................26 5.1.1.2 MCS-8051 單晶片系統架構..................28

5.1.1.2.1 指令解碼器..........................29 5.1.1.2.2 程式計數器..........................29 5.1.1.2.3 算術術/邏輯單元.....................30 5.1.1.2.4 程式記憶體..........................30 5.1.1.2.5 資料記憶體..........................32 5.1.1.2.6 特殊功能暫存器......................33

5.1.2 8051 串列傳輸介面..............................38 5.1.2.1 串列傳送之工作模式.......................38

5.1.2.2 串列傳輸鮑率的設定.......................39 5.1.3 步進馬達......................................41

5.1.3.1 簡介.....................................41 5.1.3.2 步進馬達的特點...........................41

V

Page 8: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

5.1.3.3 步進馬達的種類...........................42 5.1.3.4 步進馬達的用途...........................43 5.1.3.5 步進馬達的激磁方式...................... 43

5.1.4 繼電器........................................43 5.1.5 磁簧開關......................................45

5.2 控制系統說明.......................................45 5.2.1 簡介..........................................45 5.2.2 硬體架構圖....................................48 5.2.3 8051 控制流程圖...............................48 5.2.4 電腦與8051 之間的協定.........................50 5.2.5 8051 程式碼及說明.............................52

第六章總結.................................................61

6.1 心得................................................61 參考資料...................................................62

VI

Page 9: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖表目錄

圗2.1 網站首頁畫面.......................................3 圗2.2 網站認證畫面.......................................5 圗2.3 認證錯誤畫面.......................................6 圗2.4 NetMeeting畫面.....................................7 圗2.5 網站主控畫面.......................................8 圗2.6 控制左燈畫面.......................................9 圖2.7 窗戶狀態...........................................10 圖2.8 控制馬達畫面.......................................11 圖2.9 控制冷氣畫面.......................................12 圖2.10 系統架構意示圖....................................13 圖3.1 ASP流程圖..........................................15 圖3.2.網站框架(Frame)圖..................................16 圖4.1 VB 流程圖......................................... 23 圖4.1.2 伺服端的安全監視畫面............................ 23 表5.1 MCS-51 的家族成員................................. 24 圖5.1 MCS-51 單晶片接腳圖................................26 圖5.2 8051 系列單晶片功能方塊圖..........................27 圖5.3 8051 程式記憶體結構圖..............................29 圖5.4 8051 資料記憶體結構圖..............................30 圖5.5 內部資料記憶體的較低128 位元組.................... 31 表5.2 鮑率與計時器1 重新載入值關係表.....................39 圖5.6 ㆕相步進馬達的內部結構圖.......................... 40

VII

Page 10: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖5.7 ㆒相/㆓相激磁方式..................................29 圖5.8 ㆒相激磁時序圖.................................... 42 圖5.9 ㆓相激磁時序圖.....................................43 圖5.10 ㆒.㆓相激磁方式...................................44 圖5.11 ㆒.㆓相激磁時序圖.................................44 圖5.12 繼電器工作原理圖..................................45 圖5.13 達靈頓電晶體(ULN2003A)............................47 圖5.14 ICL232 接腳示意圖.................................48 圖5.15 ICL232 電路圖.....................................48 圖5.16 硬體架構圖....................................... 49 圖5.17 8051 流程圖.......................................49 表5.3 電腦對8051 所㆘的指令㆒覽表........................50 表5.4 8051 回傳給電腦的訊息㆒覽表....................... 51

VIII

Page 11: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

IX

Page 12: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

第㆒章導論

1.1 動機

隨著時代的演進,日常生活㆗使用微電腦的家電用品是愈來愈多,像

冷氣機,音響,汽車等。都善用了現代微電腦的科技,利用微電腦來定時,

以控制開關的時間,或是設定該機器的細部功能。另外也有的是可以判斷

目前環境的狀態來做出相對的反應,例如溫度控制或是煙霧探測。現今社

會己步入繁忙的工業社會,忙碌的現代㆟大半的時間都是處在工作崗位

㆖,無暇再花更多時間於工作崗位㆖,因為利用電話來做遠端監控的功能

實在有限,只限於控制而無法監視,有鑒於此,我們便由這方面改進,因

為目前網路的普及,各公司行號,學校,甚至是路邊都可是連接到網際網

路㆖,因此我們想到利用網際網路來做遠端監控。在新聞㆖常看到父母無

暇照顧幼小的孩子,而造成小孩意外墜樓或是遭保母凌虐的情形,真是令

㆟心痛!而本專題的網路攝影機便可以使家長掌握家裡的情況,這便是電

話遠端監控做不到的㆞方。由於現代㆟長時間忙碌在外,對於居家安全有

所疏失,若家裡有幼小的孩子的話,那更是令㆟擔心,如此便無法專心工

作而造成生產力降低。現在利用本專題,在任何㆞方連㆖網際網路,便能

掌控家裡㆒切狀態,可讓忙碌的現代㆟對於居家的安全更放心且能專注於

自己的工作崗位,提高工作效率。

利用微電腦控制,㆟們可以節省許多能源和時間在㆒些重覆的動作㆖,以

達到環保及提高生活品質的目的。充分利用這科技的結晶,㆟們的生活便

方便舒適且安全。所以我們想完成這個專題,來完成網路遠端監控的目

X

Page 13: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

的。若實用性高的話,也可以用在自己的家裡,享受學以致用的樂趣。

1.2 目的

大學㆕年學了許多關於硬體的課程,像是電路學,電子學,近階伺服

控制,但多半是理論性的居多,實際㆖做電路的只有電子學實習課才有而

己,但幾乎扯不㆖日常生活㆗的應用,會有所學無用之感概。指導老師林

俊良老師告訴我們,自控係的學生多半對於硬體不太了解,老師建議我們

去學習軟體和硬體之間的整合,可以學得更多。而因為單晶片之㆗,我們

學得較多的就只有8051 了,因此便朝著這個方向前進。我們比較感興趣

的是完成㆒個能與日常生活有密切關係的產品,在看過歷屆學長發表的專

題之後,我們注意到了電話遠端搖控。但大家討論之後,決定要做得比學

長更好,所以網路遠端搖控的計劃便誕生了,㆒般家電控制受限於距離的

因素,但搭配無遠弗屆的網際網路,就算是在國外也不必大費周章㆞撥打

國際電話了,而網路攝影機更是做到電話辦不到的功能,因此我們欲完成

此專題,而更希望的是學到更多軟硬體的知識以及專題團隊的分工合作。

XI

Page 14: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

第㆓章系統操作與說明 在這㆒章節裡面,我們先介紹網站控制的說明,後面會介紹整個系

統的架構。

2.1 網站控制使用說明

首先,我們先介紹網站首頁。首頁主要是㆒個入口,用Flash 製作

了㆒個有聲音,動畫效果的的Flash 嵌入網頁㆗(圖2.1),讓我們的首

頁看起來生動活潑㆒點,接㆘來,點『登入』進行身份確認,確認之後,

才能進入我們的控制畫面。

圖2.1 網站首頁畫面

點選『登入』之後,就會來到認證畫面,只要尚未登入過此網站的網

XII

Page 15: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

頁,就會出現這個認證畫面,以確保只有主㆟能夠監控。

圖2.2 網站認證畫面

只要輸入了正確的認證資料後,即可進入(圖2.4) 的主控畫面,如果

輸入的認證資料不正確,則網頁會㆒直停留在認證畫面,進不了主控

畫面(圗2.3)。避免使用者直接輸入主控頁的位置而非法侵入。

XIII

Page 16: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖2.3 認證錯誤畫面

接㆘來就是我們的最重要的主控畫面了,所有監視即受控裝置都能

夠在主控面看到,主控畫面是由㆕個框架組成,分別為監視器、狀態、

Flash、On/Off,如前所述。左㆖角有㆒個Windows NetMeeting 的畫面,

即為攝影機補捉到的畫面,顯示在網頁㆖,能讓遠端的我們能夠知道近端

的畫面,以達到監視的效果。

圖2.4 NetMeeting畫面

左㆘角為狀態畫面,主要是用來顯示出資料庫的資料。若直接將資料庫的

資料顯示到網頁㆖,恐怕會使得資訊並不清楚,所以,利用㆒些ASP程式,

將資料庫的資料轉換成使用者較了解的資訊。右㆖角用Flash做的動畫,

主要是讓我們來選擇我們想控制的受控狀置。

XIV

Page 17: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖2.5 網站主控畫面

例如:若我們想控制左燈開關,只要按㆒㆘左燈那個按鈕,就會出現

控制選項在左㆘角的框架㆗,以便我們控制。

圖2.6 控制左燈畫面

XV

Page 18: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

右㆘角即是控制選項框架,Flash、On/Off 這兩個框架是對應的,只要在

Flash 這個框架選擇我們所想要控制的裝置,就會對應到On/Off 這個框

架。

2.2 遠端控制介面

我們的受控裝置有:4 個窗戶、左、右燈、馬達、冷氣。首先是窗戶,

我們在1 號~4 號這㆕個窗戶分別裝了磁簧開關,也就是說,只要窗戶打

開或是關閉,便會傳值到我們的資料庫,倘若窗被開啟了,網頁便會即時

便新為被開啟,告知我們,房屋可能被侵入了,網頁並會出現警告聲,提

醒主㆟。

圖2.7 窗戶狀態

接來㆘是電燈的部份,只要我們按㆘Flash ㆗左燈的按鈕,就會在㆘

方出現左燈的控制選項,就可以選擇要開燈或是關,網頁所顯示出的狀

態,告訴使用首目前電燈的最新狀態。右燈跟左燈的機制是相同的在此就

XVI

Page 19: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

不多加贅述。

步進馬達這個受控裝置主要是用來旋轉攝影機之用的,這樣我們

可以自由㆞控制我們想要看的畫面,同樣㆞, 按㆘Flash ㆗馬達按鈕就會

在㆘方出現控制馬達的選項,以控制馬達轉動的方向。

圖2.8 馬達畫面

而冷氣的控制狀態,冷氣就較為複雜,因為冷氣有5 個控制項。我們

可以依我們想控制的項目去選擇,但在選擇運轉切換、風速切換、溫度設

定、定時舒眠這些項目前,必須先開啟電源,否則無效,就像我們㆒般在

控制家電之前,必須先開啟電源的道理㆒樣,所以,如果我們在未開電源

前先開別的項目,網頁會出現提醒頁面,提醒使用者必須先開啟電源。而

我們在前端控制後端時,後端的硬體需要㆒點時間去更新,動作,所以在

控制選完之後會出現畫面,請使用者梢等㆒㆘,資料正在更新㆗。

XVII

Page 20: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖2.9 控制冷氣畫面

2.3 系統架構

我們利用資料庫來完成ASP 與VB 之間的溝通,而資料庫則是選擇MS

Access。在後端則是利用VB 的MSSomm 物件直接與8051 做溝通。

只要能夠連㆖網際網路,便能透過我們的ASP 網站來控制後端的硬

體,㆘㆒頁是本系統的架構示意圖。

XVIII

Page 21: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖2.10 系統架構示意圖

XIX

Page 22: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

第㆔章WEB 前端控制介面 前言

在這個部份㆗,是要透過 Internet 提供㆒個讓使用者可以經易㆞來控

制家㆗的系統,倘若我們不在家㆗,依然可以知道家㆗的狀況, 或控制

家㆗受控裝置,在這個資訊的時代㆗,透過這樣的機制,可讓㆟們獲得更

高的便利。

3.1 使用環境及開發工具介紹

3.1.1 PWS 伺服器

PWS(Personal Web Server)是㆒種桌面Web 伺服器,可用來管理公司

intranet ㆖的Web 站台,或用於管理 Internet 服務供應商(ISP) ㆖的站台

之前,供開發及測試Web 站台之用。提供方便的介面,使我們能輕鬆的

管理伺服器的運作。【1】

3.1.2 ASP 環境

ASP(Active Server Page)是微軟公司所推出的㆒個產品,是網際網路應用

程式設計的㆒個環境,應用程式存於伺服器㆖,可讓不同的瀏覽器使用,

簡單的說,是㆒個在伺服端執行的 VBScript 程式,執行時它會送㆒個網

頁到瀏覽器,在瀏覽器看不到應用程式的容內,可達到保密的目的。由於

我們要透過 web 來存取資料庫,因些藉由 ASP 便是最佳的解決方案。如

(圖 3.1)【2】

XX

Page 23: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖 3.1 ASP流程圖

首先瀏覽器向 web server 要求㆘載檔案,web server 會判斷㆘載的是否

為.ASP 檔,若不是,則直接㆘載檔案;若㆘載的檔案是.ASP 檔, 則 web

server 會判斷.ASP 檔案㆗是否含有 script 程式,如果有,則加以解譯執

行,若不是 script 程式的部份,則直接丟給瀏覽器;若執行㆗的 script 程

式使用了 ADO 物件,則 web server 會根據 ADO 物件所設定的參數來啟

動對應的 ODBC 驅動程式,而啟 ODBC 驅動程式之後, 程式可以直接

利用 ADO 物件來存取資料庫,或藉由 ADO 物件來㆘達 SQL 指令,進

而達到存霰資料庫的目的;最後如果有資料必須顯示在瀏覽器㆖,則 script

程式會利用 ASP 所提供的輸出物件送出資料,然後由 web server ㆘傳給

瀏覽器。【3】

3.1.3 FrontPage

由於 FrontPage 2000 的操作環境和Microsoft Office 相似,易學易用,是

最常被使用來製作網頁㆖的網頁工具。

3.1.4 Flash

Flash 是㆒個互動性的動畫軟體,可以有自己的音樂、影片、程式、資料

XXI

Page 24: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

庫動態呈現,因此利用 Flash 來製作網頁,以讓我們的網頁畫面更活潑、

生動!

3.2 網站程式設計說明

圖 3.2 網站框架(Frame)圖

3.2.2 程式技術說明

將 Userpwd.mdb 利用 Access ㆗的內建的加密功能,將這個資料庫加

密,作法是,選取功能表『工具->保全->加密/解密資料庫』,將此資料庫

加以編碼,如此㆒來,即使有㆟竊取此資料庫也是無用,因為要打開此資

料庫必須輸入正確的密碼。然而,我們將資料庫加密之後, 要打開時,

要輸入密碼,所以在 connection 物件的 Open 方法㆗增加 Pwd 的參數即

可,本資料庫所使用的密碼逼為”pinky”,所以如程式㆗ Set conn =

Server.CreateObject("ADODB.Connection") param = "driver={Microsoft

Access Driver (*.mdb)};Pwd=pinky" 即可開啟加了密的資料庫將檢驗密碼

XXII

Page 25: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

的程式寫成 pwd.ASP 這個獨立的程式,並提供密碼輸入表單,必須輸入

正確的使用者及密碼才能進入並控制本系統。然後在須要保密的網頁加㆖

<!--#include file ="pwd.ASP" -->,當使用者想瀏覽加密的網頁時,PWS 就

會執行 pwd.ASP 以檢驗密碼。但若每瀏覽㆒次加密網頁便要輸入㆒次密

碼實在是太麻煩,所以利用 Session(“Passed”)紀錄此㆒連線者已通過密

碼驗證。Action=<%=Request.ServerVariables("PATH_INFO")%>使用這行

程式的目的是不管 pwd.ASP 被含入哪㆒個網頁㆗,網址列顯示出來的都

是我們瀏覽的網頁,而不是 pwd.ASP。

3.2.2.2 攝影機畫面顯示在網頁㆗

利用微軟公司出版的 Netmeeting 這個軟體, 可以將攝影機捕捉到的畫面

經由網頁顯示 出來給使用者看,以達到監視的效果,只要在網頁㆗寫入

<object ID=NetMeeting

CLASSID="CLSID:3E9BAF2D-7A79-11d2-9334-0000F875AE17">

<PARAM NAME = "MODE" VALUE = "RemoteOnly"> 就可以把

neetmeeting 的畫面嵌入網頁㆗。

3.2.2.3 讀取資料庫的內容,顯示 在網頁㆗

這個部份就是利用 ASP 對於 web 資料庫強大功能而做的,在 ASP ㆗有

許多開啟資料庫的方法,而這只是其㆗的㆒種。再來利用 rs("欄位名稱")

來讀取資料內容,再用 html 語言顯示 在網頁㆗,由於資料庫連接後端硬

體部份,若後端有動作便

會傳到資料庫㆗,資料庫隨時有變動,利用<META

HTTP-EQUIV=REFRESH CONTENT=5; a href= "state.ASP"> 可以隨時更

XXIII

Page 26: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

新網頁,在此設定為每 5 秒更新㆒次,以保持前端所呈現的都是後端的

最新狀態。

3.2.2.4 Flash 按鈕讓網頁更生動

在 Flash 這個框架㆗,主要提供 8 個 Flash 的按鈕,分別是 1 號~4 號窗

戶、冷氣、左燈、右燈、馬達。按㆘按鈕,開啟的網頁會顯示在 onoff 那

個框架㆗,這是利用 html 語言㆗ target 語法。

3.2.2.5 表單與資料庫

將控制選項做成表單,用 post 方法將欲傳送的值傳到 ASP 程式, 再由

程式執行後,傳入資料庫㆗。以開啟冷氣電源為例:

<form method="POST" action="air05.ASP" name="AIR_5"

target="onoff"

<p><select size="1" name="A5">

<option value="0">OFF</option>

<option value="1">ON</option>

</select><input type="submit" value="確定" name="B1"></p>

我們選擇 on 或 off 後,則會丟值 A5 到 air05.ASP 這個網頁,同樣㆞,

air05.ASP 也是㆒個獨立的程式,首先會去開啟資料庫,然後會去判斷我

們所傳入的值。在資料庫㆗ chenged 、TF 這兩個欄位是用來與後端做確

認的欄位如果前端更改了冷氣開關也就是 AIR_5 這個欄位,便會將

chenged 這個欄位改為 12,TF 這個欄位改成 1,代表第 12 個欄位也就是

AIR_5 這個欄位有修改,反之,如後端的資料有修改,也會寫入這兩個

欄位。

XXIV

Page 27: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

air5=request("A5")

select case air5

case 1

if rs(12)=1 then

conn.execute "update DB set TF=0"

else

conn.execute "update DB set Changed= 12"

conn.execute "update DB set TF=1"

conn.execute "update DB set AIR_5= '"&air5&"' "

end if

case 0

if rs(12)=0 then

conn.execute "update DB set TF=0"

else

conn.execute "update DB set Changed= 12"

conn.execute "update DB set TF=1"

conn.execute "update DB set AIR_5= '"&air5&"' "

conn.execute "update DB set AIR_1= 0 "

conn.execute "update DB set AIR_2= 2 "

conn.execute "update DB set AIR_3= 2 "

conn.execute "update DB set AIR_4= 11 "

end if

end select

以㆖的程式碼是用來判斷,若傳入的值跟之前的值不同,則將更改的欄位

寫入 chenged 欄位㆗,並將 TF 改為 1,若傳入的值相同,則將 TF 改為

0。以㆖是前端網站的部份,然後在後面將會詳述後端硬體的實作!

XXV

Page 28: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

第㆕章Visual Basic – 溝通的橋樑

4.1 VB 所扮演的角色

在我們這個專題㆗,目的是要把前端使用者透過網頁的內容,把所要

對遠端由單晶片8051 控制的受控裝置端要做的動作,經由網路把訊息傳

送到單晶片8051 ㆖,而單晶片8051 亦把在遠端的受控裝置的情況反應給

XXVI

Page 29: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

前端使用者所瀏灠的網頁㆖,做到前端使用者與遠端受控裝置能雙向對

談。於是我們為了前端使用者與遠端受控裝置能夠達到這個目的,在這兩

者之間的主要軟體部分,我們把過程細分成㆔個階段,分別為ASP部分、

VB 部分【4】及8051 部分,而ASP 部分主要是接受前端使用者所要做的

動作,VB 是接受ASP 的訊息,把訊息傳給單晶片8051,至於單晶片8051

則把由VB 所傳送的值去進㆒步分析去做受控裝置端應有的反應;而受控

裝置端亦透過相同的路徑,反向把它目前的情況傳回給單晶片8051,透過

VB、ASP 而到達給前端使用者的瀏灠器㆖。然而我們在ASP 與VB 這兩

部分,為了使他們能夠互相了解溝通,我們在他們兩者之間透過資料庫來

達到這個目的。至於資料庫,我們所用的是由微軟公司所發展出的

Microsoft Access 2000 版【5】。在VB 與單晶片8051 這兩大部分,我們

則是利用在VB6.0 ㆗Mscomm 這個元件,透過RS232 傳給單晶片8051。

4.2 VB 部分實作

4.2.1 VB 流程圖

A.設定好所有的有關設定,如『VB

與RS-232』和『資料庫與VB』的相關設定。

B.判斷RS-232 是否有傳值進來。如果有,則跳到“C“;

沒有,則跳到“D“。【6】

XXVII

Page 30: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

C.把從RS-232 接收到的值,轉換成相對應要更新資料

庫欄位的值。

D.判斷資料庫欄位“T/F“是否有改變,如果有,則跳

到“E“;如果沒有,則跳到“B“。

E.把從資料庫所讀到的值,轉換成相對應要傳送給

RS-232 的值。執行完後,則跳到“B“。

圖4.1 VB 流程圖

4.2.2 實作:

程式的㆒開始我們必須先在VB 的設計表單㆖放置我們所要用到的

元件,如MSComm 物件、ADO 物件、Timer 物件。接㆘來我們為『VB 與

RS-232』這個部分來說明。

XXVIII

Page 31: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖4.1.2 伺服端的安全監視畫面

4.2.2.1 VB 與RS-232 實作部分

由於VB 已經透過ADO 物件把資料庫的欄位內容給讀了㆘來,現在

所要進行的工作,就是把所從資料庫㆗所得到的值進㆒步去分析,把分析

後所得的結果,透過RS-232 把相對應的值傳送給單晶片8051。首先,在

MSComm 的屬性表㆗,先指定要利用那㆒個串列埠來做為傳輸埠,把㆒

些如連線速度、是否做同位元檢查。等等的屬性給規畫好。接著再利用

Input 和Output 這兩個方法來做來自串列埠的讀取和寫入。這樣就可以透

過RS-232 來和單晶片8051 做雙向的溝通了。至於㆒些小細節,於㆖文就

有說明,在此就先省略。至於資料庫、VB 及RS-232 的整合,我們只要

XXIX

Page 32: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

在程式㆗的各個SWITCH Case ㆗,主要把Input 和Output 方法直接寫進

去裡面的程式區段就可以了。主要的動作,可以參考我們最後所附錄㆖去

的程式碼。

4.3 管理功能

由於我們的受控裝置包含了㆒個冷氣控制器,在這個冷氣控制器㆗,

是利用按鍵按㆘的次數來改變冷氣的狀態,所以在接到資料庫的值和把值

傳送到RS-232 的過程㆗,我們必須在這過程㆗把要丟什麼樣的值給先算

出來,這樣才能做有效的運用。

第五章8051 後端控制介面

前言

在這㆒章裡面,我們要介紹本系統的硬體部分,首先我們介紹的是

8051 以及所使用到的硬體裝置,之後再說明如何去控制周邊設備,而另

㆒個重點則是介紹8051 如何透過RS232 與電腦溝通,最後則是將後端部

XXX

Page 33: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

份做個整體說明。【7】

5.1 單晶片與零組件介紹

5.1.1 MCS-8051

5.1.1.1 單晶片簡介

MSC-8051 系列單晶片【8】是美國INTEL公司推出MCS-8048系列晶片之

後所推出的後續晶片,8051系列單晶片主要是改進8048系列單晶片的硬體

架構及軟體能力。MCS-8051系列單晶片依其電路結構又可分為㆔種版

本:(1)晶片內部不含ROM的版本、(2)晶片內含ROM的版本、以及(3)晶

片內含EPROM的版本。

㆘表列出各版本晶片的編號及㆒些特性:

表5.1 MCS-51的家族成員

以㆘將8051/8751/8031單晶片的重要特性說明如㆘:【9】

! 單晶片8位元微電腦晶片。

! 4K Bytes 的內部程式記體(8031 除外)。

! 128 Bytes 可供讀/寫的內部RAM。

! 可在外部擴充到64K Bytes 程式記憶體及64K Bytes 資料記憶體。

! 12 組16位元的計時器/計數器(Timer/Counter)。

XXXI

Page 34: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

! 74組8位元的I/O並列埠,共32條可單獨規劃為輸入或輸出的I/O點。

! 1組全雙工的串列埠,可連接RS-232等標準的串列通信介面。

! 可擴充為128K Bytes 的外部記憶體,其㆗64K Bytes 為程式記憶

體,另外64K Bytes 為資料記憶體。

! 可處理5 個㆗斷來源,並可規劃為2 層㆗斷優先權。

! 內部具有時脈振盪器,最高工作時脈可達12 MHz。

㆘圖為MSC51的接腳示意圖:

圖5.1 MCS-51 單晶片接腳圖

5.1.1.2 MCS-8051 單晶片系統架構

㆘圖為8051系列單晶片之內部功能方塊圖:【10】

XXXII

Page 35: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖5.2 8051系列單晶片功能方塊圖

以㆘為幾個重要的功能說明:

5.1.1.2.1 指令解碼器( Instruction Decoder )

指令解碼器的功能是負責將擷取自程式記憶體㆗的指令加以解碼,並

送出內部信號以控制單晶片各單元的動作。這些內部控制信號可控制資料

的來源及目的㆞,以及控制算術/邏輯處理單元的功能。

5.1.1.2.2 程式計數器( Program Counter,PC )

程式計數器是用來控制儲存在程式記憶體㆗指令碼的執行順序的㆒

XXXIII

Page 36: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

個16位元暫存器,也就是說,程式計數器的存放內容是㆘㆒個執行指令的

程式記憶體的位址( A0~A15 ), 其㆗低階位址A0~A7 存放在8位元的PCL

暫在器㆗,而高階位址A8~A15則存放在8位元的PCH暫存器㆗。

5.1.1.2.3 算術術/邏輯單元( Arithmetic & Logic Unit,ALU )

這個單元主要是處理資料的算術及邏輯運算,必須搭配單晶片內部的

PSW暫存器及累加器來進行運算。算術運算包括加法、減法、乘法、除

法、遞加、遞減、大小比較等運算,而邏輯運算則包括AND、OR、XOR、

NOT、左/右旋轉( Rotate )、在/右移位( Shift )、位元清除( Clear )、位元設

定( Set )等運算。運算後的結果除了存放於累加器或其它記憶體(暫存器)

㆗,亦反應於PSW暫存器㆗(如是否有進位等)。

5.1.1.2.4 程式記憶體( Program Memory )

8051 及8071 皆具有4K Bytes 的內部程式記憶體,並可在外部再擴充

60K Bytes EPROM,如㆘圖所示,而8031則沒有這些內部程式記憶體。在

程式記憶體㆗所存放的是8051所要執行的程式碼,單晶片會主動到這塊記

憶體要執行的指令碼,而8051要讀取程式記體時需激發信號PSEN。

XXXIV

Page 37: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖5.3 8051程式記憶體結構圖

8051【11】是如何決定程式記憶體的前面4K Bytes要內部或外部程式

記憶體去讀取指令呢?這就要靠8051的EA接腳來決定內部程式記憶體是

否有效,當EA=0,代表內部程式記憶體無效,8051會將前面4K移到外部;

當EA=1,則內部程式記憶體有效。8051 到外部讀取㆒個指令碼時,P0 和

P2 這兩個I/O埠就變成外部EPROM時所需的匯流排,其㆗P0當作位址匯

流排和資料匯流排多工使用,當ALE接腳輸出為High 時,此刻P0㆖所輸

出的是位址信號( A0~A7 ),因此外部的位址栓鎖電路必須在此刻將P0㆖

的位址信號捕捉起來,當ALE降為LOW,且PSEN為LOW時,P0 就變成

資料匯流( D0~D7 ),8051會在PSEN的輸出狀態由LOW轉態成High時讀入

P0 ㆖的資料且將它解釋成指令碼;P2 在8051 讀取外部程式記憶體時會

固定輸出位址匯流排的高位元組( A8~A15 )。

5.1.1.2.5 資料記憶體( Data Memory )

XXXV

Page 38: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

8051 內部有㆒塊256 個Byte的位址空間,這塊空間是存放資料記憶

體(RAM)和特殊功能暫存器(SFR)的㆞方,並可在外部擴充64KBytes的資

料記憶體。其資料記憶體的結構圖如㆘:

圖5.4 8051資料記憶體結構圖

8051系列單晶片具有128 Bytes的內部資料記憶體,其㆗位址編號為

00H~7FH。這些內部資料記憶體可供使用者的程式自由存取資料,不過,

00H~7FH記憶體的資料可用直接定址法來存取資料,而8052系列的

80H~FFH記憶體的資料則必須間接定址法才可以存取。依單晶片的特性

又可將這些內部資料記憶體(00H~7FH)分成㆔個不同的部分:

! 暫存器庫( Register Banks )

! 可位元定址( Bit-addressable )區

! ㆒般用途區

XXXVI

Page 39: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖5.5 內部資料記憶體的較低128位元組

5.1.1.2.6 特殊功能暫存器( Special Function Register,SFR )

8051系列單晶片單晶片內部有㆒塊128 Bytes 可直接定址的記憶體

區,其直接定址位址為80H~FFH,它是用來存放週邊元件控制、狀態及

資料的暫存器,稱之為特殊功能暫存器( SFR )。㆘表說明特殊功能暫存器

的名稱與各記憶體之間的關係。

以㆘將說明SFR㆗各暫存器的功能及用途:

(1) 累加器( Accumulator,ACC ):

累加器又可稱之為ACC或A暫存器,這是㆒個使用頻率頗高的㆒個通

用暫存器,而有許多指令是以其為操作對象。

(2) B暫存器:

在做乘法指令( MUL )及除法指令( DIV )運算時,必須以B暫存器為操

XXXVII

Page 40: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

作對象之㆒。也就是說,在做乘法/除法運算之前必須將運算資放

入A及B暫存器㆗,而運算之後的結果會放入A,B暫存器㆗。

(3) 程式狀態字語( Program Status Word,PSW )暫存器:

PSW暫存器主要是記錄及控制單晶片之運算。

(4) 堆疊指標器( Stack Pointer,SP ):

SP是管理堆疊的㆒個暫存器,用來指出最近㆒次資料推入(Push)堆疊

時的內部資料記憶體位址。每次執行PUSH指令時,SP值自動加㆒,然後

再將資料推入堆疊㆗;反之,執行POP指令時,資料先彈出(Pop)堆疊後,

SP再自動減㆒。另外執行副程式呼叫指令( CALL )或㆗斷時,程式計數器

( PC )的值亦會推入堆疊㆗,而執行副程式返回指( RET/RETI )時會將堆疊

內的資料回存到程式計數器㆗,以正確㆞返回到原程式的呼叫點。

(5) 資料指標器( Data Pointer,DPTR ):

DPTR是㆒個16位元的暫存器,它是由兩個8位元的暫存器DPH(高位

元組)及DPL(低位元組)所組成。DPTR的最主要用途是用來指向程式或資

料記憶體的每㆒個位址,以便存取程式碼或資料。當DPTR指向程式記憶

體時,我們可以用MOVC指令來讀取程式記憶體㆗的資料,當DPTR指向

資料記憶體時,我們可用MOVX指令來存放或讀取資料記憶體㆗的資料。

(6) P0、P1、P2、P3 埠暫存器:

這㆕個埠暫存器可存放8051 單晶片的4 個I/O埠的輸出閂鎖

( Latch ),主要是存放並保持I/O的輸出資料。

XXXVIII

Page 41: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

(7) ㆗斷優先權( Interrupt Priority,IP )暫存器:

每㆒個IP暫存器位元可用來控制各㆗斷的優先權階層,當設定為1時,表

示享有較高的㆗斷優先權,而設定為0時其優先權較低。

(8) ㆗斷致能( Interrupt Enable,IE ):

由於所有的㆗斷皆為可遮罩的( Maskable ),這些㆗斷就是由IE暫存器來加

以致能/除能( Enable/Disable )的。

(9) TH0~TH2、TL0~TL2計時器/計數時暫存器:

這3 組16 位元的暫存器是分別用來儲存計時器/計數器的計時/計數

值。TH0、TH1、TH2為高位元組,TL0、TL1、TL2為低位元組。TH0及

TL0對應於計時器/計數器0,TH1及TL1對應於計時器/計數器1,TH2及TL2

對應於計時器/計數器2(8052系列)。

(10) 計時器模式控制( Timer/Counter Mode Control,TMOD )暫存器:

! GATE:計時器動作閘控位元,當GATE=1 時,INT0 或INT1 接腳

為高電位,同時TCON㆗的TR0 或TR1控制位元為1時,計時/計數

器0 或1 才會動作。若GATE=0,則只要將TR0或TR1控制位元設為

1,計時/計數器0 或1 即可動作。

! C / T :做計時器或計數器功能之選擇位元。C/T=1為計數器,由外

部接腳T0或T1輸入計數脈波。C/T=0為計時器,由內部系統時脈提

XXXIX

Page 42: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

供計時工作脈波。

! M1:模式選擇位元1

! M0:模式選擇位元0

(11) 計時器控制( Timer Control,TCON )暫存器:

! TF1(TCON。7):計時器1溢位旗號,當計時溢位時,由硬體設定為

1,在執行過相對的㆗斷服務常式後則自動清除為0。

! TR1(TCON。6):計時器1 啟動控制位元,可以由軟體來設定定或

清除。

! TF0(TCON。5):計時器0溢位旗號,當計時溢位時,由硬體設定為

1,在執行過相對的㆗斷服務常式後則自動清除為0。

! TR0(TCON。4):計時器0 啟動控制位元,可以由軟體來設定定或

清除。

! IE1(TCON。3):外部㆗斷1動作旗號,當外部㆗斷被偵測出來時,

硬體自動設定此位元,在執行過㆗斷服務常式後,則消除為0。

! IT1(TCON。2):外部㆗斷1動作型態選擇,當IT1=1時,㆗斷型態

為負緣觸發,當IT1=0 時,㆗斷型態則為低準位觸發。

! IE0(TCON。1):外部㆗斷0動作旗號,當外部㆗斷被偵測出來時,

硬體自動設定此位元,在執行過㆗斷服務常式後,則消除為0。

! IT0(TCON。0):外部㆗斷0動作型態選擇,當IT1=1時,㆗斷型態

為負緣觸發,當IT1=0 時,㆗斷型態則為低準位觸發。

XL

Page 43: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

(12) 串列埠控制( Serial Port Control )暫存器:

! SM0(SCON。7):串列傳輸模式選擇,共有4 種模式。

! SM1(SCON。6):串列傳輸模式選擇,共有4 種模式。

! SM2(SCON。5):在串列傳輸動作模式2 或模式3時,作多處處機控

功能用。

! REN(SCON。4):串列介面接收位元,當REN=1時表示接收致能。

! TB8(SCON。3):在模式2或3 時,所送出的第9 個資料位元,可以

由軟體指令來做控制設定或清除。

! RB8(SCON。2):在模式2 或3時,所接收到的第9 個資料位元,存

放在此位元㆗。

! TI(SCON。1):串列資料傳送㆗斷旗號,在工作模式0時,送出8 個

資料位元後,TI設為1,而在其他模式時,在送出停止位元時,TI

也會被設為1;此位元必須由軟體來清除。

! RI(SCON。0):串列資料接收㆗斷旗號,在工作模式0時,收到第8

個串列輸入資料位元後,RI會設為1,在其他模式時,收到停止位

元的㆒半時,硬體會自動將此位元設為1。此位元必須由軟體來清

除。

(13) 串列資料緩衝( Serial Data Buffer,SBUF )暫存器:

8051單晶片的串列埠是全雙工的,故實際㆖SBUF暫存器分開為兩

個不同的暫存器,㆒個是當作UART傳送資料的緩衝區,另㆒個是當作

UART接收資料的緩衝區。若將資料寫到SBUF時,就會將資料放入傳送

XLI

Page 44: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

緩衝區,UART就會將這個資料轉成串列資料透過TXD傳出去。若去讀

SBUF,就會讀到接收緩衝區的資料。

5.1.2 8051串列傳輸介面

5.1.2.1 串列傳送之工作模式

8051內部含有㆒組全雙工的串列介面,其㆗提供了4種操作模式,由

設計者來自由使用,以㆘為㆕種操作模式的說明:

(1) 串列傳輸模式0:

此模式基本㆖是做串列傳送I/O控制,而非真正的串列通訊應用,工

作於此模式時,由TXD接腳送出移位同步脈波,由RXD接腳送出或接收

串列資料。而串列資料的形式為何呢?它不具有起始及結束位元,純粹為

8位元資料,至於同步脈波的寬度是固定的,為系統工作振盪週期的1/12,

等於是8051 ㆒個機械週期的時間。當做串列輸出時,可將TXD、RXD接

腳接到串列輸入並列輸出( SIPO )轉換IC,如74LS164,做額外的硬體輸

出擴充用,當I/O的輸出控制位元不夠用時,便可應用此技巧做額外輸出

埠的應用。做串列輸入時,則將TXD、RXD接腳接到並列輸入串列輸出

( PISO )轉換IC,如74LS165,做額外的硬體功能擴充。

(2) 串列傳輸模式1:

此為經常使用的串列傳輸工作模式,串列資料位元由TXD接腳傳送

出去,由RXD接腳將對方送來的串列資料接收進來。而資料格式共有10

位元,包括前方的起始位元,8位元串列資料位元及最後的停止位元。至

於傳輸率(鮑率)快慢則由計時器1來規劃,只要將不同的計時初值載入計

XLII

Page 45: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

時器㆗,可以做不同的鮑率值設定。在串列資料傳輸㆗,如果兩套系統同

是使用8051單晶片來做設計,傳輸距離又不長,便可以採用直接連接方式

做微電腦間的連線作業,當然雙方面鮑率必須設為相同。

(3) 串列傳輸模式2:

此傳輸模式與模式1十分類似,不過資料㆒共送出了11個位元,包

括1個起始位元,8個資料位元及1個可程式設定的第9個資料位元和停

止位元。此第9個可程式設定的資料位元是位於特殊目的暫存器SCON㆗

的位元3 ㆗( TB8 ),8051可以利用此㆒特殊位元來做多處理機的系統

連線控制用。此外在通訊協定㆗的同位位元檢查也可以此位元來做處

理。至於傳送速度只有2種,分別為系統工作時脈頻率的1/32或1/64。

(4) 串列傳輸模式3:

模式3的傳輸方式與模式2 幾乎完全㆒樣,同樣是傳送11個位元串

列資料,差別在於其傳輸速度是可變的,如同模式1㆒樣是由8051內部

計時器1 所控制。

5.1.2.2 串列傳輸鮑率的設定

8051串列傳輸鮑率的設定依不同操作模式而定,其㆗模式0及模式2

屬固定鮑率,而模式1及模式3 為可變鮑率,由計時計數器1 加以規劃。

以㆘為鮑率設定之說明:

(1) 模式0鮑率設定:

模式0的操作㆘,鮑率是固定的,為工作振盪頻率的1/12。

(2) 模式2鮑率設定:

XLIII

Page 46: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

在模式2操作㆘,鮑率= [(2SMOD) / 64] * (工作振盪頻率)]。其㆗SMOD為

SFR㆗的PCON位元7;當SMOD=1 時,鮑率=(工作頻率)/32;當SMOD=0

時,鮑率=(工作頻率)/64。

(3) 模式1及模式3鮑率設定:

在模式1及模式3操作㆘的鮑率設定由內部計時器1來控制,計時器的工作

模式㆒共有4種,模式0至模式3,必須工作於模式2,自動重新載入計時模

式。在模式2的計時㆘,使用的計時器暫存器為TL1,而TH1則是在做自

動載入計時值的設定,而鮑率的計算公式為:鮑率= [(2SMOD)/ 32] * {(工

作振盪頻率) / 12 * [256 - TH1]}。設計時我們是先定出鮑率再求TH1 之

值,將㆖式加以整理可得:TH1 = 256 - [2SMOD * (工作振盪頻率)] / (384

* 鮑率)。

同理我們可以將常用的鮑率值代入公式而求得㆒些計時器自動載入

值(寫入TH1 ㆗),整理如㆘:

表5.2 鮑率與計時器1重新載入值關係表

5.1.3 步進馬達

5.1.3.1 簡介

XLIV

Page 47: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

步進馬達(Step Motor)又稱為步級馬達,具有良好的應答性,容易使

用在開迴路的控制系統㆗,且不需複雜的閉迴路回授控制,因此被廣泛的

應用。例如電腦㆖所使用的印表機,使用步進馬達來做紙張的傳送/印字

頭驅動;磁碟機使用步進馬達來做磁頭定位及讀卡機的卡片傳送等。

5.1.3.2 步進馬達的特點

步進馬達具有以㆘之特點:

! 旋轉的角度和輸入的脈波數成正比,因此用開迴路控制即可達成高

精確角度。

! 啟動、停止、正反轉的應答性良好,控制容易。

! 每㆒步級的角度誤差小,而且沒有累積誤差。

! 靜止時,步進馬達有很高的保持轉矩(Holding Torque),可保持在停

止的位置,不需使用煞車迴路就不會自由轉動。

! 可靠性高,整個系統的價格低。

5.1.3.3 步進馬達的種類

步進馬達依定子線圈的相數不同可分成㆔相、㆕相及五相式,小型步

進馬達以㆕相式較為普遍。圖5。6即為㆕相步進馬達的內部接線圖。當送

入㆒個脈衝電流至步進馬達,可在相對應處停止轉動,這種走㆒步即停住

而得到的角度稱為基本步進角。步進角會因激磁方式不同而有所不同。基

本步進角的計算公式如㆘:

基本步進角= 360。/ (相數x 轉子齒數)

例如:㆕相50 尺的基本步進角為360。/(4X50)=1。8。也就是說,㆕相

50 齒的步進馬達走200 步正好是㆒圈。㆒般的小型步進馬達齒數為50

XLV

Page 48: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

齒較多。

圖5.6 ㆕相步進馬達的內部結構圖

5.1.3.4 步進馬達的用途

由於使用步進馬達,無論視作定速轉速、變速轉速、角度控制或位置

控制均可免除繁雜的機械結構,使產品達成小型化、響應速度快、定速、

解析度高、定位準確等要求。因此步進馬達被大量的使用在自動控制系統

㆖。

5.1.3.5 步進馬達的激磁方式

所謂激磁即是令步進馬達的線圈通過電流,以㆕相步進馬達而言,其

定子線圈共有㆕個相,分別為A、/A、B 及/B。而步進馬達的激磁方式有

㆘列㆔種方式:

(1)㆒相激磁:

每次令㆒個線圈通過電流。步進角等於基本步進角,消耗電力小,

XLVI

Page 49: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

角精確度好,但轉矩小,振動較大。其激磁方式及時序如圖5.7 及

圖5.8 所示。

圖5.7 ㆒相/㆓相激磁方式

圖5.8 ㆒相激磁時序圖

XLVII

Page 50: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

(2)㆓相激磁:

每次令兩個線圈通電。步進角等於基本步進角。轉矩大、振動小,是

目前較受普通採用的激磁方式。其激磁方式及時序如圖4.7 及4.9所示。

圖5.9 ㆓相激磁時序圖

(3)㆒.㆓相激磁:

㆒.㆓相激磁又稱為半步激磁,採用㆒相及㆓相輪流激磁;每㆒

步進角等於基本步進角的1/2,因此解析度提高㆒倍,且運轉更為平

順,和㆓相激磁方式同樣受到普遍採用。其激磁方式及時序如圖5.10

及5.11 所示。

XLVIII

Page 51: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖5.10 ㆒.㆓相激磁方式

圖5.11 ㆒.㆓相激磁時序圖

5.1.4 繼電器

圖4。12為繼電器的工作原理圖【8】。當控制電流流經線圈L是,會

產生㆒個磁場,這個磁場可帶動開關S接通接點2與接點1,當電流消失

後,開關恢復時接通接點2與接點3。透過開關S就可以控制外界的交流或

XLIX

Page 52: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

直流的高電壓或高電流。

圖5.12 繼電器工作原理圖

以線圈驅動之電磁式接點開關或稱繼電器。其種類及型式繁雜,依線

圈電壓及接點容量不同,有電磁接觸器(magnetic contactor),電磁開關

(magnetic switch),電力電驛(power relay),線簧電驛(wirespring relay)及磁

簧電驛(reed relay)等名稱。電驛起動電流通常在10A以㆘,接觸器電磁開

關則可處理大電流。應用繼電器應注意㆘述㆕個特性:

! 壽命長短:繼電器啟閉容量越大者,有較短壽命之趨動。

! 啟閉時間:大容量開關因其接點質量重且間隙較長,其激磁動作及

失磁復歸所須時間㆒般在數10ms以㆖,小型電驛亦在數ms以㆖,

故無法快速㆞啟閉。

! 磁滯現象:若將繼電器電壓或電流自零值徐徐㆖升,則到達某㆒電

流值時繼電器動作接點閉合,此後,若降低電流則須低至於維持電

流以㆘,接點才會開啟,此特性稱為磁滯現象(hysteresis)。

! 彈跳現象:接點式開關多為機械式結構,以磁力吸引接點閉合時,

可動接點觸及固定接點,必受相當之反作用力,反彈能量雖可由彈

簧逐漸吸收,但接點間必有跳彈現象(bounce)發生,因此必須另加

電路予以克服。

L

Page 53: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

5.1.5 磁簧開關

由於磁簧開關的工作原理與繼電器相似,比較不同的是磁簧開關是直

接用磁鐵去吸引接點,由於前面己對繼電器做過介紹,因為在這裡不多說

明。

5.2 控制系統說明

5.2.1 簡介

在先前的部分,己經做了本系統所應用到裝置的簡介,現在我們來介

紹本系統的硬體實作部分。首先,關於8051 輸出部分,為了能改變攝影

機的方向,以便能隨時觀看各個方向的狀況,我們將攝影機接在步進馬達

㆖面,再加以控制;另外還外接了八個繼電器,其㆗六個繼電器是用來控

制冷氣機的線控器,使得我們可以去設定冷氣機的細部功能,剩㆘兩個繼

電器則可以應用在其他方面的家電用品㆖,在這裡我們只是簡單㆞接了燈

泡,代表可以成功控制家電用品的開機與關機。步進馬達因為需要較大的

電流才能推動,所以我們需要外接㆒顆達靈頓電晶體(ULN2003A)來加大

電流,始能推動步進馬達;而原本以為繼電器也必須使用達靈頓電晶體來

推動,但後來弄到繼電器的規格只需要5V 即可動作【9】,便省略了這

個部份。

LI

Page 54: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

圖5.13 達靈頓電晶體(ULN2003A)

在控制繼電器方面,在冷氣機線控器方面和電燈開關方面,由於操作

方法的不同,而有不同的控制方法;冷氣機線控器的按鈕部分,其控制方

法是按㆒㆘則向㆖調整狀態,例如按㆒㆘”溫度”鈕,則向㆖加㆒度,若

超過最大值便自動跳到最小值;因此在這個㆞方,我們不能讓連接冷氣機

線控器的繼電器㆒直保持在ON 的狀態;作法是先全部設定為OFF,等到收

到按㆘按鈕的指令時,便設定該繼電器為ON 後,延遲個0。5秒再設定為

ON 即可。而電燈方面的繼電器則是不同的作法,收到開的指令便設定為

ON,反之則設為OFF。而8051 的輸入部分,我們用了㆕個磁簧開關來偵

測開窗是否被開啟,若磁簧開關的狀態被改變,8051 可以即時把訊號傳

送給電腦前的使用者。在這個部分也可以加以擴充,將磁簧開關換成煙霧

探測器或是溫度偵測器的話,便能達到偵測火災的功能,原理和磁簧開關

相同,而且以㆖這些裝置的取得也十分容易,在坊間的電子材料行皆可以

買到。而RS232 傳輸介面則是這次專題的靈魂所在,因為有了這個傳輸

介面,電腦便能利用8051 強大的控制能力來驅動其他的電器用品,而8051

也能利用電腦的多元性而完成更多工作。在這裡我們外接㆒顆準位轉換電

路(ICL232)來進行8051 與電腦之間的溝通,因為8051 的UART所使用的

LII

Page 55: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

電氣信號是TTL 準位 (0->0V,1->5V),而RS232 的電氣信號則不同

(0->-3V~-12V, 1->+3V~+12V),因此8051 的UART 與RS232 連接時,

必須作準位的轉換才行。而ICL232 本身提供有兩組”TTL->RS232”及”

RS23->TTL”的準位轉換電路,因此為求方便,我們僅使用㆒顆ICL232 即

可完成這項工作。

圖5.14 ICL232 接腳示意圖

圖5.15 ICL232 電路圖

LIII

Page 56: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

5.2.2 硬體架構圖

圖5.16 硬體架構圖

5.2.3 8051 控制流程圖

圖5.17 8051 流程圖

LIV

Page 57: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

5.2.4 電腦與8051 之間的協定

㆘面兩份表格是電腦與8051 之間的協定。㆒份是電腦㆘達給8051 所

欲執行的指令,而另㆒份則是8051 回傳給電腦目前磁簧開關狀態的訊息。

表5.3 電腦對8051 所㆘的指令㆒覽表

LV

Page 58: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

表5.4 8051回傳給電腦訊息㆒覽表

5.2.5 8051 程式碼及說明

;=====================

LVI

Page 59: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

;== 接腳說明==

;=====================

;== p0 繼電器八支腳==

;== p1 馬達㆕支腳==

;== p2 磁簧㆕支腳==

;========================

;== 使用的暫存器說明==

;========================

;== r1 磁簧狀態的暫存器==

;== r3 馬達運轉計數器==

;== r5 延遲副程式暫存器==

;== r6 延遲副程式暫存器==

;== r7 延遲控制暫存器==

;========================

org 00h

jmp Start

Start:

mov p0,#ffh ; 設定繼電器初始值為ffh

mov sp,#5fh ; 設定堆疊區

call Clear_RAM ; 清除記憶體00H-5FH

call Set_UART ; 設定串列傳輸UART 工作環境

call Access_SWKey ; 讀取數位開關的值

Check:

jbc ri,Get ; 判斷RI是否為1,是則跳至GET,並清除RI

LVII

Page 60: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

mov a,p2 ; 取得鍵值

xrl a,r1 ; 判斷是否改變

jz Check ; 否,則跳至CHECK

jmp Change ; 跳至Change

Get:

mov a,sbuf ;將SBUF 值傳送給A

;=====================================

;判斷接收到的值(a)並執行相對應的動作(Start)

;====================================

Motor_Left:

cjne a,#10000111b,Motor_Right; 判斷a 是否為控制馬達左旋

mov r3,#4 ; 欲左旋㆕次

mov a,#11101110b ; 開始時令右邊的燈亮

Left:

mov p1,a ; a的內容即為P1 控制LED 的顯示狀態

mov r7,#3 ; 延遲0.3 秒

call Delay ; 呼叫延時副程式

rl a ; 將a 的內容旋轉㆒個位元

djnz r3,Left ; 重複執行㆕次

mov a,#11111111b ; 結束時把訊號消除

mov p1,a ; 把a 的內容設到p1

jmp Finish ; 完成此次動作,跳到Finish 程式

Motor_Right:

cjne a,#10001000b,Freezer_1; 判斷a 是否為控制馬達右旋

LVIII

Page 61: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

mov r3,#4 ; 欲左旋㆕次

mov a,#01110111b ; 開始時令左邊的燈亮

Right:

mov p1,a ; a的內容即為P1 控制LED 的顯示狀態

mov r7,#3 ; 延遲0.3 秒

call Delay ; 呼叫延時副程式

rr a ; 將a 的內容旋轉㆒個位元

djnz r3,Right ; 重複執行㆕次

mov a,#11111111b ; 結束時把訊號消除

mov p1,a ; 把a 的內容設到p1

jmp Finish ; 完成此次動作,跳到Finish 程式

Freezer_1:

cjne a,#10001001b,Freezer_2; 判斷a 是否控制冷氣㆒號鈕

clr p0.0 ; 按㆘㆒號按鈕

mov r7,#5 ; 延遲0.5 秒

call Delay ; 呼叫延時副程式

setb p0.0 ; 放開㆒號按鈕

jmp Finish ; 完成此次動作,跳到Finish 程式

Freezer_2:

cjne a,#10001010b,Freezer_3; 判斷a 是否控制冷氣㆓號鈕

clr p0.1 ; 按㆘㆓號按鈕

mov r7,#5 ; 延遲0.5 秒

call Delay ; 呼叫延時副程式

setb p0.1 ; 放開㆓號按鈕

LIX

Page 62: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

jmp Finish ; 完成此次動作,跳到Finish 程式

Freezer_3:

cjne a,#10001011b,Freezer_4; 判斷a 是否控制冷氣㆔號鈕

clr p0.2 ; 按㆘㆔號按鈕

mov r7,#5 ; 延遲0.5 秒

call Delay ; 呼叫延時副程式

setb p0.2 ; 放開㆔號按鈕

jmp Finish ; 完成此次動作,跳到Finish 程式

Freezer_4:

cjne a,#11001011b,Freezer_5; 判斷a 是否控制冷氣㆕號鈕

clr p0.3 ; 按㆘㆕號按鈕

mov r7,#5 ; 延遲0.5 秒

call Delay ; 呼叫延時副程式

setb p0.3 ; 放開㆕號按鈕

jmp Finish ; 完成此次動作,跳到Finish 程式

Freezer_5:

cjne a,#10001100b,Freezer_6; 判斷a 是否控制冷氣五號鈕

clr p0.4 ; 按㆘五號按鈕

mov r7,#5 ; 延遲0.5 秒

call Delay ; 呼叫延時副程式

setb p0.4 ; 放開五號按鈕

jmp Finish ; 完成此次動作,跳到Finish 程式

Freezer_6:

cjne a,#10001101b,SetRelay_1; 判斷a 是否控制冷氣六號鈕

LX

Page 63: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

clr p0.5 ; 按㆘六號按鈕

mov r7,#5 ; 延遲0.5 秒

call Delay ; 呼叫延時副程式

setb p0.5 ; 放開六號按鈕

jmp Finish ; 完成此次動作,跳到Finish 程式SetRelay_1:

cjne a,#10000101b,ClrRelay_1; 判斷a 是否開啟㆒號繼電器

clr p0.6 ; 啟動㆒號繼電器

jmp Finish ; 完成此次動作,跳到Finish 程式

ClrRelay_1:

cjne a,#11000101b,SetRelay_2; 判斷a 是否關閉㆒號繼電器

setb p0.6 ; 關閉㆒號繼電器

jmp Finish ; 完成此次動作,跳到Finish 程式

SetRelay_2:

cjne a,#10000110b,ClrRelay_2; 判斷a 是否開啟㆓號繼電器

clr p0.7 ; 啟動㆓號繼電器

jmp Finish ; 完成此次動作,跳到Finish 程式

ClrRelay_2:

cjne a,#11000110b,Finish; 判斷a 是否關閉㆓號繼電器

setb p0.7 ; 關閉㆓號繼電器

jmp Finish ; 完成此次動作,跳到Finish 程式

;=====================================

;判斷接收到的值(a)並執行相對應的動作(End)

;=====================================

Finish:

LXI

Page 64: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

mov r7,#5 ; 延遲0.5 秒

call Delay ; 呼叫延時副程式

jmp Check ; 跳至CHECK

;================================================

;當發現磁簧開關被打開時,便把被更動的開關值傳送到電腦

;================================================

Change:

mov a,p2 ; 取出數位開關的值並存到a

xrl a,r1 ; 把新值和舊值做xor(相同為0,相異為1)

SendA:

cjne a,#00000001b,SendB; 如果第㆒支腳改變狀態,就送出A

mov a,#10000001b ; 設定a 為A 的ASCII 碼

mov sbuf,a ; 將數位開關值經由TXD 腳傳送出去

jmp Error ; 完成此次動作,跳到Error 程式

SendB:

cjne a,#00000010b,SendC; 如果第㆓支腳改變狀態,就送出B

mov a,#10000010b ; 設定a 為B 的ASCII 碼

mov sbuf,a ; 將數位開關值經由TXD 腳傳送出去

jmp Error ; 完成此次動作,跳到Error 程式

SendC:

cjne a,#00000100b,SendD; 如果第㆔支腳改變狀態,就送出C

mov a,#10000011b ; 設定a 為C 的ASCII 碼

mov sbuf,a ; 將數位開關值經由TXD 腳傳送出去

jmp Error ; 完成此次動作,跳到Error 程式

LXII

Page 65: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

SendD:

cjne a,#00001000b,Error; 如果第㆕支腳改變狀態,就送出D

mov a,#10000100b ; 設定a 為D 的ASCII 碼

mov sbuf,a ; 將數位開關值經由TXD 腳傳送出去

jmp Error ; 完成此次動作,跳到Error 程式

Error:

mov a,p2 ; 再次取出數位開關的值並存到a

mov r1,a ; 設定r1 為新數位開關值

jmp Check

;==============

;清除記憶體內容

;==============

Clear_RAM:

clr a ; 清除A=0

mov r0,#5fh ; 將RAM 位址00H-5FH 清除為0

Clear_Loop:

mov @r0,a ; 取得欲清除的位址並將之清除為0

djnz r0,Clear_Loop ; 直到r0 為0 便停止

ret

;==========================

;設定串列傳輸UART 工作環境

;==========================

Set_UART:

mov scon,#01010000b ; 設定UART 工作在MODE1

mov tmod,#00100000B ; 設定TIMER1 工作在MODE2

LXIII

Page 66: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

mov th1,#253 ; 設定鮑率=9600bps

setb tr1 ; 啟動TIMER1

ret

;=================

;讀取數位開關的鍵值

;=================

Access_SWKey:

mov a,p2 ; 取得數位開關的鍵值

mov r1,a ; 並放入R1

ret

;==========

;延時副程式

;==========

Delay:

mov r6,#100

$1:

mov r5,#200

$2

djnz r5,$2

djnz r6,$1

djnz r7,Delay ; 延遲(r7)*0.1 秒

ret

end

;=====================================

;程式結束

;=====================================

LXIV

Page 67: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

第六章 總結

6.1 心得

在㆒開始決定好專題題目時,其實大家都還沒有什麼頭緒,㆒些硬體

相關的課程是有修過,但畢竟實作的部分太少了,因此分組,首先我在硬

體和網路方面另㆒位同學負責軟體和VB方面鑽研。以期能到達最好的效

率。在硬體方面,遇到了8051與電腦連結的問題,因為延遲關係,花了很

LXV

Page 68: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

多時間去測試,軟體方面由於對VB 及 ASP的不了解而㆒度使得進度落

後不少,藉著書籍和詢問學長姐,以及林俊良老師教導,硬體㆖大致㆖問

題都解決。目前此專題仍在進行㆗,仍然有很多㆞方需要改進,例如網頁

設計及VB撰寫,還有許多問題要解決,而我們會以更完美、更符合㆟性

化的目標邁進。

接著,我依然要再感謝林俊良教授,他在我們㆒陣子失意的時候,給

予我們㆟生道理㆖的指導,帶著我們破除那研究問題㆖的迷團,而他對學

生那種「真心的對待」,更是令我們由衷的感動,老師,謝謝你讓我們知

道「什麼是研究!」。謝謝!

參考資料

[1]大瑑坊,動態網頁設計㆔合㆒,學貫行銷股份有限公司,2001年3月

[2]王國榮,Active Server Page & Web資料庫,旗標出版股份有限公司,

2000年8月

[3]王國榮,Active Server Page網頁製作教本,旗標出版股份有限公司,2001

年9月

[4]王國榮,Visual Basic 6。0教本,旗標出版股份有限公司,2001年6月

LXVI

Page 69: 逢 自動控制工程學系專題製作 專 題 論 文 · 自動控制工程學系專題製作 專 題 論 文 遠端家庭防盜系統 Remote Control Of Home Appliance 指導教授:林俊良

[5]王國榮,Visual Basic 6。0 資料庫程式設計,旗標出版股份有限公司,

2001 年6 月

[6]范逸之、陳立元、賴俊朋,Visual basic與RS232串列通訊控制,文魁資

訊股份有限公司,1999年10月

[7]蔡柏樟,視窗51模擬實務-組合語言篇,知行文化事業股份有限公司,

2000年五月

[8]謝澄漢,微電腦控制-8051 單晶片理論與實作,益眾資訊有限公司,1997

年12 月

[9]林蕙如、陳益良、彭慧美,8051 I/O 介面實習,全華科技圖書股份有

限公司,1996 年12 月

[10]吳㆒農,單晶片8051 實務,松崗電腦圖書資料股份有限公司,1999

年9 月

[11]楊明豐,8051 單晶片設計實務,碁資訊股份有限公司,2001年2月

LXVII