單片機雙機串口通信_第1頁
單片機雙機串口通信_第2頁
單片機雙機串口通信_第3頁
單片機雙機串口通信_第4頁
單片機雙機串口通信_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及接口技術(shù)課程設(shè)計報告設(shè)計題目:兩個單片機通信,甲乙可以相互控制學(xué) 號:姓 名:指導(dǎo)教師: 信息與電氣工程學(xué)院二零一四年六月2哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計報告單片機串口通信設(shè)計單片機行業(yè)已經(jīng)有了很久的歷史,隨著科學(xué)技術(shù)的進步和社會的發(fā)展,單片機行業(yè)更加迅速的發(fā)展起來。不論在工業(yè)還是民也上都有很好的發(fā)展和應(yīng)用,得到大家很好的認(rèn)可和高度的評價。單片機的通信接口是各臺儀表之間或儀表與計算機之間進行信息交換和傳輸?shù)穆?lián)絡(luò)裝置。主要有五種類型,串行通信接口、并行通信接口、USB接口、現(xiàn)場總線接口以及以太網(wǎng)接口。串行通信按同步方式可分為異步通信和同步通信兩種基本通信方式。它是在數(shù)字化的基礎(chǔ)上用微

2、處理器裝備起來,是計算機技術(shù)與電子儀器相結(jié)合的產(chǎn)物。它具有數(shù)據(jù)存儲、運算、邏輯判斷能力,能根據(jù)被測參數(shù)的變化自選量程,可自動校正,自動補償,自尋故障等,可以做一些需要人類的智慧才能完成的工作,既具備了一定的智能,故稱為智能儀器。人們習(xí)慣將這種內(nèi)含微型計算機并帶有GP-IB等通信接口的電子儀器稱為智能儀器。1. 設(shè)計任務(wù)結(jié)合實際情況,基于AT89C51單片機設(shè)計一個兩個單片機通信系統(tǒng)。該系統(tǒng)應(yīng)滿足的功能要求為:(1) 統(tǒng)一用Proteus軟件進行仿真,統(tǒng)一用C語言編程,并且每段程序必須要有注解;硬件仿真圖必須準(zhǔn)確無誤,作圖規(guī)范;(2) 單片機任意選擇,但必須是51或者AVR中的一種;(3) 甲機

3、控制乙機的LED亮滅,同時乙機控制甲機的LED亮滅。主要硬件設(shè)備:AT89C51單片機、撥碼開關(guān)、LED燈、11.0592M晶振、若干電容和電阻。2. 整體方案設(shè)計基本功能:兩片單片機之間進行串行通信,發(fā)送端將0f循環(huán)發(fā)送到接收端,并在接收端顯示。復(fù)位電路復(fù)位電路原理圖:單片機乙TXDRXD單片機甲 RXD TXDP1口 LED 顯示P0口LED顯示對P1口進行輸入晶振電路晶振電路對P2口進行輸入2.1.數(shù)據(jù)傳輸方案比較與選擇在串行通信中,數(shù)據(jù)是在兩個站之間傳送的。按照數(shù)據(jù)傳送方向,串行通信可采用三種方案。1)方案一:單工制式單工制式是指甲乙雙方通信只能單向傳送數(shù)據(jù)。單工制式如圖2發(fā)送器A發(fā)送

4、器B 圖2-1-1 單工制式2 )方案二:半雙工制式半雙工制式是指通信雙方都具有發(fā)送器和接收器,雙方既可發(fā)送也可接收,但接收和發(fā)送不能同時進行,即發(fā)送時就不能接收,接收時就不能發(fā)送。半雙工制式如圖3B端發(fā)送接收A端 發(fā)送 接送圖2-1-2 半雙工制式3)方案三:全雙工制式 全雙工制式是指通信雙方均設(shè)有發(fā)送器和接收器,并且將信道劃分為發(fā)送信道和接收信道,兩端數(shù)據(jù)允許同時收發(fā),因此通信效率比前兩種高。全雙工制式如下圖4:B端接收發(fā)送A端 發(fā)送 接送圖2-1-3 全雙工制式因此,本課設(shè)采用方案三全雙工制式3. 系統(tǒng)硬件電路設(shè)計3.1.時鐘電路時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,單片機本身就是

5、一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時序進行工作。在MCS-51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳X1,輸出端為引腳X2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。 此電路采用11.0592MHz的石英晶體。時鐘電路如下圖5 圖3-1 時鐘電路3.2 復(fù)位電路復(fù)位是單片機的初始化操作,進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤是系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復(fù)位鍵以重新啟動。RST引腳是單片機復(fù)位信號的輸入端,復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即

6、2個機器周期)以上,若使用頻率為12MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4 s才能完成復(fù)位操作。復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的。在本設(shè)計中采用了按鍵電平方式如下圖6。 圖3-2 按鍵電平的連接方式3.3 單片機串行通信功能 51單片機的串行接口是一個全雙工的接口,它可以作為UART(通用異步接受和發(fā)送器)用,也可以作為同步移位寄存器用。51單片機串行接口的結(jié)構(gòu)如下:圖3-3 51單片機串行接口的結(jié)構(gòu)(1)數(shù)據(jù)緩沖器(SBUF)接受或發(fā)送的數(shù)據(jù)都要先送到SBUF緩存。有兩個

7、,一個緩存,另一個接受,用同一直接地址99H,發(fā)送時用指令將數(shù)據(jù)送到SBUF即可啟動發(fā)送;接收時用指令將SBUF中接收到的數(shù)據(jù)取出。(2)串行控制寄存器(SCON)SCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式選擇位,串行接口工作方式可有以下四種工作方式:SM0SM1工作方式功能波特率0008位同步移位寄存器(用于I/O擴展)fORC/1201110位異步串行通信(UART)可變(T1溢出率*2SMOD/32)10211位異步串行通信(UART)fORC/64或fORC/3211311位異步串行通信

8、(UART)可變(T1溢出率*2SMOD/32)定時器TI溢出率=(fosc/12)*(1/(2k-初值)) 式中T1計數(shù)率= fORC/12,(2k-初值)為生溢產(chǎn)出所需機器周期數(shù),K為定時器位數(shù),與定時器設(shè)定工作方式有關(guān):方式0時 K=13;方式1時 K=16;方式2時 K=8。SM2:多機通信控制位。主要用于方式2,3.當(dāng)SM2=1時可以利用收到的RB8來控制是否激活RI(RB8=1時收到數(shù)據(jù)進入數(shù)據(jù)緩存器,并激活RI在中斷服務(wù)中將數(shù)據(jù)讀走;RB8=0時受到信息丟棄);當(dāng)SM2=0時均可以將數(shù)據(jù)送入緩存器,并激活RI。REN:接收允許控制位。軟件置1允許接收;軟件置0禁止接收。TB8:方

9、式2或3時,TB8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0,可以用作數(shù)據(jù)奇偶效驗位,或在多機通信中作地址幀/數(shù)據(jù)幀標(biāo)志位。RB8:在方式2或3時,RB8位接收到的第9位數(shù)據(jù),實際為主機發(fā)送的第9位數(shù)據(jù)TB8,使從機根據(jù)這一位來判斷主機發(fā)送的時呼叫地址還是要傳送的數(shù)據(jù)。TI:發(fā)送中斷標(biāo)志。發(fā)送完一幀數(shù)據(jù)后由硬件自動置位,并申請中斷。必須要軟件清零后才能繼續(xù)發(fā)送。RI:接收中斷標(biāo)志。接收完一幀數(shù)據(jù)后由硬件自動置位,并申請中斷。必須要軟件清零后才能繼續(xù)接收。(3)輸入移位寄存器接收的數(shù)據(jù)先串行進入輸入移位寄存器,8位數(shù)據(jù)全移入后,再并行送入接收SBUF中。(4)波特率發(fā)生器波特率發(fā)生器用來控制

10、串行通信的數(shù)據(jù)傳輸速率的,51系列單片機用定時器T1作為波特率發(fā)生器,T1設(shè)置在定時方式。波特率是用來表示串行通信數(shù)據(jù)傳輸快慢程度的物理量,定義為每秒鐘調(diào)制信號變化的次數(shù)。(5)電源控制寄存器PCON其最高位為SMOD即波特率倍增位,當(dāng)SMOD=1時波特率提高一倍,復(fù)位時,SMOD=0。3.4輸出接LED燈圖3-43.5.由撥碼開關(guān)控制輸入圖3-53.6.總體硬件圖 4. 系統(tǒng)程序設(shè)計4.1 主程序流程圖(1)發(fā)送端程序流程圖圖4-1 發(fā)送端程序流程圖主程序開始從機是否回答B(yǎng)BH?程序初始化主機發(fā)送AAHN主機發(fā)送數(shù)據(jù),檢驗和輸出完成?N清除標(biāo)志位(2)接收方程序流程圖主程序開始檢驗和相等?程

11、序初始化接收數(shù)據(jù),計算檢驗和N發(fā)送00H至主機接收完成?N清除標(biāo)志位發(fā)送FFH,重新接收顯示圖 4-2 接收方程序流程圖5. 系統(tǒng)調(diào)試5.1 Proteus軟件仿真調(diào)試全高電平時輸入時 TXD與 RXD波形單片機甲為01010101,單片機乙為1111000全為低電平輸入時TXD與RXD波形5.2 硬件調(diào)試6. 程序清單#include "reg51.h" #define uint unsigned int #define uchar unsigned char uchar state_1; void send(uchar state) SBUF = state; / 裝進

12、緩存區(qū) while(TI=0); /TI=0執(zhí)行空語句 等待 TI = 0; /發(fā)送軟件清零 void receive() while(RI=0); /RI=0時空語句 state_1 = SBUF; /讀數(shù)據(jù) RI = 0; /接送清零 void SCON_init(void) SCON = 0x50; / 方式1 雙機串行通信 SM0=0 SM1=1 REN=1 允許串行接送位 TMOD = 0x20; / T1定時/計數(shù)器1設(shè)置為工作方式2 PCON = 0x00; /波特率倍增位TH1=0xfd; / 設(shè)置波特率 /9600=11.0592*1000000/12/(0x100-0xfd

13、)/32 TL1 = 0xfd; /裝初值 時鐘11.0592M TI = 0; /TI:發(fā)送中斷標(biāo)志位 ,RI:接收中斷標(biāo)志位。 TI=1表示幀發(fā)送結(jié)束,RI=1表示幀接收完成 RI = 0; TR1 = 1; /啟動定時器1 ES = 1; /串口中斷允許位 void main() P1 = 0xff; SCON_init(); while(1) send(P1); /發(fā)送P1 receive(); /發(fā)送數(shù)據(jù) P0 = state_1; /接收放入P0 7.小結(jié)這次單片機課程設(shè)計是十分有意義的。我們在課堂上掌握的僅僅是理論知識,那么如何去鍛煉我們的實踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論

14、知識運用到實踐中去呢?我想做課程設(shè)計就為我們提供了良好的實踐平臺,現(xiàn)在終于將它完成了,感到受益頗多。第一,這是一份考驗我們自覺性、動手能力與協(xié)作意識的任務(wù)。這次單片機課程設(shè)計不僅鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上沒有學(xué)到過的知識,掌握了一種系統(tǒng)的研究方法,可以進行一些簡單的編程。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實際動手能力和獨立思考的能力。同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,例如對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,學(xué)習(xí)了單片機C語言。第二,未知并不可怕,可怕的是因未知而止步。我們在課堂上所學(xué)的知識是非常有限的,這次的課程設(shè)計就是個很好的體現(xiàn)。在做本次課程設(shè)計的過程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計資料了,無論是課本上的還是網(wǎng)上的都瀏覽了不少相關(guān)的程序,從中也借鑒了別人的思想,開闊了自己的思路。做單片機課程設(shè)計,對設(shè)計者對軟硬件的理解和掌握的要求都比較高。在設(shè)計程序之前,設(shè)計者必學(xué)對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論