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

正文內(nèi)容

串行通信基礎(chǔ)概念rs-232接口mcs-51的串行接口單片(參考版)

2024-09-05 13:30本頁面
  

【正文】 ?39。code39。code39。 這里只介紹用匯編語言編寫的程序 。 單片機(jī)串行口工作在方式 1, 晶振為 6 MHz, 波特率 2400 b/s, 定時器1按方式 2工作 , 經(jīng)計算 , 定時器預(yù)置值為 0F3H, SMOD=1。 通信雙方約定:波特率為 2400 b/s;信息格式為 8個數(shù)據(jù)位 ,1個停止位 , 無奇偶校驗位 。 PC機(jī)和單片機(jī)之間的通信 C 1 +C 1 C 2 +C 2 V s +V s V C CG N DT 1 I N T 1 O U TT 2 I N T 2 O U TR 1 O U T R 1 I NR 2 O U T R 2 I NM A X 2 3 2R X DT X D101180511627384952616151471381345111012900:17:22 軟件編程 這里 , 我們列舉一個實用的通信測試軟件 , 其功能為:將PC機(jī)鍵盤的輸入發(fā)送給單片機(jī) , 單片機(jī)收到 PC機(jī)發(fā)來的數(shù)據(jù)后 ,回送同一數(shù)據(jù)給 PC機(jī) , 并在屏幕上顯示出來 。 對于沒選中的從機(jī) ,因為 SM2=1, RB8=0, 所以不會產(chǎn)生中斷 , 對主機(jī)發(fā)送的信息不接收 。 (4) 主機(jī)發(fā)送控制指令和數(shù)據(jù)信息給被尋址的從機(jī) 。對于地址相符的從機(jī) , 置 SM2=0, 以接收主機(jī)隨后發(fā)來的所有信息 。 例如: MOV SCON, 0F0H ;設(shè)串行口為方式 3, SM2=1, 允許接收 00:17:22 (3) 各從機(jī)接收到地址信息 , 因為 RB8=1, 則置中斷標(biāo)志 RI。 主機(jī)應(yīng)置TB8為 1, 表示發(fā)送的是地址幀 。 00:17:22 各從機(jī)定義地址編號 , 如分別為 00H、 01H、 02H等 。 另一方面 , 若 SM2=0, 則接收到的第 9位信息無論是 1還是 0, 都產(chǎn)生 RI=1的中斷標(biāo)志 , 接收的數(shù)據(jù)裝入 SBUF。 多機(jī)通信 00:17:22 多機(jī)通信 00:17:22 00:17:22 T X D R X D R X D R X D0 從機(jī) 1 從機(jī) 2 從機(jī)8051 8051 8051T X D T X DT X DR X D主機(jī)8051…00:17:22 在單片機(jī)串行口以方式 2或方式 3接收時 , 一方面 , 若 SM2=1, 表示置多機(jī)通信功能位 。 這一功能通常采用主從式多機(jī)通信方式 , 在這種方式中 , 要用一臺主機(jī)和多臺從機(jī) 。 設(shè)置兩個標(biāo)志位 ( 7FH, 7EH位 ) 來判斷接收到的信息是數(shù)據(jù)塊長度 、 數(shù)據(jù)還是累加校驗和 。 數(shù)據(jù)傳送結(jié)束后 , 根據(jù)校驗結(jié)果向甲機(jī)發(fā)送一個狀態(tài)字 , 00H表示正確 , 0FFH表示出錯 , 出錯則甲機(jī)重發(fā) 。 00:17:22 MOV TMOD, 20H ;設(shè)置定時器 1為方式 2 MOV TL1, 0F4H ;設(shè)置預(yù)置值 MOV TH1, 0F4H SETB TR1 ;啟動定時器 1 MOV SCON, 50H ;設(shè)置串行口為方式 1, 允許接收 START: MOV R0, 60H ;設(shè)置數(shù)據(jù)指針 MOV R5, 10H ;設(shè)置數(shù)據(jù)長度 MOV R4, 00H ;累加校驗和初始化 MOV SBUF, R5 ;發(fā)送數(shù)據(jù)長度 00:17:22 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ù)指針 00:17:22 WAIT2: JBC TI, CONT ;等待發(fā)送一幀數(shù)據(jù) AJMP WAIT2 CONT: DJNZ R5, TRS ;判斷數(shù)據(jù)塊是否發(fā)送完 MOV SBUF, R4 ;發(fā)送累加校驗和 WAIT3: JBC TI, WAIT4 ;等待發(fā)送 AJMP WAIT3 WAIT4: JBC RI, READ ;等待乙機(jī)回答 AJMP WAIT4 00:17:22 READ: MOV A, SBUF ;接收乙機(jī)數(shù)據(jù) JZ RIGHT ; 00H, 發(fā)送正確 , 返回 AJMP START ;發(fā)送出錯 , 重發(fā) RIGHT: RET 2) 乙機(jī)接收 乙機(jī)接收甲機(jī)發(fā)送的數(shù)據(jù) , 并存入以 2020H開始的片外數(shù)據(jù)存儲器中 。 經(jīng)計算或查表得到定時器預(yù)置值為 0F4H, SMOD=0。 編程將甲機(jī)片內(nèi) 60H~ 6FH單元的數(shù)據(jù)塊從串行口發(fā)送 , 在發(fā)送之前將數(shù)據(jù)塊長度發(fā)送給乙機(jī) , 當(dāng)發(fā)送完 16個字節(jié)后 , 再發(fā)送一個累加校驗和 。 00:17:22 MOV SCON, 80H ; 設(shè)置串行口為方式 2 MOV PCON, 80H ; SMOD=1 MOV R0, 50H ; 設(shè)置數(shù)據(jù)塊指針 MOV R7, 20H ; 設(shè)置數(shù)據(jù)塊長度 SETB REN ; 啟動接收 WAIT: JBC RI, READ ; 判斷是否接收完一幀。接收過程要求判斷 RB8, 若出錯置 F0標(biāo)志為 1,正確則置 F0標(biāo)志為 0,然后返回。 00:17:22 參考發(fā)送子程序如下: MOV SCON, 80H ; 設(shè)置串行口為方式 2 MOV PCON, 80H ; SMOD=1 MOV DPTR, 1000H ; 設(shè)數(shù)據(jù)塊指針 (教材串行) MOV R7, 20H ; 設(shè)數(shù)據(jù)塊長度 START: MOVX A, DPTR ; 取數(shù)據(jù)給 A MOV C,P MOV TB8,C ; 奇偶位 P送給 TB8 MOV SBUF,A ; 數(shù)據(jù)送 SBUF, 啟動發(fā)送 WAIT: JBC TI,CONT ; 判斷幀是否發(fā)送完 。定義方式 2發(fā)送, TB8為奇偶校驗位。 00:17:22 方式 3 方式 3為波特率可變的 11位 UART通信方式,除了波特率以外,方式 3和方式 2完全相同。 RXD, 1到 0的跳變,確認(rèn)是起始位“ 0”。發(fā)送或接收的一幀數(shù)據(jù)中包括 1位起始位 0, 8位數(shù)據(jù)位, 1位可編程位 (用于奇偶校驗 )和 1位停止位 1。 當(dāng) RI=0且停止位為 1或 SM2=0時,停止位進(jìn)入 RB8 接收數(shù)據(jù),置位 RI;否則信息將丟失。 接收時, REN=1。 REN=1和 RI=0 00:17:22 方式 1 D0 D1 D2 D3 D4 D5 D6 D7 1 D0 D11D7… …00第 n + 1 字符幀第 n 字符幀8 位數(shù)據(jù)起始位停止位10位的幀格式 串行口為波特率可調(diào)的 10位通用異步接口 UART。 條件 : SM2=0 方式 0用于擴(kuò)展 I/O口輸出 當(dāng)發(fā)送 8位數(shù)據(jù)后,硬件會自動置 TI為 1, CPU響應(yīng) TI或RI中斷后,必須由用戶用軟件清 0 00:17:22 926 5 4 3 14 13 12 11數(shù)據(jù)輸入移位脈沖R X DT X D80517 4 L S 1 6 5D7D6D5D4D3D2D1D0方式 0用于擴(kuò)展 I/O口輸入 當(dāng)接收完 8位數(shù)據(jù)后,置中斷標(biāo)志 RI為 1,請求中斷。 串行數(shù)據(jù)從 RXD()端輸入或輸出,同步移位脈沖由 TXD()送出。在方式 0中, SM2應(yīng)為 0 00:17:22 SM0 SM1 工作方式
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1