目標(biāo):單片機(jī)串口通信理解(三)
3.串口相關(guān)寄存器
(1)串口控制寄存器SCON
-
SM0和SM1為工作方式選擇位:
REN:允許串行接收位。由軟件置REN=1棍厂,則啟動(dòng)串行口接收數(shù)據(jù)侧馅;若軟件置- REN=0制市,則禁止接收允粤。
TB8:在方式2或方式3中,是發(fā)送數(shù)據(jù)的第9位(方式2和3有9位數(shù)據(jù))问芬,可以用軟件規(guī)定其作用悦析。可以用作數(shù)據(jù)的奇偶校驗(yàn)位此衅,或在多機(jī)通信中强戴,作為地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式0和方式1中挡鞍,該位未用到骑歹。
RB8:在方式2或方式3中,是接收到數(shù)據(jù)的第9位(方式2和3有9位數(shù)據(jù))墨微,作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位陵刹。在方式1時(shí),若SM2=0,則RB8是接收到的停止位衰琐。
SM2:多機(jī)通信控制位,主要用于方式2和方式3炼蹦。當(dāng)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ī)通信。
TI:發(fā)送中斷標(biāo)志位伪节。當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí)光羞,即串行發(fā)送停止位的開始時(shí),由內(nèi)部硬件使TI置1怀大,向CPU發(fā)中斷申請纱兑。在中斷服務(wù)程序中,必須用軟件將其清0化借,取消此中斷申請潜慎。
RI:接收中斷標(biāo)志位。當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時(shí)蓖康,串行接收停止位的中間時(shí)铐炫,由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請钓瞭。也必須在中斷服務(wù)程序中驳遵,用軟件將其清0,取消此中斷申請山涡。
(2)電源控制寄存器PCON
SMOD:波特率倍增位堤结。在串口方式1、方式2鸭丛、方式3時(shí)(波特率不固定或有多個(gè)選擇)竞穷,波特率與SMOD有關(guān),當(dāng)SMOD=1時(shí)鳞溉,波特率提高一倍瘾带。復(fù)位時(shí),SMOD=0熟菲。