80C51單片機(jī)串行口寄存器結(jié)構(gòu)
80C51單片機(jī)串行口是由發(fā)送緩沖寄存器SBUF、發(fā)送控制器、發(fā)送控制門、接收緩沖寄存器SBUF、接收控制寄存器、移位寄存器和中斷等部分組成。1.SBUF
在邏輯上,SBUF只有一個(gè),既表示發(fā)送寄存器,又表示接收寄存器。具有同一個(gè)單元地址99H。在物理上,SBUF有兩個(gè),一個(gè)是發(fā)送寄存器,另一個(gè)是接收寄存器。在邏輯上,SBUF只有一個(gè),既表示發(fā)送寄存器,又表示接收寄存器。具有同一個(gè)單元地址99H。在物理上,SBUF有兩個(gè),一個(gè)是發(fā)送寄存器,另一個(gè)是接收寄存器。
2.控制寄存器
與串行通信有關(guān)的控制寄存器共有三個(gè)。
(1)串行控制寄存器SCON
SCON是80C51的一個(gè)可位尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制。單元地址98H,位地址9FH-98H。寄存器及位地址表示如下:
位址址<?XML:NAMESPACE PREFIX = O /> | 9F | 9E | 9D | 9C | 9B | 9A | 99 | 98 |
位符號(hào) | SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
①SM0 SM1--- 串行口工作方式選擇位
串口4種工作方式不同之處在于其通信協(xié)議不同,即幀格式與波特率的不同。4種工作方式與其對(duì)應(yīng)的幀格式與波特率如下:
其中,SMOD為電源控制寄存器PCON 的最高位,f為系統(tǒng)主頻,T1溢出率的概念在后文中介紹。
②SM2--- 多機(jī)通信控制位
在進(jìn)行多機(jī)通信時(shí),需要用SM2控制從機(jī)是準(zhǔn)備接收地址還是接收數(shù)據(jù)。當(dāng)串行口以方式2或方式3接收時(shí),若SM2=1,則只有當(dāng)接收到的第九位數(shù)據(jù)(RB8)為1,才將接收到的前8位地址送入SBUF,并置位RI產(chǎn)生中斷請(qǐng)求;否則,將接收到的8位地址丟棄。而當(dāng)SM2=0時(shí),則不論第九位數(shù)據(jù)為0還是為1,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷請(qǐng)求。在方式0,1時(shí),SM2必須為0。
③REN--- 允許接收位
REN位用于對(duì)串行數(shù)據(jù)的接收進(jìn)行控制:
REN=0 禁止接收
REN=1 允許接收
該位由軟件置位或復(fù)位。
④TB8 --- 發(fā)送數(shù)據(jù)的第9位
在方式2和方式3時(shí),TB8是發(fā)送的第9位數(shù)據(jù)。在多機(jī)通信中,以TB8位的狀態(tài)表示主機(jī)發(fā)送的是地址還是數(shù)據(jù);TB8=0為數(shù)據(jù),TB8=1為地址。該位由軟件置位或復(fù)位。
⑤RB8--- 接收數(shù)據(jù)位的第9位數(shù)據(jù)
在方式2或方式3時(shí),RB8存放接收到的第9位數(shù)據(jù),代表著接收的某種特征,故應(yīng)根據(jù)其狀態(tài)對(duì)接收數(shù)據(jù)進(jìn)行操作。
⑥TI --- 發(fā)送中斷標(biāo)志
當(dāng)方式0時(shí),發(fā)送完第8位數(shù)據(jù)后,該位由硬件置位。在其它方式下,于發(fā)送停止位之前,由硬件置位。因此TI=1,表示幀發(fā)送結(jié)束,其狀態(tài)既可供軟件查詢使用,也可請(qǐng)求中斷。TI位由軟件清0。
⑦RI --- 接收中斷標(biāo)志
當(dāng)方式0時(shí),接收完第8位數(shù)據(jù)后,該位由硬件置位。在其它方式下,當(dāng)接收到停止位時(shí),該位由硬件置位。因此RI=1,表示幀接收結(jié)束。其狀態(tài)既可供軟件查詢使用,也可以請(qǐng)求中斷。RI位由軟件清0。
(2)電源控制寄存器PCON
PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器。單元地址為87H。其內(nèi)容如下:
在HMOS的單片機(jī)中,該寄存器中除最高位之外,其它位都是虛設(shè)的。最高位(SMOD)是串行口波特率的倍增位,當(dāng)SMOD=1時(shí)串行口波特率加倍。系統(tǒng)復(fù)位時(shí),SMOD=0。PCON寄存器不能進(jìn)行位尋址,因此表中寫了“位序”而不是“位地址”。
編輯:admin 最后修改時(shí)間:2018-06-27