freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

精品畢業(yè)論文--基于51單片機的主從通信系統(tǒng)的設(shè)計與實現(xiàn)-wenkub.com

2024-10-26 10:08 本頁面
   

【正文】 case 6: //主機接收從機 2發(fā)給從機 1的數(shù)據(jù)的程序 csh()。 flag2=0。q++) { SBUF=shuju[q]。 csh()。 while(!TI)。 case 5: //主機接收從機 1發(fā)給從機 2的數(shù)據(jù)的程序 csh()。 flag1=0。qp2。 for(b=1。 p=0。 SBUF=0xdd。 break。 } } p=0。 } if(temp1[b]==shuju[p2]) { for(q=1。 if(shuju[0]==0xcc) { temp1[1]=0x00。 flag1=0。 ES=0。 zdc2()。 switch(a) { case 1: //主機給人機 1發(fā)送數(shù)據(jù)程序 csh()。//讓 P1口全為高電平,方便以后鍵盤掃描 shujuchang1()。 } } if(key5==0) { if(key5==0) { while(key5==0)。 key3=1。 30 a=3。 } } if(key1==0) { if(key1==0) { while(key1==0)。 TI=0。 while(TI==0)。 while(TI==0)。 while(TI==0)。 } SBUF=temp[s]。 while(im) { SBUF=tab[i]。x) for(y=110。t++) { temp[t+1]=temp[t]+table[t]。 } } void shujuchang2() //將主機給從機 1發(fā)送的數(shù)據(jù)進行位數(shù)計算并求和 { n=0。 while(tab[m]!=0x00) { m++。 ET1=0。 TH1=0xfd。 REN=1。 unsigned char code tab[]={0xaa/*控制字 */,0xfc/*0*/,0x60/*1*/,0xda/*2*/,0xf2/*3*/,0x66/*4*/, 0xb6/*5*/,0xbe/*6*/,0xe0/*7*/,0xfe/*8*/,0xf6/*9*/,0x00}。 uchar temp[20]。 sbit key6=P1^6。 sbit key2=P1^2。 25 致 謝 感謝 。最后在 Proteus 軟 件上進行了系統(tǒng)的仿真與調(diào)試。 在進行課題研究的過程中,本人加深了對串口通信、 IIC 總線通信與 SPI 總線通信的理解,尤其是對 串口通信的通信有了深刻的認識。所以可以肯定,此次設(shè)計的硬件和軟件都是滿足要求的。這是因為這些數(shù)據(jù)數(shù)碼管上顯示時分別為 0 到 9,這樣可以使傳送的數(shù)據(jù)直觀的顯示出來。這樣就可以一目了然的知道仿真結(jié)果的正確性了。本次設(shè) 計采用一個單片機作主機,兩個單片機作從機進行主從通信,具體 程序 流程如圖 4圖 4圖 44 如下所示。如果所得的求和值與發(fā)送機發(fā)出的求 和校驗碼一致時,則表示數(shù)據(jù)發(fā)送正確,可以接收并存儲。如果不一致,則放棄接收到的數(shù)據(jù)。這種傳輸模式的優(yōu)點是相對于可靠傳輸而言,傳輸速率要更高。主機發(fā)送的如果是 0xee 或者是 0xff 控制命令字時,則表示從機與從機之間進行數(shù)據(jù)通信,此時,數(shù)據(jù)首先由從機傳送給主機,再由主機三態(tài)門 三態(tài)門 T R T R T R 主機 從機1 從機2 20 傳送給另外一個從機。 本次設(shè)計所設(shè)計的通信協(xié)議為: 主 機首先給所有的從機發(fā)送一個控制命令字,從機接收到這個控制命令字后進行辨認,如果是 0xaa 則從機 1 準(zhǔn)備接收主機的數(shù)據(jù),從機 2 處于待機狀態(tài),而主機則會在發(fā)送完前面的控制命令字后發(fā)送在傳送的數(shù)據(jù)信號。 數(shù)據(jù)的可變不僅包括數(shù)據(jù)的內(nèi)容,還應(yīng)該包括數(shù)據(jù)的長度。 具體的電路原理圖如圖 41所示。 為了解決上述所提到的問題,可以設(shè)計一些硬件電路來實現(xiàn)。其一:當(dāng)單片機處于待機狀態(tài)時,單片機的各個 I/O 口被默認為是高電平,而當(dāng)主機與一個從機進行通信,另一個從機不工作的話,傳輸線上的信號就會受到另一從機的影響,最終數(shù)據(jù)傳送會發(fā)生錯誤。因此,可以將主機的 TXD 管腳與從機的 RXD 相連接,以實現(xiàn)主機發(fā)送數(shù)據(jù)從機接收數(shù)據(jù)的功能。本文首先設(shè)計出主從通信的硬件原理圖,然后再編寫出了相應(yīng)的代碼。 另外,雖然 IIC 和 SPI 比 UART 更加強大,但是在技術(shù)上也在更麻煩一些 。 方案選取 就三種數(shù)據(jù)傳輸協(xié)議的方式來看,串口通信是這三種方式中最為簡單也是最好實現(xiàn)通信方式的一種。 ( T1溢出率) 當(dāng) T1 作為波特率發(fā)生器時,最典型的用法是使 T1 工作在自動再裝入的 8位定時器方式(即方式 2,且 TCON 的 TR1=1,以啟動定時器)。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不相同。 接收時 序圖如圖 311所示。 發(fā)送時序圖如下圖 310 所示。 方式 2 和方式 3輸出 : 發(fā)送開始時,先把起始位 0輸出到 TXD 引腳,然后發(fā)送移位寄存器的輸出位( D0)到 TXD 引腳。 方式 2或方式 3 為 11 位數(shù)據(jù)的異步通信口。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最 左邊時,控制電路進行最后一次移位。 方式 1是10位數(shù)據(jù)的異步通信口。發(fā)送和接收均為 8 位數(shù)據(jù),低位在先,高位在后。 15 80C51 單片機串行口的工作方式 0 設(shè)置 SCON 寄存器的 SM0、 SM1= 0 0 時,串行口工作于方式 0。 2.特殊功能寄存器 PCON PCON 的字節(jié)地址為 87H,它的第 7 位 SMOD 是與串口通信波特率的設(shè)置有關(guān)的選 擇位。在中斷服務(wù)程序中,必須用軟件將其清 0,取消此中斷申請。 RB8 用 在方式 2 或方式 3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗位或地址幀/數(shù)據(jù)幀的標(biāo)志位。 REN 為允許串行接收位。當(dāng) SM2=0 時,不論收到的 RB8 為 0 和 1,均可以使收到的數(shù)據(jù)進入 SBUF,并激活RI(即此時 RB8 不具有控制 RI 激活的功能)。 SCON 寄存器 的各位定義如 表 31 所示。 ≥ 1S B U F發(fā) 送 控 制 器接 收 控 制 器移 位 寄 存 器控 制 門T IR IAT X DR X D去 串 口 中 斷S M O D01T H 1 T L 1247。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器剛只能寫入不能讀出。然后當(dāng)下降沿到來的時候,SPIDATA1 將鎖存 MISO 線上的電平,并將其移入其最低位,同樣的, SPIDATA2將鎖存 MOSI 線上的電平,并將其移入最低位。 SPI 是一個環(huán)形總線結(jié)構(gòu),其時序其實比較簡單,主要是在時鐘脈沖 SCK 的控制下 ,兩個雙向移位寄存器 SPIDATA 進行數(shù)據(jù)交換。 圖 34 SPI 傳輸原理圖 要注意的是, SCK 信號線只由主設(shè)備控制,從設(shè)備不能控制時鐘信號線。通訊是通過數(shù)據(jù)交換完成的,這里首先要知道 SPI 是串行通訊協(xié)議,也就是說數(shù)據(jù)是一位一位進行傳輸?shù)?。?dāng) S1 的片選信號 CS 為低電平時, S1 被選中, M1 通過 MOSI 引腳發(fā)送數(shù)據(jù), S1 通過 MOSI 引腳接收數(shù)據(jù),或者 S1 通過 MISO 引腳發(fā)送數(shù)據(jù),而 M1 通過 MISO 引腳接收數(shù)據(jù)。 IIC 總線的尋址 是 采用 7 位的尋址字節(jié) (尋址字節(jié)是起始信號后的第一個字節(jié) )。但是,若主機希望繼續(xù)占用總線進行新的數(shù)據(jù)傳送, 則可以不產(chǎn)生終止信號,馬上再次發(fā)出起始信號對另一從機進行尋址。然后,從機釋放 SDA 線,以允許主機產(chǎn)生終止信號。 由于某種原因從機不對主機尋址信號應(yīng)答時(如從機正在進行實時性的處理工作而無法接收總線上的數(shù)據(jù)),它必須將數(shù)據(jù)線置于高電平,而由主機產(chǎn)生一個終止信號以結(jié)束總線的數(shù)據(jù)傳送。 數(shù)據(jù)傳送格式 : (1)字節(jié)傳送與應(yīng)答 每一個字節(jié)必須保證是 8位長度。 圖 32 起始信號和終止信號原理圖 起始和終止信號都是由主機發(fā)出的,在起始信號產(chǎn)生后,總線就處于被占用的狀態(tài);在終止信號產(chǎn)生后,總線就處于空閑狀 態(tài)。在多主 機系統(tǒng)中,可能同時有幾個主機企圖啟動總線傳送數(shù)據(jù)。連到總線上的任一器件輸出的 低電平,都將使總線的信號變低,即各器件的 SDA 及 SCL 都是線 “與 ”關(guān)系 [7][9]。 IIC 總線只有兩根雙向信號線。 接收設(shè)備 01001 0101001001 0101001001 01110 任意間隙 發(fā)送設(shè)備 8 圖 24 同步通信原理圖 3 幾種常用串行總線協(xié)議 及方案 選取 目前使用的比較廣泛的串行總線傳輸協(xié)議有 IIC 總線傳輸協(xié)議、 SPI 總線傳輸協(xié)議以及 RS232 總線協(xié)議。 圖 23 異步通信原理圖 同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。 同 步通信與異步通信 異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時鐘控制數(shù)據(jù)的發(fā)送和接收過程。 圖 22 三種傳輸方式 不同的工作模 式可以應(yīng)用在不同的地方,也各有其優(yōu)點。全雙工方式時允許雙方同時進行數(shù)據(jù)雙向傳送。 工作模式 數(shù)據(jù)傳輸查模式有單工、半雙工、全雙工和多工工作方式。接收端會因起始位的觸發(fā) (因電壓由低電位升至高電位 )而開始接收數(shù)據(jù),并因停止位的通知 (因電壓維持在低電位 )而確切數(shù) 據(jù)的字符信號已經(jīng)結(jié)束 [5]。以實際的 RS232傳輸來看,由于大多數(shù)應(yīng)用只是發(fā)送文字碼,因此只要 7個位就可以將 ASCII碼的 0127號字符表達出來,所有的可見字符都在這個范圍內(nèi),所以只要 7個數(shù)據(jù)位就足夠了。取樣 速度只有原來的一半時,信號被跳著取樣,數(shù)據(jù)因此產(chǎn)生錯誤。 通信參數(shù) 雙方為了可以進行通信,必須要遵守一定的通信規(guī)則,這個共同的規(guī)則 就是通信端口的初始化。 并行數(shù)據(jù)通信是指數(shù)據(jù)的各位同時進行傳送的通信方式。 DTE 與 DCE 間的數(shù)據(jù)傳輸線路通常使用 RS232 串行通信,而 DCE 與 DSE 間的媒體則包括了雙絞線、同軸電纜、光纖或無線電等 [5] [6]。 一個完整的通信系統(tǒng)包括發(fā)送端、接收端、轉(zhuǎn)換數(shù)據(jù)的接口及發(fā)送數(shù)據(jù)的實際信道或媒體。 5 2 串行通信理論的 有關(guān) 概念 通信 不同的獨立系統(tǒng)利用線路互相交換數(shù)據(jù)便是通信,而構(gòu)成整個通信的線路稱為網(wǎng)絡(luò)。 并且在此硬件 基礎(chǔ)上進行相應(yīng)的軟件代碼編寫。比如有通信、工作模式和 同 步 4 異步通信等,對此章的更好了解有助于 IIC 總線傳輸協(xié)議、串口通信等原理的學(xué)習(xí)。同時通信協(xié)議也對主從機之間的接收 /發(fā)送數(shù)據(jù)流程有了 直觀的規(guī)定。 在本次主從 式通信系統(tǒng)的設(shè)計與實現(xiàn)過程中,首先要做的工作是設(shè)計出一個主從式通信系統(tǒng)的硬件原理框圖,然后在此原理框圖的基礎(chǔ)上進行具體的硬件電路設(shè)計,在設(shè)計過程中要充分考濾到可能出現(xiàn)的問題,然后找出合理的方法解決。 本文的主要工作 本次畢業(yè)設(shè)計的主要工作是設(shè)計出一個 51 單片機總線式主從通信系統(tǒng)。SPI 接口 主要應(yīng)用在 EEPROM, FLASH,實時時鐘, AD 轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。 USB 數(shù)據(jù)線由兩對線組成,一對數(shù) 3 據(jù)線,一對電力線,通過電力線可以為 USB 設(shè)備提供 5V 電壓,允許通過最大電流為 500mA ,這個數(shù)字不算很大,但好在聊勝于無,可以滿足一些耗電量較少的設(shè)備的需求,通過特殊的 USB 互聯(lián)設(shè)備,我們還可以用 USB 口實現(xiàn)雙機聯(lián)網(wǎng),速度是 的標(biāo)準(zhǔn)達 12Mbps( ),可惜僅能進行簡單的數(shù)據(jù)交換,不能稱做真正的網(wǎng)絡(luò)。它使得 IIC總線能夠支持現(xiàn)有以及將來的高速串行傳輸應(yīng)用,例如 EEPROM 和 Flash 存儲器。 基本的 I2C 總線規(guī)范于 20 年前發(fā)布,其數(shù)據(jù)傳輸速率最高為 100Kbits/s,采用 7位尋址。作為一個專利的控制總線, IIC 已經(jīng)成為世界性的工業(yè)標(biāo)準(zhǔn) 。目前比較常用的有利用 IIC 總線傳輸協(xié)議設(shè)計的主從式總線通信系統(tǒng),還有的是利用 SPI總線傳輸協(xié)議和 USB協(xié)議以及串口通信等設(shè)計的主從式總線通信系統(tǒng)。這是因為 用串行總線技術(shù)可以使 集總分散 系統(tǒng)的硬件設(shè)計大大簡化、系統(tǒng)的體積減小、可靠性提高。 由于串行通信是在一根傳輸線上一位一位的傳送信息 ,所用的傳輸線少 ,并且可以借助現(xiàn)成的電話網(wǎng)進行信息傳送 ,因此 ,特別適
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1