當前位置:維知科普網 >

生活

> 控制串行口工作方式的寄存器是

控制串行口工作方式的寄存器是

控制串行口工作方式的寄存器是

控制串行口工作方式的寄存器是SCON。SCON串行口控制寄存器,用於控制串行通信的方式選擇、接收和發送,指示串口的狀態。SCON既可以字節尋址,也可以位尋址,其字節地址為98H,地址位為98H~9FH。

工作方式(SM0 SM1)

1、方式0( SM0 SM1 :0 0):串行口的工作方式0為移位寄存器I/O方式,可外接移位寄存器,一擴展I/O口,也可外接同步I/O設備。 發送操作:當執行一條“MOVSBUF,A”指令時,啟動發送操作,由TXD輸出移位脈衝,由RXD串行SBUF中的數據。發送完8位數據後自動置TI=1.請求中斷。要繼續發送時,TI必須有指令清零。 接收操作:REN是串行口接收允許控制位。REN=0時禁止接收;REN=1時允許接收。當軟件將REN置“1”時,即開始從RXD端口以fosc/12波特率輸入數據,當接收到8位數據時,將中斷標誌RI置“1”。再次接收數據之前,必須用軟件將RI清0。

2、方式1( SM0 SM1 :0 1) :串行口為10位通用異步接口。發送或接收一幀數據信息為10位,包括1位起始位“0”、8位數據位、1位停止位“1”。發送數據:數據從TXD端口輸出,當數據寫入發送緩衝器SBUF時,就啟動發送器發送。發送完一幀數據後,置中斷標誌TI=1,申請中斷,通知CPU可以發送下一個數據了。接收數據:首先使REN=1(允許接收數據),串行口從RXD接收數據,當採樣到1至0跳變時,確認是起始位“0”,就開始接收一幀數據,當接收完一幀數據時,置中斷標誌RI=1,申請中斷,通知CPU從SBUF取走接收到的數據 。

3、方式2( SM0 SM1 :1 0) :串行口為11位異步通信接口。發送或接收一幀信息包括1位起始位“0”、8位數據位、1位可編程位、1位停止位“1”。發送數據:發送前,先根據通信協議由軟件設置TB8為“奇偶校驗位”或“數據標識位”,然後將要發送的數據寫入SBUF,即能啟動發送器。發送過程是由執行任何一條以SBUF為目的寄存器的指令而啟動的,把8位數據裝入SBUF,同時還把TB8裝到發送移位寄存器的第9位上,然後從TXD(P3.1)端口輸出一幀數據。接收數據:先置REN=1,使串行口為允許接收狀態,同時還要將RI清“0”。然後再根據SM2的狀態和所接收到的RB8的狀態決定此串行口在信息到來後是否置RI=1,並申請中斷,通知CPU接收數據。當SM2=0時,不管RB8為“0”還是為“1”,都置RI=1,此串行口將接收發送來的信息。當SM2=1時,且RB8=1,表示在多機通信情況下,接收的信息為“地址幀”, 此時置RI=1,串行口將接收發來的地址。當SM2=1時,且RB8=0,表示在多機通信情況下,接收的信息為“數據幀”, 但不是發給本從機的,此時RI不置為“1”,因而SBUF中接收的數據幀將丟失。

4、方式3( SM0 SM1 :1 1) :為波特率可變的11位異步通信方式,除了波特率有所區別之外,其餘方式都與方式2相同。


標籤: 串行口 寄存器
  • 文章版權屬於文章作者所有,轉載請註明 https://wzkpw.com/sh/yyq2d8.html