




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 摘要摘要:“單片機之間多機通信演示電路設計與研究”是基于單片機的串行通信演示電路系統設計。本設計研究的是三個AT89C51單片機通過串行通信技術實現相互之間的通信。在設計中,我們利用AT89C51單片機具有多機通信功能,構成主從分布式控制系統,由一臺主機來控制兩臺從機,主機可以向從機發送命令來控制從機,同時也可以接收從機反饋回來的信息,主從機之間實現雙工通信。系統設計中主要由自制鍵盤和指撥開關作為輸入設備,選擇較為簡單的發光二極管和一位數碼管作為輸出設備,通過串行接口技術實現主從機之間數據的傳輸并用顯示設備觀察其通信結果。本次系統設計中主要用到單片機之間多機通信技術以及單片機串行通信接口和中
2、斷系統,在下面設計中將進行具體的研究和討論。 關鍵詞: 多機通信 串行通信 中斷控制 演示電路 (1)當主機A,按鍵盤選擇鍵1,主機與從機B通信,接下來按鍵數據會發送給從機B,由數碼管DS1顯示結果。同理,當主機A,按鍵盤選擇鍵2,主機與從機C通信,接下來按鍵數據會發送給從機C,由數碼管DS2顯示結果。 (2)當從機B,P1的指撥開關切換時,此數據會發送給主機A,并控制其低4位的4個LED的亮滅。同理,當從機C,P2的指撥開關切換時,此數據會發送給主機A,并控制其高4位的4個LED的亮。1.多機通信接口設計 在實際應用系統中,經常需要多個微處理機協調工作。由于AT89系列的單片機具有多機通信功
3、能,因而可利用它構成各種分布式系統,其系統結構如圖所示。 在圖中,系統采用一臺主機和多臺從機,主機的RXD端與所有從機的TXD端連接,TXD端與所有從機的RXD端相連,主機發送的信息可被各從機接收,而各從機發送的信息只能由主機接收,各從機之間交換信息需通過主機。2 .多機通信原理 多機通信中,要保證主機與從機間進行可靠的通信,通信接口必須具有從機身份的識別功能。串行口控制寄存器SCON中的SM2位就是為滿足這一要求而設置的多機通信控制位。串行口以方式2 或方式3實現多機通信,發送和接收的每一幀信息都是11位,其中第9數據位是可編程位,通過對SCON的TB8賦值 1或0,以區別發送的是地址幀還是
4、數據幀 (規定地址幀的第9位為1,數據幀的第9位為0)。若從機的控制位SM2=1,則接收的是地址幀時,數據裝入SBUF,并置RI=1,向CPU發出中斷請求;若接收的是數據幀,則不產生中斷標志,信息將拋棄。若SM2=0,則無論是地址幀還是數據幀都產生RI=1中斷標志,數據裝入SBUF。1 串口寄存器結構 AT89C51單片機串行口寄存器結構如圖所示。SBUF為串行口的收發緩沖器,它是一個可尋址的專用寄存器,其中包含了接收器和發送器寄存器,可以實現全雙工通信。但這兩個寄存器具有同一地址(99H)。AT89C51的串行數據傳輸很簡單,只要向發送緩沖器寫入數據即可發送數據。而從接收緩沖器讀出數據即可接
5、收數據。 輸入移位寄存器接收SBUF(99H)發送SBUF(99H)TI(發送中斷)TXD串行輸出系統總線移 位時鐘RXD串行輸入RI(接收中斷)AT89C51串行口寄存器結構2 單片機串口工作寄存器 1.串行通信控制寄存器 SCON控制寄存器,它是一個可尋址的專用寄存器,用于串行數據的通信控制,單元地址是98H,其結構格式如下:SC OND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位9FH9EH9DH9CH9BH9AH99H98H下面我們對各控制位功能介紹如下:(1).SM0、SM1:串行口工作方式控制位。SM0 SM1 工作方式 00方式 001方式 110
6、方式 211方式 3 (2).SM2:多機通信控制位。多機通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收狀態,當串行口工作于方式2或3,以及SM2=1時,只有當接收到第9位數據(RB8)為1時,才把接收到的前8位數據送入SBUF,且置位RI發出中斷申請,否則會將接受到的數據放棄。當SM2=0時,就不管第位數據是0還是1,都難得數據送入SBUF,并發出中斷申請。工作于方式0時,SM2必須為0。 (3).REN:允許接收位。 REN用于控制數據接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。 (4).TB8:發送接收數據位8。在方式2和方式3中,TB8是要發送的
7、即第9位數據位。在多機通信中同樣亦要傳輸這一位,并且它代表傳輸的地址還是數據,TB8=0為數據,TB8=1時為地址。(5).RB8:接收數據位8。在方式2和方式3中,RB8存放接收到的第9位數據,用以識別接收到的數據特征。 (6).TI:發送中斷標志位。可尋址標志位。方式0時,發送完第8位數據后,由硬件置位,其它方式下,在發送或停止位之前由硬件置位,因此,TI=1表示幀發送結束,TI可由軟件清“0”。 (7).RI:接收中斷標志位。 可尋址標志位。接收完第8位數據后,該位由硬件置位,在其他工作方式下,該位由硬件置位,RI=1表示幀接收完成。2.電源管理寄存器PCON PCON主要是為CHMOS
8、型單片機的電源控制而設置的專用寄存器,單元地址是87H,其結構格式如下: 在CHMOS型單片機中,除SMOD位外,其他位均為虛設的,SMOD是串行口波特率倍增位,當SMOD=1時,串行口波特率加倍。系統復位默認為SMOD=0。PCOND7D6D5D4D3D2D1D0位SMOD_GF1GF0PDIDL3單片機串口工作方式 AT89C51單片機的串行口有4種工作方式,通過SCON中的SM0、SM1位來設置。本系統研究的是單片機之間多機通信,所以主要介紹能實現多機通信的方式2和方式3。 1.方式0同步移位寄存器方式 2.方式18位異步串行通信方式 3.方式29位異步通信接口 若SM0SM1=10B,
9、則串行口工作于方式2.方式2為波特率固定的11位異步串行通信方式,傳送波特率與SMOD有關。發送或接受一幀信息位11位,其中包括1位起始位0,8位數據位,1位可編程位(用于奇偶校驗或多機通信)和1位停止位1。 1)方式2發送 發送時,根據通信協議由軟件設置TB8,然后用指令將要發送的數據寫入SBUF,啟動發送器。寫SBUF的指令,除了將8位數據送入SBUF外,同時還將TB8裝入發送移位寄存器的第9位,并啟動發送控制器進行一次發送。一幀信息即從TXD發送出去,在送完一幀信息后,TI被自動置1,在發送下一幀信息之前,TI必須由中斷服務程序或查詢程序清0. 2)方式2接收 當REN=1時,允許串行口
10、接收數據。數據由RXD端輸入,當接收器采樣到RXD端的負跳變,并判斷起始位有效后,開始接收一幀信息,每幀接收11位信息。方式2接收時,若同時滿足以下兩個條件: (1)RI=0; (2)SM2=0或接收到的第9位數據位1。 則接收數據有效,8位數據送入SBUF,第9位送入RB8,并置RI=1;若不滿足上述兩個條件,則信息丟棄。 4.方式3波特率可變的9位異步通信接口 若SM0SM1=11B,串行口工作于方式3,為波特率可變的11位異步串行通信方式。除了波特率以外,方式3和方式2完全相同。 1硬件電路設計硬件電路設計1時鐘電路 如圖4.2所示, AT89C51的時鐘電路接腳為XTAL1(pin19
11、)和XTAL2(pin18), XTAL1和XTAL2分別為反向放大器的輸入和輸出.于pin18、19之間接一個石英振蕩器(常用頻率在3.58MHZ、6MHZ、11.0592MHZ、12MHZ),并在兩端各接一電容接地,電容以30p-40p較為適當。X112MHZC1130pC230p 2鍵盤電路 在本系統中,主機的數據和控制信號通過串口或鍵盤輸入,為節省單片機I/O口,簡化硬件線路,采用4*3矩陣式鍵盤1。鍵盤共設有12個鍵,其中包括數字鍵和功能鍵。如圖所示,由AT89C51的P1.0-P1.3四條行線和P1.5-P1.7三條列線構成。按鍵設置在行、列交點上,行。列線分別連接到按鍵開關兩端,
12、列線通過上拉電阻接到+5V上。平時無按鍵動作時,列線處于高電平狀態,而當有鍵按下時,必須將行、列線信號配合起來作適當處理,才能確定閉合鍵的位置。鍵盤中有無鍵按下是由行線送入全掃描,用列線讀列線狀態來判斷的。鍵盤中哪個鍵按下是逐行掃描低電平后,檢查列輸入狀態來確定的。 722#651#94381 0 P11 P10 P12 P13P15P16P17R14.7KR24.7KR34.7K+5V3顯示電路1.發光二極管顯示電路 如圖所示,為主AT89C51單片機基本顯示電路,PORT2連接LED后,再接上470歐姆電阻作為限流裝置,防治LED燒壞,最后接上VCC供應電源,當 PORT2輸出腳為0時,L
13、ED亮,例如控制PORT2.0=0時,第一只LED亮.AT89C51單晶片可控制這些腳位的電壓,產生數位信號,經過放大電路,進而控制周邊設備.注意當PORT0作為輸出口時,必須接上拉電阻.+5V470*8P20P21P22P23P24P25P26P27 2.數碼管顯示電路 如圖所示,為兩個從機的顯示電路,本系統采用的是一位共陽極數碼管作為顯示器,當ag為低電平時,發光二極管點亮。其a、b、c、d、e、f、g、dp八個引腳分別接單片機的P2.0-P2.7,中間加一個330歐姆的限流電阻。19共9個數字,共陽極型LED的編碼分別為: F9H、A4H、B0H、99H、92H、82H、F8H、80H和90H。R30R29R28R27R26R25R24R23330*8abfcgdeDPY1234567abcdefg8dpdpDS2DPY_7-SEG_DP2軟件程序設計軟件程序設計1.鍵盤程序設計1#2#滅789456123鍵盤掃描消抖延時有無鍵按下取鍵盤碼功能鍵?功能鍵處理程序發送數據返回NYYN2.主機程序設計流程 本系統選用12MHZ晶振,采用2400HZ波特率。程序流程如圖4.9所示,其定時器串行口通信的初始化步驟如下: (1)確
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論