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

正文內(nèi)容

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

2025-02-14 19:25本頁面
  

【正文】 P=1, RB8=0,轉(zhuǎn)出錯處理 SJMP RIGHTPNP: JB RB8 ,PER 。讀入數(shù)據(jù) JNB P ,PNP 。接收完一幀數(shù)據(jù),清 RI,轉(zhuǎn) PR1 SJMP WAIT 。串行口工作與方式 3,可接收 MOV PCON ,00H 。首地址送 R0 MOV R7 ,10H 。賦計數(shù)值 SETB TR1 。設 TI工作于模式 2 MOV TH1 ,0F4H 。 T1的計數(shù)初值為 F4H。? 解:方式 3為 11位異步通信方式,波特率取決于 TI的溢出率。 錯誤處理 SJMP ENDR END返回3/2/2023 116串行口方式 方式 3的發(fā)送和接收例 711:編制一個接收程序,將接收的 16B數(shù)據(jù)送入片內(nèi)RAM的 5OH—5FH 單元中。若接收完,則禁止串行口中斷ENDR: RETI 。修改地址指針 DJNZ R7 ,ENDR 。P=0, RB8=1, 轉(zhuǎn)出錯處理RIGHT: MOV R0 ,A 。P=0,轉(zhuǎn) PNP JNB RB8 ,PER 。清除接收中斷標志 PR1: MOV A ,SBUF 。允許串行口中斷 SETB EA 。轉(zhuǎn)向中斷服務程序 ORG 0100H 。上電,轉(zhuǎn)向主程序 ORG 0023H 。若發(fā)送完,則禁止串行口中斷ENDT: RETI 。發(fā)送數(shù)據(jù) DJNZ R7 ,ENDT 。修改數(shù)據(jù)地址 MOV A ,R0 MOV C , 。發(fā)送第一個數(shù)據(jù) SJMP $SERVE: CLR TI 。CPU允許中斷 MOV A ,R0 MOV C , 。主程序MAIN: MOV SCON ,80H MOV PCON ,80H MOV R0 ,50H MOV R7 ,0FH SETB ES 。串行口的中斷入口地址 AJMP SERVE 。數(shù)值尚未發(fā)送完, 繼續(xù)發(fā)送下一個數(shù)據(jù) SJMP $ END 返回3/2/2023 114串行口方式 方式 3的發(fā)送和接收( 2)采用中斷方式發(fā)送程序 ORG 0000H AJMP MAIN 。發(fā)送數(shù)據(jù)WAIT: JBC TI ,CONT AJMP WAIT 。P→C MOV TB8 ,C 。數(shù)值長度送 R7LOOP: MOV A ,R0 。取波特率為 fosc/32 MOV R0 ,50H 。主程序MAIN: MOV SCON ,80H 。返回3/2/2023 113串行口方式 方式 3的發(fā)送和接收( 1)采用查詢方式的程序段 ORG 0000H AJMP MAIN 。? 解:在數(shù)據(jù)寫入發(fā)送 SBUF之前,先將數(shù)據(jù)的奇偶標志 P寫入 TB8,此時,第 9位數(shù)據(jù)便可作奇偶校驗用。返回3/2/2023 112串行口方式 方式 3的發(fā)送和接收例 710:編制一個發(fā)送程序,將片內(nèi) RAM中 50H—5FH 的數(shù)據(jù)串行發(fā)送。接收正確 ……ERR: …… ;接收有錯? 當接收到一個字符時,從 SBUF轉(zhuǎn)移到 ACC中時會產(chǎn)生接收端的奇偶值,而保存在 RB8中的值為發(fā)送端的奇偶值,兩個奇偶值應相等,否則接收字符有錯。判斷接收端的奇偶值 JB RB8 ,ERR 。將接收到的字符取出后,送到 ACC。選方式 2,并允許接收( REN=1)LOOP: JBC RI ,RECEIV 。? 解:根據(jù)上面介紹的特點,在方式 方式 3的發(fā)送過程中,將數(shù)據(jù)和附加在 TB8中的奇偶位一塊發(fā)向?qū)Ψ?。?shù)據(jù) →SBUF, 啟動發(fā)送WAIT: JBC TI ,CONT 。取數(shù)據(jù) →A MOV C , 。首地址 50H→R0 MOV R7 ,10H 。方式 2設定 MOV PCON ,80H 。? 方式 2發(fā)送程序流程圖如 圖 719所示。? 解:設計一個發(fā)送程序,將片內(nèi) RAM 50H~5FH中的數(shù)據(jù)串行發(fā)送;串行口設定為方式 2狀態(tài), TB8作奇偶校驗位。只比方式 l多了一位程控位。? ESC后一個單元應是背景程序中送完字符串后要執(zhí)行的那條指令,故執(zhí)行完 XSTRING程序段的最后 2條指令,將繼續(xù)執(zhí)行背景程序。? 采用 ACALL指令的目的在于利用子程序調(diào)用協(xié)議,即執(zhí)行調(diào)用指令后,把一個單元(存放常量 CR)的地址壓入了堆棧。讀到 ESC符時, ;停止發(fā)送 MOV A ,1 JMP A+DPTR 。偏移量為 0 MOVC A ,A+DPTR 。等待發(fā)送一幀完 CLR TI INC DPTR 。取第 1個字符XSTR2: MOV SBUF ,A 。把第 1個字符的地址裝入 DPTR POP DPLXSTR1: CLR A 。設置串行口方式 1ACALL XSTRINGDB CR ,LFDB ‘NUBIAA’ 。SETB TR1 。設置定時器 T1為模式 2MOV TL1 ,0FDH 。ASCII換行符ESC EQU 1BH 。下面是程序片斷:返回3/2/2023 105串行口方式 1的發(fā)送和接收CR EQU 0DH ?,F(xiàn)說明如何利用堆棧技術(shù)發(fā)送存放在程序存儲器內(nèi)的字符串常量。去掉奇校驗位 RET ERROR: (略)返回3/2/2023 104串行口方式 1的發(fā)送和接收? 例 77:利用串行口和堆棧技術(shù)發(fā)送字符串常量。檢查奇校驗位 CPL C 。RI由硬件置位 CLR RI 。中斷返回ERROR: …… 。數(shù)據(jù)未接收完,則轉(zhuǎn) ENDR CLR ES 。數(shù)據(jù)送內(nèi)存 INC R0 。P=0,轉(zhuǎn)出錯處理 ANL A ,7FH 。讀入數(shù)據(jù) MOV C ,P 。CPU允許中斷 SJMP $SERVE: CLR RI 。啟動定時器 TI MOV SCON ,50H MOV PCON ,00H MOV R0 ,20H MOV R7 ,20H SETB ES 。賦循環(huán)計數(shù)初值 MOV TL1 ,0E8H 。主程序MAIN: MOV TMOD ,20H 。串行口的中斷入口地址 AJMP SERVE 。( 2)采用中斷方式接收程序 ORG 0000H AJMP MAIN 。由 SPIN中 “CPL C”結(jié)果決定 MOV R0 ,A 。數(shù)據(jù)塊長度LOOP: ACALL SPIN 。初值,波特率為 1200b/sMOV TH1 ,0E8H SETB TR1 。設串口方式 1,允許接收MOV TMOD ,20H 。? 程序清單:返回3/2/2023 100例 76:由串行口接收帶奇偶校驗位的數(shù)據(jù)塊。中斷返回 END返回3/2/2023 983/2/2023 99串行口方式 1的發(fā)送和接收? 例 76:由串行口接收帶奇偶校驗位的數(shù)據(jù)塊。未發(fā)完,轉(zhuǎn) ENDT CLR ES 。 0或 1 MOV SBUF ,A 。P→C CPL C 。清除發(fā)送中斷標志 INC R0 。 0或 1 MOV SBUF ,A 。P→C CPL C 。允許串行口中斷 SETB EA 。賦計數(shù)值 SETB TR1 。設 TI工作于模式 2 MOV TH1 ,0E8H 。轉(zhuǎn)向中斷服務程序 ORG 0100H 。上電,轉(zhuǎn)向主程序 ORG 0023H 。清 TI標志,允許在發(fā)送 RET返回3/2/2023 963/2/2023 97例 75:采用中斷方式由串行口發(fā)送帶奇偶校驗位的數(shù)據(jù)塊。啟動串行口發(fā)送過程 JNB TI, $ 。奇校驗(無此指令位偶校驗) MOV ,C 。串行口發(fā)送子程序(奇校驗);SPOUT: MOV C , 。設置串行口為方式 1 MOV R0 ,20H MOV R7 ,32 。初值,波特率為 1200b/s MOV TH1 ,0E8H SETB TR1 。程序清單:主程序;MOV TMOD ,20H 。 由要求可知,應把串行口設置為方式 1,采用定時器 1模式 2作為波特率發(fā)生器,預置值( TH1) =0E8H。解:本例由內(nèi)部 RAM單元 20H3FH取出 ASCII碼數(shù)據(jù),在最高位上加奇偶校驗位后由串行口發(fā)出。但有了一個基本的框架之后,逐漸完善還是可以做到的。以上程序基本上具備了全雙工通信的能力,但不能說很完善。修改接收數(shù)據(jù)指針 RET 。刪去校驗位 MOV R1 ,A 。取出校驗位 CPL C 。返回接收子程序 SIN: CLR RI MOV A ,SBUF 。修改發(fā)送數(shù)據(jù)指針 MOV SBUF ,A 。奇校驗 MOV , C 。取發(fā)送數(shù)據(jù)到 A MOV C ,P 。調(diào)用發(fā)送子程序NEXT: RETI 。RI=1,為接收中斷 SJMP NEXT 。轉(zhuǎn)至中斷服務程序 ORG 0100H SBR1: JNB RI ,SEND 。等待中斷 中斷服 ORG 0023H 。接收數(shù)據(jù)取首址 ACALL SOUT 。設置為方式 1, ; REN=1 MOV R0 ,20H 。8位重裝值 SETB TR1 。定時器 1設為模式 2 MOV TL1 , 0F3H 。定時器 T1采用工作模式 2,可以避免計數(shù)溢出后用軟件重裝定時初值的工作。數(shù)據(jù)
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1