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

正文內(nèi)容

l第7章89c51串行口及串行通信技術(shù)-資料下載頁(yè)

2025-02-12 19:25本頁(yè)面
  

【正文】 。設(shè)偏移量為零 MOVC A ,A+DPTR 。取第 1個(gè)字符XSTR2: MOV SBUF ,A 。啟動(dòng)一幀發(fā)送過程 JNB TI ,$ 。等待發(fā)送一幀完 CLR TI INC DPTR 。指向下一字符 CLR A 。偏移量為 0 MOVC A ,A+DPTR 。取下一字符 CJNE A ,ESC ,XSTR2 。讀到 ESC符時(shí), ;停止發(fā)送 MOV A ,1 JMP A+DPTR 。返回執(zhí)行 ESC符后 ;的一條指令,即接著 ;執(zhí)行背景程序返回3/2/2023 106串行口方式 1的發(fā)送和接收? 說明:程序中采用了 “ACALL XSTRING”指令,而實(shí)際上由 XSTRING開始的程序段形式上并不構(gòu)成一個(gè)子程序,因?yàn)樽映绦颍驗(yàn)樽映绦驊?yīng)由 RET作為結(jié)尾。? 采用 ACALL指令的目的在于利用子程序調(diào)用協(xié)議,即執(zhí)行調(diào)用指令后,把一個(gè)單元(存放常量 CR)的地址壓入了堆棧。? 這樣, XSTRING段的第 1, 2條指令執(zhí)行后,就把放置字符常量 CR的單元地址置入 DPTR了。? ESC后一個(gè)單元應(yīng)是背景程序中送完字符串后要執(zhí)行的那條指令,故執(zhí)行完 XSTRING程序段的最后 2條指令,將繼續(xù)執(zhí)行背景程序。返回3/2/2023 107串行口方式 方式 3的發(fā)送和接收? 串行口方式 2與方式 3基本一樣(只是波特率設(shè)置不同),接收/發(fā)送 11位信息:開始為 l位起始位( 0),中間 8位數(shù)據(jù)位,數(shù)據(jù)位之后為 1位程控位(由用戶置 SCON的 TB8決定),最后是 1位停止位( 1)。只比方式 l多了一位程控位。返回3/2/2023 108串行口方式 方式 3的發(fā)送和接收? 例 78:用第 9個(gè)數(shù)據(jù)位作奇偶校驗(yàn)位,編制串行口方式 2的發(fā)送程序。? 解:設(shè)計(jì)一個(gè)發(fā)送程序,將片內(nèi) RAM 50H~5FH中的數(shù)據(jù)串行發(fā)送;串行口設(shè)定為方式 2狀態(tài), TB8作奇偶校驗(yàn)位。在數(shù)據(jù)寫入發(fā)送緩沖器之前,先將數(shù)據(jù)的奇偶位 P寫入 TB8,這時(shí),第 9位數(shù)據(jù)作奇偶校驗(yàn)用。? 方式 2發(fā)送程序流程圖如 圖 719所示。圖 718返回3/2/2023 109串行口方式 方式 3的發(fā)送和接收程序清單如下:TRT: MOV SCON ,80H 。方式 2設(shè)定 MOV PCON ,80H 。取波特率為 fosc/32 MOV R0 ,50H 。首地址 50H→R0 MOV R7 ,10H 。數(shù)據(jù)長(zhǎng)度 10H→R7LOOP: MOV A ,R0 。取數(shù)據(jù) →A MOV C , 。P→TB8 MOV TB8 ,C MOV SBUF ,A 。數(shù)據(jù) →SBUF, 啟動(dòng)發(fā)送WAIT: JBC TI ,CONT 。判斷發(fā)送中斷標(biāo)志 SJMP WAITCONT: INC R0 DJNZ R7 ,LOOP RET返回3/2/2023 110串行口方式 方式 3的發(fā)送和接收例 79 編制一個(gè)串行口方式 2接收程序,并核對(duì)奇偶校驗(yàn)位。? 解:根據(jù)上面介紹的特點(diǎn),在方式 方式 3的發(fā)送過程中,將數(shù)據(jù)和附加在 TB8中的奇偶位一塊發(fā)向?qū)Ψ?。因此,作為接收的一方?yīng)設(shè)法取出該奇偶位進(jìn)行核對(duì),相應(yīng)的接收程序段為:返回3/2/2023 111串行口方式 方式 3的發(fā)送和接收RRR: MOV SCON ,90H 。選方式 2,并允許接收( REN=1)LOOP: JBC RI ,RECEIV 。等待接收數(shù)據(jù)并清 RI SJMP LOOPRECEIV: MOV A ,SBUF 。將接收到的字符取出后,送到 ACC。注意,;傳送指令影響 PSW, 產(chǎn)生接收端的奇偶值 JB ,ONE 。判斷接收端的奇偶值 JB RB8 ,ERR 。判斷發(fā)送端的奇偶值 SJMP RIGHTONE: JNB RB8 ,ERRRIGHT: …… 。接收正確 ……ERR: …… ;接收有錯(cuò)? 當(dāng)接收到一個(gè)字符時(shí),從 SBUF轉(zhuǎn)移到 ACC中時(shí)會(huì)產(chǎn)生接收端的奇偶值,而保存在 RB8中的值為發(fā)送端的奇偶值,兩個(gè)奇偶值應(yīng)相等,否則接收字符有錯(cuò)。發(fā)現(xiàn)錯(cuò)誤要及時(shí)通知對(duì)方重發(fā)。返回3/2/2023 112串行口方式 方式 3的發(fā)送和接收例 710:編制一個(gè)發(fā)送程序,將片內(nèi) RAM中 50H—5FH 的數(shù)據(jù)串行發(fā)送。串行口設(shè)定為工作方式 2, TB8作奇偶校驗(yàn)位。? 解:在數(shù)據(jù)寫入發(fā)送 SBUF之前,先將數(shù)據(jù)的奇偶標(biāo)志 P寫入 TB8,此時(shí),第 9位數(shù)據(jù)便可作奇偶校驗(yàn)用??刹捎貌樵兒椭袛鄡煞N方式發(fā)送。返回3/2/2023 113串行口方式 方式 3的發(fā)送和接收( 1)采用查詢方式的程序段 ORG 0000H AJMP MAIN 。上電,轉(zhuǎn)向主程序 ORG 0100H 。主程序MAIN: MOV SCON ,80H 。設(shè)工作方式 2 MOV PCON ,80H 。取波特率為 fosc/32 MOV R0 ,50H 。首址 50H送 R0 MOV R7 ,10H 。數(shù)值長(zhǎng)度送 R7LOOP: MOV A ,R0 。取數(shù)據(jù) MOV C , 。P→C MOV TB8 ,C 。奇偶標(biāo)志送 TB8 MOV SBUF ,A 。發(fā)送數(shù)據(jù)WAIT: JBC TI ,CONT AJMP WAIT 。等待中斷標(biāo)志 TI=1CONT: INC R0 DJNZ R7 ,LOOP 。數(shù)值尚未發(fā)送完, 繼續(xù)發(fā)送下一個(gè)數(shù)據(jù) SJMP $ END 返回3/2/2023 114串行口方式 方式 3的發(fā)送和接收( 2)采用中斷方式發(fā)送程序 ORG 0000H AJMP MAIN 。上電,轉(zhuǎn)向主程序 ORG 0023H 。串行口的中斷入口地址 AJMP SERVE 。轉(zhuǎn)向中斷服務(wù)程序 ORG 0100H 。主程序MAIN: MOV SCON ,80H MOV PCON ,80H MOV R0 ,50H MOV R7 ,0FH SETB ES 。允許串行口中斷 SETB EA 。CPU允許中斷 MOV A ,R0 MOV C , 。P→C MOV TB8 ,C MOV SBUF ,A 。發(fā)送第一個(gè)數(shù)據(jù) SJMP $SERVE: CLR TI 。清除發(fā)送中斷標(biāo)志 INC R0 。修改數(shù)據(jù)地址 MOV A ,R0 MOV C , 。P→C MOV TB8 ,C MOV SBUF ,A 。發(fā)送數(shù)據(jù) DJNZ R7 ,ENDT 。判斷數(shù)據(jù)塊發(fā)送完否 ;若未發(fā) 送完, 則轉(zhuǎn) ENDT CLR ES 。若發(fā)送完,則禁止串行口中斷ENDT: RETI 。中斷返回 END返回3/2/2023 115串行口方式 方式 3的發(fā)送和接收( 2)采用中斷方式接收程序 ORG 0000H AJMP MAIN 。上電,轉(zhuǎn)向主程序 ORG 0023H 。串行口的中斷入口地址 AJMP SERVE 。轉(zhuǎn)向中斷服務(wù)程序 ORG 0100H 。主程序MAIN: MOV SCON ,90H MOV PCON ,80H MOV R0 ,40H MOV R7 ,10H SETB ES 。允許串行口中斷 SETB EA 。CPU允許中斷 SJMP $SERVE: CLR RI 。清除接收中斷標(biāo)志 PR1: MOV A ,SBUF 。讀入數(shù)據(jù) JNB P ,PNP 。P=0,轉(zhuǎn) PNP JNB RB8 ,PER 。P=1, RB8=0,轉(zhuǎn)出錯(cuò)處理 SJMP RIGHTPNP: JB RB8 ,PER 。P=0, RB8=1, 轉(zhuǎn)出錯(cuò)處理RIGHT: MOV R0 ,A 。數(shù)據(jù)送內(nèi)存 INC R0 。修改地址指針 DJNZ R7 ,ENDR 。數(shù)據(jù)未接收完,則轉(zhuǎn) ENDR CLR ES 。若接收完,則禁止串行口中斷ENDR: RETI 。中斷返回 PER: …… 。 錯(cuò)誤處理 SJMP ENDR END返回3/2/2023 116串行口方式 方式 3的發(fā)送和接收例 711:編制一個(gè)接收程序,將接收的 16B數(shù)據(jù)送入片內(nèi)RAM的 5OH—5FH 單元中。設(shè)串行口工作于方式 3,波特率為 2400b/s。? 解:方式 3為 11位異步通信方式,波特率取決于 TI的溢出率。查 表 7- 2可知,當(dāng)晶振為 ,波特率為2400b/s時(shí),可取 SMOD=0。 T1的計(jì)數(shù)初值為 F4H。返回3/2/2023 117串行口方式 方式 3的發(fā)送和接收源程序如下:MAIN: MOV TMOD ,20H 。設(shè) TI工作于模式 2 MOV TH1 ,0F4H 。賦循環(huán)計(jì)數(shù)初值 MOV TL1 ,0F4H 。賦計(jì)數(shù)值 SETB TR1 。啟動(dòng)定時(shí)器 TI MOV R0 ,50H 。首地址送 R0 MOV R7 ,10H 。數(shù)據(jù)長(zhǎng)度送 R7 MOV SCON ,0D0H 。串行口工作與方式 3,可接收 MOV PCON ,00H 。設(shè) SMOD=0WAIT: JBC RI ,PR1 。接收完一幀數(shù)據(jù),清 RI,轉(zhuǎn) PR1 SJMP WAIT 。否則等待PR1: MOV A ,SBUF 。讀入數(shù)據(jù) JNB P ,PNP 。P=0,轉(zhuǎn) PNP JNB RB8 ,PER 。P=1, RB8=0,轉(zhuǎn)出錯(cuò)處理 SJMP RIGHTPNP: JB RB8 ,PER 。P=0, RB8=1,轉(zhuǎn)出錯(cuò)處理
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1