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

正文內(nèi)容

l第7章89c51串行口及串行通信技術(shù)(完整版)

2025-03-08 19:25上一頁面

下一頁面
  

【正文】 圖 78所示。移位脈沖的速率即是波特率。? 它可以作 UART(通用異步接收和發(fā)送器) 用,也可以作 同步移位寄存器 用。返回3/2/2023 33串行通信協(xié)議( 4)停止位約定 在奇偶位或數(shù)據(jù)位(當(dāng)無奇偶校驗時)之后發(fā)送的是停止位。返回3/2/2023 31串行通信協(xié)議( 2)數(shù)據(jù)位 當(dāng)接收設(shè)備收到起始位后,緊接著就會收到數(shù)據(jù)位。返回3/2/2023 29串行通信協(xié)議? 通信協(xié)議是對數(shù)據(jù)傳送方式的規(guī)定,包括數(shù)據(jù)格式定義和數(shù)據(jù)位定義等。? 在串行通信控制電路中,串 并、并 串轉(zhuǎn)換邏輯被集成在串行異步通信控制器芯片中。這時,傳送的波特率為: 10b/字符 120字符/ s= 1200b/ s返回3/2/2023 21波特率( Baud rate)? 每一位代碼的傳送時間 Td為波特率的倒數(shù)。返回3/2/2023 16? 圖 73( a) 表示一個字符緊接一個字符傳送的情況,上一個字符的停止位和下一個字符的起始位是緊鄰的;? 圖 73( b) 則是兩個字符間有空閑位的情況,空閑位為 1,線路處于等待狀態(tài)。? 它的突出優(yōu)點是只需一對傳輸線(利用電話線就可作為傳輸線),這樣就大大降低了傳送成本,特別適用于遠(yuǎn)距離通信;? 其缺點是傳送速度較低。? 例如,在 IBMPC機與外部設(shè)備(如打印機等)通信時,如果距離小于 30m,可采用并行通信方式;當(dāng)距離大于 30m時,則要采用串行通信方式。一些微機系統(tǒng),如 IBMPC系列機,由于磁盤機、 CRT、打印機與主機系統(tǒng)的距離有限,所以,使用多條電纜線以提高數(shù)據(jù)傳送速度還是合算的。但是,計算機之間、計算機與其終端之間的距離有時非常遠(yuǎn),此時,電纜線過多是不經(jīng)濟的3/2/2023 1第七章 89C51串行口及串行通信技術(shù)? 串行通信只用一位數(shù)據(jù)線傳送數(shù)據(jù)的位信號,即使加上幾條通信聯(lián)絡(luò)控制線,也用不了很多電纜線。 89C51單片機具有并行和串行二種基本通信方式。假設(shè)并行傳送 N位數(shù)據(jù)所需時間位 T,那么串行傳送的時間至少為 NT,實際上總是大于 NT的。存在空閑位正是異步通信的特征之一。 Td= 1b/( 1200b/s)= ? 異步通信的傳送速率在 50b/s19200b/s之間,常用于計算機到終端機和打印機之間的通信、直通電報以及無線電通信的數(shù)據(jù)發(fā)送等。 89C51單片機的串行口和 PC中的 8250都可實現(xiàn)這一功能。? 通信雙方必須遵守統(tǒng)一的通信協(xié)議。數(shù)據(jù)位的個數(shù)可以是 7或 8。停止位是一個字符數(shù)據(jù)的結(jié)束標(biāo)志,可以是 1位, 2位的高電平。? 使用串行接口可以實現(xiàn) 89C51單片機系統(tǒng)之間 點對點的單機通信 和89C51與系統(tǒng)機(如 IBMPC機等)的 單機或多機通信 。返回3/2/2023 40圖 77 串行口內(nèi)部結(jié)構(gòu)示意簡圖返回3/2/2023 41結(jié) 構(gòu)? 從圖中可看出,接收器是雙緩沖結(jié)構(gòu),在前一個字節(jié)被從接收緩沖器 SBUF讀出之前,第二個字節(jié)即開始被接收(串行輸入至移位寄存器),但是,在第二個字節(jié)接收完畢而前一個字節(jié) CPU未讀取時,會丟失前一個字節(jié)。返回3/2/2023 43圖 78 串行口控制寄存器 SCON返回3/2/2023 44串行口控制字及控制寄存器? ①SM0 和 SM1( , ) —— 串行口工作方式選擇位。若( RB8)= 0,說明是數(shù)據(jù)幀,則使接收中斷標(biāo)志位 RI= 0,信息丟失;若( RB8)= 1,說明是地址幀,數(shù)據(jù)裝入 SBUF并置 RI= 1,中斷所有從機,被尋址的目標(biāo)從機清除 SM2以接收主機發(fā)來的一幀數(shù)據(jù)。 在串行通信接收控制過程中,如果滿足 RI= 0和 REN= 1(允許接收)的條件,就允許接收,一幀數(shù)據(jù)就裝載入接收 SBUF中。它或是約定的奇 /偶校驗位,或是約定的地址 /數(shù)據(jù)標(biāo)識位。串行口發(fā)送中斷被響應(yīng)后, TI不會自動清 0,必須由軟件清 0。 復(fù)位時, SCON所有位均清 0。其幀格式如下:返回3/2/2023 52串行通信工作方式? 方式 1以 10位為一幀傳輸,設(shè)有 1個起始位( 0), 8個數(shù)據(jù)位和 1個停止位( 1)。返回3/2/2023 55圖 710 方式 0發(fā)送電路及時序返回3/2/2023 56圖 711 方式 0接收電路及時序返回3/2/2023 57串行通信工作方式例如, 74LS164可用于擴展并行輸出口,74LS165可用于擴展輸入口。接收時序如 圖 711( b) 所示。? 在接收時,停止位進入 SCON的 RB8,此方式的傳送波特率可調(diào)。方式 1接收時,數(shù)據(jù)從引腳 RXD()端輸入。返回3/2/2023 65串行通信工作方式① RI=0,即上一幀數(shù)據(jù)接收完成時, RI=1發(fā)出的中斷請求已被響應(yīng),SBUF中數(shù)據(jù)已被取走。發(fā)送時,第 9數(shù)據(jù)位( TB8)可以設(shè)置為 1或 0,也可將奇偶位裝入 TB8,從而進行奇偶校驗;接收時,第 9數(shù)據(jù)位進入 SCON的 RB8。當(dāng)檢測到 RXD()端有1→0 的跳變(起始位)時,開始接收 9位數(shù)據(jù),送入移位寄存器( 9位)。圖 714 串行口方式 0波特率的產(chǎn)生返回3/2/2023 71波特率設(shè)計方式 0波特率 ≌ fosc / 12? 注意,符號 “≌”表示左面的表達式只是引擁右面表達式的數(shù)值,即右面的表達式是提供了一種計算的方法。? 若定時器 T1采用模式 1時,波特率公式如下:串行方式 方式 3波特率 ≌2SMOD/32(fosc/12)/(216初值 )返回3/2/2023 75波特率設(shè)計? 表 72列出了串行口方式 方式 3常用波特率及其初值。常用波特率與其他參數(shù)選取關(guān)系返回3/2/2023 77波特率設(shè)計? 因此, T1溢出速率為T1溢出速率 ≌(fosc/12)/(28X)于是,可得出定時器 T1模式 2的初始值 X:返回3/2/2023 78波特率設(shè)計? 例 71: 89C51單片機時鐘振蕩頻率為 ,選用定時器 T1工作模式 2作為波特率發(fā)生器,波特率為2400b/s,求初值。 SCON寄存器用來控制串行口的工作方式,還有一些其他的控制作用。③ 方式 2: 11位異步接收 /發(fā)送方式。? 在串行口接收時,由 RI引起中斷或?qū)?RI查詢來決定何時接收下一個字符。轉(zhuǎn)入串行口中斷服務(wù)程序 ORG 2023H 。顯示延遲一段時間 CLR TI 。用方式 0加上并入 —— 串出移位寄存器可擴展一個 8位并行輸入口。程序清單: START: MOV SCON ,10H 。進行邏輯模擬 SJMP START 。雙工通信要求收、發(fā)能同時進行。8位重裝值 SETB TR1 。轉(zhuǎn)至中斷服務(wù)程序 ORG 0100H SBR1: JNB RI ,SEND 。奇校驗 MOV , C 。刪去校驗位 MOV R1 ,A 。解:本例由內(nèi)部 RAM單元 20H3FH取出 ASCII碼數(shù)據(jù),在最高位上加奇偶校驗位后由串行口發(fā)出。設(shè)置串行口為方式 1 MOV R0 ,20H MOV R7 ,32 。清 TI標(biāo)志,允許在發(fā)送 RET返回3/2/2023 963/2/2023 97例 75:采用中斷方式由串行口發(fā)送帶奇偶校驗位的數(shù)據(jù)塊。賦計數(shù)值 SETB TR1 。清除發(fā)送中斷標(biāo)志 INC R0 。中斷返回 END返回3/2/2023 983/2/2023 99串行口方式 1的發(fā)送和接收? 例 76:由串行口接收帶奇偶校驗位的數(shù)據(jù)塊。數(shù)據(jù)塊長度LOOP: ACALL SPIN 。主程序MAIN: MOV TMOD ,20H 。讀入數(shù)據(jù) MOV C ,P 。中斷返回ERROR: …… ?,F(xiàn)說明如何利用堆棧技術(shù)發(fā)送存放在程序存儲器內(nèi)的字符串常量。SETB TR1 。等待發(fā)送一幀完 CLR TI INC DPTR 。? ESC后一個單元應(yīng)是背景程序中送完字符串后要執(zhí)行的那條指令,故執(zhí)行完 XSTRING程序段的最后 2條指令,將繼續(xù)執(zhí)行背景程序。方式 2設(shè)定 MOV PCON ,80H 。? 解:根據(jù)上面介紹的特點,在方式 方式 3的發(fā)送過程中,將數(shù)據(jù)和附加在 TB8中的奇偶位一塊發(fā)向?qū)Ψ?。接收正確 ……ERR: …… ;接收有錯? 當(dāng)接收到一個字符時,從 SBUF轉(zhuǎn)移到 ACC中時會產(chǎn)生接收端的奇偶值,而保存在 RB8中的值為發(fā)送端的奇偶值,兩個奇偶值應(yīng)相等,否則接收字符有錯。主程序MAIN: MOV SCON ,80H 。發(fā)送數(shù)據(jù)WAIT: JBC TI ,CONT AJMP WAIT 。CPU允許中斷 MOV A ,R0 MOV C , 。若發(fā)送完,則禁止串行口中斷ENDT: RETI 。清除接收中斷標(biāo)志 PR1: MOV A ,SBUF 。若接收完,則禁止串行口中斷ENDR: RETI 。設(shè) TI工作于模式 2 MOV TH1 ,0F4H 。接收完一幀數(shù)據(jù),清 RI,轉(zhuǎn) PR1 SJMP WAIT 。讀入數(shù)據(jù) JNB P ,PNP 。賦計數(shù)值 SETB TR1 。 錯誤處理 SJMP ENDR END返回3/2/2023 116串行口方式 方式 3的發(fā)送和接收例 711:編制一個接收程序,將接收的 16B數(shù)據(jù)送入片內(nèi)RAM的 5OH—5FH 單元中。P=0,轉(zhuǎn) PNP JNB RB8 ,PER 。上電,轉(zhuǎn)向主程序 ORG 0023H 。發(fā)送第一個數(shù)據(jù) SJMP $SERVE: CLR TI 。數(shù)值尚未發(fā)送完, 繼續(xù)發(fā)送下一個數(shù)據(jù) SJMP $ END 返回3/2/2023 114串行口方式 方式 3的發(fā)送和接收( 2)采用中斷方式發(fā)送程序 ORG 0000H AJMP MAIN 。取波特率為 fosc/32 MOV R0 ,50H 。返回3/2/2023 112串行口方式 方式 3的發(fā)送和接收例 710:編制一個發(fā)送程序,將片內(nèi) RAM中 50H—5FH 的數(shù)據(jù)串行發(fā)送。選方式 2,并允許接收( REN=1)LOOP: JBC RI ,RECEIV 。首地址 50H→R0 MOV R7 ,10H 。只比方式 l多了一位程控位。偏移量為 0 MOVC A ,A+DPTR 。設(shè)置串行口方式 1ACALL XSTRINGDB CR ,LFDB ‘NUBIAA’ 。下面是程序片斷:返回3/2/2023 105串行口方式 1的發(fā)送和接收CR EQU 0DH 。RI由硬件置位 CLR RI 。P=0,轉(zhuǎn)出錯處理 ANL A ,7FH 。賦循環(huán)計數(shù)初值 MOV TL1 ,0E8H 。由 SPIN中 “CPL C”結(jié)果決定 MOV R0 ,A 。? 程序清單:返回3/2/2023 100例 76:由串行口接收帶奇偶校驗位的數(shù)據(jù)塊。P→C CPL C 。允許串行口中斷 SETB EA 。上電,轉(zhuǎn)向主程序 ORG 0023H 。串行口發(fā)送子程序(奇校驗);SPOUT: MOV C , 。 由要求可知,應(yīng)把串行口設(shè)置為方式 1,采用定時器 1模式 2作為波特率發(fā)生器,預(yù)置值( TH
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1