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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]項(xiàng)目五、串行通信應(yīng)用(編輯修改稿)

2025-02-15 17:40 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ;更新數(shù)據(jù)單元 DJNZ R7,START ;循環(huán)發(fā)送至結(jié)束 RET 乙機(jī)接收 編程使乙機(jī)接收甲機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)塊 , 并存入片內(nèi) 50H~ 6FH單元 。 接收過(guò)程要求判斷RB8, 若出錯(cuò)置 F0標(biāo)志為 1, 正確則置 F0標(biāo)志為0, 然后返回 。 在進(jìn)行雙機(jī)通信時(shí) , 兩機(jī)應(yīng)采用相同的工作方式和波特率 。 參考接收子程序如下: MOV SCON, 80H ;設(shè)置串行口為方式 2 MOV PCON, 80H ; SMOD=1 MOV R0, 50H ;設(shè)置數(shù)據(jù)塊指針 MOV R7, 20H ;設(shè)置數(shù)據(jù)塊長(zhǎng)度 SETB REN ;啟動(dòng)接收 WAIT: JBC RI, READ ;判斷是否接收完一幀 。 若完 , 清 RI, 讀入數(shù)據(jù) AJMP WAIT ;未完等待 READ: MOV A, SBUF ;讀入一幀數(shù)據(jù) JNB ,PZ ;奇偶位為 0則轉(zhuǎn) JNB RB8, ERR ; P=1, RB8=0, 則出錯(cuò) SJMP RIGHT ;二者全為 1, 則正確 PZ: JB RB8, ERR ; P=0, RB8=1, 則出錯(cuò) RIGHT: MOV @R0, A ;正確 , 存放數(shù)據(jù) INC R0 ;更新地址指針 DJNZ R7, WAIT ;判斷數(shù)據(jù)塊是否接收完 CLR ;接收正確 , 且接收完清F0標(biāo)志 RET ;返回 ERR: SETB ;出錯(cuò) , 置 F0標(biāo)志為 1 RET ;返回 ( 2) 中斷方式 在很多應(yīng)用中 , 雙機(jī)通信的接收方都采用中斷的方式來(lái)接收數(shù)據(jù) , 以提高 CPU的工作效率;發(fā)送方仍然采用查詢方式發(fā)送 。 編程將甲機(jī)片內(nèi) 60H~ 6FH單元的數(shù)據(jù)塊從串行口發(fā)送 , 在發(fā)送之前將數(shù)據(jù)塊長(zhǎng)度發(fā)送給乙機(jī) ,當(dāng)發(fā)送完 16個(gè)字節(jié)后 , 再發(fā)送一個(gè)累加校驗(yàn)和 。定 義雙機(jī) 串行口 按方式 1 工作 , 晶振 為, 波特率為 2400b/s, 定時(shí)器 1按方式 2工作 。 經(jīng)計(jì)算或查表 54得到定時(shí)器預(yù)置值為 0F4H, SMOD=0。 參考發(fā)送子程序如下: MOV TMOD, 20H ;設(shè)置定時(shí)器 1為方式 2 MOV TL1, 0F4H ;設(shè)置預(yù)置值 MOV TH1, 0F4H SETB TR1 ;啟動(dòng)定時(shí)器 1 MOV SCON, 50H ;設(shè)置串行口為方式 1, 允許接收 START: MOV R0, 60H ;設(shè)置數(shù)據(jù)指針 MOV R5, 10H ;設(shè)置數(shù)據(jù)長(zhǎng)度 MOV R4, 00H ;累加校驗(yàn)和初始化 MOV SBUF, R5 ;發(fā)送數(shù)據(jù)長(zhǎng)度 WAIT1: JBC TI, TRS ;等待發(fā)送 AJMP WAIT1 TRS: MOV A, @R0 ;讀取數(shù)據(jù) MOV SBUF, A ;發(fā)送數(shù)據(jù) ADD A, R4 MOV R4, A ;形成累加和 INC R0 ;修改數(shù)據(jù)指針 WAIT2: JBC TI, CONT ;等待發(fā)送一幀數(shù)據(jù) AJMP WAIT2 CONT: DJNZ R5, TRS ;判斷數(shù)據(jù)塊是否發(fā)送完 MOV SBUF, R4 ;發(fā)送累加校驗(yàn)和 WAIT3: JBC TI, WAIT4 ;等待發(fā)送 AJMP WAIT3 WAIT4: JBC RI, READ ;等待乙機(jī)回答 AJMP WAIT4 READ: MOV A, SBUF ;接收乙機(jī)數(shù)據(jù) JZ RIGHT ; 00H, 發(fā)送正確 , 返回 AJMP START ;發(fā)送出錯(cuò) , 重發(fā) RIGHT: RET 乙機(jī)接收 乙機(jī)接收甲機(jī)發(fā)送的數(shù)據(jù) , 并存入以2022H開(kāi)始的片外數(shù)據(jù)存儲(chǔ)器中 。 首先接收數(shù)據(jù)長(zhǎng)度 , 接著接收數(shù)據(jù) , 當(dāng)接收完 16個(gè)字節(jié)后 , 接收累加和校驗(yàn)碼 , 進(jìn)行校驗(yàn) 。 數(shù)據(jù)傳送結(jié)束后 , 根據(jù)校驗(yàn)結(jié)果向甲機(jī)發(fā)送一個(gè)狀態(tài)字 , 00H表示正確 , 0FFH表示出錯(cuò) , 出錯(cuò)則甲機(jī)重發(fā) 。 接收采用中斷方式 。 設(shè)置兩個(gè)標(biāo)志位 (7FH, 7EH位 ) 來(lái)判斷接收到的信息是數(shù)據(jù)塊長(zhǎng)度 、 數(shù)據(jù)還是累加校驗(yàn)和 。 參考接收程序如下: ORG 0000H LJMP CSH ;轉(zhuǎn)初始化程序 ORG 0023H LJMP INTS ;轉(zhuǎn)串行口中斷程序 ORG 0100H CSH: MOV TMOD, 20H ;設(shè)置定時(shí)器 1為方式 2 MOV TL1, 0F4H ;設(shè)置預(yù)置值 MOV TH1, 0F4H SETB TR1 ;啟動(dòng)定時(shí)器 1 MOV SCON,50H ;串行口初始化 SETB 7FH ;置長(zhǎng)度標(biāo)志位為 1 SETB 7EH ;置數(shù)據(jù)塊標(biāo)志位為 1 MOV 31H, 20H ;規(guī)定外部 RAM的起始地址 MOV 30H, 00H MOV 40H, 00H ;清累加和寄存器 SETB EA ;允許串行口中斷 SETB ES LJMP MAIN ; MAIN為主程序 , 根據(jù)用戶要求編寫 INTS: CLR EA ;關(guān)中斷 CLR RI ;清中斷標(biāo)志 PUSH A ;保護(hù)現(xiàn)場(chǎng) PUSH DPH PUSH DPL JB 7FH, CHANG ;判斷是數(shù)據(jù)塊長(zhǎng)度嗎 ? JB 7EH, DATA ;判斷是數(shù)據(jù)塊嗎 ? SUM: MOV A, SBUF ;接收校驗(yàn)和 CJNE A, 40H, ERR ;判斷接收是否正確 MOV A, 00H ;二者相等 , 正確 , 向甲機(jī)發(fā)送 00H MOV SBUF, A WAI
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1