回覆列表
  • 1 # 我是阿嘛

    序列口分四種工作方式,由SCON中的SMO、SM1二位選擇決定。

    1.方式0

    (1)特點

    1.用作序列口擴充套件,具有固定的波特率,為Fosf/12。

    2.同步傳送/接收,由TXD提供移位脈衝,RXD用作資料輸入/輸出通道。

    3.傳送/接收8位資料,低位在先。

    (2)傳送操作

    當執行一條“MOV SBUF,A”指令時,啟動傳送操作,由TXD輸出移位脈衝,由RXD序列傳送SBUF中的資料。傳送完8位資料後自動置TI=1,請求中斷。要繼續傳送時,T1必須有指令清零。(3)接收操作

    在RI=0條件下,置REN=1,啟動一幀資料的接收,由TXD輸出移位脈衝,由RXD接收序列資料到A中。接收完一幀自動置位RI,請求中斷。想繼續接收時,要用指令清零RI。2.方式1

    (1)特點

    1.8位UART介面。

    2.幀結構為10位,包括起始位(為0),8位資料位,1位停止位。

    3.波特率由指令設定,由T1的溢位率決定。

    (2)傳送操作

    當執行一條“MOV SBUF,A”指令時,啟動傳送操作,A中的資料從TXD端實現非同步傳送。傳送完一幀資料後自動置TI=1,請求中斷。要繼續傳送時,TI必須由指令清零。(3)接收操作

    當置REN=1時,序列口取樣RXD,當取樣到1至0的跳變時,確認序列資料幀的起始位,開始接收一幀資料,直到停止位到來時,把停止位送入RB8中。置位RI請求中斷。CPU取走資料後用指令清零RI。3.方式2和方式3

    方式2和方式3具有多機通訊功能,這兩種方式除了波特率不同以外,其餘完全相同。

    (1)特點

    1.9位UART介面。

    2.幀結構為11位,包括起始位(為0)、8位資料位、1位可程式設計位TB8/RB8和停止位(為1)。

    3.波特率在方式2時為固定FOSC/32或FOSC/64,由SMOD位決定,當SMOD=1時,波特率為FOSC/32;當SMOD=0時,波特率為FOSC/64。方式3的溢位率由T1的溢位率決定。(2)傳送操作

    傳送資料之前,由指令設定TB8(如作為奇偶校對位或地址/資料位),將要傳送的資料由A寫入SBUF中啟動傳送操作。在傳送中,內部邏輯會把TB8裝入傳送移位暫存器的第9位位置,然後傳送一幀完整的資料,傳送完畢後置位TI。TI須由指令清零。(3)接收操作

    當置位SEN位且RI=0時,啟動接收操作,幀結構上的第9位送入RB8中,對所接收的資料視SM2和RB8的狀態決定是否會使RI置位。

    當SM2=0時,RB8不論什麼狀態RI都置1,序列口都接收資料。

    當SM2=1時,為多機通訊方式,接收到的RB8為地址/資料表識位。

    當RB8=1時,接收的資訊為地址幀,此時置位RI,序列口接收發送來的資料。

    當RB8=0時,接收的資訊為資料幀,若SM2=1時,RI不會置位,此資料丟棄;若SM2=0,則SBUF接收發送來的資料。

  • 中秋節和大豐收的關聯?
  • 什麼是【懸鈴木】?