(筆記總結)80C51的序列口
80C51的序列口的結構
SBUF:兩個物理上獨立的接收、傳送緩衝器。他們兩個佔用同一個地址99H。接收器是雙緩衝結構,傳送緩衝器,因為傳送時,CPU是主動的,不會產生重疊錯誤。
80C51的序列口的控制暫存器
1.SCON是一個特殊功能暫存器,用來設定序列口的工作方式、接收/傳送控制以及設定狀態標誌。
SM0和SM1是工作方式選擇位(和之前一樣),可以選擇四種工作方式,如下
SM0、SM1 | 工作方式 | 說明 | 波特率 |
00 | 方式0 | 移位暫存器 | 12 |
01 | 方式1 | 10位非同步收發器(8位資料) | 可變 |
10 | 方式2 | 11位非同步收發器(9位資料) | 64或32 |
11 | 方式3 | 11位非同步收發器(9位資料) | 可變 |
RI(SCON.0),接收中斷標誌位。在方式0時,當序列接收第8位資料結束時;或在其他方式,序列接收停止位中間時,由內部硬體使RI置1,向CPU發出中斷申請。在中斷服務程式中,用軟體將其清0,取消此中斷申請。
TI(SCON.1),傳送中斷標誌位。在方式0時,當序列傳送第8位資料結束時;或在其他方式,序列傳送停止位中間時,由內部硬體使TI置1,向CPU發出中斷申請。在中斷服務程式中,用軟體將其清0,取消此中斷申請。
RB8(SCON.2),在方式2或方式3中,是接受到資料的第九位,可以用軟體規定起作用,可以用作資料的奇偶校驗位。在多機通訊中,作為地址幀、資料幀的標誌位。在方式1時,若SM2=0,則RB8是接收到的停止位。
TB8(SCON.3),在方式2或方式3中,是傳送資料的第九位,可以用軟體規定起作用,可以用作資料的奇偶校驗位。在多機通訊中,作為地址幀、資料幀的標誌位。在方式0和方式1中,該位未用。
REN(SCON.4),允許序列接受位。由軟體置REN=1,則啟動序列口接收資料。若軟體置REN=0,則禁止接收。
SM2(SCON.5),多機通訊控制位。主要用於方式2和方式3,當接收機的SM2=1時,可以利用收到的RB8來控制是否啟用RI。(RB8=0時,不啟用RI,收到的資訊丟棄;RB8=1時,啟用RI,收到的資料進入SBUF,進而在中斷服務中將資料從SBUF中讀走)。當接收機的SM2=0時,不論收到的RB8為0和1,均可以是收到的資料進入SBUF,並激活RI(即此時RB8不具有控制RI啟用的功能)。通過控制SM2,可以實現多機通訊。在方式0時,SM2必須是0。在方式1時,若SM2=1,則只有接收到有效停止位時,RI才置1。
2.PCON中只有一位SMOD與序列口工作有關,如下
SMOD(PCON.7),波特率倍增位。在序列口方式1、方式2、方式3時,波特率與SMOD有關,當SMOD=1時,位元率增加一倍。復位時,SMOD=0。