版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
./機電高等專科學校2015-2016學年第1學期通信實訓報告系別:電子通信工程系班級:xxxxxx學號:13xxxxxxxxx:xxxxxxx2015年12月基于51單片機的雙機串行通信摘要:串行通信是單片機的一個重要應用,本次課程設計就是要利用單片機來完成一個系統(tǒng),實現(xiàn)爽片單片機床航通信,通信的結果使用數(shù)碼管進行顯示,數(shù)碼管采用查表方式顯示,兩個單片機之間采用RS-232進行雙擊通信。在通信過程中,使用通信協(xié)議進行通信。關鍵字:通信雙機一、總體設計1設計目的1.通過設計相關模塊充分熟悉51單片機的最小系統(tǒng)的組成和原理;2.通過軟件仿真熟悉keil和proteus的配合使用;3.通過軟件編程熟悉51的C51編程規(guī);4.通過實際的硬件電路搭設提高實際動手能力。2.設計要求:兩片單片機之間進行串行通信,A機將0x06發(fā)送給B機,在B機的數(shù)碼管上靜態(tài)顯示1,B機將0~f動態(tài)循環(huán)發(fā)送到A機,并在其數(shù)碼管上顯示。3.設計方案:軟件部分,通過通信協(xié)議進行發(fā)送接收,A機先送0x06<B機數(shù)碼管顯示1>給B機〔B機靜態(tài)顯示,當從機接收到后,向B機發(fā)送代表0-f的數(shù)碼管編碼數(shù)組。B收到0x06后就把數(shù)碼表TAB[16]中的數(shù)據(jù)送給從機。二、硬件設計1.51單片機串行通信功能計算機與外界的信息交換稱為通信,常用的通信方式有兩種:并行通信和串行通信。51單片機用4個接口與外界進行數(shù)據(jù)輸入與數(shù)據(jù)輸出就是并行通信,并行通信的特點是傳輸信號的速度快,但所用的信號線較多,成本高,傳輸?shù)木嚯x較近。串行通信的特點是只用兩條信號線〔一條信號線,再加一條地線作為信號回路即可完成通信,成本低,傳輸?shù)木嚯x較遠。51單片機的串行接口是一個全雙工的接口,它可以作為UART〔通用異步接受和發(fā)送器用,也可以作為同步移位寄存器用。51單片機串行接口的結構如下:圖1.AT89C51〔52〔1數(shù)據(jù)緩沖器〔SBUF接受或發(fā)送的數(shù)據(jù)都要先送到SBUF緩存。有兩個,一個緩存,另一個接受,用同一直接地址99H,發(fā)送時用指令將數(shù)據(jù)送到SBUF即可啟動發(fā)送;接收時用指令將SBUF中接收到的數(shù)據(jù)取出。〔2串行控制寄存器〔PCONSCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式選擇位,這兩位組合成00,01,10,11對應于工作方式0、1、2、3。串行接口工作方式特點見下表SM0SM1工作方式功能波特率0008位同步移位寄存器〔用于I/O擴展fORC/1201110位異步串行通信〔UART可變〔T1溢出率*2SMOD/3210211位異步串行通信〔UARTfORC/64或fORC/3211311位異步串行通信〔UART可變〔T1溢出率*2SMOD/32SM2:多機通信控制位。REN:接收允許控制位。軟件置1允許接收;軟件置0禁止接收。TB8:方式2或3時,TB8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0。RB9:在方式2或3時,RB8位接收到的第9位數(shù)據(jù),實際為主機發(fā)送的第9位數(shù)據(jù)TB8,使從機根據(jù)這一位來判斷主機發(fā)送的時呼叫地址還是要傳送的數(shù)據(jù)。TI:發(fā)送中斷標志。發(fā)送完一幀數(shù)據(jù)后由硬件自動置位,并申請中斷。必須要軟件清零后才能繼續(xù)發(fā)送。RI:接收中斷標志。接收完一幀數(shù)據(jù)后由硬件自動置位,并申請中斷。必須要軟件清零后才能繼續(xù)接收?!?輸入移位寄存器接收的數(shù)據(jù)先串行進入輸入移位寄存器,8位數(shù)據(jù)全移入后,再并行送入接收SBUF中?!?波特率發(fā)生器波特率發(fā)生器用來控制串行通信的數(shù)據(jù)傳輸速率的,51系列單片機用定時器T1作為波特率發(fā)生器,T1設置在定時方式。波特率時用來表示串行通信數(shù)據(jù)傳輸快慢程度的物理量,定義為每秒鐘傳送的數(shù)據(jù)位數(shù)。〔5電源控制寄存器PCON其最高位為SMOD?!?波特率計算當定時器T1工作在定時方式的時候,定時器T1溢出率=〔T1計數(shù)率/〔產生溢出所需機器周期。由于是定時方式,T1計數(shù)率=fORC/12。產生溢出所需機器周期數(shù)=模M-計數(shù)初值X。2.整體電路設計最終設計電路如下圖3所示,發(fā)送方的數(shù)據(jù)由串行口TXD段輸出,經過傳輸線將信號傳送到接收端。信號到達接收方串行口的接收端。接受方接收后,通過P1口在數(shù)碼管上顯示接收的信息。圖3.串行通信電路三、軟件設計〔1串行口工作于方式1;用定時器1產生9600bit/s的波特率,工作于方式2?!?功能:將本機ROM中數(shù)碼表TAB[16]中的16個數(shù)發(fā)送到從機,并保存在從機部ROM中,從機收到這16個數(shù)據(jù)后送到一個數(shù)碼管循環(huán)顯示?!?通信協(xié)議:主機首先發(fā)送連絡信號從機接收到之后返回一個連絡信號表示從機已準備好接收。聯(lián)合調試在protues上進行仿真實驗。首先使用KeilC將編寫完成的程序編譯生成HEX文件,將HEX文件燒錄到兩片單片機中,進行仿真實驗,結果如下圖所示,可以看到,接收端已將接受到的數(shù)據(jù)完整的顯示了出來。圖4.仿真圖注:1.仿真的過程中并沒有體現(xiàn)出單片機的最小系統(tǒng)的組成元素:時鐘電路和復位電路,但是實際的硬件電路中這兩部分是必不可少的,此外,在實際測試中,程序是事先燒進單片機里的,所以這里并沒有涉及到電平轉換的問題〔max232芯片和串口的連接。在數(shù)碼管的共陰極與地之間接三極管是為了放大數(shù)碼管的驅動電流,讓數(shù)碼管更加清楚的顯示數(shù)據(jù)。附:主要器件:兩個STC89C52RC晶振模塊:兩個11.0592M的晶振四個30pf的電容復位模塊:兩個開關兩個10uf的電容兩個10K的電阻兩個1K的電阻顯示模塊:兩個單顯共陰極數(shù)碼管兩個NPN型三極管程序清單1.A機程序#include<reg51.h>#include<absacc.h>sbitkey=P3^6;voidsendrecieve<>;voidmain<>{ P1=0XFF; TMOD=0x20;//定時器1工作作方式2 TH1=0XFD; TL1=0XFD;//波特率為9600 PCON=0X00;//波特率不加倍 TR1=1; SCON=0X50;//串口工作方式為3,即11為可變波特率, //開啟允許串口接收中斷,多機通訊位SM2置1<廣播>,TB8置1<表示發(fā)送地址> //開發(fā)送及接受中斷 EA=1; key=1; sendrecieve<>;}voidsendrecieve<>{ SBUF=0X06; while<TI!=1>;//等待數(shù)據(jù)發(fā)送完成,發(fā)送完則ti置1,否則為0 TI=0; while<1> { while<RI!=1>;//等待接收數(shù)據(jù)完成 RI=0; P1=SBUF; //顯示B發(fā)送來的數(shù)據(jù) }}B機程序#include<reg51.h>#include<absacc.h>voidsendrecieve<>;sbitkey=P3^6;unsignedcharcodeled[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共陰極,標準接法<a--hPX.0--PX.7>unsignedinti;delay<unsignedintz>{unsignedintx,y; for<x=z;z>0;z--> { for<y=6000;y>0;y-->;//50ms }}voidmain<>{ P1=0XFF; TMOD=0x20;//定時器1工作作方式2 TH1=0XFD; TL1=0XFD;//波特率為9600 PCON=0X00;//波特率不加倍 TR1=1; SCON=0X50;//串口工作方式為3,即11為可變波特率, key=1; //開啟允許串口接收中斷,多機通訊位SM2置1 EA=1; delay<20>; sendrecieve<>;}voidsendrecieve<>{ while<RI!=1>; P1=SBUF; RI=0; for<i=0;i<16;i++> { SBUF=led[i]; //向A發(fā)送信息 while<TI!=1>;//等待數(shù)據(jù)發(fā)送完成,發(fā)送完則ti置1,否則為0 TI=0; delay<60>;//3s } i=0;}課設中遇到的問題及解決辦法:由于這次的課設容比較簡單,所以我們在軟件環(huán)節(jié)沒有沒遇到什么困難,在軟件仿真時也很順利,但是在最后焊接板子的時候,我們卻遇到了問題:數(shù)碼管的各管腳的排列順序不是遵循一定的規(guī)律的,所以在焊接時要特別注意布局與布線,在這個環(huán)節(jié)上我們花費了嗎大半的時間。心得體會:本次課程設計我的是雙機通信實驗,在開始的前兩天中,主要是通過查找資料,或是在圖書館里查看書籍來學習有關雙機通信實驗的基本要求和實驗所需要的器件,以及各實驗器件所實現(xiàn)怎樣的功能。并且也學會了單片機的有關中斷設計的思想,由于制作雙機通信的課程設計,所以在實驗中需要用到兩片單片機作為主從機來控制信號的接受與發(fā)送。還學習到了單片機在使用中斷的時候,如果有中斷申請的話,硬件電路會自動把單片機里接受發(fā)送中斷的TI和RI置1.這樣就表示單片機此時有外部中斷的申請,必須開中斷來接受發(fā)送過來的信號。大概兩天的時間,我們就把初步的軟件程序和硬件電路設計好了。并且在PROTEUS的仿真器件中實現(xiàn)了硬件電路的連接,然后我們把PROTEUS的仿真硬件和51的程序下載到單片機過調節(jié)實驗硬件和共同修改軟件程序最終實現(xiàn)了器件的仿真。接下來就是焊接電路的工作了,在完成了所有的焊接的時候,把程序下載到單片機中后,發(fā)現(xiàn)了數(shù)碼管顯示的和預期設置的有些不同,在經過簡單的修改之后,我們成功的完成了我們的實驗作品。在此次課程設計中我學習到了好多新的知識,使受益匪淺。這次課程設計所用到的知識都是在自己理解的基礎之上,采用了一位動態(tài)顯示的數(shù)碼管,數(shù)碼管的工作原理;在硬件連接完成好以后進行檢測,當檢測所有的焊點都沒有問題后,讓單片機發(fā)送數(shù)據(jù)。用了C語言程序,實現(xiàn)了實驗的要求。軟件編寫時,對于某些指令的功能,功能模塊的連接,等都到了小問題,不過我查閱資料得到了解決,與此同時,了解了不少的問題。在這次
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 22200.1-2025低壓電器可靠性第1部分:通則
- 江蘇省蘇州市昆山市2025-2026學年高一上學期期末語文試卷(無答案)
- 2025-2026學年統(tǒng)編版二年級語文下冊第四單元達標訓練卷(A)(含答案)
- 2024-2025學年湖南省衡陽市船山實驗中學九年級(上)期末道德與法治試卷(含答案)
- 飛行技術答辯
- 2026內蒙古鄂爾多斯準格爾旗民族小學招聘考試備考題庫及答案解析
- 2026陜西西安新城區(qū)同德巷社區(qū)招聘公益性崗位工作人員3人備考考試題庫及答案解析
- 市場調查公司數(shù)據(jù)管理制度
- 2026年甘肅省蘭州大學第二醫(yī)院西固醫(yī)院水暖工招聘備考考試試題及答案解析
- 新人視頻活動策劃方案(3篇)
- 2026內蒙古鄂爾多斯市伊金霍洛旗九泰熱力有限責任公司招聘熱電分公司專業(yè)技術人員16人筆試模擬試題及答案解析
- 馬年猜猜樂(猜地名)打印版
- 河南豫能控股股份有限公司及所管企業(yè)2026屆校園招聘127人筆試模擬試題及答案解析
- 2025年浙江省嘉興市嘉善縣保安員考試真題附答案解析
- 要謙虛不要驕傲課件
- 2026國家保安員資格考試題庫及參考答案【完整版】
- 微生物檢驗質控措施分析
- 2026年黑龍江農業(yè)工程職業(yè)學院單招職業(yè)技能考試題庫及參考答案詳解1套
- 婦科腫瘤保留生育功能治療策略
- 宮頸癌病理課件
- 2025東航股份綜合管理部招聘筆試歷年參考題庫附帶答案詳解
評論
0/150
提交評論