C51單片機(jī)串口初始化為何是這樣
B7 本文引用地址:http://2s4d.com/article/201611/322149.htm | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
SM0、SM1:串行通信方式選擇位。
SM0 | SM1 | 工作方式 | 功能說明 | 波特率 |
0 | 0 | 方式0 | 同步移位寄存器方式 | osc f /12 |
0 | 1 | 方式1 | 8位異步通信方式 | 可變,由定時(shí)器控制 |
1 | 0 | 方式2 | 9位異步通信方式 | osc f /32 或osc f /64 |
1 | 1 | 方式3 | 9位異步通信方式 | 可變,由定時(shí)器控制 |
SM2:多機(jī)通信控制位。
在方式0時(shí),SM2必須為0。
在方式1時(shí),若SM2=0,RB8是接受到的停止位;若SM2=1,則只有收到有效的停止位才會(huì)激活中斷RI,若沒有接受到有效停止位,則RI清0。
在方式2或3時(shí),如果SM2
REN:接收控制位。由軟件置1或清0,“0”即禁止接收。“1”允許接收。
TB8:發(fā)送數(shù)據(jù)的第9 位。方式2和方式3,TB8是要發(fā)送的第9位數(shù)據(jù),其值由軟件置“1”或清“0”。在雙機(jī)串行通信時(shí),一般作為奇偶校驗(yàn)位使用;在多機(jī)串行通信中用來表示主機(jī)發(fā)送的是地址幀還是數(shù)據(jù)幀,TB8=1為地址幀,TB8=0為數(shù)據(jù)幀。
RB8:接收數(shù)據(jù)的第9位。方式2和方式3,RB8存放接收到的第9位數(shù)據(jù)。在方式1,如SM2
TI:發(fā)送中斷標(biāo)志位。發(fā)送數(shù)據(jù)前由軟件清0,發(fā)送結(jié)束由硬件置1。方式0,發(fā)送完8位數(shù)據(jù)時(shí)TI由硬件置“1”,其他方式中,發(fā)送停止位時(shí)置TI 為“1”。其狀態(tài)可供軟件查詢,也可請(qǐng)求中斷
RI:接收中斷標(biāo)志位。接收前由軟件清0,接收完時(shí)由硬件置“1”。方式0時(shí),接收完第8位數(shù)據(jù)RI由硬件置“1”。在其他工作方式中,串行接收到停止位的中間時(shí),該位置“1”。 其狀態(tài)可供軟件查詢,也可請(qǐng)求中斷
TMOD-定時(shí)器控制寄存器:不按位尋址,高四位控制T1,低四位控制T0。地址89H
B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
GATE :定時(shí)操作開關(guān)控制位,當(dāng)GATE=1時(shí),INT0或INT1引腳為高電平,同時(shí)TCON中的TR0或TR1控制位為1時(shí),計(jì)時(shí)/計(jì)數(shù)器0或1才開始工作。若GATE=0,則只要將TR0或TR1控制位設(shè)為1,計(jì)時(shí)/計(jì)數(shù)器0或1就開始工作。
C/T :定時(shí)器或計(jì)數(shù)器功能的選擇位。C/T=1為計(jì)數(shù)器,通過外部引腳T0(P3.4)或T1(P3.5)輸入計(jì)數(shù)脈沖。C/T=0時(shí)為定時(shí)器,由內(nèi)部系統(tǒng)時(shí)鐘提供計(jì)時(shí)工作脈沖。
M1 :模式選擇位高位
M0 :模式選擇位低位
M1 | M0 | 工作模式 |
0 | 0 | 13位計(jì)數(shù)/計(jì)時(shí)器 |
0 | 1 | 16位計(jì)數(shù)/計(jì)時(shí)器 |
1 | 0 | 8位自動(dòng)加載計(jì)數(shù)/計(jì)時(shí)器 |
1 | 1 | 定時(shí)器1停止工作,定時(shí)器0分為兩個(gè)獨(dú)立的8位定時(shí)器TH0及TL0 |
SCON=0X52
TMOD=0X20:使用定時(shí)器1,8位自動(dòng)加載計(jì)時(shí)器
TH1=0XF3:設(shè)置8位自動(dòng)加載計(jì)時(shí)器定時(shí)時(shí)間,設(shè)定波特率為9600
TR1=1:?jiǎn)⒂枚〞r(shí)器1
評(píng)論