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

正文內(nèi)容

單片微型計算機原理與接口技術(shù)第二版第7章80c51單片微機的串行口原理及應用(編輯修改稿)

2025-01-04 08:02 本頁面
 

【文章內(nèi)容簡介】 SM1= SM0= 1, 選擇方式 3。 由 TXD引腳發(fā)送數(shù)據(jù) 。 由 RXD引腳接收數(shù)據(jù) 。 發(fā)送或接收一幀信息為 11位: 1位起始位 ( 0) 、 8位數(shù)據(jù)位 (低位在前 ) 、 1位可編程位和 1位停止位 ( l) 。發(fā)送時可編程位 TB8可設置為 1或 0, 接收時可編程位進入 SCON寄存器的 RB8位 。 方式 2的波特率是固定的,為振蕩器頻率的 1/32或 1/64。 .方式 3的波特率則由 T1和 T2的溢出決定,可用程序設定。 幀格式如 如 圖 77所示。 方式 2時的工作原理圖如 圖 78所示 。 在進行最后一次移位時 , 能將數(shù)據(jù)送入接收數(shù)據(jù)緩沖器SBUF和 RB8, 而且置位 RI的條件是: RI= 0; SM2= 0或接收到的停止位= 1。 若以上兩個條件中有一個不滿足,將不可恢復地丟失接收到的這一幀信息。 多處理機通信方式 SM2:多處理機通信位。 當串行口以方式 2或方式 3接收時 , 若 SM2= 1, 只有當接收到的第 9位數(shù)據(jù) RB8為 1時 , 才將數(shù)據(jù)送入接收緩沖器 SBUF,并使 RI置 1, 申請中斷 , 否則數(shù)據(jù)將丟失;若 SM2= 0, 則無論第 9位數(shù)據(jù) RB8是 1還是 0, 都能將數(shù)據(jù)裝入 SBUF, 并且發(fā)中斷 。 利用這一特性 , 便可實現(xiàn)主機與多個從機之間的串行通信 。 圖 7- 9為多機通信連線示意圖 , 系統(tǒng)中左邊的 80C51為主機 ,其余的為 1~ n號從機 , 并保證每臺從機在系統(tǒng)中的編號是惟一的 。 系統(tǒng)初始化時 , 將所有從機中的 SM2位均設置為 1, 并處于允許串行口中斷接收狀態(tài) 。 主機欲與某從機通信,先向所有從機發(fā)出所選從機的地址,從機地址符合后,接著才發(fā)送命令或數(shù)據(jù)。 在主機發(fā)地址時 , 置第 9位數(shù)據(jù) ( RB8) 為 1, 表示主機發(fā)送的是地址幀; 當主機呼叫某從機聯(lián)絡正確后 , 主機發(fā)送命令或數(shù)據(jù)幀時 ,將第 9位數(shù)據(jù) ( RB8) 清 0。 各從機由于 SM2置 1, 將響應主機發(fā)來的第 9位數(shù)據(jù) ( RB8)為 1的地址信息 。 從機響應中斷后 , 有兩種不同的操作: 若從 機的地址與主機點名的地址不相同 , 則該從機將繼續(xù)維持 SM2為 l, 從而拒絕接收主機后面發(fā)來的命令或數(shù)據(jù)信息 , 等待主機的下一次點名 。 若從機的地址與主機點名的地址相同,該從機將本機的 SM2清 0,繼續(xù)接收主機發(fā)來的命令或數(shù)據(jù),響應中斷。 串行口的波特率發(fā)生器如 圖 710所示 。 方式 0時的波特率由振蕩器的頻率 ( fosc) 所確定:波特率為 fosc/12。 方式 2時的波特率由振蕩器的頻率( fosc)和 SMOD位確定: 當 SMOD位= 1時 , 波特率= fosc/32;當 SMOD= 0時 , 波特率= fosc/64。 方式 1和 3時的波特率由定時器 T1和 T2的溢出率和 SMOD確定。 ( 1)用定時器 T1(= 0)產(chǎn)生波特率 定時器 T1工作于方式 0: T1為 13位計數(shù)器。 式中: TC——13位計數(shù)器初值; X——中斷服務程序的機器周期數(shù) , 在中斷服務程序中重新對定時器置數(shù) 。 定時器 T1工作于方式 1: T1為 16位的計數(shù)器 。 式中: TC——16位計數(shù)器初值; X——中斷服務程序的機器周期數(shù),在中斷服務程序中重新對定時器置數(shù)。 定時器 Tl工作于方式 2: T1為 8位可重裝的方式,用 TL1計數(shù),用 TH1裝初值。 方式 0的編程和應用 例: 使用 74LS164的并行輸出端接 8只發(fā)光二極管 , 利用它的串入并出功能 , 把發(fā)光二極管從左向右依次點亮 , 并不斷循環(huán)之 。 發(fā)光二極管擴展連接路 如圖 711所示 。 MOV SCON, 00H ;設串行口為方式 0, CLR ES ;禁止串行口中斷 MOV A, 80H ;先顯示最左邊發(fā)光二極管 LED: MOV SBUF, A ;串行輸出 JNB TI, $ ;輸出等待 CLR TI ;軟件清中斷標志 ACALL DELAY ;輪顯間隔 RR A ;發(fā)光右移 AJMP LED ;循環(huán) DELAY: …… ;延時子程序 RET 方式 1的編程和應用 例:試編寫雙機通信程序 。 甲 、 乙雙機均為串行口方式 1,并以定時器 T1的方式 2為波特率發(fā)生器 , 波特率為 2400。 波特率的計算:這里使用 6MHz晶振 , 以 T1的方式 2制定波特率 。 計算定時器 T1的計數(shù)初值: 波特率 = 2smod fosc 1 32 12 28 - TH1 TH1=28- (2SMOD fosc)247。 (波特率 32 12) =256- (20 6 106)247。 (2400 32 12) =256- ==FAH ⑴ 甲機發(fā)送: 將以片內(nèi) RAM的 78H及 77H的內(nèi)容為首地址 、 以 76H及75H的內(nèi)容減 1為末地址的數(shù)據(jù)塊內(nèi)容 , 通過串行口傳至乙機 。 例: (78H) = 20H ;首地址高位 ( 77H) = 00H ( 76H) = 20H ;末地址高位 ( 75H) = 20H 即要求程序?qū)⑵?RAM的 2022H~ 20lFH中的內(nèi)容輸出到串行口。對數(shù)據(jù)塊首、末地址的傳送以查詢方式進行,而數(shù)據(jù)的傳送以中斷方式進行。 ORG 0000H SJMP TRANS ORG 0023H ;串行口中斷入口 AJMP SINT ORG 0030H TRANS: MOV TMOD, # 20H ;置 T1為定時器方式 2 MOV TL1, # 0FAH ;置 T1定時常數(shù) (波特率為 ; 2400) MOV TH1, # 0FAH SETB EA ;允許中斷 CLR ES ;關(guān)串行口中斷 MOV PCON, 00H ;波特率不倍增 CLR TI ;清發(fā)送中斷 MOV SCON, # 40H ;置串行口方式 1 MOV SBUF, 78H ;輸出首地址 WAIT1: JNB TI, WAITI ;查詢等待發(fā)送結(jié)束 CLR TI MOV SBUF, 77H WAIT2: JNB TI, WAIT2 ;查詢等待發(fā)送結(jié)束 CLR TI MOV SBUF, 76H ;輸出末地址 WAIT3: JNB TI, WAIT3 CLR TI MOV SBUF, 75H WAIT4: JNB TI, WAIT4 CLR TI SETB ES ;允許串行口中斷 MOV DPH, 78H ;輸出數(shù)據(jù)塊中第 1個數(shù)據(jù) MOV DPL, 77H MOVX A, @ DPTR CLR
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1