控制室屏柜物聯(lián)網(wǎng)監(jiān)護系統(tǒng)_第1頁
控制室屏柜物聯(lián)網(wǎng)監(jiān)護系統(tǒng)_第2頁
控制室屏柜物聯(lián)網(wǎng)監(jiān)護系統(tǒng)_第3頁
控制室屏柜物聯(lián)網(wǎng)監(jiān)護系統(tǒng)_第4頁
控制室屏柜物聯(lián)網(wǎng)監(jiān)護系統(tǒng)_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 PAGE 66控制室屏柜物聯(lián)網(wǎng)監(jiān)護系統(tǒng)提醒:垃圾文章,請勿抄襲摘要為了提高系統(tǒng)管理的先進性和安全性,在工業(yè)自動控制中需要實現(xiàn)控制室屏柜的遠程控制。本文研究通過物聯(lián)網(wǎng)技術(shù)實現(xiàn)對多個屏柜的遠程開關(guān)控制,并將當前狀態(tài)反應(yīng)給控制端。物聯(lián)網(wǎng)技術(shù)是新一代信息技術(shù),是在互聯(lián)網(wǎng)技術(shù)基礎(chǔ)上的延伸和擴展的一種網(wǎng)絡(luò)技術(shù),其用戶端延伸和擴展到了任何物品和物品之間,進行信息交換和通訊以實現(xiàn)智能化識別、定位、追蹤、監(jiān)控和管理。本文通過多臺51單片機實現(xiàn)物聯(lián)網(wǎng)技術(shù),由一臺作管理用的上位主計算機(主機)和多臺直接參與控制檢測的下位從計算機(從機)構(gòu)成的主從式多機系統(tǒng),利用單片機間串口通信實現(xiàn)主機與從機間通信。同時設(shè)計了從機

2、對屏柜的門控電路,從而實現(xiàn)在主機端即可控制多個屏柜。關(guān)鍵詞:物聯(lián)網(wǎng),單片機,串行通信,控制室屏柜,門控系統(tǒng)TOC o 1-3 h u ABSTRACT目錄摘要IABSTRACTII前言1 HYPERLINK l _Toc15578 1.本課題選取的目的及意義 PAGEREF _Toc15578 1 HYPERLINK l _Toc15578 2.本文主要工作 PAGEREF _Toc15578 1第一章 串行通信部分11. 串行通信原理1 HYPERLINK l _Toc9065 1.1 通信的種類 PAGEREF _Toc9065 9 HYPERLINK l _Toc9065 1.2 通信參

3、數(shù) PAGEREF _Toc9065 9 HYPERLINK l _Toc7241 1.3工作模式 PAGEREF _Toc7241 3 HYPERLINK l _Toc14940 1.4 同步通信與異步通信 PAGEREF _Toc14940 4 HYPERLINK l _Toc3337 2. 串口通信傳輸協(xié)議 PAGEREF _Toc3337 5 HYPERLINK l _Toc19840 2.1 IIC總線傳輸協(xié)議 PAGEREF _Toc19840 5 HYPERLINK l _Toc25874 2.2 SPI總線傳輸協(xié)議 PAGEREF _Toc25874 7 HYPERLINK l

4、 _Toc19499 2.3 串口通信傳輸協(xié)議 PAGEREF _Toc19499 9 HYPERLINK l _Toc9065 2.3.1 80C51單片機的串行口的結(jié)構(gòu) PAGEREF _Toc9065 9 HYPERLINK l _Toc30272 2.3.2 80C51串行口的控制寄存器 PAGEREF _Toc30272 10 HYPERLINK l _Toc14707 2.3.3 80C51單片機串行口的工作方式 PAGEREF _Toc14707 11 HYPERLINK l _Toc11364 2.4 方案選取 PAGEREF _Toc11364 13 HYPERLINK l

5、_Toc3818 3. 主從通信系統(tǒng)設(shè)計 PAGEREF _Toc3818 13 HYPERLINK l _Toc8826 3.1 硬件原理圖設(shè)計 PAGEREF _Toc8826 13 HYPERLINK l _Toc11983 3.2 軟件的編寫 PAGEREF _Toc11983 14 HYPERLINK l _Toc2927 第二章 從機電子鎖部分 PAGEREF _Toc2927 17 HYPERLINK l _Toc11430 1.門控系統(tǒng)組成17電控鎖選擇及其驅(qū)動電路設(shè)計173.報警電路184.單片機電路18 HYPERLINK l _Toc2927 第三章 系統(tǒng)仿真20 HYP

6、ERLINK l _Toc2927 結(jié)束語 PAGEREF _Toc2927 18 HYPERLINK l _Toc2927 參考文獻 PAGEREF _Toc2927 18 HYPERLINK l _Toc2927 附錄 PAGEREF _Toc2927 18 HYPERLINK l _Toc2927 致謝 PAGEREF _Toc2927 18前言在工業(yè)控制中,當工作人員對控制室進行檢修時,需要對控制室屏柜開關(guān)進行控制,并要及時獲取屏柜開關(guān)狀態(tài)。為了提高系統(tǒng)管理的先進性和安全性,計算機工業(yè)自動控制和檢測系統(tǒng)越來越多地采用集總分散系統(tǒng)。較為常見的形式是由一臺作管理用的上位主計算機(主機)和多

7、臺直接參與控制檢測的下位從計算機(從機)構(gòu)成的主從式多機系統(tǒng),主機和從機之間以通訊的方式來協(xié)調(diào)工作。主機的作用一是要向從機發(fā)送各種命令及參數(shù);二是要及時收集、整理和分析從機發(fā)回的數(shù)據(jù),供進一步?jīng)Q策和報表。從機被動地接收、執(zhí)行主機發(fā)來的命令,并且根據(jù)主機的要求向主機回傳相應(yīng)的實時數(shù)據(jù),報告其運行狀態(tài)1。1. HYPERLINK l _Toc177972381 本課題選取的目的及意義物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,其核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴展的網(wǎng)絡(luò);第二,其用戶端延伸和擴展到了任何物品與物品之間,進行信息交換和通信。物聯(lián)網(wǎng)就是“物物相連的互聯(lián)網(wǎng)”。物聯(lián)網(wǎng)通過智能感知

8、、識別技術(shù)與普適計算、泛在網(wǎng)絡(luò)的融合應(yīng)用,被稱為繼計算機、互聯(lián)網(wǎng)之后世界HYPERLINK /view/62984.htm信息產(chǎn)業(yè)發(fā)展的第三次浪潮。單片機開創(chuàng)了嵌入式系統(tǒng)獨立發(fā)展道路,嵌入式技術(shù)是物聯(lián)網(wǎng)技術(shù)最為關(guān)鍵的底層技術(shù),在單片機技術(shù)成熟發(fā)展的今天,物聯(lián)網(wǎng)的興起,給單片機提供一個更為廣大和宏偉的舞臺,同時也給單片機提供了新的發(fā)展方向。隨著計算機HYPERLINK /view/3314.htm t _blank系統(tǒng)的應(yīng)用和微機網(wǎng)絡(luò)的發(fā)展,通信功能越來越顯的重要,由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進行信息傳送。因此,用串行總線技術(shù)可以使集總

9、分散系統(tǒng)的硬件設(shè)計大大簡化、系統(tǒng)的體積減小、可靠性提高。特別適合于遠距離傳輸。在實時控制和管理方面,采用多臺微機處理機組成分級分布控制系統(tǒng)中,各 CPU 之間的通信一般都是串行方式。本次課題的設(shè)計所采用的方法是用串口通信的方法來實現(xiàn)主從式總線通信系統(tǒng)的。MCS-51系列單片機內(nèi)部帶有一個可用于異步通訊的全雙工的串行通訊接口,因此可以很方便地構(gòu)成一個主從式多機系統(tǒng)。51單片機由于其出色的性能和便宜的價格,目前仍然是國內(nèi)用的最為廣泛的8位單片機類型,因此選取基于51單片機的主從通信系統(tǒng)的設(shè)計與實現(xiàn)這個課題是十分有意義的。2.本文的主要工作本次畢業(yè)設(shè)計的主要工作是利用51單片機總線式主從通信系統(tǒng),實

10、現(xiàn)基于主從總線的數(shù)據(jù)傳送,利用主機控制從機,從機控制電子鎖開關(guān),并向主機返回數(shù)據(jù),從而實現(xiàn)對控制室屏柜的監(jiān)護系統(tǒng)。為了方便起見,先設(shè)計一個一主兩從的通信系統(tǒng),畫出系統(tǒng)的硬件原理圖,并且在此原理圖的基礎(chǔ)上設(shè)計出軟件實現(xiàn)此功能。至于更加復(fù)雜的主從式多機系統(tǒng)的設(shè)計與實現(xiàn)可以在此系統(tǒng)的基礎(chǔ)上進行擴展實現(xiàn)。在本次控制室屏柜監(jiān)護系統(tǒng)設(shè)計與實現(xiàn)過程中,要完成以下任務(wù):(一)串行通信部分了解串口通信的原理,選擇合適的通信協(xié)議進行管理設(shè)計主從式通信系統(tǒng)的硬件原理框圖設(shè)計通信系統(tǒng)硬件電路串行通信軟件程序設(shè)計與調(diào)試從機電子鎖控制部分硬件電路設(shè)計程序設(shè)計(利用中斷)第一章 串行通信部分1.串行通信原理1.1通信的種類

11、通常通信的形式可以分為兩種,一種為并行數(shù)據(jù)通信,另一種則為串行數(shù)據(jù)通信。兩種不同的通信模式如圖2-1所示。 01234567 位10011101并行10011101串行圖2-1 并行與串行由圖1可知,并行數(shù)據(jù)通信一次的傳輸量為8個位(1個字節(jié)),而串行數(shù)據(jù)通信則是一次只傳輸1位。并行數(shù)據(jù)通信是指數(shù)據(jù)的各位同時進行傳送的通信方式。其優(yōu)點是傳送速度快;缺點是數(shù)據(jù)有多少位,就需要多少根傳送線。串行數(shù)據(jù)通信是指數(shù)據(jù)是一位一位順序傳送的通信方式,它的突出優(yōu)點是只需一對傳送線,這樣就大大降低了傳送成本,特別適應(yīng)于遠距離通信;其缺點是傳送速度較低。假設(shè)并行傳送N位數(shù)據(jù)所需時間為T,那么串行傳送的時間至少為N

12、*T 6。1.2通信參數(shù)雙方為了可以進行通信,必須要遵守一定的通信規(guī)則,這個共同的規(guī)則就是通信端口的初始化。通信端口的初始化有以下幾項必須設(shè)置:1.數(shù)據(jù)的傳輸速率傳輸雙方通過傳輸線的電壓改變來交換數(shù)據(jù),但傳輸線的電壓改變的速度必須和接收端的接收速度保持一致,RS-232通常用于異步傳輸,即雙方并沒有一個可參考的同步時鐘作為基準。由于沒有一個參考時鐘,雙方所發(fā)送的高低電位到底代表幾個位就不得而知了,要使得雙方的數(shù)據(jù)讀取正常,就要考慮到傳輸速率波特率,其所代表的意義是每秒鐘所能產(chǎn)生的最大電壓狀態(tài)改變率,或者說是每秒鐘可以振蕩的次數(shù)。原始信號經(jīng)過不同的波特率取樣后,所得的結(jié)果完全不一樣。取樣速度只有

13、原來的一半時,信號被跳著取樣,數(shù)據(jù)因此產(chǎn)生錯誤。因此通信雙方獲得相同的通信速度是首先要做的事情5。2.數(shù)據(jù)的發(fā)送單位一般串行通信端口所發(fā)送的數(shù)據(jù)是字符類型的,若用來傳輸文件,則會使用二進制的數(shù)據(jù)類型。當使用字符類型時,通常使用ASCII碼,ASCII碼中8個位形成一個字符。以實際的RS-232傳輸來看,由于大多數(shù)應(yīng)用只是發(fā)送文字碼,因此只要7個位就可以將ASCII碼的0-127號字符表達出來,所有的可見字符都在這個范圍內(nèi),所以只要7個數(shù)據(jù)位就足夠了。不同的情況下,會使用到不同的發(fā)送單位,但使用多少個位合成一個字節(jié)必須先行確定5。3.起始位及停止位由于異步串行通信中并沒有使用同步脈沖作為基準,故

14、接收端完全不知道發(fā)送端何時將進行數(shù)據(jù)的發(fā)送,而當發(fā)送端準備要開始發(fā)送數(shù)據(jù)時,發(fā)送端會在所送出的字符前后分別加上高電位的起始位(邏輯0)及低電位的停止位(邏輯1),它們分別是所謂的起始位和停止位。當發(fā)送端要開始發(fā)送數(shù)據(jù)時,便將傳輸在線的電位由低電位提升至高電位,而當發(fā)送結(jié)束后,再將電位降至低電位。接收端會因起始位的觸發(fā)(因電壓由低電位升至高電位)而開始接收數(shù)據(jù),并因停止位的通知(因電壓維持在低電位)而確切數(shù)據(jù)的字符信號已經(jīng)結(jié)束5。4.校驗位的檢查為了預(yù)防錯誤的產(chǎn)生,因此使用校驗位作為檢查的機制;校驗位是用來檢查所發(fā)送數(shù)據(jù)正確性的一種核對碼,其中又分成奇校驗位和偶校驗位兩種方式,分別是檢查字符碼中

15、I的數(shù)目是奇數(shù)或偶數(shù)。以偶校驗位為例,A的ASCII碼01100001 (二進制),其中1的數(shù)目是三個,因此校驗位便是1,使1的數(shù)目保持偶數(shù)。同理,校驗位是奇校驗位時,A的校驗位便是0,使1的數(shù)目保持奇數(shù)5。1.3工作模式數(shù)據(jù)傳輸查模式有單工、半雙工、全雙工和多工工作方式。單工方式時,數(shù)據(jù)僅按一個固定方向傳送。因而這種傳輸方式的用途有限,常用于串行口的打印數(shù)據(jù)傳輸與簡單系統(tǒng)間的數(shù)據(jù)采集。半雙工方式時數(shù)據(jù)可實現(xiàn)雙向傳送,但不能同時進行,實際的應(yīng)用采用某種協(xié)議實現(xiàn)收/發(fā)開關(guān)轉(zhuǎn)換。全雙工方式時允許雙方同時進行數(shù)據(jù)雙向傳送。這三種傳輸方式都是用同一線路傳輸同一種頻率信號,為了充分利用線路資源,可通過使

16、用多路復(fù)用器或多路集線器,采用頻分、時分或碼分復(fù)用技術(shù),即可實現(xiàn)在同一線路上共享功能,我們稱之為多工傳輸方式。幾種傳輸方式框圖如圖2-2所示。從前往后依次為單工、半雙工和全雙工。圖2-2 三種傳輸方式不同的工作模式可以應(yīng)用在不同的地方,也各有其優(yōu)點。就串行通信而言,RS-232使用的是全雙工的模式。同時可以利用的傳輸線路決定了工作模式。RS- 232之所以能達到全雙工的功能,就是因為其引腳在設(shè)計上是接收與發(fā)送分屬兩個不同的引腳與線路7。1.4 同步通信與異步通信異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時鐘控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時鐘盡可能一致。異步通

17、信以字符(構(gòu)成的幀)為單位進行傳輸,字符與字符之間的間隙(時間間隔)也是任意的,但每個字符中的各位是以固定的時間傳送的。原理圖如圖2-3所示。接收設(shè)備010010101001001010100100101110任意間隙發(fā)送設(shè)備圖2-3 異步通信原理圖同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。此時,傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。發(fā)送方對接收方的同步可以通過外同步和自同步兩種方法實現(xiàn)78。為自同步原理圖如圖2-4所示。計算機甲計算機乙數(shù)據(jù)時鐘圖2-4 同步通信原理圖2. 串口通信傳輸協(xié)議目前

18、使用的比較廣泛的串行總線傳輸協(xié)議有IIC總線傳輸協(xié)議、SPI總線傳輸協(xié)議以及RS-232總線協(xié)議。無論利用其中任何一種總線協(xié)議都可以設(shè)計出一個主從式總線通信系統(tǒng)?,F(xiàn)在分別介紹其數(shù)據(jù)傳輸原理。2.1 IIC總線傳輸協(xié)議IIC總線是PHLIPS公司推出的一種串行總線,是具備多主機系統(tǒng)所需的包括總線裁決和高低速器件同步功能的高性能串行總線。IIC總線只有兩根雙向信號線。一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。IIC總線通過上拉電阻接正電源。當總線空閑時,兩根線均為高電平。連到總線上的任一器件輸出的低電平,都將使總線的信號變低,即各器件的SDA及SCL都是線“與”關(guān)系79。每個接到IIC總線上的器件

19、都有唯一的地址。主機與其它器件間的數(shù)據(jù)傳送可以是由主機發(fā)送數(shù)據(jù)到其它器件,這時主機即為發(fā)送器。由總線上接收數(shù)據(jù)的器件則為接收器。在多主機系統(tǒng)中,可能同時有幾個主機企圖啟動總線傳送數(shù)據(jù)。為了避免混亂,IIC總線要通過總線仲裁,以決定由哪一臺主機控制總線。數(shù)據(jù)的有效位規(guī)定:IIC總線進行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化,如圖3-1所示。SCLSDA要求數(shù)據(jù)穩(wěn)定 允許數(shù)據(jù)變化要求數(shù)據(jù)穩(wěn)定 圖3-1 IIC總線數(shù)據(jù)傳輸有效位原理圖起始和終止信號 :SCL線為高電平期間,SDA線由高電平向低電平的變化表

20、示起始信號;SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號,如圖3-2所示。起始信號S終止信號P圖3-2 起始信號和終止信號原理圖起始和終止信號都是由主機發(fā)出的,在起始信號產(chǎn)生后,總線就處于被占用的狀態(tài);在終止信號產(chǎn)生后,總線就處于空閑狀態(tài)。連接到I2C總線上的器件,若具有IIC總線的硬件接口,則很容易檢測到起始和終止信號。接收器件收到一個完整的數(shù)據(jù)字節(jié)后,有可能需要完成一些其它工作,如處理內(nèi)部中斷服務(wù)等,可能無法立刻接收下一個字節(jié),這時接收器件可以將SCL線拉成低電平,從而使主機處于等待狀態(tài)。直到接收器件準備好接收下一個字節(jié)時,再釋放SCL線使之為高電平,從而使數(shù)據(jù)傳送可以

21、繼續(xù)進行。數(shù)據(jù)傳送格式:(1)字節(jié)傳送與應(yīng)答每一個字節(jié)必須保證是8位長度。數(shù)據(jù)傳送時,先傳送最高位(MSB),每一個被傳送的字節(jié)后面都必須跟隨一位應(yīng)答位(即一幀共有9位)。原理圖如圖3-3所示。如果一段時間內(nèi)沒有收到從機的應(yīng)答信號,則自動認為從機已正確接收到數(shù)據(jù)。由于某種原因從機不對主機尋址信號應(yīng)答時(如從機正在進行實時性的處理工作而無法接收總線上的數(shù)據(jù)),它必須將數(shù)據(jù)線置于高電平,而由主機產(chǎn)生一個終止信號以結(jié)束總線的數(shù)據(jù)傳送。如果從機對主機進行了應(yīng)答,但在數(shù)據(jù)傳送一段時間后無法繼續(xù)接收更多的數(shù)據(jù)時,從機可以通過對無法接收的第一個數(shù)據(jù)字節(jié)的“非應(yīng)答”通知主機,主機則應(yīng)發(fā)出終止信號以結(jié)束數(shù)據(jù)的繼

22、續(xù)傳送。當主機接收數(shù)據(jù)時,它收到最后一個數(shù)據(jù)字節(jié)后,必須向從機發(fā)出一個結(jié)束傳送的信號。這個信號是由對從機的“非應(yīng)答”來實現(xiàn)的。然后,從機釋放SDA線,以允許主機產(chǎn)生終止信號。SCL(主機)SDA(從機)SDA(從機)起始信號非應(yīng)答應(yīng)答圖3-3 IIC字符傳送格式(2)數(shù)據(jù)幀格式IIC總線上傳送的數(shù)據(jù)信號是廣義的,既包括地址信號,又包括真正的數(shù)據(jù)信號。在起始信號后必須傳送一個從機的地址(7位),第8位是數(shù)據(jù)的傳送方向位(R/T),用“0”表示主機發(fā)送數(shù)據(jù)(T),“1”表示主機接收數(shù)據(jù)(R)。每次數(shù)據(jù)傳送總是由主機產(chǎn)生的終止信號結(jié)束。但是,若主機希望繼續(xù)占用總線進行新的數(shù)據(jù)傳送,則可以不產(chǎn)生終止信

23、號,馬上再次發(fā)出起始信號對另一從機進行尋址。在總線的一次數(shù)據(jù)傳送過程中,可以有三種組合方式:第一是主機向從機發(fā)送數(shù)據(jù),數(shù)據(jù)傳送方向在整個傳送過程中不變。第二是主機在第一個字節(jié)后,立即從從機讀數(shù)據(jù)。第三種剛是在傳送過程中,當需要改變傳送方向時,起始信號和從機地址都被重復(fù)產(chǎn)生一次,但兩次讀/寫方向位正好反相。IIC總線的尋址是采用7位的尋址字節(jié)(尋址字節(jié)是起始信號后的第一個字節(jié))。2.2 SPI總線傳輸協(xié)議SPI的通信原理非常簡單,它以主從方式工作,這種模式通常有一個主設(shè)備和多個從設(shè)備。其中CS信號是控制從機的芯片是否被選中的。如圖3-4所示,系統(tǒng)內(nèi)有一個主設(shè)備M1和兩個從設(shè)備S1與S2。當S1的

24、片選信號CS為低電平時,S1被選中,M1通過MOSI引腳發(fā)送數(shù)據(jù),S1通過MOSI引腳接收數(shù)據(jù),或者S1通過MISO引腳發(fā)送數(shù)據(jù),而M1通過MISO引腳接收數(shù)據(jù)。同樣的,當S2的片選信號CS為低電平時,S2被選中,M1通過MOSI引腳發(fā)送數(shù)據(jù),S2通過MOSI引腳接收數(shù)據(jù),或者S2通過MISO引腳發(fā)送數(shù)據(jù),而M1通過MISO引腳接收數(shù)據(jù)。從機只有通過CS信號選中之后,對此從機的操作才會有效,可見,片選信號的存在使得允許在同一總線上連接多個SPI設(shè)備成為可能。當從機芯片被選中,和主機建立連接之后,接下來就是負責(zé)通訊的3根線了。通訊是通過數(shù)據(jù)交換完成的,這里首先要知道SPI是串行通訊協(xié)議,也就是說

25、數(shù)據(jù)是一位一位進行傳輸?shù)摹_@就是SCK時鐘線存在的原因,傳輸時,由SCK提供時鐘脈沖,MOSI,MISO則基于此脈沖完成數(shù)據(jù)傳輸。如圖3-4所示,當M1給S1發(fā)送數(shù)據(jù)時,數(shù)據(jù)從M1輸出通過 MOSI線,數(shù)據(jù)在時鐘脈沖的上升沿或下降沿時輸出,在緊接著的下降沿或上升沿通過S1的MOSI線被讀取。當S1給M1發(fā)送數(shù)據(jù)時,原理是一樣的,只不過通過的是MISO線來完成10。SCKMISOMOSICSM1SCKMISOMOSICSSCKMISOMOSICSS1S2圖3-4 SPI傳輸原理圖要注意的是,SCK信號線只由主設(shè)備控制,從設(shè)備不能控制時鐘信號線。因此,在一個基于SPI的系統(tǒng)中,必須至少有一個主控設(shè)

26、備。在點對點的通信中,SPI接口不需要進行尋址操作,且為全雙工通信,顯得簡單高效。在多個從設(shè)備的系統(tǒng)中,每個從設(shè)備需要獨立的使能信號,硬件上比IIC系統(tǒng)要稍微復(fù)雜一些。SPI是一個環(huán)形總線結(jié)構(gòu),其時序其實比較簡單,主要是在時鐘脈沖SCK的控制下,兩個雙向移位寄存器SPIDATA進行數(shù)據(jù)交換。我們假設(shè)主機的8位寄存器SPIDATA1內(nèi)的數(shù)據(jù)是10101010,而從機的8位寄存器SPIDATA2內(nèi)的數(shù)據(jù)是01010101,在上升沿的時候發(fā)送數(shù)據(jù),在下降沿的時候接收數(shù)據(jù),最高位的數(shù)據(jù)先發(fā)送,主機和從機之間全雙工通信,也就是說兩個SPI接口同時發(fā)送和接收數(shù)據(jù),如圖3-5所示。從圖中我們也可以看到,SP

27、IDATA移位寄存器總是將最高位的數(shù)據(jù)移出,接著將剩余的數(shù)據(jù)分別左移一位,然后將接收到得數(shù)據(jù)移入其最低位11。圖3-5 SPI主從工作模式示意圖如圖3-6所示,當?shù)谝粋€上升沿來的時候,SPIDATA1將最高位1移除,并將所有數(shù)據(jù)左移1位,這時MOSI線為高電平,而SPIDATA2將最高位0移出,并將所有數(shù)據(jù)左移1位,這樣MISO線為低電平。然后當下降沿到來的時候,SPIDATA1將鎖存MISO線上的電平,并將其移入其最低位,同樣的,SPIDATA2將鎖存MOSI線上的電平,并將其移入最低位。經(jīng)過8個脈沖后,兩個移位寄存器就實現(xiàn)了數(shù)據(jù)的交換,也就是完成了一次SPI的時序11。圖3-6 數(shù)據(jù)傳輸示

28、例2.3 串口通信傳輸協(xié)議由于本次設(shè)計的題目是基于8051單片機的主從式通信系統(tǒng)的設(shè)計,因此有關(guān)串口通信的原理的介紹都是圍繞51單片機講解的。2.3.1 80C51單片機的串行口的結(jié)構(gòu)MCS-51單片機內(nèi)部有一個全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個在物理上獨立的接發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器剛只能寫入不能讀出。這個通信口既可以用于網(wǎng)絡(luò)通信,亦可以實現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可以方便地構(gòu)成標準的RS-232接口712。80C51單片機的串行口的結(jié)構(gòu)如圖3

29、-7所示。圖3-7 80C51單片機的串行口的結(jié)構(gòu)串行口有兩個物理上獨立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H ;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因為發(fā)送時CPU是主動的,不會產(chǎn)生重疊錯誤。 2.3.2 80C51串行口的控制寄存器1特殊功能寄存器SCONSCON 是一個特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標志,字節(jié)地址為98H。SCON寄存器的各位定義如表3-1所示。位76543210 字節(jié)地址:98HSM0SM1SM2RENTB8RB8TI RISCON 表3-1 SCON寄存器SM0和SM1為工作方式選擇位,可選擇四種工作方式,如表3-2所示。

30、SM0SM1方式說明波特率000移位寄存器fosc/1201110位異步收發(fā)器(8位數(shù)據(jù))可變10211位異步收發(fā)器(9位數(shù)據(jù))fosc/64或fosc/3211311位異步收發(fā)器(9位數(shù)據(jù))可變表3-2 串口通信4種工作方式SM2為多機通信控制位,主要用于方式2和方式3。當接收機的SM2=1時可以利用收到的RB8來控制是否激活RI(RB80時不激活RI,收到的信息丟棄;RB81時收到的數(shù)據(jù)進入SBUF,并激活RI,進而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。當SM2=0時,不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進入SBUF,并激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2

31、,可以實現(xiàn)多機通信。在方式0時,SM2必須是0。在方式1時,若SM2=1,則只有接收到有效停止位時,RI才置1。REN為允許串行接收位。由軟件置REN=1,則啟動串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。TB8用在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗位,或在多機通信中,作為地址幀/數(shù)據(jù)幀的標志位(在方式0和方式1中,該位未用) 。RB8用在方式2或方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗位或地址幀/數(shù)據(jù)幀的標志位。在方式1時,若SM2=0,則RB8是接收到的停止位。TI,發(fā)送中斷標志位。在方式0時,當串行發(fā)送第8位數(shù)據(jù)結(jié)束時,或在其它方式

32、,串行發(fā)送停止位的開始時,由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請。RI,接收中斷標志位。在方式0時,當串行接收第8位數(shù)據(jù)結(jié)束時,或在其它方式,串行接收停止位的中間時,由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請7。2特殊功能寄存器PCONPCON的字節(jié)地址為87H,它的第7位SMOD是與串口通信波特率的設(shè)置有關(guān)的選擇位。SMOD(PCON.7)為波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD有關(guān),當SMOD=1時,波特率提高一倍。復(fù)位時,SMOD=0。2.3.3 80C

33、51單片機串行口的工作方式1.方式0設(shè)置SCON寄存器的SM0、SM10 0時,串行口工作于方式0。此時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。其中fosc為時鐘頻率。2方式1設(shè)置SCON寄存器的SM0、SM10 1時,串行口工作于方式1。方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。 用軟件置REN為1時,接收器以

34、所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進入RB8,并置RI=1,向CPU請求中斷。方式一的輸入輸出圖如圖3-8、3-9所示。圖3-8 方式1輸入圖3-9 方式1輸出3.方式2和方式3設(shè)置SCON寄存器的SM0、SM11 0時,串行口工作于方式2,當SM0、SM11

35、1時,串行口工作于方式3。方式2或方式3為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳 。方式2和方式3時起始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時為SCON中的TB8,接收時為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時器T1的溢出率決定。 方式2和方式3輸出:發(fā)送開始時,先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時,停止位“1”移入輸出移位寄存器的第9位上 ,以后每次移位,左邊都移入0

36、。當停止位移至輸出位時,左邊其余位全為0,檢測電路檢測到這一條件時,使控制電路進行最后一次移位,并置TI=1,向CPU請求中斷。發(fā)送時序圖如下圖3-10所示。圖3-10 方式2或方式3的發(fā)送時序圖方式2和方式3輸入:接收時,數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位0移到最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的第9位數(shù)據(jù)為1)時,接收到的數(shù)據(jù)裝入接收緩沖器SBUF和RB8(接收數(shù)據(jù)的第9位),置RI=1,向CPU請求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索RXD引腳的負跳變。接收時序圖如圖3-11所示。圖3-11 方式2或方式3的接收時序圖2.4 方

37、案選取就三種數(shù)據(jù)傳輸協(xié)議的方式來看,串口通信是這三種方式中最為簡單也是最好實現(xiàn)通信方式的一種。因為MCS-51單片機內(nèi)部有一個全雙工的串行通信口,而一般的51單片機不帶IIC總線接口和SPI總線接口。要想使用這兩種傳輸方式進行數(shù)據(jù)傳輸?shù)脑挘仨氁褂密浖M。而且主機從機要是都是51單片機的話,實現(xiàn)起來的難度就會非常的大。另外,雖然IIC和SPI比UART更加強大,但是在技術(shù)上也在更麻煩一些。同時IIC的抗干擾能力較弱,一般用于同一板卡上芯片之間的通信,較少用于遠距離傳輸。所以無論是從設(shè)計的難易程序來考慮,還是從本次設(shè)計的實際情況來看,采用串口通信的方式實現(xiàn)51單片機的主從式通信是最合適不過的

38、了,除了實現(xiàn)主機與從機間的串口數(shù)據(jù)傳送外,還實現(xiàn)從機到從機的串口數(shù)據(jù)傳送的功能91112。3. 主從通信系統(tǒng)設(shè)計主從通信系統(tǒng)的設(shè)計不僅包括系統(tǒng)的硬件原理圖設(shè)計,還包括基于硬件基礎(chǔ)上的軟件代碼的編寫。本文首先設(shè)計出主從通信的硬件原理圖,然后再編寫出了相應(yīng)的代碼。3.1 硬件原理圖設(shè)計關(guān)于51單片機的主從式通信系統(tǒng)的硬件設(shè)計的原理框圖是很容易的。本次設(shè)計主要是一個主機和兩個從機進行通信。因此,主要需要三個單片機作主從機,另外設(shè)計一些外圍硬件電路來實現(xiàn)這個主從式通信系統(tǒng)MCS-51單片機的第10號管腳RXD可用于串行數(shù)據(jù)的接收,第11號管腳TXD可用于串行數(shù)據(jù)的發(fā)送。因此,可以將主機的TXD管腳與從

39、機的RXD相連接,以實現(xiàn)主機發(fā)送數(shù)據(jù)從機接收數(shù)據(jù)的功能。而主機的RXD與從機的TXD相連接,以實現(xiàn)從機發(fā)送數(shù)據(jù)主機接收的功能。同時也可以實現(xiàn)從機與從機之間的數(shù)據(jù)通信。根據(jù)上面的原理框圖設(shè)計具體的硬件原理圖時,如果只是簡單的這樣連線的話,就會遇到一些問題。其一:當單片機處于待機狀態(tài)時,單片機的各個I/O口被默認為是高電平,而當主機與一個從機進行通信,另一個從機不工作的話,傳輸線上的信號就會受到另一從機的影響,最終數(shù)據(jù)傳送會發(fā)生錯誤。其二:主從式的通信要實現(xiàn)的是主機與從機以及從機與從機之間的通信。其中包括主機與兩個從機同時通信,主機與單個從機通信(另一個從機處于待機狀態(tài)),從機與從機之間的通信。如

40、果只是單純的連接主機與從機之間的RXD與TXD信號線是無法實現(xiàn)的114。為了解決上述所提到的問題,可以設(shè)計一些硬件電路來實現(xiàn)。關(guān)于主從機之間信號的影響,可以在信號端加上三態(tài)門電路,當某個從機不進行工作時,可以設(shè)置三態(tài)門呈高阻態(tài)的狀態(tài),這樣從機之間就不會相互的影響了。同時,關(guān)于三態(tài)門的控制,可以設(shè)計成主機控制,這樣要想實現(xiàn)各種形式的通信都可由主機控制了。本次設(shè)計采用74HC245芯片作為三態(tài)們器件。具體的電路原理圖如圖4-1所示。三態(tài)門三態(tài)門TRTRTR主機從機1從機2圖4-1 硬件原理圖3.2 軟件的編寫主從式通信系統(tǒng)包括主機與從機之間的通信,以及從機與從機之間的通信。因此,在編寫程序進行數(shù)據(jù)

41、信號傳輸時,必須考慮到各種情形。同時,如果想要系統(tǒng)具有實時性,數(shù)據(jù)信號則必須是可變的。數(shù)據(jù)的可變不僅包括數(shù)據(jù)的內(nèi)容,還應(yīng)該包括數(shù)據(jù)的長度。關(guān)于各種情形的通信,程序設(shè)計時,可以設(shè)計一種通信協(xié)議,采用不同的控制命令字進行通信控制,同時也可規(guī)范的管理數(shù)據(jù)之間的傳送。我們可以將一組特殊的,用的比較少的數(shù)據(jù)用來當成控制命令字。例如,本次設(shè)計采用如下控制命令:0 xaa表示主機給從機1發(fā)送數(shù)據(jù),0 xbb表示主機給從機2傳送數(shù)據(jù),0 xcc表示從機1給主機傳送數(shù)據(jù),0 xdd表示從機2給主機傳送數(shù)據(jù),0 xee表示從機1給從機2傳送數(shù)據(jù),最后0 xff表示從機2給從機1傳送數(shù)據(jù)。本次設(shè)計所設(shè)計的通信協(xié)議為

42、:主機首先給所有的從機發(fā)送一個控制命令字,從機接收到這個控制命令字后進行辨認,如果是0 xaa則從機1準備接收主機的數(shù)據(jù),從機2處于待機狀態(tài),而主機則會在發(fā)送完前面的控制命令字后發(fā)送在傳送的數(shù)據(jù)信號。當主機發(fā)送的是0 xbb控制命令字時,主機在發(fā)送完控制命令字后發(fā)送要傳送的數(shù)據(jù)信號,此時從機1處于待機狀態(tài),從機2接收主機發(fā)送來的數(shù)據(jù)。如果從機接收到的是0 xcc,則主機在發(fā)送完控制命令字后就準備接收從機1發(fā)送來的數(shù)據(jù)信號,從機2處于待機狀態(tài)。當主機發(fā)送的是0 xdd控制命令字時,則主機在發(fā)送完控制命令字后就準備接收從機2發(fā)送來的數(shù)據(jù)信號,從機1處于待機狀態(tài)。主機發(fā)送的如果是0 xee或者是0

43、xff控制命令字時,則表示從機與從機之間進行數(shù)據(jù)通信,此時,數(shù)據(jù)首先由從機傳送給主機,再由主機傳送給另外一個從機。另外,對于主從機之間發(fā)送的數(shù)據(jù),有可靠傳輸方式和不可靠傳輸方式。所謂不可靠傳輸方式,就是發(fā)送端與接收端之間沒有任何關(guān)系,發(fā)送端只管發(fā)送數(shù)據(jù),接收端只管接收數(shù)據(jù)。到于數(shù)據(jù)在傳送時有沒有發(fā)生錯誤,接收端是不會知道的。這種傳輸模式的優(yōu)點是相對于可靠傳輸而言,傳輸速率要更高。缺點就像其名字一樣,數(shù)據(jù)傳送不安全。對于要求高準確率的數(shù)據(jù)通信系統(tǒng),更多的采用可靠傳輸。所謂可靠傳輸,就是發(fā)送端在發(fā)送一組數(shù)據(jù)后,在數(shù)據(jù)的最后加上一個校驗碼,而接收端在接收數(shù)據(jù)時,不僅接收數(shù)據(jù),而且還要進行計算,最后與

44、發(fā)送端發(fā)送的校驗碼進行對比,如果兩個校驗碼一致,則表示數(shù)據(jù)是正確的。如果不一致,則放棄接收到的數(shù)據(jù)。發(fā)送端重新發(fā)送數(shù)據(jù),進而重復(fù)上面的過程,直到數(shù)據(jù)信號發(fā)送正確為止。本次設(shè)計采用可靠傳輸方式。在上述的所有通信過程中,當每次數(shù)據(jù)傳送結(jié)束后,接收機在接收完所有的數(shù)據(jù)后會進行一次求和校驗,這樣可以檢驗數(shù)據(jù)傳送的成確與否。如果所得的求和值與發(fā)送機發(fā)出的求和校驗碼一致時,則表示數(shù)據(jù)發(fā)送正確,可以接收并存儲。如果所得的求和值與發(fā)送機發(fā)出的求和校驗碼有一致時,則表示數(shù)據(jù)發(fā)送時出現(xiàn)錯誤,接收機丟棄所接收的數(shù)據(jù),并命令發(fā)送機重新發(fā)送數(shù)據(jù)。編寫軟件代碼時,首先得弄清楚程序流程圖。只有清楚了軟件流程圖,再根據(jù)流程圖

45、進行編寫代碼,才不會出現(xiàn)大的錯誤。本次設(shè)計采用一個單片機作主機,兩個單片機作從機進行主從通信,具體程序流程如圖4-2、圖4-3、圖4-4如下所示。其中具體程序見附錄。入口任務(wù)初始化發(fā)送控制命令判斷命令給從機1發(fā)送數(shù)據(jù)給從機2發(fā)送數(shù)據(jù)主機接收來自從機1的數(shù)據(jù)主機接收來自從機2的數(shù)據(jù)圖4-2 主機程序流程圖入口任務(wù)初始化接收控制命令判斷命令給主機發(fā)送數(shù)據(jù)接收來自主機的數(shù)據(jù)給從機2發(fā)送數(shù)據(jù)接收來自從機2的數(shù)據(jù)圖4-3 從機1程序流程圖入口任務(wù)初始化接收控制命令判斷命令給主機發(fā)送數(shù)據(jù)接收來自主機的數(shù)據(jù)給從機1發(fā)送數(shù)據(jù)接收來自從機1的數(shù)據(jù)圖4-4 從機2程序流程圖第二章 從機電子鎖部分1. 門控系統(tǒng)主要

46、組成一個完整的門控系統(tǒng)如下圖所示,由單片機、電源指示、工作指示、振蕩電路、蜂鳴器電路、門控鎖電路、44矩陣鍵盤、讀卡模塊、顯示模塊組成。如圖1示:圖1 電路原理圖2.電控鎖的選擇及其驅(qū)動電路設(shè)計電控鎖是HYPERLINK /view/163885.htm t _blank門控系統(tǒng)中鎖門的執(zhí)行部件。根據(jù)門的材料、出門要求等需求選取不同的鎖具。主要有以下兩種種類型: 陽極鎖:陽極鎖是斷電開門型,符合消防要求。它安裝在門 框的上部。與電磁鎖不同的是陽極鎖適用于雙向的木門、玻璃門、防火門,而且它本身 帶有門磁檢測器,可隨時檢測門的安全狀態(tài)。 陰極鎖:一般的陰極鎖為通電開門型。適用單向木門。安裝陰極鎖一

47、定要配備UPS電源。因為停電時陰鎖是鎖門的?!瓣枠O鎖”的一種停電開門的電鎖。切斷電源,電鎖會自動打開。由于此設(shè)計是基于單片機,提供了備用電源,故排除了此種情況,而且電插鎖大多都是用于雙向開關(guān)門的門控系統(tǒng)中,本設(shè)計門控系統(tǒng)僅僅是單向開門即可。采用門磁+陰極鎖的方案,為了符合消防要求,在單片機IO口可設(shè)置消防聯(lián)動接口。在驅(qū)動電路中,用單片機三極管控制繼電器進行電鎖的電源通斷,電路原理如圖。在正常閉門情況下,控制電路是不對電控鎖供電的,單片機P2.3口發(fā)出開門信號時候即當DOOR置低電平時,經(jīng)單片機控制三極管來驅(qū)動電源繼電器接通而使得電控鎖的電源接通,電磁鎖接通指示燈D8亮,實現(xiàn)開門功能。電路基本原

48、理見下圖2。 圖2 電控鎖驅(qū)動電路 3.報警電路此電路設(shè)計相當簡單可以實現(xiàn)簡單的提示及報警功能,由單片輸出一開關(guān)信號至三極管,觸發(fā)三極管以實現(xiàn)此功能。如下圖3所示。圖3 報警提示電路4. 單片機電路單片機是整個設(shè)計的控制器的核心,完成整個控制器的控制功能,包括鍵盤的輸入、液晶屏幕的顯示、數(shù)據(jù)的存儲和運算、數(shù)字信號的輸出等功能。圖2.2.4 AT89C52管腳圖圖4 單片機管腳及其分配圖單片機的P0、P1、P2、P3均為雙向輸出口,由于此設(shè)計使用的單片機的管腳較多,如上圖所示在設(shè)計中比較合理的分配了:其中P1口為鍵盤與單片機的通訊接口;P0 和P2.0P2.2口為單片機與1602液晶顯示器D0D

49、7的數(shù)據(jù)通訊接口,P2.3是輸出至門鎖驅(qū)動電路的接口,P2.4P2.6是與實時時鐘芯片DS1302的連接接口,P3.0到P3.3是單片機與CD4067的輸出接口,其中P3.3是向CD4067輸出的片選信號,P3.7是輸出報警或提示蜂鳴器的信號接口。第三章 系統(tǒng)仿真根據(jù)上面的原理設(shè)計好硬件原理圖和編寫好軟件代碼后,可以在Proteus仿真軟件上進行仿真了。為了得到明確可見的仿真結(jié)果,本次設(shè)計將主從機之間的數(shù)據(jù)信號進行傳送時,將接收到的數(shù)據(jù)信號利用數(shù)碼管顯示出來。這樣就可以一目了然的知道仿真結(jié)果的正確性了。具體的仿真原理圖如圖5-1所示。圖5-1 仿真原理圖在Proteus仿真軟件上連接好原理圖后

50、,將所寫的主機和從機程序裝入單片機中,然后一一進行仿真調(diào)試。本次程序編寫時,主從機之間發(fā)送的數(shù)據(jù)和從機與從機之間發(fā)送的數(shù)據(jù)都為0 xfc、0 x60、0 xda、0 xf2、0 x66、0 xb6、0 xbe、0 xe0、0 xfe、0 xf6。這是因為這些數(shù)據(jù)數(shù)碼管上顯示時分別為0到9,這樣可以使傳送的數(shù)據(jù)直觀的顯示出來。例如主機給從機1發(fā)送數(shù)據(jù),仿真瞬時結(jié)果如圖5-2所示。其它情形的通信仿真結(jié)果由于與上面的情形差不多,在此就不詳述。圖5-2 主機給從機1發(fā)送數(shù)據(jù)仿真圖從仿真結(jié)果可以看出,無論是主機給從機之間通信,還是從機之間的通信,都能在仿真軟件上得到正確的結(jié)果。所以可以肯定,此次設(shè)計的硬

51、件和軟件都是滿足要求的。結(jié)束語參考文獻王偉,鄭金奎MCS-51單片機主從式多機系統(tǒng)實時通訊的實現(xiàn)J.西南自動化研究所,1998年第3期 P39-34陳衛(wèi)兵IIC總線協(xié)議在80C51單片機上應(yīng)用的實現(xiàn)J.阜陽師范學(xué)院學(xué)報,第19卷第3期 P52-54惠玥琳基于單片機的USB主從機的設(shè)計與實現(xiàn)D.電子科技大學(xué),2007年易志明等SPI總線在51系列單片機系統(tǒng)中的實現(xiàn)J.天津大學(xué),精密儀器與光電子工程學(xué)院,天津 300072姚志成單片機多機通信協(xié)議的設(shè)計J.中國核心期刊(嵌入式與SOC),2006年第22卷第2期.范逸之等Visual Basic與RS-232串行通信控制M最新版北京:北京航空航天大

52、學(xué)出版社,2002張明鋒PIC單片機入門與實踐M北京:北京航空航天大學(xué)出版社,2004張傳新,徐少杰PC機與MCS-51單片機主從多機通信控制程序的研究J.伊圖里河分局研究所,鐵路計算機應(yīng)用第5卷第2期 P10-12何曉紅,譚兵PC機與多臺單片機的遠距離多機通信J.重慶交通學(xué)院信息中心,電子技術(shù)應(yīng)用,1997年第12期 P41-43.劉艷鈴采用MAX232實現(xiàn)MCS-51單片機與PC機的通信J.天津理工學(xué)院學(xué)報第15卷第2期 P57-61.黃亮基于AT89C51單片機的串行通信程序設(shè)計J. 中國地質(zhì)大學(xué),單片機實用電子制作 P29-32何立民單片機應(yīng)用技術(shù)選編M北京:北京航空航天大學(xué)出版社,2

53、004郝國法等單總線單片機多機通信系統(tǒng)的設(shè)計J.武漢科技大學(xué)學(xué)報,2001年9月 P278-280.張俊匠人手記:一個單片機工作者的實踐與思考M北京:北京航空航天大學(xué)出版社,2008周航慈單片機應(yīng)用程序設(shè)計 M北京:北京航空航天大學(xué)出版社,2003附錄附錄一 主機通信程序#include #define uint unsigned int #define uchar unsigned charsbit key0=P10;sbit key1=P11;sbit key2=P12;sbit key3=P13;sbit key4=P14;sbit key5=P15;sbit key6=P16;sbit

54、 P0_0=P00;sbit P0_1=P01;uchar shuju20;uchar temp20;uchar temp120;uchar temp220;uchar m,n,a,b,i,j,p,q,s,t,flag1,flag2;unsigned char code tab=0 xaa/*控制字*/,0 xfc/*0*/,0 x60/*1*/,0 xda/*2*/,0 xf2/*3*/,0 x66/*4*/, 0 xb6/*5*/,0 xbe/*6*/,0 xe0/*7*/,0 xfe/*8*/,0 xf6/*9*/,0 x00;/主機給從機1傳送的數(shù)據(jù)unsigned char code

55、 table=0 xbb/*控制字*/,0 xfc/*0*/,0 x60/*1*/,0 xda/*2*/,0 xf2/*3*/,0 x66/*4*/,0 xb6/*5*/,0 xbe/*6*/,0 xe0/*7*/,0 xfe/*8*/,0 xf6/*9*/,0 xab,0 xbc,0 x00;/主機給從機1傳送的數(shù)據(jù)void csh()/初始化串行口SM0=0;SM1=1;REN=1;TI=0;RI=0;PCON=0;TH1=0 xfd;TL1=0Xfd;TMOD=0X20;EA=1;ET1=0;ES=1;TR1=1;void shujuchang1() /將主機給從機1發(fā)送的數(shù)據(jù)進行位數(shù)計

56、算并求和m=0;while(tabm!=0 x00)m+;for(s=1;sm;s+)temps+1=temps+tabs;void shujuchang2() /將主機給從機1發(fā)送的數(shù)據(jù)進行位數(shù)計算并求和n=0;while(tablen!=0 x00)n+;for(t=1;t0;x-)for(y=110;y0;y-);void zdc1()/主機給從機1發(fā)送數(shù)據(jù)i=0;while(im)SBUF=tabi; while(TI=0); TI=0;i+;SBUF=temps;while(TI=0); TI=0;SBUF=0 x00;while(TI=0); TI=0;void zdc2()/主機

57、給從機2發(fā)送數(shù)據(jù)j=0;while(jn)SBUF=tablej; while(TI=0); TI=0;j+;SBUF=tempt;while(TI=0); TI=0;SBUF=0 x00;while(TI=0); TI=0;void jianpan()/鍵盤掃描if(key0=0)if(key0=0)while(key0=0);a=1;key0=1;if(key1=0)if(key1=0)while(key1=0);a=2;key1=1;if(key2=0)if(key2=0)while(key2=0);a=3;key2=1;if(key3=0)if(key3=0)while(key3=0)

58、;a=4;key3=1;if(key4=0)if(key4=0)while(key4=0);a=5;key4=1;if(key5=0)if(key5=0)while(key5=0);a=6;key5=1;main() /主函數(shù)P1=0 xff;/讓P1口全為高電平,方便以后鍵盤掃描shujuchang1();shujuchang2();jianpan();csh();switch(a)case 1:/主機給人機1發(fā)送數(shù)據(jù)程序csh();zdc1();break;case 2:/主機給人機2發(fā)送數(shù)據(jù)程序csh();zdc2();break;case 3:/接收從機1發(fā)給主機數(shù)據(jù)程序csh();P

59、0_0=0;ES=0;SBUF=0 xcc;while(!TI);TI=0;flag1=0;p=0;csh();while(flag1=0);if(shuju0=0 xcc)temp11=0 x00;for(b=1;bp-2;b+)temp1b+1=temp1b+shujub;if(temp1b=shujup-2)for(q=1;qp-2;q+)P2=shujuq;delay(500);p=0;flag1=0;P0_0=1;csh();break;case 4:/接收從機2發(fā)給主機數(shù)據(jù)程序csh();P0_1=0;EA=0;SBUF=0 xdd;while(!TI);TI=0;flag1=0;

60、p=0;csh();while(flag1=0);if(shuju0=0 xdd)temp21=0 x00;for(b=1;bp-2;b+)temp2b+1=temp2b+shujub;if(temp2b=shujup-2)for(q=1;qp-2;q+)P2=shujuq;delay(500);p=0;flag1=0;P0_1=1;csh();break;case 5:/主機接收從機1發(fā)給從機2的數(shù)據(jù)的程序csh();P0_0=0;ES=0;SBUF=0 xee;while(!TI);TI=0;flag2=0;p=0;csh();while(flag2=0);if(shuju0=0 x12)

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論