新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > C51單片機串口初始化為何是這樣

        C51單片機串口初始化為何是這樣

        作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
        SCON-串行口控制寄存器:可位尋址,單片機復(fù)位時,各位都被清0

        B7

        本文引用地址:http://www.104case.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位異步通信方式

        可變,由定時器控制

        1

        0

        方式2

        9位異步通信方式

        osc f /32 或osc f /64

        1

        1

        方式3

        9位異步通信方式

        可變,由定時器控制

        SM2:多機通信控制位。

        在方式0時,SM2必須為0。

        在方式1時,若SM2=0,RB8是接受到的停止位;若SM2=1,則只有收到有效的停止位才會激活中斷RI,若沒有接受到有效停止位,則RI清0。

        在方式2或3時,如果SM2=1,則只有當(dāng)接收到的第9位數(shù)據(jù)(RB8)為“1”時,才使RI置“1”,產(chǎn)生中斷請求,并將接收到的前8位數(shù)據(jù)送入SBUF。當(dāng)接收到的第9位數(shù)據(jù)(RB8)為“0”時,不提出中斷,接收到的前8位數(shù)據(jù)無效。若SM2=0,接收到RB8后必然置位RI,產(chǎn)生中斷,此時不論地址幀還是數(shù)據(jù)幀都能接收。

        REN:接收控制位。由軟件置1或清0,“0”即禁止接收。“1”允許接收。

        TB8:發(fā)送數(shù)據(jù)的第9 位。方式2和方式3,TB8是要發(fā)送的第9位數(shù)據(jù),其值由軟件置“1”或清“0”。在雙機串行通信時,一般作為奇偶校驗位使用;在多機串行通信中用來表示主機發(fā)送的是地址幀還是數(shù)據(jù)幀,TB8=1為地址幀,TB8=0為數(shù)據(jù)幀。

        RB8:接收數(shù)據(jù)的第9位。方式2和方式3,RB8存放接收到的第9位數(shù)據(jù)。在方式1,如SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。

        TI:發(fā)送中斷標(biāo)志位。發(fā)送數(shù)據(jù)前由軟件清0,發(fā)送結(jié)束由硬件置1。方式0,發(fā)送完8位數(shù)據(jù)時TI由硬件置“1”,其他方式中,發(fā)送停止位時置TI 為“1”。其狀態(tài)可供軟件查詢,也可請求中斷

        RI:接收中斷標(biāo)志位。接收前由軟件清0,接收完時由硬件置“1”。方式0時,接收完第8位數(shù)據(jù)RI由硬件置“1”。在其他工作方式中,串行接收到停止位的中間時,該位置“1”。 其狀態(tài)可供軟件查詢,也可請求中斷

        TMOD-定時器控制寄存器:不按位尋址,高四位控制T1,低四位控制T0。地址89H

        B7

        B6

        B5

        B4

        B3

        B2

        B1

        B0

        GATE

        C/T

        M1

        M0

        GATE

        C/T

        M1

        M0

        GATE :定時操作開關(guān)控制位,當(dāng)GATE=1時,INT0或INT1引腳為高電平,同時TCON中的TR0或TR1控制位為1時,計時/計數(shù)器0或1才開始工作。若GATE=0,則只要將TR0或TR1控制位設(shè)為1,計時/計數(shù)器0或1就開始工作。

        C/T :定時器或計數(shù)器功能的選擇位。C/T=1為計數(shù)器,通過外部引腳T0(P3.4)或T1(P3.5)輸入計數(shù)脈沖。C/T=0時為定時器,由內(nèi)部系統(tǒng)時鐘提供計時工作脈沖。

        M1 :模式選擇位高位

        M0 :模式選擇位低位

        M1

        M0

        工作模式

        0

        0

        13位計數(shù)/計時器

        0

        1

        16位計數(shù)/計時器

        1

        0

        8位自動加載計數(shù)/計時器

        1

        1

        定時器1停止工作,定時器0分為兩個獨立的8位定時器TH0及TL0

        SCON=0X52:選擇8位異步通信方式,波特率可變,由定時器控制;允許接受;發(fā)送中斷標(biāo)志、接收中斷標(biāo)志分別為1、0

        TMOD=0X20:使用定時器1,8位自動加載計時器

        TH1=0XF3:設(shè)置8位自動加載計時器定時時間,設(shè)定波特率為9600

        TR1=1:啟用定時器1



        關(guān)鍵詞: C51單片機串口初始

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 博客| 若羌县| 兴海县| 滦南县| 丹阳市| 大理市| 海阳市| 新建县| 文山县| 陵水| 霍林郭勒市| 彭州市| 探索| 石狮市| 理塘县| 鹤山市| 汕头市| 岳池县| 枝江市| 丽水市| 时尚| 黑水县| 平武县| 洪湖市| 偏关县| 双牌县| 滨海县| 兰州市| 通榆县| 镇雄县| 凤翔县| 金华市| 大姚县| 东乌珠穆沁旗| 双鸭山市| 江口县| 泸州市| 岐山县| 三穗县| 青川县| 天门市|