1、串行口的結(jié)構(gòu)
mcs-51串行口結(jié)構(gòu)框圖示于圖。由圖可見 mcs-51單片機串行口主要由兩個物理上獨立的串行數(shù)據(jù)緩沖寄存器sbuf、發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門組成。兩個特殊功能寄存器scon和pcon用來控制串行口的工作方式和波特率。發(fā)送緩沖寄存器sbuf只能寫,不能讀;接收緩沖寄存器sbuf只能讀,不能寫。兩個緩沖寄存器共用一個地址99h,可以用讀/寫指令區(qū)分。
串行發(fā)送時,通過mov sbuf,a”寫指令,cpu把累加器a的內(nèi)容寫入發(fā)送的sbuf(99h),再由txd引腳一位一位地向外發(fā)送;串行接收時,接收端從rxd一位一位地接收數(shù)據(jù),直到收到一個完整的字符數(shù)據(jù)后通知cpu,再通過mov a,sbuf讀指令,cpu從接收的sbuf(99h)讀出數(shù)據(jù),送到累加器a中。發(fā)送和接收的過程可以采用中斷方式,從而可以大大提高cpu的效率。
2、串行口的控制寄存器
在mcs-51的sfr中,與串行口有關(guān)的控制寄存器有四個。其中最重要的是串行口控制寄存器scon,在使用串行口時,必須首先對它初始化。
scon是mcs-51的一個可位尋址的sfr,串行數(shù)據(jù)通信的方式選擇、接收和發(fā)送控制以及串行口的狀態(tài)標(biāo)志均由專用寄存器scon控制和指示。復(fù)位時所有位被清0。scon的格式如下:
3、電源控制寄存器pcon
pcon主要是為chmos型單片機的電源控制而設(shè)置的專用寄存器,地址為87h。pcon的最高位smod是串行口波特率倍增位。當(dāng)smod=1時,波特率加倍,復(fù)位時,smod=0。pcon的格式如下:
4、中斷允許寄存器ie(a8h)
其中,es為串行口中斷允許控制位,es=1允許ri/t1中斷,es=0,禁止ri/ti中斷。
5、中斷優(yōu)先級寄存器ip(b8h)
其中,ps為串行口中斷優(yōu)先級控制位,該位為“1”,串行口設(shè)定為高優(yōu)先級。