基于51單片機(jī)的多機(jī)通信系統(tǒng).doc
《基于51單片機(jī)的多機(jī)通信系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《基于51單片機(jī)的多機(jī)通信系統(tǒng).doc(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。
課程設(shè)計報告 課程 單片機(jī)技術(shù) 題目 串口通信-多機(jī)通信系統(tǒng) 系 別 年 級 07級 專 業(yè) 電子科學(xué)與技術(shù) 班 級 學(xué) 號 學(xué)生姓名 指導(dǎo)教師 職 稱 設(shè)計時間 目 錄 1 題設(shè)要求分析 1 2 硬件電路的設(shè)計 3 2.1 系統(tǒng)的組成 3 2.2 系統(tǒng)的工作原理 3 2.3 硬件電路原理圖設(shè)計 4 2.4 硬件電路的實(shí)現(xiàn) 6 3 軟件電路的設(shè)計 8 3.1 通信協(xié)議的設(shè)計 8 3.2 主機(jī)程序設(shè)計 8 3.3 從機(jī)程序設(shè)計 12 4 系統(tǒng)的調(diào)試與實(shí)現(xiàn) 15 4.1 從機(jī)模塊調(diào)試 15 4.2 LED顯示模塊調(diào)試 15 4.3電平轉(zhuǎn)換模塊功能調(diào)試 15 4.4主機(jī)模塊功能調(diào)試 16 4.5整體設(shè)計功能調(diào)試 16 參考文獻(xiàn) 18 1 題設(shè)要求分析 本小組的試驗(yàn)題目如下: 一、任務(wù): 設(shè)計實(shí)現(xiàn)多臺單片機(jī)系統(tǒng)之間的串行通信 二、基本要求(難度系數(shù)0.8): (1)設(shè)計一個主從式多機(jī)通信系統(tǒng),包含1臺主機(jī)和3臺從機(jī),主機(jī)和從機(jī)全部為單片機(jī); (2)選擇合適總線接口芯片,正確連接主機(jī)和從機(jī); (3)編程實(shí)現(xiàn)分布式數(shù)據(jù)采集功能,主機(jī)可以獲取各分機(jī)當(dāng)前AD轉(zhuǎn)換結(jié)果,并顯示。 三、發(fā)揮部分: (1)完善通信功能。(根據(jù)完成情況加分,上限+0.2) 經(jīng)過本小組成員對本課題認(rèn)真討論先做出如下分析: 對課題分析后本小組認(rèn)為本次實(shí)驗(yàn)的目的是就是應(yīng)用單片的串口通信功能實(shí)現(xiàn)一個分布式采集系統(tǒng)。整個系統(tǒng)中包含一片主機(jī)和三片從機(jī),主機(jī)的任務(wù)是實(shí)現(xiàn)對三片從機(jī)的AD轉(zhuǎn)換結(jié)果的采集并在數(shù)碼管上顯示之。這樣從硬件的角度上將整個系統(tǒng)分為兩個模塊——主機(jī)模塊和從機(jī)模塊。主機(jī)模塊中包含單片機(jī)模塊、led數(shù)碼管顯示子模塊和串口電平轉(zhuǎn)換子模塊,從機(jī)模塊則包括單片機(jī)子模塊、AD轉(zhuǎn)換子模塊和串口電平轉(zhuǎn)換子模塊。就本次試驗(yàn)而言硬件電路的設(shè)計難點(diǎn)在于串口電平轉(zhuǎn)換芯片的選擇及其連接,而軟件的設(shè)計難點(diǎn)在于串口通信協(xié)議的制定及相關(guān)程序的編寫。 實(shí)現(xiàn)多機(jī)通信方案的實(shí)現(xiàn)。不同于雙機(jī)通信多機(jī)通信系統(tǒng)中需要識別通信信息發(fā)出者或是接受者是誰。經(jīng)過查閱資料發(fā)現(xiàn)在大多數(shù)的多機(jī)通信系統(tǒng)中都是才采用地址識別的方法實(shí)現(xiàn)的。所謂地址識別方法就是在發(fā)送或接受信息前先發(fā)送和校驗(yàn)地址幀。就本題目而言,先要對通信系統(tǒng)中的每臺機(jī)器分配一個唯一的地址作為識別信息。具體的識別過程如下: n 首先,從機(jī)處于只接收地址幀的狀態(tài); n 主機(jī)發(fā)送一幀地址信息; n 從機(jī)接受到地址幀后,將本機(jī)地址與地址幀中的地址進(jìn)行比較,如果地址相同準(zhǔn)備接受數(shù)據(jù),否則丟棄當(dāng)前幀,依然處于只接受地址幀的狀態(tài); n 主機(jī)發(fā)送數(shù)據(jù)幀,相應(yīng)的從機(jī)接受數(shù)據(jù),數(shù)據(jù)傳送完畢后,從機(jī)繼續(xù)回到只接受地址幀的狀態(tài),在這個過程中其他從機(jī)不受影響; n 當(dāng)主機(jī)需要與其他從機(jī)進(jìn)行數(shù)據(jù)傳輸時,可以再次發(fā)送地址幀呼叫從機(jī),重復(fù)這一過程[1]。 對于本題而言可通過此過程實(shí)現(xiàn)主機(jī)對從機(jī)的絕對控制。這樣在主機(jī)中編寫一個循環(huán)程序就可以實(shí)現(xiàn)對三臺從機(jī)的AD轉(zhuǎn)換結(jié)果的不停采集。至于地址幀與數(shù)據(jù)幀的區(qū)別則可通過串口工作方式三下的第九位的置1或置0來實(shí)現(xiàn)。在完成通信的基礎(chǔ)上,再將采集到的三路結(jié)果分別用兩個led數(shù)碼管顯示即可試驗(yàn)預(yù)期目的。 2 硬件電路的設(shè)計 2.1 系統(tǒng)的組成 根據(jù)題目分析可知硬件電分為主機(jī)模塊和從機(jī)模塊。主機(jī)模塊中包含單片機(jī)子模塊、led數(shù)碼管顯示子模塊和串口電平轉(zhuǎn)換子模塊,從機(jī)模塊則包括單片機(jī)子模塊、AD轉(zhuǎn)換子模塊和串口電平轉(zhuǎn)換子模塊。在主模塊中由AT89S51單片機(jī)擔(dān)任主機(jī),六個led數(shù)碼管擔(dān)任顯示設(shè)備和一片MAX485擔(dān)任串口的電平轉(zhuǎn)換。在整個主機(jī)系統(tǒng)中有三個從機(jī)模塊三個從機(jī)模塊結(jié)構(gòu)一樣,有一片AT89S51單片機(jī)擔(dān)任從機(jī)外接一片ADC0809轉(zhuǎn)換芯片和一片MAX485擔(dān)任串口的電平轉(zhuǎn)換。串口采用單工及異步通信方式。整個硬件結(jié)構(gòu)原如圖1所示。 圖 1 系統(tǒng)結(jié)構(gòu)原理圖 2.2 系統(tǒng)的工作原理 主機(jī)AT89S51編程可實(shí)現(xiàn)循環(huán)訪問個從機(jī),當(dāng)從機(jī)接受主機(jī)訪問后啟動AD轉(zhuǎn)換設(shè)備ADC0809對外部模擬信號進(jìn)行轉(zhuǎn)換。當(dāng)從機(jī)獲得轉(zhuǎn)換結(jié)果后通過串口將其發(fā)送到主機(jī),主機(jī)接受到轉(zhuǎn)換結(jié)果后再將其發(fā)送到相應(yīng)的led數(shù)碼管顯示。 2.3 硬件電路原理圖設(shè)計 (1)led數(shù)碼管顯示電路 led數(shù)碼管顯示電路如圖2所示顯示子模塊由六個數(shù)碼管和相應(yīng)的啟動芯片構(gòu)成。其中每路通道的采集值用量為數(shù)碼管顯示。為了節(jié)約單片機(jī)的I/O口本題的數(shù)碼管采用MAX7219芯片。給芯片的優(yōu)點(diǎn)在于可完成電路的刷新。MAX7219芯片的SEG A-SEG DP為數(shù)碼管段碼接口,DIG0-DIG7為位碼接口,CLK、DIN、LOAD分別與單片機(jī)P1.0、P1.1、P1.2連接。單片機(jī)通過串行的方式將要顯示的數(shù)據(jù)通過CLK、DIN、LOAD三個接口送入相應(yīng)的顯示寄存器內(nèi),MAX7219將自動完成對數(shù)碼管的刷新工作。具體的電路如圖2所示。 圖 2 led顯示電路 (2)串口電平轉(zhuǎn)換電路 串口電平轉(zhuǎn)換電路的電路圖如圖3所示:本實(shí)驗(yàn)中采用MAX485的電平轉(zhuǎn)換芯片。MAX485是一種RS-485標(biāo)準(zhǔn)接口的電平轉(zhuǎn)換芯片。RS-485采用差分式半雙工通信方式,真正實(shí)現(xiàn)多點(diǎn)總線連接,具有傳輸距離遠(yuǎn)可靠性高的特點(diǎn)。基于以上原因本小組選擇該芯片實(shí)現(xiàn)電平轉(zhuǎn)換。MAX485的1號引腳RO為接收端接單片RXD, 4號引腳DI為發(fā)送端接單片TXD, 2、3號引腳分別為發(fā)送接收使能端端接單片P1.3引腳。6、7號引腳總線接線口。 圖 3 電平轉(zhuǎn)換電路 (3)主機(jī)模塊電路 根據(jù)設(shè)計要求繪制主機(jī)模塊電路圖如圖4所示。 圖 4 主機(jī)模塊電路圖 (4)從機(jī)模塊電路 根據(jù)設(shè)計要求繪制從機(jī)模塊電路圖如圖5所示。 圖 5 從機(jī)模塊電路圖 2.4 硬件電路的實(shí)現(xiàn) 首先是主從機(jī)電路的實(shí)現(xiàn)。主機(jī)的電路的搭建采用主CPU板、鍵盤顯示接口板各一塊。照實(shí)驗(yàn)原理圖將主CPU板的P0口接到鍵盤顯示接口板的位碼接口,P1口接到鍵盤顯示接口板的段碼的接口。從機(jī)的電路由CPU板和ADDA轉(zhuǎn)換板構(gòu)成。 其次是電平轉(zhuǎn)換電路的焊接。電平轉(zhuǎn)換的路的實(shí)現(xiàn)是通過自己搭建電路完成。電平轉(zhuǎn)換的電路主要有四塊MAX485和兩個100Ω電阻構(gòu)成。四塊MAX485采用總線方式連接,每個芯片分別引出三個引腳用于單片的連接。 最后將各個模塊的按照原理圖連接起來。 圖 6 硬件電路的連接 3 軟件電路的設(shè)計 3.1 通信協(xié)議的設(shè)計 通信協(xié)議的設(shè)計的設(shè)計是本題的重點(diǎn)難點(diǎn),本題通信協(xié)議主要是區(qū)別主機(jī)和從機(jī)。由于串口的方式2、3發(fā)送和接收都是11位其第九為可編程置位可以此作為區(qū)分地址幀與數(shù)據(jù)幀從而實(shí)現(xiàn)主機(jī)與從機(jī),從機(jī)與從機(jī)的區(qū)別。通信協(xié)議同樣要規(guī)定相同通信速率。參考相關(guān)資料后編寫如下的通信協(xié)議。 n 數(shù)據(jù)傳輸?shù)碾p方均使用9600kb/s的速率傳送數(shù)據(jù),使用主從式通信,主機(jī)發(fā)送數(shù)據(jù),從機(jī)接受數(shù)據(jù),雙方在發(fā)送數(shù)據(jù)時使用查詢方式。 n 雙機(jī)開始數(shù)據(jù)傳輸時,主機(jī)發(fā)送地址幀呼叫從機(jī)。 n 各從機(jī)開始都處于只收地址幀狀態(tài)。接收到地址幀后,將接收到的地址內(nèi)容和本機(jī)地址比較,如果地址相同,則向主機(jī)返回本機(jī)地址作為確認(rèn)信息,并開始接收數(shù)據(jù);如果不同,則繼續(xù)等待。 n 主機(jī)在發(fā)送地址幀后等待,如果接收到的應(yīng)答信息中的內(nèi)容和所發(fā)地址幀的內(nèi)容相同,就開始發(fā)送數(shù)據(jù),如果不一致,主機(jī)將繼續(xù)發(fā)送地址幀。如多次應(yīng)答仍無回應(yīng)則認(rèn)為出錯則主機(jī)跳出本次通信。 n 從機(jī)在接收完數(shù)據(jù)后,將根據(jù)最后的校驗(yàn)結(jié)果判斷數(shù)據(jù)接收是否正確,若校驗(yàn)真確,則向主機(jī)發(fā)送2AH信號,同時點(diǎn)亮led燈半秒鐘,表示本次通信成功;若校驗(yàn)錯誤,則發(fā)送F0H信號,表示接收數(shù)據(jù)錯誤,并請求從發(fā)。 n 主機(jī)接收到2AH信號,則通信結(jié)束,否則主機(jī)將重新發(fā)送這組數(shù)據(jù)。 3.2 主機(jī)程序設(shè)計 依據(jù)試驗(yàn)要求及相應(yīng)的通信協(xié)議現(xiàn)繪制如下的主機(jī)程序流程圖: 圖 7 主機(jī)程序流程圖 主機(jī)程序: #include- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 51 單片機(jī) 通信 系統(tǒng)
鏈接地址:http://www.hcyjhs8.com/p-6655801.html