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

正文內(nèi)容

精品畢業(yè)論文--基于51單片機(jī)的主從通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2024-12-05 10:08 本頁面
 

【文章內(nèi)容簡介】 字節(jié),這時(shí)接收器件可以將 SCL 線拉成低電平,從而使主機(jī)處于等待狀態(tài)。直到接收器件準(zhǔn)備好接收下一個(gè)字節(jié)時(shí),再釋放 SCL 線使之為高電平,從而使數(shù)據(jù)傳送可以繼續(xù)進(jìn)行。 數(shù)據(jù)傳送格式 : (1)字節(jié)傳送與應(yīng)答 每一個(gè)字節(jié)必須保證是 8位長度。數(shù)據(jù)傳送時(shí),先傳送最高位( MSB),每一個(gè)被傳送的字節(jié)后面都必須跟隨一位應(yīng)答位(即一幀共有 9位)。 原理圖如圖 33所示。 如果一段時(shí)間內(nèi)沒有收到從機(jī)的應(yīng)答信號,則自動認(rèn)為從機(jī)已正確接收到SCL SDA 要求數(shù)據(jù)穩(wěn)定 允許數(shù)據(jù)變化 要求數(shù)據(jù)穩(wěn)定 起始信號 S 終止信號 P 10 數(shù)據(jù)。 由于某種原因從機(jī)不對主機(jī)尋址信號應(yīng)答時(shí)(如從機(jī)正在進(jìn)行實(shí)時(shí)性的處理工作而無法接收總線上的數(shù)據(jù)),它必須將數(shù)據(jù)線置于高電平,而由主機(jī)產(chǎn)生一個(gè)終止信號以結(jié)束總線的數(shù)據(jù)傳送。如果從機(jī)對主機(jī)進(jìn)行了應(yīng)答,但在數(shù)據(jù)傳送一段時(shí)間后無法繼續(xù)接收更多的數(shù)據(jù)時(shí),從機(jī)可以通過對無法接收的第一個(gè)數(shù)據(jù)字節(jié)的 “ 非應(yīng)答 ” 通知主機(jī),主機(jī)則應(yīng)發(fā)出終止信號以結(jié)束數(shù)據(jù)的繼續(xù)傳送。當(dāng)主機(jī)接收數(shù)據(jù)時(shí),它收到最后一個(gè)數(shù)據(jù)字節(jié)后,必須向從機(jī)發(fā)出一個(gè)結(jié)束傳 送的信號。這個(gè)信號是由對從機(jī)的 “ 非應(yīng)答 ” 來實(shí)現(xiàn)的。然后,從機(jī)釋放 SDA 線,以允許主機(jī)產(chǎn)生終止信號。 圖 33 IIC 字符傳送格式 (2)數(shù)據(jù)幀格式 IIC 總線上傳送的數(shù)據(jù)信號是廣義的,既包括地址信號,又包括真正的數(shù)據(jù)信號。在起始信號后必須傳送一個(gè)從機(jī)的地址 (7 位 ),第 8位是數(shù)據(jù)的傳送方向位 (R/T),用 “ 0” 表示主機(jī)發(fā)送數(shù)據(jù) (T), “ 1” 表示主機(jī)接收數(shù)據(jù) (R)。每次數(shù)據(jù)傳送總是由主機(jī)產(chǎn)生的終止信號結(jié)束。但是,若主機(jī)希望繼續(xù)占用總線進(jìn)行新的數(shù)據(jù)傳送, 則可以不產(chǎn)生終止信號,馬上再次發(fā)出起始信號對另一從機(jī)進(jìn)行尋址。在總線的一次數(shù)據(jù)傳送過程中,可以有 三 種組合方式: 第一是 主機(jī)向從機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)傳送方向在整個(gè)傳送過程中不變 。第二是 主機(jī)在第一個(gè)字節(jié)后,立即從從機(jī)讀數(shù)據(jù) 。第三種剛是 在傳送過程中,當(dāng)需要改變傳送方向時(shí),起始信號和從機(jī)地址都被重復(fù)產(chǎn)生一次,但兩次讀 /寫方向位正好反相。 IIC 總線的尋址 是 采用 7 位的尋址字節(jié) (尋址字節(jié)是起始信號后的第一個(gè)字節(jié) )。 SDA (從機(jī) ) SDA (從機(jī) ) 起始信號 非應(yīng)答 應(yīng)答 SCL (主機(jī) ) 11 SPI 總線傳輸協(xié)議 SPI 的通信原理非常簡單, 它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和多個(gè)從設(shè)備。 其中 CS 信號是控制從機(jī)的芯片是否被選中的。如圖 34所示,系統(tǒng)內(nèi)有一個(gè)主設(shè)備 M1 和兩個(gè)從設(shè)備 S1 與 S2。當(dāng) S1 的片選信號 CS 為低電平時(shí), S1 被選中, M1 通過 MOSI 引腳發(fā)送數(shù)據(jù), S1 通過 MOSI 引腳接收數(shù)據(jù),或者 S1 通過 MISO 引腳發(fā)送數(shù)據(jù),而 M1 通過 MISO 引腳接收數(shù)據(jù)。同樣的,當(dāng) S2 的片選信號 CS 為低電平時(shí), S2 被選中, M1 通過 MOSI 引腳發(fā)送數(shù)據(jù),S2 通過 MOSI 引腳接收數(shù)據(jù),或者 S2 通過 MISO 引腳發(fā)送數(shù)據(jù),而 M1 通過MISO 引腳接收數(shù)據(jù)。從機(jī)只有通過 CS 信號選中之后,對此從機(jī)的操作才會有效,可見, 片選信號的存在使得允許在同一總線上連接多個(gè) SPI 設(shè)備成為可能。 當(dāng)從機(jī)芯片被選中,和主機(jī)建立連接之后,接下來就是負(fù)責(zé)通訊的 3 根線了。通訊是通過數(shù)據(jù)交換完成的,這里首先要知道 SPI 是串行通訊協(xié)議,也就是說數(shù)據(jù)是一位一位進(jìn)行傳輸?shù)摹_@就是 SCK 時(shí)鐘線存在的原因,傳輸時(shí),由 SCK提供時(shí)鐘脈沖, MOSI, MISO 則基于此脈沖完成數(shù)據(jù)傳輸。如圖 34 所示,當(dāng)M1 給 S1 發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)從 M1 輸出通過 MOSI線,數(shù)據(jù)在時(shí)鐘脈沖的上升沿或下降沿時(shí)輸出,在緊接著的下降沿或上升沿通過 S1 的 MOSI線被讀取。 當(dāng)S1 給 M1 發(fā)送數(shù) 據(jù)時(shí),原理是一樣的,只不過通過的是 MISO 線來完成 [10]。 圖 34 SPI 傳輸原理圖 要注意的是, SCK 信號線只由主設(shè)備控制,從設(shè)備不能控制時(shí)鐘信號線。因此,在一個(gè)基于 SPI的系統(tǒng)中,必須至少有一個(gè)主控設(shè)備。在點(diǎn)對點(diǎn)的通信中,SCK MISO MOSI CS M1 SCK MISO MOSI CS SCK MISO MOSI CS S1 S2 12 SPI接口不需要進(jìn)行尋址操作,且為全雙工通信,顯得簡單高效。在多個(gè)從設(shè)備的系統(tǒng)中,每個(gè)從設(shè)備需要獨(dú)立的使能信號,硬件上比 IIC 系統(tǒng)要稍微復(fù)雜一些。 SPI 是一個(gè)環(huán)形總線結(jié)構(gòu),其時(shí)序其實(shí)比較簡單,主要是在時(shí)鐘脈沖 SCK 的控制下 ,兩個(gè)雙向移位寄存器 SPIDATA 進(jìn)行數(shù)據(jù)交換。我們假設(shè)主機(jī)的 8 位寄存器 SPIDATA1 內(nèi)的數(shù)據(jù)是 10101010,而從機(jī)的 8 位寄存器 SPIDATA2 內(nèi)的數(shù)據(jù)是 01010101,在上升沿的時(shí)候發(fā)送數(shù)據(jù),在下降沿的時(shí)候接收數(shù)據(jù),最高位的數(shù)據(jù)先發(fā)送,主機(jī)和從機(jī)之間全雙工通信,也就是說兩個(gè) SPI 接口同時(shí)發(fā)送和接收數(shù)據(jù),如圖 35 所示。從圖中我們也可以看到, SPIDATA 移位寄存器總是將最高位的數(shù)據(jù)移出,接著將剩余的數(shù)據(jù)分別左移一位,然后將接收到得數(shù)據(jù)移入其最低位 [11]。 S C KM I S OM O S IC SS C KM I S OM O S IC SM 11 0 1 0 1 0 1 00 1 0 1 0 1 0 1M S B S P I D A T A I L S BM S B S P I D A T A I L S B 圖 35 SPI 主從工作模式示意圖 如圖 36 所示,當(dāng)?shù)谝粋€(gè)上升沿來的時(shí)候, SPIDATA1 將最高位 1 移除,并將所有數(shù)據(jù)左移 1 位,這時(shí) MOSI線為高電平,而 SPIDATA2 將最高位 0 移出,并將所有數(shù)據(jù)左移 1 位,這樣 MISO 線為低電平。然后當(dāng)下降沿到來的時(shí)候,SPIDATA1 將鎖存 MISO 線上的電平,并將其移入其最低位,同樣的, SPIDATA2將鎖存 MOSI 線上的電平,并將其移入最低位。經(jīng)過 8 個(gè)脈沖后,兩個(gè)移位寄存器就實(shí)現(xiàn)了數(shù)據(jù)的交換,也就是完成了一次 SPI的時(shí)序 [11]。 1 0 1 1 10 0 00 1 0 0 01 1 X0 1 0 0 01 1 00 1 0 0 01 1 11 0 1 1 10 0 X1 0 1 1 10 0 110 01第 一 個(gè) 脈 沖上 升 沿第 一 個(gè) 脈 沖下 降 沿 圖 36 數(shù)據(jù)傳輸示例 13 串口通信傳輸協(xié)議 由于本次設(shè)計(jì)的題目是基于 8051 單片機(jī)的主從式通信系統(tǒng)的設(shè)計(jì),因此有關(guān)串口通信的原理的介紹都是圍繞 51 單片機(jī)講解的。 80C51 單片機(jī)的串行口的結(jié)構(gòu) MCS51 單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個(gè)在物理上獨(dú)立的接發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器剛只能寫入不能讀出。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可以實(shí)現(xiàn)串行 異步通信,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可以方便地構(gòu)成標(biāo)準(zhǔn)的 RS232 接口 [7][12]。 80C51 單片機(jī)的串行口的結(jié)構(gòu)如圖 37 所示 。 ≥ 1S B U F發(fā) 送 控 制 器接 收 控 制 器移 位 寄 存 器控 制 門T IR IAT X DR X D去 串 口 中 斷S M O D01T H 1 T L 1247。 2247。 1 6S B U FT 1 溢 出 率 圖 37 80C51 單片機(jī)的串行口的結(jié)構(gòu) 串行口 有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器 SBUF,它們占用同一地址99H ;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因?yàn)榘l(fā)送時(shí) CPU 是主動的,不會產(chǎn)生重疊錯(cuò)誤。 80C51 串行口的控制寄存器 1. 特殊功能寄存器 SCON SCON 是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作 方式、接收 /發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志 ,字節(jié)地址為 98H。 SCON 寄存器 的各位定義如 表 31 所示。 位 7 6 5 4 3 2 1 0 字節(jié)地址: 98H SM0 SM1 SM2 REN TB8 RB8 TI RI SCON 14 表 31 SCON 寄存器 SM0 和 SM1 為工作方式選擇位,可選擇四種工作方式 ,如 表 32 所示。 SM0 SM1 方式 說明 波特率 0 0 0 移位寄存器 fosc/12 0 1 1 10 位異步收發(fā)器 (8位數(shù)據(jù) ) 可變 1 0 2 11 位異步收發(fā)器 (9位數(shù)據(jù) ) fosc/64 或 fosc/32 1 1 3 11 位異步收發(fā)器 (9位數(shù)據(jù) ) 可變 表 32 串口通信 4 種工作方式 SM2 為 多機(jī)通信控制位,主要用于方式 2 和方式 3。當(dāng)接收機(jī)的 SM2=1 時(shí)可以利用收到的 RB8 來控制是否激活 RI( RB8= 0 時(shí)不激活 RI,收到的信息丟棄; RB8= 1 時(shí)收到的數(shù)據(jù)進(jìn)入 SBUF,并激活 RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從 SBUF 讀走)。當(dāng) SM2=0 時(shí),不論收到的 RB8 為 0 和 1,均可以使收到的數(shù)據(jù)進(jìn)入 SBUF,并激活RI(即此時(shí) RB8 不具有控制 RI 激活的功能)。通過控制 SM2,可以實(shí)現(xiàn)多機(jī)通信。 在方式 0 時(shí), SM2 必須是 0。在方式 1 時(shí),若 SM2=1,則只有接收到有效停止位時(shí), RI 才置 1。 REN 為允許串行接收位。由軟件置 REN=1,則啟動串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。 TB8 用 在方式 2 或方式 3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀 /數(shù)據(jù)幀的標(biāo)志位 (在方式 0 和方式 1中,該位未用 ) 。 RB8 用 在方式 2 或方式 3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式 1時(shí),若 SM2=0,則 RB8 是接收到的停止位。 TI,發(fā)送中斷標(biāo)志位。在方式 0時(shí),當(dāng)串行發(fā)送第 8 位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行發(fā)送停止位的開始時(shí),由內(nèi)部硬件使 TI 置 1,向 CPU 發(fā)中斷申請。在中斷服務(wù)程序中,必須用軟件將其清 0,取消此中斷申請。 RI,接收中斷標(biāo)志位。在方式 0時(shí),當(dāng)串行接收第 8 位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行接收停止位的中間時(shí),由內(nèi)部硬件使 RI 置 1,向 CPU 發(fā)中斷申請。也必須在中斷服務(wù)程序中,用軟件將其清 0,取消此中斷申請 [7]。 2.特殊功能寄存器 PCON PCON 的字節(jié)地址為 87H,它的第 7 位 SMOD 是與串口通信波特率的設(shè)置有關(guān)的選 擇位。 SMOD()為 波特率倍增位。在串行口方式 方式 方式 3時(shí),波特率與 SMOD 有關(guān),當(dāng) SMOD=1 時(shí),波特率提高一倍。復(fù)位時(shí), SMOD=0。 15 80C51 單片機(jī)串行口的工作方式 0 設(shè)置 SCON 寄存器的 SM0、 SM1= 0 0 時(shí),串行口工作于方式 0。 此 時(shí),串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由 RXD()引腳輸入或輸出,同步移位脈沖由 TXD()引腳輸出。發(fā)送和接收均為 8 位數(shù)據(jù),低位在先,高位在后。波特率固定為 fosc/12。 其中 fosc 為時(shí)鐘頻率。 2.方式 1 設(shè)置 SCON 寄存器的 SM0、 SM1= 0 1 時(shí),串行口工作于方式 1。 方式 1是10位數(shù)據(jù)的異步通信口。 TXD 為數(shù)據(jù)發(fā)送引腳, RXD 為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中 1 位起始位, 8位數(shù)據(jù)位, 1 位停止位。 用軟件置REN 為 1 時(shí),接收器以所選擇波特率的 16 倍速率采樣 RXD 引腳電平,檢測到 RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最 左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng) RI=0,且 SM2=0(或接收到的停止位為 1)時(shí),將接收到的 9位數(shù)據(jù)的前 8 位數(shù)據(jù)裝入接收 SBUF,第 9 位(停止位)進(jìn)入 RB8,并置 RI=1,向 CPU 請求中斷。 方式一的輸入輸出圖如圖 3 39所示。 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7寫 入 S B U F停 止 位T X DT I ( 中 斷 標(biāo) 志 )起 始 圖 38 方式 1 輸入 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7停 止 位R X DR I ( 中 斷 標(biāo) 志 )起 始位 采 樣 脈 沖 圖 39 方式 1 輸出 2. 方式 2和方式 3 設(shè)置 SCON 寄存器的 SM0、 SM1= 1 0 時(shí),串行口工作于方式 2,當(dāng) SM0、SM1
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1