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

正文內(nèi)容

串行通信基礎(chǔ)概念rs-232接口mcs-51的串行接口單片-wenkub.com

2024-08-28 13:30 本頁(yè)面
   

【正文】 00:17:22 Start proc far Assume cs:code,ss:stack PUSH DS MOV AX,0 PUSH AX CLI INPUT: MOV AL,80H ;置 DLAB=1 MOV DX,3FBH ;寫(xiě)入通信線(xiàn)控制寄存器 OUT DX,AL 00:17:22 MOV AL,30H ;置產(chǎn)生 2400 b/s波特率除數(shù)低位 MOV DX,3F8H OUT DX,AL ;寫(xiě)入除數(shù)鎖存器低位 MOV AL,00H ;置產(chǎn)生 2400 b/s波特率除數(shù)高位 MOV DX,3F9H OUT DX,AL ;寫(xiě)入除數(shù)鎖存器高位 MOV AL,03H ;設(shè)置數(shù)據(jù)格式 MOV DX,3FBH ;寫(xiě)入通信線(xiàn)路控制寄存器 00:17:22 OUT DX,AL MOV AL,00H ;禁止所有中斷 MOV DX,3F9H OUT DX,AL WAIT1: MOV DX,3FDH ;發(fā)送保持寄存器不空則循環(huán)等待 IN AL,DX TEST AL,20H JZ WAIT1 00:17:22 WAIT2: MOV AH,1 ;檢查鍵盤(pán)緩沖區(qū) , 無(wú)字符則循環(huán)等待 INT 16H JZ WAIT2 MOV AH,0 ;若有 , 則取鍵盤(pán)字符 INT 16H SEND: MOV DX,3F8H ;發(fā)送鍵入的字符 OUT DX,AL RECE: MOV DX,3FDH ;檢查接收數(shù)據(jù)是否準(zhǔn)備好 IN AL,DX 00:17:22 TEST AL,01H JZ RECE TEST AL,1AH ;判斷接收到的數(shù)據(jù)是否出錯(cuò) JNZ ERROR MOV DX,3F8H IN AL,DX ;讀取數(shù)據(jù) AND AL,7EH ;去掉無(wú)效位 PUSH AX MOV BX,0 ;顯示接收字符 00:17:22 MOV AH,14 INT 10H POP AXCMP AL,0DH ;接到的字符若不是回車(chē)則返回 JNZ WAIT1 MOV AL,0AH ;是回車(chē)則回車(chē)換行 MOV BX,0 MOV AH,14H INT 10H JMP WAIT1 00:17:22 ERROR: MOV DX,3F8H ;讀接收寄存器 , 清除錯(cuò)誤字符 IN AL,DX MOV AL, 39。 參考程序如下: stack Segment para stack 39。 00:17:22 1) 單片機(jī)通信軟件 MCS51通過(guò)中斷方式接收 PC機(jī)發(fā)送的數(shù)據(jù) , 并回送 。 00:17:22 接口設(shè)計(jì) PC機(jī)與單片機(jī)之間可以由 RS232C、 RS422A或 RS423等接口相連 。對(duì)于地址不相符的從機(jī) , 保持 SM2=1的狀態(tài) , 對(duì)主機(jī)隨后發(fā)來(lái)的信息不理睬 , 直到發(fā)送新的一幀地址信息 。 例如: MOV SCON, 0D8H ;設(shè)串行口為方式 3, TB8=1, 允許接收 (F8也可以 ) (2) 所有從機(jī)初始化設(shè)置 SM2=1, 處于準(zhǔn)備接收一幀地址信息的狀態(tài) 。 根據(jù)這個(gè)功能 , 就可以實(shí)現(xiàn)多機(jī)通信 。 主機(jī)發(fā)送的信息可以傳送到各個(gè)從機(jī)或指定的從機(jī) , 各從機(jī)發(fā)送的信息只能被主機(jī)接收 , 從機(jī)與從機(jī)之間不能進(jìn)行通信 。 00:17:22 接收采用中斷方式 。 參考發(fā)送子程序如下: 中斷方式 在很多應(yīng)用中 , 雙機(jī)通信的接收方都采用中斷的方式來(lái)接收數(shù)據(jù) , 以提高 CPU的工作效率;發(fā)送方仍然采用查詢(xún)方式發(fā)送 。若完,清 RI, 讀入數(shù)據(jù) AJMP WAIT ; 未完等待 READ: MOV A, SBUF ; 讀入一幀數(shù)據(jù) a 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 ; 返回 00:17:22 1) 甲機(jī)發(fā)送 上面的通信程序,收發(fā)雙方是采用奇偶位 TB8來(lái)進(jìn)行校驗(yàn)的,這里介紹一種用 累加和 進(jìn)行校驗(yàn)的方法。 若送完 , 清 TI, 取下一個(gè) AJMP WAIT ; 未完等待 CONT: INC DPTR ; 更新數(shù)據(jù)單元 DJNZ R7,START ; 循環(huán)發(fā)送至結(jié)束 RET 00:17:22 2) 乙機(jī)接收 編程使乙機(jī)接收甲機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)塊,并存入片內(nèi) 50H~6FH單元。 00:17:22 MCS51串行口的波特率 0和方式 2的波特率是固定的 ? 在方式 2中,波特率取決于 PCON中的 SMOD值: ? 在方式 0中,波特率為時(shí)鐘頻率的 1/12,即 fosc/12, 固定不變 SMOD GF1 GF0 PD IDL 當(dāng) SMOD=0時(shí),波特率為 fosc/64; 當(dāng) SMOD=1時(shí),波特率為 fosc/32. 即波特率 = osc SMOD f 64 2 00:17:22 2. 方式 1和方式 3的波特率可變,由定時(shí)器 1的溢出率決定 波特率 /(b/s) fosc/MHz SMOD 定時(shí)器 1 C/ 模式 初始值 方式 0: 1 M 方式 2: 375 k 方式 3: k k k k k k k 110 110 12 12 12 6 12 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 1 FFH FDH FDH FAH F4H E8H 1DH 72H FEEBH T 波特率 = )x256(12 f322 os cs m od ??00:17:22 舉例說(shuō)明波特率的設(shè)定方法 00:17:22 單
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1