版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)論文(設計)</p><p> 論文題目:基于AT89C51單片機間的多機通信</p><p> 的設計與仿真 </p><p> 學生姓名: </p><p> 學 號: </p><p> 專 業(yè): 計算機
2、科學與技術 </p><p> 班 級: </p><p> 指導教師: </p><p> 完成日期: 2012年 5月 20日</p><p> 基于AT89C51單片機間的多機通信的設計與仿真</p><p><b> 內 容 摘 要</b>&
3、lt;/p><p> 單片機作為微型計算機的一個分支,具有體積小,應用廣泛等優(yōu)點,在工業(yè)控制,通信和家用電器等各個領域都有十分廣泛的應用。單片機的多機通信就是在單片機的發(fā)展與行業(yè)標準的提高上發(fā)展起來的一個非常重要研究方向。單片機的單機控制已經(jīng)不能滿足需要,而多機的協(xié)調工作是一個非常重要的發(fā)展趨勢。多機通信是指有兩臺以上的單片機組成的網(wǎng)絡結構可以通過串行通信方式共同實現(xiàn)對某一過程的最終控制。</p>&
4、lt;p> 本文主要介紹了一種基于AT89C51單片機簡的多機通信方式,采用自定義串行通信協(xié)議,實現(xiàn)單片機AT89C51多機通信的方法和技巧。系統(tǒng)設計和解決了8位單片機在多機通信方面的一些問題,在實現(xiàn)方面,系統(tǒng)實現(xiàn)了主機與從機間的通信,以及從機與從機間的通信。</p><p> 關鍵詞:單片機 多機通信 串口通信</p><p> Design And Simulati
5、on of Microcomputer Multi-machine Communication Based on AT89C51</p><p><b> Abstract</b></p><p> Microcomputer as a branch of microcomputer, has the advantages of small volume, app
6、lication widespread and so on merits, in the industry control, the correspondence and the domestic electric appliances and so on each domain all has the extremely widespread application.. Microcomputer multi-machine comm
7、unication in microcomputer development and industry standards developed as a very important research direction. Microcomputer computer control can no longer meet the needs, and multiple machine coo</p><p>
8、This paper introduced one kind based on the AT89C51 microcomputer Jane multi-machine communication manner, using a custom serial communication protocols, MCU AT89C51machine communication method and skill. The system desi
9、gn and to solve the8 microcontroller in multi machine communication problems, in implementation, system realizes the communication between host and slave, as well as from the machine and slave machine communication.</
10、p><p> Keywords: Microcomputer Multi Computer Communication Serial Communication </p><p><b> 目 錄</b></p><p><b> 序 言1</b></p><p><b>
11、 一、緒 論2</b></p><p> (一)課題背景的和意義2</p><p> ?。ǘ﹪鴥韧庋芯楷F(xiàn)狀2</p><p> (三)單片機間的多機通信技術3</p><p> 二、系統(tǒng)設計相關原理4</p><p> (一)系統(tǒng)設計原理4</p><p>&l
12、t;b> 1.系統(tǒng)框圖4</b></p><p> 2.系統(tǒng)原件說明4</p><p> ?。ǘ﹩纹瑱CAT89C51芯片簡介7</p><p><b> 1.主要特性7</b></p><p><b> 2.管腳說明8</b></p><p&
13、gt;<b> 3.振蕩器特性9</b></p><p><b> 4.芯片擦除9</b></p><p> 三、系統(tǒng)硬件設計10</p><p> ?。ㄒ唬┛傆布娐穲D10</p><p> 1.晶振和復位電路:10</p><p> ?。ǘ﹩卧娐返脑O
14、計10</p><p><b> 1.主機電路11</b></p><p><b> 2.從機電路11</b></p><p> 四、系統(tǒng)軟件設計12</p><p> (一)軟件總程序設計12</p><p> ?。ǘ┲鳈C通信子程序13</p&g
15、t;<p> (三)從機通信子程序15</p><p> 五、系統(tǒng)仿真設計16</p><p> ?。ㄒ唬┸浖榻B16</p><p> 1.Proteus系統(tǒng)概述16</p><p> 2.Proteus的主界面介紹16</p><p> ?。ǘ┓抡嫦到y(tǒng)的設計與調試17</p
16、><p> ?。ㄈ┙Y果分析21</p><p><b> 六、總 結23</b></p><p><b> 致 謝24</b></p><p> 參 考 文 獻25</p><p><b> 附 錄26</b></p>&l
17、t;p><b> 序 言</b></p><p> 隨著單片機和計算機技術的不斷發(fā)展,單片機應用也從獨立的單機向網(wǎng)絡發(fā)展,由計算機和單片機構成的多級網(wǎng)絡系統(tǒng)已成為單片機技術發(fā)展的一個方向,二者的結合,充分發(fā)揮了單片機在實時數(shù)據(jù)采集和數(shù)據(jù)管理上的優(yōu)點,單片機在計算機網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和處理等都有廣泛的應用,已滲透到我們生活的各個領域,許多應用都涉及到單片機多
18、機通信,然而,單片機對網(wǎng)絡數(shù)據(jù)的處理方式不同于通用計算機系統(tǒng),尤其有的單片機只提供8位數(shù)據(jù)收發(fā)接口,在一定程度上阻礙了單片機在網(wǎng)絡方面的應用。</p><p> 這里使用的AT89C51單片機有一個全雙工串口,TXD是它的發(fā)送端,RXD是它的接收端。本論文主要研究以單片機為控制系統(tǒng),設計一個可以進行多機之間的通信的仿真系統(tǒng)。本設計首先要求學生具有較好的電子電路的設計能力和分析解決問題的能力,同時還應掌握具體的電
19、子電路的設計方法,然后根據(jù)分析結果得出合理的實現(xiàn)方案;充分利用網(wǎng)絡資源,豐富完善個人在理論研究、電子電路的設計方面的技能。</p><p><b> 一、緒 論</b></p><p> ?。ㄒ唬┱n題背景的和意義</p><p> 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制
20、,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。 </p><p> 單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域隨著計算機技術的發(fā)展及工業(yè)自動化水平的提高,
21、 在許多場合采用單機控制已不能滿足現(xiàn)場要求,因而必須采用多機控制的形式,而多機控制主要通過多個單片機之間的串行通信實現(xiàn)。串行通信作為單片機之間常用的通信方法之一, 由于其通信編程靈活、硬件簡潔并遵循統(tǒng)一的標準, 因此其在工業(yè)控制領域得到了廣泛的應用[1]。</p><p> 隨著單片機和計算機技術的不斷發(fā)展,單片機應用也從獨立的單機向網(wǎng)絡發(fā)展,由計算機和單片機構成的多級網(wǎng)絡系統(tǒng)已成為單片機技術發(fā)展的一個方向,二
22、者的結合,充分發(fā)揮了單片機在實時數(shù)據(jù)采集和數(shù)據(jù)管理上的優(yōu)點,單片機在計算機網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和處理等都有廣泛的應用,已滲透到我們生活的各個領域,許多應用都涉及到單片機多機通信,然而,單片機對網(wǎng)絡數(shù)據(jù)的處理方式不同于通用計算機系統(tǒng),尤其有的單片機只提供8位數(shù)據(jù)收發(fā)接口,在一定程度上阻礙了單片機在網(wǎng)絡方面的應用。</p><p> ?。ǘ﹪鴥韧庋芯楷F(xiàn)狀</p><p&g
23、t; 單片微型計算機(Single Chip Microcomputer)簡稱單片機,又稱MCU(Micro Controller Unit),是將計算機的基本部分微型化,使之集成在一塊芯片上的微機.片內含有CPU、ROM、RAM、并行I/O、串行I/O、定時器/計數(shù)器、中斷控制、系統(tǒng)時鐘及系統(tǒng)總線等。 </p><p> 隨著科技的發(fā)展,單片機已不是一個陌生的名詞,它的出現(xiàn)是近代計算機技術發(fā)展史上的一個重要
24、里程碑,因為單片機的誕生標志著計算機正式形成了通用計算機系統(tǒng)和嵌入式計算機系統(tǒng)兩大分支。單片機單芯片的微小體積和低的成本,可廣泛地嵌入到如玩具、家用電器、機器人、儀器儀表、汽車電子系統(tǒng)、工業(yè)控制單元、辦公自動化設備、金融電子系統(tǒng)、艦船、個人信息終端及通訊產(chǎn)品中,成為現(xiàn)代電子系統(tǒng)中最重要的智能化工具[2]。 </p><p> 所涉及的市場占有率最高的是MCS—51系列,因為世界上很多知名的IC生產(chǎn)廠家都生產(chǎn)51
25、兼容的芯片。生產(chǎn)MCS—51系列單片機的廠家如美國AMD公司、ATMEL公司、INTEL公司、WINBOND公司、PHILIPS公司、ISSI公司、TEMIC公司及南韓的LG公司、日本NEC、西門子公司等。到目前為止,MCS—51單片機已有數(shù)百個品種,還在不斷推出功能更強的新產(chǎn)品。</p><p> 現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機進行數(shù)據(jù)通信,為在計算機網(wǎng)絡和通信設備間的應用提供了極好的物質
26、條件,現(xiàn)在的通信設備基本上都實現(xiàn)了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。</p><p> 單片機的通信領域應用首先從兩片單片機之間的通信發(fā)展起來,后來有了主從式多機通信并得到了廣泛的應用,又出現(xiàn)了以單片機作為下位機與以PC機作為上位機的通信應用,上位機用VB或VC++等面向對象的程序設計語言編寫通信收
27、發(fā)程序,也得到廣泛的應用[3]。</p><p> (三)單片機間的多機通信技術</p><p> 多機通信機制在單片機內部的實現(xiàn)如下:</p><p> 串行口控制寄存器 SCON 中的SM2 為多機通信接口控制位。串行口以方式2 或3 接收時,若SM2 為1,則僅當接收到的第9 位數(shù)據(jù)RB8 為1時,數(shù)據(jù)才裝入SBUF,置位RI,請求CPU 對數(shù)據(jù)進行處
28、理;如果接收到的第9 位數(shù)據(jù)RB8 為0,則不產(chǎn)生中斷標志RI,信息丟失,CPU 不做任何處理。當SM2 為0 時,則接收到一個數(shù)據(jù)后,不管第9 位數(shù)據(jù)RB8 是0 還是1,都將數(shù)據(jù)裝入接收緩沖器SBUF 并置位中斷標志RI,請求CPU處理[4]。</p><p><b> 多機通信過程如下:</b></p><p> ?。?)所有從機的SM2=1,處于只接收地址幀
29、狀態(tài),“聽號”;</p><p> ?。?)主機發(fā)地址信息,并以第9 位表示發(fā)送的是地址;</p><p> ?。?)從機接收到地址幀后與本機地址比較;</p><p> ?。?)被尋址從機 (機號相符) SM2=0,其余從機SM2=1 不變;</p><p> ?。?)主機發(fā)數(shù)據(jù)信息,對已被尋址的從機因SM2=0,可以接收主機發(fā)來的信息,其
30、余從機因SM2=1 不理睬主機;</p><p> ?。?)當主機與另外從機通信時,可另發(fā)地址幀。并且先前尋址的從機這次未被尋址時,SM2 置1[5]。</p><p> 本文主要介紹了一種基于AT89C51單片機簡的多機通信方式,采用自定義串行通信協(xié)議,實現(xiàn)單片機AT89C51多機通信的方法和技巧。系統(tǒng)設計和解決了8位單片機在多機通信方面的一些問題,在實現(xiàn)方面,系統(tǒng)實現(xiàn)了主機與從機間的
31、通信,以及從機與從機間的通信。單片機的多機通信在未來工業(yè)控制,通信,家用電器等領域都將有很大的發(fā)展空間,單片機依靠其體積小,性價比高,經(jīng)濟性上的優(yōu)勢一定會在未來的各個控制領域大展其優(yōu)勢。</p><p> 二、系統(tǒng)設計相關原理</p><p><b> (一)系統(tǒng)設計原理</b></p><p><b> 1.系統(tǒng)框圖</
32、b></p><p> 對題目進行深入的分析和思考,可將整個系統(tǒng)分為以下幾個部分:主機電路、從機電路、數(shù)字顯示電路等模塊組成。具體的系統(tǒng)框圖2-1如下圖所示。</p><p> 圖2-1 系統(tǒng)框圖</p><p><b> 2.系統(tǒng)原件說明</b></p><p> 這里簡單的說明系統(tǒng)中所使用的主要元器件
33、,并對部分元器件進行了簡單的介紹。表2-1中列舉了主要使用元器件的名稱,并進行了簡單的說明。在后邊又介紹了部分元器件的簡單原理和框圖說明。</p><p> 表2-1 系統(tǒng)元件表</p><p> ?。?)共陽極的LED數(shù)碼管</p><p> LED數(shù)碼管(LED Segment Display
34、s)是由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點,還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等,LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的[6]。</p>&l
35、t;p> 數(shù)碼管分為共陽極的LED數(shù)碼管、共陰極的LED數(shù)碼管兩種。下圖例舉的是共陽極的LED數(shù)碼管,共陽就是7段的顯示字碼共用一個電源的正。在本系統(tǒng)中選用的數(shù)據(jù)顯示電路的共陽極的LED數(shù)碼管。下面圖3-7為共陽極數(shù)碼管內部原理圖。</p><p> 圖2-2 共陽極數(shù)碼管原理圖</p><p> ?。?)數(shù)碼管的驅動方式 </p><p> 數(shù)
36、碼管要正常顯示,就要用驅動電路來驅動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類[7]。 </p><p> 靜態(tài)顯示驅動:靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,實際應用時必須增加譯碼驅動器進行
37、驅動,增加了硬件電路的復雜性。</p><p> 動態(tài)顯示驅動:數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數(shù)碼管的8個顯示筆劃“a、b、c、d、e、f、g、dp”的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路
38、的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅動。</p><p> ?。?)AT89C51方框圖</p><p> 圖2-3 AT89C51方框圖</p><p> ?。ǘ﹩纹瑱CAT89C51芯片簡介</p>&l
39、t;p> AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳
40、相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案[8]。</p><p><b> 其引腳結構如下圖</b></p><p> 圖2-4 AT89C51引腳圖</p><p>
41、<b> 1.主要特性</b></p><p> ?。?)與MCS-51 兼容 </p><p> ?。?)4K字節(jié)可編程FLASH存儲器 </p><p> (3)壽命:1000寫/擦循環(huán) </p><p> ?。?)數(shù)據(jù)保留時間:10年 </p><p> (5)全靜態(tài)工作:0Hz-24
42、MHz </p><p> ?。?)三級程序存儲器鎖定 </p><p> (7)128×8位內部RAM </p><p> ?。?)32可編程I/O線 </p><p> (9)兩個16位定時器/計數(shù)器 </p><p> ?。?0)5個中斷源 </p><p> (11)可編
43、程串行通道 </p><p> ?。?2)低功耗的閑置和掉電模式 </p><p> (13)片內振蕩器和時鐘電路</p><p><b> 2.管腳說明</b></p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。
44、</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內部提供上拉電阻的
45、8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p> P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P
46、2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門
47、電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下所示:</p><p> P3口管腳 備選功能 </p><p> P3.0 RXD(串行輸入口) </p><p> P3
48、.1 TXD(串行輸出口) </p><p> P3.2 /INT0(外部中斷0) </p><p> P3.3 /INT1(外部中斷1) </p><p> P3.4 T0(記時器0外部輸入) </p><p> P3.5 T1(記時器1外部輸入) </p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通
49、) </p><p> P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。</p><p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖
50、信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每
51、個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)[9]。</p>
52、<p> XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p><b> 3.振蕩器特性</b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用[10]。如采用外部時鐘
53、源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b> 4.芯片擦除</b></p><p> 整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任
54、何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止[11]。 </p><p><b> 三、系統(tǒng)硬件設計</b></p&
55、gt;<p><b> ?。ㄒ唬┛傆布娐穲D</b></p><p> 采用atmel公司的AT89C51單片機,一個主機兩個從機共三片。每片單片機的外圍電路都有按鈕輸入電路和7段數(shù)碼管顯示電路。其中主機的按鈕實現(xiàn)發(fā)送數(shù)據(jù)、匯總數(shù)據(jù)和加1數(shù)據(jù)修改命令的輸入,數(shù)碼管用來顯示發(fā)送的數(shù)據(jù)、接收的數(shù)據(jù)和寄存器當前數(shù)據(jù)的顯示。從機的單個按鍵只用于寄存器的數(shù)值修改,用數(shù)碼管顯示接收的數(shù)據(jù)
56、和當前寄存器值。</p><p> 圖3-1 多機通信系統(tǒng)電路圖</p><p><b> 1.晶振和復位電路</b></p><p> 單片機要能工作,必須給單片機加上晶振和復位電路,晶振電路如圖3-2(a)所示, 復位電路如圖3-2(b)所示。</p><p><b> 晶振電路圖</b&g
57、t;</p><p><b> ?。╞)復位電路圖</b></p><p> 圖3-2 時鐘和復位電路圖</p><p> ?。ǘ﹩卧娐返脑O計</p><p> 下面我們將系統(tǒng)設計作以詳細的介紹。本多機通信仿真設計包括主機控制電路(AT89C51)、從機控制電路、數(shù)字顯示電路等幾部分。</p>&l
58、t;p><b> 1.主機電路</b></p><p> 主機AT89C51編程可實現(xiàn)循環(huán)訪問個從機,共含有3個操作扭,分別為發(fā)送數(shù)據(jù)扭(將主機數(shù)據(jù)發(fā)給從機),匯總數(shù)據(jù)鈕(匯總兩從機數(shù)據(jù)之和)和加1按鈕(增加數(shù)據(jù)),3個數(shù)碼管,左邊的單獨顯示主機操作模式,右邊兩個共同顯示主機數(shù)據(jù)。主機電路如圖3-3所示。</p><p> 圖3-3 主機電路圖</p
59、><p><b> 2.從機電路</b></p><p> 從機可以接受主機發(fā)送的數(shù)據(jù),有加1操作扭,可以輸入數(shù)據(jù)。從機電路圖如圖3-4所示。</p><p> 圖圖3-4從機電路圖</p><p><b> 四、系統(tǒng)軟件設計</b></p><p> 三個單片機之間“
60、一主二從”多機通信,主機將其數(shù)碼管顯示的內容發(fā)送給從機,并可將從機回發(fā)的數(shù)據(jù)求和并顯示,每個單片機的現(xiàn)實數(shù)字通過各自的按鍵修改,主機控制信號發(fā)送和從機數(shù)據(jù)的匯總。</p><p> 具體實現(xiàn):主、從機的串口通信方式都采用查詢方式,波特率為9600Hz,從機地址有其p1口的輸入狀態(tài)確定。</p><p> (一)軟件總程序設計</p><p> 程序設計流程圖如
61、圖4-1所示</p><p><b> 中斷方式發(fā)送程序</b></p><p><b> 中斷方式接收程序</b></p><p> 圖4-1串行通信中斷方式流程圖</p><p> (二)主機通信子程序</p><p> 本系統(tǒng)選用12MHZ晶振,采用9600H
62、Z波特率。程序流程如圖4.2所示,其定時器串行口通信的初始化步驟如下:</p><p> ?。?)確定串口工作于方式3,并允許接收——對SCON寄存器送控制字C0H(SM0=1,SM1=1,REN=1);</p><p> ?。?)確定定時器T1工作于方式2——對TMOD寄存器送控制字20H(M1=1,M0=0)</p><p> ?。?)裝入定時器T1的初值——T
63、H1=F3H,TL1=F3H;</p><p> ?。?)啟動定時器1——TCON中的TR1位置1;</p><p> ?。?)串行口用中斷方式收發(fā)數(shù)據(jù),開CPU和源中斷——對IE寄存器90H(EA=1,ES=1)。</p><p> 主機通信程序流程圖如圖4-2所示</p><p> 圖4-2 主機程序圖</p><
64、p> ?。ㄈ臋C通信子程序</p><p> 從機通信程序流程圖如圖4-2所示</p><p> 圖4-3 從機程序圖</p><p><b> 五、系統(tǒng)仿真設計</b></p><p> 根據(jù)多機通信系統(tǒng)的原理,運用Proteus軟件對其進行仿真設計,由于Proteus含有AT89C51,因此在仿真設計
65、中直接選用AT89C51來 進行相關設計與仿真。</p><p><b> ?。ㄒ唬┸浖榻B</b></p><p> 1.Proteus系統(tǒng)概述</p><p> Proteus軟件包括ISIS.EXE(電路原理圖設計、原理仿真)、ARES.EXE(印刷電路版設計)兩個主要程序,三大基本功能。其電路原理仿真功能,不僅有分離元件。小規(guī)模集成
66、器件的仿真功能,能用箭頭與顏色表示電流的方向與大小,而且有多種帶CPU的可編程序器件的仿真功能,不僅可作電路原理[12],模擬電路。數(shù)字電路實驗,而且可作單片機與接口實驗。特別是可為課程設計與畢業(yè)設計提供綜合系統(tǒng)仿真。</p><p> 2.Proteus的主界面介紹</p><p> Proteus的主界面三大窗口:編輯窗口、器件工具窗口、瀏覽窗口。兩大菜單:主菜單與輔助菜單(通用工
67、具與專用工具菜單),其中主菜單有:</p><p> ?。?)文件菜單:新建、加載、保存、打印;</p><p> ?。?)瀏覽菜單:圖紙網(wǎng)絡設置,快捷工具選項;</p><p> (3)編輯菜單: 取消、剪切、考貝、粘貼;</p><p> (4)庫操作菜單:器件封裝庫編輯、庫管理;</p><p> ?。?)工
68、具菜單: 實時標注自動放線,網(wǎng)絡表生成,電氣規(guī)則檢查; </p><p> ?。?)設計菜單: 設計屬性編輯、添加刪除圖紙、電源配置;</p><p> (7)圖形分析菜單: 傳輸特性/頻率特性分析,編輯圖形,增加曲線,運行分析; </p><p> (8)源文件菜單:選擇可編程器件的源文件,編輯工具,外部編輯器等;</p><p>
69、?。?)調試菜單:起動調試,復位調試;</p><p> ?。?0)模板菜單:設置模板格式加載模板;</p><p> ?。?1)系統(tǒng)菜單:設置運行環(huán)境、系統(tǒng)信息、文件路徑;</p><p> (12)幫助菜單:幫助文件、設計實例。</p><p> Proteus軟件具體主界面如圖5-1所示。</p><p>
70、 圖5-1 proteus軟件主界面</p><p> (二)仿真系統(tǒng)的設計與調試</p><p> 這里我們用Proteus進行調試,具體步驟如下:</p><p> (1)運行Proteus的ISIS,進入仿真軟件的主界面。主界面分為菜單欄,工具欄,模型顯示窗口,模型選擇區(qū),元件列表區(qū)等。在Pick devices窗口中選擇系統(tǒng)所需元器件,進行元件的選取,
71、如圖5-2所示[13]。</p><p> 圖5-2 proteus ISIS啟動界面</p><p> ?。?)通過左側的工具欄區(qū)的P(從庫中選擇元件)命令,在Pick devices窗口中選擇系統(tǒng)所需元器件,還可以選擇元件的類別,生產(chǎn)廠家等。本系統(tǒng)所需主要元器件有:AT89C51芯片,AT89C51、CAP、CAP-ELEC、CRYSTAL、7SEG-BCD-GRN、BUTTON、
72、RES詳見下表5-1。</p><p> 表5-1 元件清單</p><p><b> ?。?)連接電路</b></p><p> 選擇元器件后按照原件大小進行合理的布局,連接好各點之間的電路,結果如圖5-3所示。</p><p> 圖5-3
73、 電路連接圖</p><p><b> (4)加載軟件</b></p><p> 電路連接完成后,選中AT89C52單擊鼠標左鍵,打開“EditComponent”對話窗口,可以直接在“ClockFrequency”后進行頻率設定,設定單片機的時鐘頻率為12MHz。在“ProgramFile”欄中選擇已經(jīng)生成的hex文件,然后單擊“OK”按鈕保存設計結果如圖5-4
74、(a)所示。至此,就可以在proteus仿真軟件中進行單片機的仿真,具體的仿真調試按鈕,按鈕在軟件左下角可以找到。</p><p> (a)單片機屬性的設定</p><p><b> (b)仿真控制按鈕</b></p><p> 圖5-4加載軟件方法圖</p><p> 2. Proteus仿真結果</p&
75、gt;<p> 根據(jù)圖5-3所示的電路可以運用仿真按鈕(可參閱5-4(b))開始仿真演示,得到的仿真結果如圖5-5所示。</p><p><b> ?。╝)仿真開始</b></p><p> 點擊加1按鈕,主機左碼管顯示7為操作方式,右邊顯示主機數(shù)據(jù)1,如圖5-5所示。</p><p><b> ?。╞)主機增加數(shù)據(jù)
76、</b></p><p> 點擊發(fā)送數(shù)據(jù)按鈕,主機左數(shù)碼管顯示3,與數(shù)碼管不變,從機接收主機數(shù)據(jù),顯示1,如圖5-5(c)所示。</p><p><b> ?。╟)主機發(fā)送數(shù)據(jù)</b></p><p> 點擊從機加1按鈕,主機顯示均不變,點擊1次左從機加1扭,2次右從機加1扭后得到如圖5-5(d)所示。</p>&
77、lt;p><b> ?。╠)從機增加數(shù)據(jù)</b></p><p> 點擊主機匯總數(shù)據(jù)按鈕,主機左數(shù)碼管顯示5,右數(shù)碼管顯示兩從機數(shù)據(jù)之和,兩從機數(shù)據(jù)不變,如圖5-5(e)所示。</p><p><b> (e)匯總從機數(shù)據(jù)</b></p><p> 圖5-5 仿真過程圖</p><p>
78、<b> ?。ㄈ┙Y果分析</b></p><p> Proteus仿真結果比較具體分析見下表5-2所示。</p><p> 表5-2 仿真數(shù)據(jù)表</p><p> 經(jīng)過實際的多次實驗測試,我們可以驗證整個多機通信系統(tǒng)的各種功能是否穩(wěn)定,表格所顯示的部分測試結果我們可以得到結論
79、:本系統(tǒng)基本實現(xiàn)了多機通信的功能。能夠順利的完成了本次論題的合理驗證。</p><p><b> 六、總 結</b></p><p> 本文結合一個數(shù)據(jù)采集控制系統(tǒng)詳細說明了PROTEUS在單片機開發(fā)過程中的應用??梢钥闯?,PROTEUS功能十分強大,能仿真各種數(shù)字模擬電路,而且操作簡單,使用方便。能快熟地進行單片機仿真,加快系統(tǒng)的開發(fā)過程,降低開發(fā)成本。整個多機
80、通信仿真系統(tǒng)的設計思想綜合有如下幾個特點:</p><p> (1)使用晶振和復位電路,簡化了電路結構。</p><p> ?。?)采用AT89C51集成芯片簡化了功率控制電路,提高了系統(tǒng)的穩(wěn)定性。</p><p> (3)在電路設計中充分考慮了系統(tǒng)的可靠性和穩(wěn)定性。通過精心調試達到基本功能指標,動態(tài)性能也達到較好的要求。</p><p>
81、; 我們運用PROTEUS作出了我們自己想要設計的仿真設計,對硬件開發(fā)過程有了深度的理解和具體的實踐,但是目前我們還只是把PROTEUS工具進行簡單的運用,還沒有進行深入的分析和研究。這次的學習硬件系統(tǒng)開發(fā)的過程中,我又一次的體驗到了自我主動和實際操作的重要性,面對新知識我們還是要努力的去學習接受,努力掌握重要軟硬件的設計開發(fā)的思想。如果以后有機會還要努力學習更深一層次的知識,鞏固這次系統(tǒng)設計的經(jīng)驗。</p><p
82、><b> 致 謝</b></p><p> 在本次設計的過程中,指導老師王瑞老師給予了我們悉心的指導,最重要的是給了我解決問題的思路和方法,并且在設計環(huán)境和器材方面給予了大力的幫助和支持,是我們論文寫作強有力的后盾。時光的流逝也許是客觀的,但是當我從壓力下走出來,長長地吁出一口氣時,我們會意識到,原來四年已經(jīng)過去,到了該告別的時候了。一念至此,竟有些恍惚,所謂白駒過隙、百代過客云
83、云,想來便是這般惆悵了。</p><p> 在大學四年里我學習到了很多東西,接收到了老師和同學的關懷和幫助,跟身邊的同學朋友們走過了四個初夏秋冬,這一段時間將成為我日后工作生活美好的回憶。一個人的成長絕不是一件孤立的事,沒有別人的支持與幫助絕不可能把每一件事情做好的?,F(xiàn)在能夠成功的走完大學四年的每一個路口,我感到十分的榮幸。</p><p> 在此,我對老師表示最真摯的感謝!感謝輔導老
84、師百忙之中抽出時間對本論文進行了評閱,感謝學校這幾年的培養(yǎng)和教育,也同樣感謝論文完成過程當中各位同學和朋友的幫助和指導。</p><p><b> 參 考 文 獻</b></p><p> [1]曹巧媛.單片機原理及應用(第二版)[M].北京電子工業(yè)出版社,2002.2.</p><p> [2]藍和慧等著. 全國大學生電子設計競賽——單
85、片機應用技能精解[M].北京:電子工業(yè)出版社,2009.4.</p><p> ?。?]張洪潤、孫悅、張亞凡,單片機原理及應用[M].北京:清華大學出版社,2008.11 </p><p> [4]胡漢才.單片機原理及接口技術[M].清華大學出版社,2004.2 </p><p> [5]陶國政.單片機與接口應用技術[M]. 蘇州大學出版社, 2000
86、 </p><p> ?。?]張洪潤、劉秀英、張亞凡,單片機應用設計200例[M].北京:北京航空航天大學出版社,2006.7 </p><p> ?。?]V.Yu.Teplov,A.V.Anisimov.Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on
87、 the Peltier Effect[J] ,2002:32-37</p><p> ?。?] 陳壽元.單片機多機串行通信的改進方案[J].經(jīng)驗交流,2004.5:20-30</p><p> [10]楊玉軍.單片機多機通信系統(tǒng)可靠性的研究[J].河南科學,2002.6:13-15</p><p> ?。?1] 林雪每,彭佳紅,姚志成.單片機多機通信協(xié)議的設計[
88、J].單片機開發(fā)與應用,2006.2:11-18</p><p> [12] 李文明,張濤,鄭麗娜.基于主從多機通信控制器的設計與實現(xiàn)[J].計算機測量與控制,2008.16(5):22-27</p><p> ?。?3]黃巧亮, Proteus在單片機實驗教學中的應用[J],科技信息,2007:19-20</p><p><b> 附 錄</b
89、></p><p> 附錄1.元器件明細表</p><p><b> AT89C52</b></p><p><b> CAP</b></p><p><b> CAP-ELEC</b></p><p><b> CRYSTAL
90、</b></p><p> 7SEG-BCD-GRN</p><p><b> BUTTON</b></p><p><b> RES</b></p><p><b> 附錄2.匯編源代碼</b></p><p><b>
91、 多機通信主機:</b></p><p><b> ORG00H</b></p><p><b> AJMPMAIN</b></p><p><b> ORG30H</b></p><p> MAIN:MOVSP,#60H</p>
92、<p> MOVTMOD,#20H</p><p> MOVTH1,#0FDH</p><p> MOVTL1,#0FDH</p><p> MOVSCON,#0D8H</p><p> MOVPCON,#0</p><p><b> SETBTR1</b>&l
93、t;/p><p> MOVR5,#00H</p><p> MOVP1,#00H</p><p> LOOP:MOVP2,R5</p><p> MOVA,#0FFH</p><p><b> MOVP3,A</b></p><p> JNB
94、 P3.3,PRESTX</p><p> JNB P3.5,PRESRX</p><p> JNB P3.7,JIAYI</p><p><b> AJMPLOOP</b></p><p> PRESTX: JNB P3.3,$</p><p> MOVP
95、1,#03H</p><p> MOVR3,#00H;接收命令送R3</p><p> MOVR2,#07H;從機1的地址送R2</p><p> CALLMSIO1</p><p><b> NOP</b></p><p><b> NOP</b>
96、;</p><p><b> NOP</b></p><p> MOVR2,#0FH;從機2的地址送R2</p><p> CALLMSIO1</p><p><b> AJMPLOOP</b></p><p> PRESRX:JNB P3.5
97、,$</p><p> MOVP1,#5H</p><p> MOVR3,#01H;發(fā)送命令送R3</p><p> MOVR2,#7H;從機1的地址送R2</p><p> CALLMSIO1</p><p><b> NOP</b></p><
98、p><b> NOP</b></p><p><b> NOP</b></p><p><b> MOVA,R5</b></p><p><b> MOVR4,A</b></p><p> MOVR2,#0FH;從機2的地址送R
99、2</p><p> CALLMSIO1</p><p><b> MOVA,R4</b></p><p><b> ADDA,R5</b></p><p><b> DA A</b></p><p><b> MOV
100、R5,A</b></p><p> AJMPLOOP</p><p> JIAYI:JNB P3.7,$</p><p> MOVP1,#7H</p><p> INC R5</p><p><b> CLR A</b></p>
101、<p><b> ADDA,R5</b></p><p><b> DA A</b></p><p><b> MOVR5,A</b></p><p><b> AJMPLOOP</b></p><p> MSIO1:
102、SETBTB8</p><p><b> MOVA,R2</b></p><p> MOVSBUF,A</p><p> JNB TI,$</p><p> CLR TI</p><p> CLR TB8</p><p><b
103、> MOVA,R3</b></p><p> MOVSBUF,A</p><p> JNB TI,$</p><p> CLR TI</p><p> CJNEA,#00H,SRX</p><p> STX:CLR TB8</p><p
104、><b> MOVA,R5</b></p><p> MOVSBUF,A</p><p> JNB TI,$</p><p> CLR TI</p><p><b> RET</b></p><p> SRX:JNB RI,$
105、</p><p><b> CLR RI</b></p><p> MOVA,SBUF</p><p><b> MOVR5,A</b></p><p><b> RET</b></p><p><b> END</b&
106、gt;</p><p><b> 多機通信從機:</b></p><p> SLAVEEQU30H</p><p><b> ORG00H</b></p><p><b> AJMPMAIN</b></p><p><b>
107、 ORG30H</b></p><p> MAIN:MOVSP,#60H</p><p> MOVTMOD,#20H</p><p> MOVTH1,#0FDH</p><p> MOVTL1,#0FDH</p><p> MOVSCON,#0D8H</p><
108、;p> MOVPCON,#0</p><p><b> SETBTR1</b></p><p><b> SETBSM2</b></p><p> MOVA,#0FFH</p><p><b> MOVP1,A</b></p><p
109、><b> MOVA,P1</b></p><p> MOVSLAVE,A</p><p> MOVR5,#00H</p><p> DISPLAY:MOVP2,R5</p><p> CHACKRI: JB RI,SSIO</p><p> JB P
110、3.7,CHACKRI</p><p> JNB P3.7,$</p><p> INC R5</p><p> MOV A,#0</p><p> ADD A,R5</p><p><b> DA A</b></p><p> MO
111、V R5,A</p><p> AJMPDISPLAY</p><p> SSIO:CLR RI</p><p> SETB RS1</p><p> CLR RS0</p><p> MOVA,SBUF</p><p> XRLA,SLAVE<
112、;/p><p> JZ SSIO1</p><p> RETURN:SETBSM2</p><p> AJMP DISPLAY</p><p> SSIO1:CLR SM2</p><p> JNB RI,$</p><p> CLR RI
113、</p><p> SSIO2:MOVA,SBUF</p><p> CJNEA,#00H,STX</p><p> SRX:JNB RI,$ ;接收數(shù)據(jù)</p><p> CLR RI</p><p> MOVA,SBUF</p><p
114、> MOVR5,A</p><p> AJMPRETURN</p><p> STX:MOVA,R5</p><p> MOVSBUF,A</p><p> JNB TI,$</p><p> CLR TI</p><p> AJMPR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機at89c51
- 基于at89c51單片機的交通燈設計畢業(yè)論文
- 2017畢業(yè)論文-基于at89c51單片機數(shù)字時鐘的設計
- 基于at89c51單片機的數(shù)字電壓表設計畢業(yè)論文
- 基于at89c51單片機的數(shù)字電壓表設計(畢業(yè)論文)
- 基于at89c51單片機的多功能秒表系統(tǒng)設計畢業(yè)論文
- 單片機畢業(yè)設計外文翻譯單片機at89c51
- 畢業(yè)設計基于at89c51單片機串行通信發(fā)射機的設計
- 基于單片機at89c51系統(tǒng)的步進電機控制畢業(yè)論文
- 本科畢業(yè)論文-基于at89c51單片機的智能時鐘畢業(yè)論文設計
- 畢業(yè)設計(論文)基于at89c51單片機數(shù)控電源
- 基于at89c51單片機的數(shù)字鐘仿真與設計
- 畢業(yè)論文——基于at89c51單片機的簡易計算器的設計
- 畢業(yè)論文 ——基于at89c51單片機的簡易計算器的設計
- 畢業(yè)論文--基于at89c51單片機的數(shù)字電壓表的設計
- 畢業(yè)論文--利用單片機at89c51控制步進電機
- 基于at89c51單片機的數(shù)字時鐘設計
- 畢業(yè)論文 ——基于at89c51單片機的簡易計算器的設計
- 畢業(yè)論文——基于at89c51單片機的簡易計算器的設計
- 畢業(yè)論文——基于at89c51單片機的簡易計算器的設計
評論
0/150
提交評論