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

正文內(nèi)容

單片微型計(jì)算機(jī)原理與接口技術(shù)第二版第7章80c51單片微機(jī)的串行口原理及應(yīng)用-閱讀頁(yè)

2024-12-23 08:02本頁(yè)面
  

【正文】 緩沖器SBUF和 RB8, 而且置位 RI的條件是: SM2= 0或接收到的停止位= 1。 多處理機(jī)通信方式 SM2:多處理機(jī)通信位。 利用這一特性 , 便可實(shí)現(xiàn)主機(jī)與多個(gè)從機(jī)之間的串行通信 。 系統(tǒng)初始化時(shí) , 將所有從機(jī)中的 SM2位均設(shè)置為 1, 并處于允許串行口中斷接收狀態(tài) 。 當(dāng)主機(jī)呼叫某從機(jī)聯(lián)絡(luò)正確后 , 主機(jī)發(fā)送命令或數(shù)據(jù)幀時(shí) ,將第 9位數(shù)據(jù) ( RB8) 清 0。 從機(jī)響應(yīng)中斷后 , 有兩種不同的操作: 串行口的波特率發(fā)生器如 圖 710所示 。方式 0時(shí)的波特率由振蕩器的頻率 ( fosc) 所確定:波特率為 fosc/12。方式 2時(shí)的波特率由振蕩器的頻率( fosc)和 SMOD位確定: 當(dāng) SMOD位= 1時(shí) , 波特率= fosc/32;當(dāng) SMOD= 0時(shí) , 波特率= fosc/64。方式 1和 3時(shí)的波特率由定時(shí)器 T1和 T2的溢出率和 SMOD確定。定時(shí)器 T1工作于方式 0: T1為 13位計(jì)數(shù)器。 式中: TC——16位計(jì)數(shù)器初值; X——中斷服務(wù)程序的機(jī)器周期數(shù),在中斷服務(wù)程序中重新對(duì)定時(shí)器置數(shù)。定時(shí)器 Tl工作于方式 2: T1為 8位可重裝的方式,用 TL1計(jì)數(shù),用 TH1裝初值。 發(fā)光二極管擴(kuò)展連接路 如圖 711所示 。 甲 、 乙雙機(jī)均為串行口方式 1,并以定時(shí)器 T1的方式 2為波特率發(fā)生器 , 波特率為 2400。 計(jì)算定時(shí)器 T1的計(jì)數(shù)初值: 波特率 = 2smod fosc 1 32 12 28 - TH1 TH1=28- (2SMOD fosc)247。 (2400 32 12) =256- ==FAH ⑴ 甲機(jī)發(fā)送: 將以片內(nèi) RAM的 78H及 77H的內(nèi)容為首地址 、 以 76H及75H的內(nèi)容減 1為末地址的數(shù)據(jù)塊內(nèi)容 , 通過(guò)串行口傳至乙機(jī) 。對(duì)數(shù)據(jù)塊首、末地址的傳送以查詢方式進(jìn)行,而數(shù)據(jù)的傳送以中斷方式進(jìn)行。接收的第 2字節(jié)是數(shù)據(jù)塊的首地址,第 4字節(jié)是數(shù)據(jù)塊的末地址減 1,第 5字節(jié)開(kāi)始是數(shù)據(jù),接收到的數(shù)據(jù)依次存入數(shù)據(jù)塊首地址開(kāi)始的存儲(chǔ)器中。 數(shù)據(jù)塊通過(guò)串行口發(fā)送和接收 , 采用 8位異步通信 , 波特率為 1200,已知 fosc= 。 設(shè)串行口為方式 1, T1為方式 2作為串行口的波特率發(fā)生器 。 ORG 0000H MOV TMOD, 20H ;設(shè) T1 為 定 時(shí) 器 方 式 2 MOV TL1, 0E8H ;設(shè) T1時(shí)間常數(shù) MOV TH1, 0E8H MOV R0, 20H ;接收緩沖區(qū)首址 MOV R7, 32 ;接收字節(jié)計(jì)數(shù)器 例 通過(guò)串行口接收帶奇偶校驗(yàn)位的數(shù)據(jù)塊 LOOP: ACALL SPIN ;調(diào)用帶奇校驗(yàn)的串行口接 ; 收子程序 JC ERROR ;校驗(yàn)錯(cuò) , 轉(zhuǎn)出錯(cuò)處理 MOV R0, A ;存入 INC R0 DJNZ R7, LOOP ;未接收完 , 則繼續(xù) ERROR: … ;校驗(yàn)錯(cuò) , 處理 SPIN: MOV SCON, 01010000B ;設(shè)串行口為方式 ; 1, 啟動(dòng)接收 JNB RI, $ CLR RI MOV A, SBUF ;接收一個(gè)字節(jié) MOV C, P ;檢查奇校驗(yàn)位 , 若出錯(cuò) , C=1 CPL C ANL A, 7FH ;去掉校驗(yàn)位后的 ASCII碼數(shù)據(jù) RET 方式 2和 3的編程和應(yīng)用 方式 2接收/發(fā)送的一幀信息是 11位:第 0位是起始位 ( 0) ;第 1~ 8位是數(shù)據(jù)位;第 9位是程控位 , 可由用戶置 TB8決定;第 10位是停止位 。 方式 2的波特率為: 波特率=振蕩器頻率 /n 其中:當(dāng) SMOD= 0時(shí) , n= 64 ; 當(dāng) SMOD= l時(shí) , n= 32。 工作方式 2發(fā)送的一幀信息為 11位: 1位起始位 , 8位數(shù)據(jù)位 , 1位可編程為 1或 0的第 9位 ( 可用作奇偶校驗(yàn)位或數(shù)據(jù)/地址標(biāo)志位 ) 和 1位停止位 。 例: 試編寫(xiě)串行接口以工作方式 2發(fā)送數(shù)據(jù)的中斷服務(wù)程序 ORG 0023H AJMP SPINT SPINT: CLR EA ;關(guān)中斷 PUSH PSW ;保護(hù)現(xiàn)場(chǎng) PUSH ACC SETB EA ;開(kāi)中斷 SETB ;切換寄存器工作組 CLR TI ;清除發(fā)送中斷請(qǐng)求標(biāo)志 MOV A, @ R0 ;取數(shù)據(jù) , 置奇偶標(biāo)志位 MOV C, P ;奇偶標(biāo)志位 P送 TB8 MOV TB8, C MOV SBUF, A ;數(shù)據(jù)寫(xiě)入發(fā)送緩沖器 , 啟動(dòng)發(fā)送 INC R0 ;數(shù)據(jù)地址指針加 1 CLR 0AFH ;恢復(fù)現(xiàn)場(chǎng) POP ACC POP PSW SETB 0AFH CLR PSW .4 ;切換寄存器工作組 RETI ;中斷返回 例: 方式 3和方式 1的不同在于接收/發(fā)送的信息位數(shù)不同 , 而與方式 2的不同僅在于波特率設(shè)置不同 。 串行口以方式 3進(jìn)行接收和發(fā)送 ,以 T1為波特率發(fā)生器 , 選擇定時(shí)器方式 2。 甲機(jī)的發(fā)送程序 : ORG 0023H CLR TI RETI TRANSFER: MOV TMOD, # 20H ;置 T1為定時(shí)方式 2 MOV TL1, # 0F0H ;置 T1定時(shí)常數(shù) MOV TH1, # 0F0H SETB EA ;允許中斷 CLR ES ;禁止串行口中斷 CLR ET1 ;禁止定時(shí)器 T1中斷 MOV SCON, # 0E0H ;置串行口方式 3 SETB TB8 ;表示發(fā)送的是地址 MOV SBUF, 78H ;發(fā)送地址 JNB TI,$ CLR TI MOV SBUF, 77H JNB TI, $ CLR TI MOV IE, # 90H ;允許串行口中斷 CLR SM2 ;以后發(fā)送的是數(shù)據(jù) MOV A,# 00H ;發(fā)送數(shù)據(jù) LOOP: MOV SBUF, A INC A JNB TI, $ CLR TI CJNZ A, # 0FFH, LOOP ;判是否結(jié)束 CLR ES ;禁止串行口中斷 CLR EA ;關(guān)中斷 HERE: AJMP HERE 乙機(jī)接收程序:把接收到的頭兩個(gè)字節(jié)作為存放數(shù)據(jù)的首地址 , 再接收到的 255個(gè)字節(jié)的數(shù)據(jù)存放入相應(yīng)的單元
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1