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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

11、序初始化接收數(shù)據(jù),計(jì)算檢驗(yàn)和N發(fā)送00H至主機(jī)接收完成?N清除標(biāo)志位發(fā)送FFH,重新接收顯示圖 4-2 接收方程序流程圖5. 系統(tǒng)調(diào)試5.1 Proteus軟件仿真調(diào)試全高電平時(shí)輸入時(shí) TXD與 RXD波形單片機(jī)甲為01010101,單片機(jī)乙為1111000全為低電平輸入時(shí)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; / 裝進(jìn)

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

13、)/32 TL1 = 0xfd; /裝初值 時(shí)鐘11.0592M TI = 0; /TI:發(fā)送中斷標(biāo)志位 ,RI:接收中斷標(biāo)志位。 TI=1表示幀發(fā)送結(jié)束,RI=1表示幀接收完成 RI = 0; TR1 = 1; /啟動(dòng)定時(shí)器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é)這次單片機(jī)課程設(shè)計(jì)是十分有意義的。我們?cè)谡n堂上掌握的僅僅是理論知識(shí),那么如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論