單片機(jī)之間多機(jī)通信演示電路設(shè)計(jì)_第1頁(yè)
單片機(jī)之間多機(jī)通信演示電路設(shè)計(jì)_第2頁(yè)
單片機(jī)之間多機(jī)通信演示電路設(shè)計(jì)_第3頁(yè)
單片機(jī)之間多機(jī)通信演示電路設(shè)計(jì)_第4頁(yè)
單片機(jī)之間多機(jī)通信演示電路設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 摘要摘要:“單片機(jī)之間多機(jī)通信演示電路設(shè)計(jì)與研究”是基于單片機(jī)的串行通信演示電路系統(tǒng)設(shè)計(jì)。本設(shè)計(jì)研究的是三個(gè)AT89C51單片機(jī)通過串行通信技術(shù)實(shí)現(xiàn)相互之間的通信。在設(shè)計(jì)中,我們利用AT89C51單片機(jī)具有多機(jī)通信功能,構(gòu)成主從分布式控制系統(tǒng),由一臺(tái)主機(jī)來(lái)控制兩臺(tái)從機(jī),主機(jī)可以向從機(jī)發(fā)送命令來(lái)控制從機(jī),同時(shí)也可以接收從機(jī)反饋回來(lái)的信息,主從機(jī)之間實(shí)現(xiàn)雙工通信。系統(tǒng)設(shè)計(jì)中主要由自制鍵盤和指撥開關(guān)作為輸入設(shè)備,選擇較為簡(jiǎn)單的發(fā)光二極管和一位數(shù)碼管作為輸出設(shè)備,通過串行接口技術(shù)實(shí)現(xiàn)主從機(jī)之間數(shù)據(jù)的傳輸并用顯示設(shè)備觀察其通信結(jié)果。本次系統(tǒng)設(shè)計(jì)中主要用到單片機(jī)之間多機(jī)通信技術(shù)以及單片機(jī)串行通信接口和中

2、斷系統(tǒng),在下面設(shè)計(jì)中將進(jìn)行具體的研究和討論。 關(guān)鍵詞: 多機(jī)通信 串行通信 中斷控制 演示電路 (1)當(dāng)主機(jī)A,按鍵盤選擇鍵1,主機(jī)與從機(jī)B通信,接下來(lái)按鍵數(shù)據(jù)會(huì)發(fā)送給從機(jī)B,由數(shù)碼管DS1顯示結(jié)果。同理,當(dāng)主機(jī)A,按鍵盤選擇鍵2,主機(jī)與從機(jī)C通信,接下來(lái)按鍵數(shù)據(jù)會(huì)發(fā)送給從機(jī)C,由數(shù)碼管DS2顯示結(jié)果。 (2)當(dāng)從機(jī)B,P1的指撥開關(guān)切換時(shí),此數(shù)據(jù)會(huì)發(fā)送給主機(jī)A,并控制其低4位的4個(gè)LED的亮滅。同理,當(dāng)從機(jī)C,P2的指撥開關(guān)切換時(shí),此數(shù)據(jù)會(huì)發(fā)送給主機(jī)A,并控制其高4位的4個(gè)LED的亮。1.多機(jī)通信接口設(shè)計(jì) 在實(shí)際應(yīng)用系統(tǒng)中,經(jīng)常需要多個(gè)微處理機(jī)協(xié)調(diào)工作。由于AT89系列的單片機(jī)具有多機(jī)通信功

3、能,因而可利用它構(gòu)成各種分布式系統(tǒng),其系統(tǒng)結(jié)構(gòu)如圖所示。 在圖中,系統(tǒng)采用一臺(tái)主機(jī)和多臺(tái)從機(jī),主機(jī)的RXD端與所有從機(jī)的TXD端連接,TXD端與所有從機(jī)的RXD端相連,主機(jī)發(fā)送的信息可被各從機(jī)接收,而各從機(jī)發(fā)送的信息只能由主機(jī)接收,各從機(jī)之間交換信息需通過主機(jī)。2 .多機(jī)通信原理 多機(jī)通信中,要保證主機(jī)與從機(jī)間進(jìn)行可靠的通信,通信接口必須具有從機(jī)身份的識(shí)別功能。串行口控制寄存器SCON中的SM2位就是為滿足這一要求而設(shè)置的多機(jī)通信控制位。串行口以方式2 或方式3實(shí)現(xiàn)多機(jī)通信,發(fā)送和接收的每一幀信息都是11位,其中第9數(shù)據(jù)位是可編程位,通過對(duì)SCON的TB8賦值 1或0,以區(qū)別發(fā)送的是地址幀還是

4、數(shù)據(jù)幀 (規(guī)定地址幀的第9位為1,數(shù)據(jù)幀的第9位為0)。若從機(jī)的控制位SM2=1,則接收的是地址幀時(shí),數(shù)據(jù)裝入SBUF,并置RI=1,向CPU發(fā)出中斷請(qǐng)求;若接收的是數(shù)據(jù)幀,則不產(chǎn)生中斷標(biāo)志,信息將拋棄。若SM2=0,則無(wú)論是地址幀還是數(shù)據(jù)幀都產(chǎn)生RI=1中斷標(biāo)志,數(shù)據(jù)裝入SBUF。1 串口寄存器結(jié)構(gòu) AT89C51單片機(jī)串行口寄存器結(jié)構(gòu)如圖所示。SBUF為串行口的收發(fā)緩沖器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)送器寄存器,可以實(shí)現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址(99H)。AT89C51的串行數(shù)據(jù)傳輸很簡(jiǎn)單,只要向發(fā)送緩沖器寫入數(shù)據(jù)即可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)即可接

5、收數(shù)據(jù)。 輸入移位寄存器接收SBUF(99H)發(fā)送SBUF(99H)TI(發(fā)送中斷)TXD串行輸出系統(tǒng)總線移 位時(shí)鐘RXD串行輸入RI(接收中斷)AT89C51串行口寄存器結(jié)構(gòu)2 單片機(jī)串口工作寄存器 1.串行通信控制寄存器 SCON控制寄存器,它是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)的通信控制,單元地址是98H,其結(jié)構(gòu)格式如下:SC OND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位9FH9EH9DH9CH9BH9AH99H98H下面我們對(duì)各控制位功能介紹如下:(1).SM0、SM1:串行口工作方式控制位。SM0 SM1 工作方式 00方式 001方式 110

6、方式 211方式 3 (2).SM2:多機(jī)通信控制位。多機(jī)通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收狀態(tài),當(dāng)串行口工作于方式2或3,以及SM2=1時(shí),只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為1時(shí),才把接收到的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請(qǐng),否則會(huì)將接受到的數(shù)據(jù)放棄。當(dāng)SM2=0時(shí),就不管第位數(shù)據(jù)是0還是1,都難得數(shù)據(jù)送入SBUF,并發(fā)出中斷申請(qǐng)。工作于方式0時(shí),SM2必須為0。 (3).REN:允許接收位。 REN用于控制數(shù)據(jù)接收的允許和禁止,REN=1時(shí),允許接收,REN=0時(shí),禁止接收。 (4).TB8:發(fā)送接收數(shù)據(jù)位8。在方式2和方式3中,TB8是要發(fā)送的

7、即第9位數(shù)據(jù)位。在多機(jī)通信中同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù),TB8=0為數(shù)據(jù),TB8=1時(shí)為地址。(5).RB8:接收數(shù)據(jù)位8。在方式2和方式3中,RB8存放接收到的第9位數(shù)據(jù),用以識(shí)別接收到的數(shù)據(jù)特征。 (6).TI:發(fā)送中斷標(biāo)志位。可尋址標(biāo)志位。方式0時(shí),發(fā)送完第8位數(shù)據(jù)后,由硬件置位,其它方式下,在發(fā)送或停止位之前由硬件置位,因此,TI=1表示幀發(fā)送結(jié)束,TI可由軟件清“0”。 (7).RI:接收中斷標(biāo)志位。 可尋址標(biāo)志位。接收完第8位數(shù)據(jù)后,該位由硬件置位,在其他工作方式下,該位由硬件置位,RI=1表示幀接收完成。2.電源管理寄存器PCON PCON主要是為CHMOS

8、型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址是87H,其結(jié)構(gòu)格式如下: 在CHMOS型單片機(jī)中,除SMOD位外,其他位均為虛設(shè)的,SMOD是串行口波特率倍增位,當(dāng)SMOD=1時(shí),串行口波特率加倍。系統(tǒng)復(fù)位默認(rèn)為SMOD=0。PCOND7D6D5D4D3D2D1D0位SMOD_GF1GF0PDIDL3單片機(jī)串口工作方式 AT89C51單片機(jī)的串行口有4種工作方式,通過SCON中的SM0、SM1位來(lái)設(shè)置。本系統(tǒng)研究的是單片機(jī)之間多機(jī)通信,所以主要介紹能實(shí)現(xiàn)多機(jī)通信的方式2和方式3。 1.方式0同步移位寄存器方式 2.方式18位異步串行通信方式 3.方式29位異步通信接口 若SM0SM1=10B,

9、則串行口工作于方式2.方式2為波特率固定的11位異步串行通信方式,傳送波特率與SMOD有關(guān)。發(fā)送或接受一幀信息位11位,其中包括1位起始位0,8位數(shù)據(jù)位,1位可編程位(用于奇偶校驗(yàn)或多機(jī)通信)和1位停止位1。 1)方式2發(fā)送 發(fā)送時(shí),根據(jù)通信協(xié)議由軟件設(shè)置TB8,然后用指令將要發(fā)送的數(shù)據(jù)寫入SBUF,啟動(dòng)發(fā)送器。寫SBUF的指令,除了將8位數(shù)據(jù)送入SBUF外,同時(shí)還將TB8裝入發(fā)送移位寄存器的第9位,并啟動(dòng)發(fā)送控制器進(jìn)行一次發(fā)送。一幀信息即從TXD發(fā)送出去,在送完一幀信息后,TI被自動(dòng)置1,在發(fā)送下一幀信息之前,TI必須由中斷服務(wù)程序或查詢程序清0. 2)方式2接收 當(dāng)REN=1時(shí),允許串行口

10、接收數(shù)據(jù)。數(shù)據(jù)由RXD端輸入,當(dāng)接收器采樣到RXD端的負(fù)跳變,并判斷起始位有效后,開始接收一幀信息,每幀接收11位信息。方式2接收時(shí),若同時(shí)滿足以下兩個(gè)條件: (1)RI=0; (2)SM2=0或接收到的第9位數(shù)據(jù)位1。 則接收數(shù)據(jù)有效,8位數(shù)據(jù)送入SBUF,第9位送入RB8,并置RI=1;若不滿足上述兩個(gè)條件,則信息丟棄。 4.方式3波特率可變的9位異步通信接口 若SM0SM1=11B,串行口工作于方式3,為波特率可變的11位異步串行通信方式。除了波特率以外,方式3和方式2完全相同。 1硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)1時(shí)鐘電路 如圖4.2所示, AT89C51的時(shí)鐘電路接腳為XTAL1(pin19

11、)和XTAL2(pin18), XTAL1和XTAL2分別為反向放大器的輸入和輸出.于pin18、19之間接一個(gè)石英振蕩器(常用頻率在3.58MHZ、6MHZ、11.0592MHZ、12MHZ),并在兩端各接一電容接地,電容以30p-40p較為適當(dāng)。X112MHZC1130pC230p 2鍵盤電路 在本系統(tǒng)中,主機(jī)的數(shù)據(jù)和控制信號(hào)通過串口或鍵盤輸入,為節(jié)省單片機(jī)I/O口,簡(jiǎn)化硬件線路,采用4*3矩陣式鍵盤1。鍵盤共設(shè)有12個(gè)鍵,其中包括數(shù)字鍵和功能鍵。如圖所示,由AT89C51的P1.0-P1.3四條行線和P1.5-P1.7三條列線構(gòu)成。按鍵設(shè)置在行、列交點(diǎn)上,行。列線分別連接到按鍵開關(guān)兩端,

12、列線通過上拉電阻接到+5V上。平時(shí)無(wú)按鍵動(dòng)作時(shí),列線處于高電平狀態(tài),而當(dāng)有鍵按下時(shí),必須將行、列線信號(hào)配合起來(lái)作適當(dāng)處理,才能確定閉合鍵的位置。鍵盤中有無(wú)鍵按下是由行線送入全掃描,用列線讀列線狀態(tài)來(lái)判斷的。鍵盤中哪個(gè)鍵按下是逐行掃描低電平后,檢查列輸入狀態(tài)來(lái)確定的。 722#651#94381 0 P11 P10 P12 P13P15P16P17R14.7KR24.7KR34.7K+5V3顯示電路1.發(fā)光二極管顯示電路 如圖所示,為主AT89C51單片機(jī)基本顯示電路,PORT2連接LED后,再接上470歐姆電阻作為限流裝置,防治LED燒壞,最后接上VCC供應(yīng)電源,當(dāng) PORT2輸出腳為0時(shí),L

13、ED亮,例如控制PORT2.0=0時(shí),第一只LED亮.AT89C51單晶片可控制這些腳位的電壓,產(chǎn)生數(shù)位信號(hào),經(jīng)過放大電路,進(jìn)而控制周邊設(shè)備.注意當(dāng)PORT0作為輸出口時(shí),必須接上拉電阻.+5V470*8P20P21P22P23P24P25P26P27 2.數(shù)碼管顯示電路 如圖所示,為兩個(gè)從機(jī)的顯示電路,本系統(tǒng)采用的是一位共陽(yáng)極數(shù)碼管作為顯示器,當(dāng)ag為低電平時(shí),發(fā)光二極管點(diǎn)亮。其a、b、c、d、e、f、g、dp八個(gè)引腳分別接單片機(jī)的P2.0-P2.7,中間加一個(gè)330歐姆的限流電阻。19共9個(gè)數(shù)字,共陽(yáng)極型LED的編碼分別為: F9H、A4H、B0H、99H、92H、82H、F8H、80H和90H。R30R29R28R27R26R25R24R23330*8abfcgdeDPY1234567abcdefg8dpdpDS2DPY_7-SEG_DP2軟件程序設(shè)計(jì)軟件程序設(shè)計(jì)1.鍵盤程序設(shè)計(jì)1#2#滅789456123鍵盤掃描消抖延時(shí)有無(wú)鍵按下取鍵盤碼功能鍵?功能鍵處理程序發(fā)送數(shù)據(jù)返回NYYN2.主機(jī)程序設(shè)計(jì)流程 本系統(tǒng)選用12MHZ晶振,采用2400HZ波特率。程序流程如圖4.9所示,其定時(shí)器串行口通信的初始化步驟如下: (1)確

溫馨提示

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

評(píng)論

0/150

提交評(píng)論