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

下載本文檔

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

文檔簡介

單片機(jī)之間多機(jī)通信演示電路設(shè)計(jì)第一頁,共二十七頁,2022年,8月28日

摘要:“單片機(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ī)來控制兩臺(tái)從機(jī),主機(jī)可以向從機(jī)發(fā)送命令來控制從機(jī),同時(shí)也可以接收從機(jī)反饋回來的信息,主從機(jī)之間實(shí)現(xiàn)雙工通信。系統(tǒng)設(shè)計(jì)中主要由自制鍵盤和指撥開關(guān)作為輸入設(shè)備,選擇較為簡單的發(fā)光二極管和一位數(shù)碼管作為輸出設(shè)備,通過串行接口技術(shù)實(shí)現(xiàn)主從機(jī)之間數(shù)據(jù)的傳輸并用顯示設(shè)備觀察其通信結(jié)果。本次系統(tǒng)設(shè)計(jì)中主要用到單片機(jī)之間多機(jī)通信技術(shù)以及單片機(jī)串行通信接口和中斷系統(tǒng),在下面設(shè)計(jì)中將進(jìn)行具體的研究和討論。關(guān)鍵詞:多機(jī)通信串行通信中斷控制演示電路第二頁,共二十七頁,2022年,8月28日整體方案第三頁,共二十七頁,2022年,8月28日功能介紹

(1)當(dāng)主機(jī)A,按鍵盤選擇鍵1#,主機(jī)與從機(jī)B通信,接下來按鍵數(shù)據(jù)會(huì)發(fā)送給從機(jī)B,由數(shù)碼管DS1顯示結(jié)果。同理,當(dāng)主機(jī)A,按鍵盤選擇鍵2#,主機(jī)與從機(jī)C通信,接下來按鍵數(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的亮。第四頁,共二十七頁,2022年,8月28日單片機(jī)多機(jī)通信技術(shù)

1.多機(jī)通信接口設(shè)計(jì)在實(shí)際應(yīng)用系統(tǒng)中,經(jīng)常需要多個(gè)微處理機(jī)協(xié)調(diào)工作。由于AT89系列的單片機(jī)具有多機(jī)通信功能,因而可利用它構(gòu)成各種分布式系統(tǒng),其系統(tǒng)結(jié)構(gòu)如圖所示。第五頁,共二十七頁,2022年,8月28日

在圖中,系統(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ù)位是可編程位,通過對SCON的TB8賦值1或0,以區(qū)別發(fā)送的是地址幀還是數(shù)據(jù)幀第六頁,共二十七頁,2022年,8月28日(規(guī)定地址幀的第9位為1,數(shù)據(jù)幀的第9位為0)。若從機(jī)的控制位SM2=1,則接收的是地址幀時(shí),數(shù)據(jù)裝入SBUF,并置RI=1,向CPU發(fā)出中斷請求;若接收的是數(shù)據(jù)幀,則不產(chǎn)生中斷標(biāo)志,信息將拋棄。若SM2=0,則無論是地址幀還是數(shù)據(jù)幀都產(chǎn)生RI=1中斷標(biāo)志,數(shù)據(jù)裝入SBUF。第七頁,共二十七頁,2022年,8月28日單片機(jī)的串口工作原理1串口寄存器結(jié)構(gòu)

AT89C51單片機(jī)串行口寄存器結(jié)構(gòu)如圖所示。SBUF為串行口的收發(fā)緩沖器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)送器寄存器,可以實(shí)現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址(99H)。AT89C51的串行數(shù)據(jù)傳輸很簡單,只要向發(fā)送緩沖器寫入數(shù)據(jù)即可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)即可接收數(shù)據(jù)。第八頁,共二十七頁,2022年,8月28日

輸入移位寄存器接收SBUF(99H)發(fā)送SBUF(99H)TI(發(fā)送中斷)TXD串行輸出系統(tǒng)總線移位時(shí)鐘RXD串行輸入RI(接收中斷)AT89C51串行口寄存器結(jié)構(gòu)第九頁,共二十七頁,2022年,8月28日2單片機(jī)串口工作寄存器1.串行通信控制寄存器

SCON控制寄存器,它是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)的通信控制,單元地址是98H,其結(jié)構(gòu)格式如下:

SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位9FH9EH9DH9CH9BH9AH99H98H第十頁,共二十七頁,2022年,8月28日下面我們對各控制位功能介紹如下:(1).SM0、SM1:串行口工作方式控制位。SM0SM1工作方式00方式001方式110方式211方式3第十一頁,共二十七頁,2022年,8月28日(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ā)出中斷申請,否則會(huì)將接受到的數(shù)據(jù)放棄。當(dāng)SM2=0時(shí),就不管第位數(shù)據(jù)是0還是1,都難得數(shù)據(jù)送入SBUF,并發(fā)出中斷申請。工作于方式0時(shí),SM2必須為0。

(3).REN:允許接收位。

REN用于控制數(shù)據(jù)接收的允許和禁止,REN=1時(shí),允許接收,REN=0時(shí),禁止接收。第十二頁,共二十七頁,2022年,8月28日(4).TB8:發(fā)送接收數(shù)據(jù)位8。在方式2和方式3中,TB8是要發(fā)送的——即第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表示幀接收完成。第十三頁,共二十七頁,2022年,8月28日2.電源管理寄存器PCONPCON主要是為CHMOS型單片機(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___GF1GF0PDIDL第十四頁,共二十七頁,2022年,8月28日3單片機(jī)串口工作方式

AT89C51單片機(jī)的串行口有4種工作方式,通過SCON中的SM0、SM1位來設(shè)置。本系統(tǒng)研究的是單片機(jī)之間多機(jī)通信,所以主要介紹能實(shí)現(xiàn)多機(jī)通信的方式2和方式3。

1.方式0——同步移位寄存器方式

2.方式1——8位異步串行通信方式

3.方式2——9位異步通信接口若SM0SM1=10B,則串行口工作于方式2.方式2為波特率固定的11位異步串行通信方式,傳送波特率與SMOD有關(guān)。發(fā)送或接受一幀信息位11位,其中包括1位起始位0,8位數(shù)據(jù)位,1位可編程位(用于奇偶校驗(yàn)或多機(jī)通信)和1位停止位1。第十五頁,共二十七頁,2022年,8月28日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í),允許串行口接收數(shù)據(jù)。數(shù)據(jù)由RXD端輸入,當(dāng)接收器采樣到RXD端的負(fù)跳變,并判斷起始位有效后,開始接收一幀信息,每幀接收11位信息。方式2接收時(shí),若同時(shí)滿足以下兩個(gè)條件:第十六頁,共二十七頁,2022年,8月28日

(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完全相同。第十七頁,共二十七頁,2022年,8月28日多機(jī)通信電路設(shè)計(jì)

1硬件電路設(shè)計(jì)1時(shí)鐘電路

如圖4.2所示,AT89C51的時(shí)鐘電路接腳為XTAL1(pin19)和XTAL2(pin18),XTAL1和XTAL2分別為反向放大器的輸入和輸出.于pin18、19之間接一個(gè)石英振蕩器(常用頻率在3.58MHZ、6MHZ、11.0592MHZ、12MHZ),并在兩端各接一電容接地,電容以30p-40p較為適當(dāng)。X112MHZC1130pC230p第十八頁,共二十七頁,2022年,8月28日2鍵盤電路在本系統(tǒng)中,主機(jī)的數(shù)據(jù)和控制信號(hào)通過串口或鍵盤輸入,為節(jié)省單片機(jī)I/O口,簡化硬件線路,采用4*3矩陣式鍵盤[1]。鍵盤共設(shè)有12個(gè)鍵,其中包括數(shù)字鍵和功能鍵。如圖所示,由AT89C51的四條行線和三條列線構(gòu)成。按鍵設(shè)置在行、列交點(diǎn)上,行。列線分別連接到按鍵開關(guān)兩端,列線通過上拉電阻接到+5V上。平時(shí)無按鍵動(dòng)作時(shí),列線處于高電平狀態(tài),而當(dāng)有鍵按下時(shí),必須將行、列線信號(hào)配合起來作適當(dāng)處理,才能確定閉合鍵的位置。鍵盤中有無鍵按下是由行線送入全掃描,用列線讀列線狀態(tài)來判斷的。鍵盤中哪個(gè)鍵按下是逐行掃描低電平后,檢查列輸入狀態(tài)來確定的。第十九頁,共二十七頁,2022年,8月28日3顯示電路1.發(fā)光二極管顯示電路如圖所示,為主AT89C51單片機(jī)基本顯示電路,PORT2連接LED后,再接上470歐姆電阻作為限流裝置,防治LED燒壞,最后接上VCC供應(yīng)電源,當(dāng)?shù)诙?,共二十七頁?022年,8月28日PORT2輸出腳為0時(shí),LED亮,例如控制PORT2.0=0時(shí),第一只LED亮.AT89C51單晶片可控制這些腳位的電壓,產(chǎn)生數(shù)位信號(hào),經(jīng)過放大電路,進(jìn)而控制周邊設(shè)備.注意當(dāng)PORT0作為輸出口時(shí),必須接上拉電阻.第二十一頁,共二十七頁,2022年,8月28日2.數(shù)碼管顯示電路如圖所示,為兩個(gè)從機(jī)的顯示電路,本系統(tǒng)采用的是一位共陽極數(shù)碼管作為顯示器,當(dāng)a~g為低電平時(shí),發(fā)光二極管點(diǎn)亮。其a、b、c、d、e、f、g、dp八個(gè)引腳分別接單片機(jī)的,中間加一個(gè)330歐姆的限流電阻。1~9共9個(gè)數(shù)字,共陽極型LED的編碼分別為:F9H、A4H、B0H、99H、92H、82H、F8H、80H和90H。第二十二頁,共二十七頁,2022年,8月28日2軟件程序設(shè)計(jì)1.鍵盤程序設(shè)計(jì)1#2#滅789456123鍵盤掃描消抖延時(shí)有無鍵按下取鍵盤碼功能鍵?功能鍵處理程序發(fā)送數(shù)據(jù)返回NYYN第二十三頁,共二十七頁,2022年,8月28日2.主機(jī)程序設(shè)計(jì)流程本系統(tǒng)選用12MHZ晶振,采用2400HZ波特率。程序流程如圖4.9所示,其定時(shí)器串行口通信的初始化步驟如下:(1)確定串口工作于方式3,并允許接收——對SCON寄存器送控制字C0H(SM0=1,SM1=1,REN=1);(2)確定定時(shí)器T1工作于方式2——對TMOD寄存器

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論