【文章內(nèi)容簡介】
O D01T H 1 T L 1247。 2247。 1 6S B U FT 1 溢 出 率 SCON 是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收 /發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志: 80C51串行口的控制寄存器 SM0和 SM1為工作方式選擇位,可選擇四種工作方式: ● SM2,多機(jī)通信控制位 ,主要用于方式 2和方式 3。當(dāng) 接收機(jī)的 SM2=1時(shí)可以利用收到的 RB8來控制是否激活 RI( RB8= 0時(shí)不激活 RI,收到的信息丟棄;RB8= 1時(shí)收到的數(shù)據(jù)進(jìn)入 SBUF,并激活 RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從 SBUF讀走)。 當(dāng) SM2=0時(shí),不論收到的 RB8為 0和 1,均可以使收到的數(shù)據(jù)進(jìn)入SBUF,并激活 RI(即此時(shí) RB8不具有控制 RI激活的功能)。通過控制 SM2,可以實(shí)現(xiàn)多機(jī)通信。 在方式 0時(shí), SM2必須是 0。在方式 1時(shí),若 SM2=1,則只有接收到有效停止位時(shí), RI才置 1。 ● REN,允許串行接收位 。由軟件置 REN=1,則啟動(dòng)串行口接收數(shù)據(jù);若軟件置 REN=0,則禁止接收。 ● TB8,在方式 2或方式 3中,是發(fā)送數(shù)據(jù)的第九位 ,可以用軟件規(guī)定其作用。可以用作數(shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀 /數(shù)據(jù)幀的標(biāo)志位。 在方式 0和方式 1中,該位未用。 ● RB8,在方式 2或方式 3中,是接收到數(shù)據(jù)的第九位 ,作為奇偶校驗(yàn)位或地址幀 /數(shù)據(jù)幀的標(biāo)志位。在方式 1時(shí),若 SM2=0,則 RB8是接收到的停止位。 ● TI,發(fā)送中斷標(biāo)志位 。在方式 0時(shí),當(dāng)串行發(fā)送第 8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行發(fā)送停止位的開始時(shí),由內(nèi)部硬件使 TI置 1,向 CPU發(fā)中斷申請(qǐng)。在中斷服務(wù)程序中,必須用軟件將其清 0,取消此中斷申請(qǐng)。 ● RI,接收中斷標(biāo)志位 。在方式 0時(shí),當(dāng)串行接收第 8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行接收停止位的中間時(shí),由內(nèi)部硬件使 RI置 1,向 CPU發(fā)中斷申請(qǐng)。也必須在中斷服務(wù)程序中,用軟件將其清 0,取消此中斷申請(qǐng)。 PCON中只有一位 SMOD與串行口工作有關(guān) : SMOD( ) 波特率倍增位。在串行口方式 方式 方式 3時(shí),波特率與 SMOD有關(guān),當(dāng) SMOD=1時(shí),波特率提高一倍。復(fù)位時(shí), SMOD=0。 80C51串行口的工作方式 一、方式 0 方式 0時(shí),串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由 RXD( )引腳輸入或輸出,同步移位脈沖由 TXD( )引腳輸出。發(fā)送和接收均為 8位數(shù)據(jù),低位在先,高位在后。波特率固定為 fosc/12。 方式 0輸出 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7寫 入 S B U FR X D ( 數(shù) 據(jù) )T X D ( 移 位 脈 沖 )T I ( 中 斷 標(biāo) 志 ) 方式 0輸入 R E N = 1R X D ( 數(shù) 據(jù) 輸 入 )T X D ( 移 位 脈 沖 )R I = 0D 0 D 1 D 2 D 3D 4D 5 D 6 D 7 方式 0接收和發(fā)送電路 7 4 L S 1 6 4R X DT X DP 1 . 08 0 C 5 1C L RC L KABG N D7 4 L S 1 6 5R X DT X DP 1 . 08 0 C 5 1S / LC L KQG N D 二、方式 1 方式 1是 10位數(shù)據(jù)的異步通信口。 TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中 1位起始位, 8位數(shù)據(jù)位, 1位停止位。 停止位數(shù) 據(jù) 位 8 位起始位L S B M S B空閑空閑D 0D 71 幀 共 1 0 位 方式 1輸出 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7寫 入 S B U F停 止 位T X DT I ( 中 斷 標(biāo) 志 )起 始 方式 1輸入 用軟件置 REN為 1時(shí),接收器以所選擇波特率的 16倍速率采樣 RXD引腳電平,檢測到 RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng) RI=0,且 SM2=0(或接收到的停止位為 1)時(shí),將接收到的 9位數(shù)據(jù)的前 8位數(shù)據(jù)裝入接收 SBUF,第 9位(停止位)進(jìn)入 RB8,并置 RI=1,向 CPU請(qǐng)求中斷。 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7停 止 位R X DR I ( 中 斷 標(biāo) 志 )起 始位 采 樣 脈 沖 三、方式 2和方式 3 方式 2或方式 3時(shí)為 11位數(shù)據(jù)的異步通信口。 TXD為數(shù)據(jù)發(fā)送引腳, RXD為數(shù)據(jù)接收引腳 。 方式 2和方式 3時(shí)起始位 1位,數(shù)據(jù) 9位(含 1位附加的第 9位,發(fā)送時(shí)為 SCON中的 TB8,接收時(shí)為 RB8),停止位 1位,一幀數(shù)據(jù)為 11位。方式 2的波特率固定為晶振頻率的 1/64或 1/32,方式 3的波特率由定時(shí)器 T1的溢出率決定。 停止位數(shù) 據(jù) 位 9 位起始位L S B M S B空閑空閑D 0D 71 幀 共 1 1 位R B 8 / T B 8 方式 2和方式 3輸出 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7寫 入 S B U F停 止 位T X DT I ( 中 斷 標(biāo) 志 )起 始T B 8 發(fā)送開始時(shí),先把起始位 0輸出到 TXD引腳,然后發(fā)送移位寄存器的輸出位( D0)到 TXD引腳。每一個(gè)移位脈沖都使輸出移位寄存器的各位右移一位,并由 TXD引腳輸出。 第一次移位時(shí),停止位“ 1”移入輸出移位寄存器的第 9位上 ,以后每次移位,左邊都移入 0。當(dāng)停止位移至輸出位時(shí),左邊其余位全為 0,檢測電路檢測到這一條件時(shí),使控制電路進(jìn)行最后一次移位,并置 TI=1,向 CPU請(qǐng)求中斷。 方式 2和方式 3輸入 接收時(shí),數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位 0移到最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng) RI=0,且 SM2=0(或接收到的第 9位數(shù)據(jù)為 1)時(shí),接收到的數(shù)據(jù)裝入接收緩沖器 SBUF和 RB