在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            第11課 串口通信

            作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
            2、串行通信編程時(shí)主要應(yīng)注意的事項(xiàng)
            3、51單片機(jī)串行口結(jié)構(gòu)
            串行口電路也稱為通用異步收發(fā)器(UART).從原理上講,一個(gè)UART應(yīng)包括發(fā)送器電路、接收器電路和控制電路。51單片機(jī)的UART已集成在其中,構(gòu)成一個(gè)全雙工串行口,這個(gè)口即可以用于網(wǎng)絡(luò)通信,也可以實(shí)現(xiàn)串行異步通信,還可以作為同步移位寄存器使用。
            80C51的串行口通過(guò)引腳RXD(P30,串行口數(shù)據(jù)接收端)和引腳TXD(P31,串行數(shù)據(jù)發(fā)送端)與外療設(shè)備進(jìn)行串行通信。如圖3為單片機(jī)串行口的結(jié)構(gòu)。
            圖中共有兩個(gè)串行口緩沖寄存器(SBUF),一個(gè)是發(fā)送寄存器,一個(gè)是接收寄存器,以便單片機(jī)能以全雙工方式進(jìn)行通信。串行發(fā)送時(shí),從片內(nèi)總線向發(fā)送SBUF寫入數(shù)據(jù);接收時(shí),從接收SBUF向片內(nèi)總線讀出數(shù)據(jù)。它們都是可尋址的寄存器,但因?yàn)榘l(fā)送和接收不能同時(shí)進(jìn)行,所以給這兩個(gè)寄存器賦以同一地址99H.
            在接收方式下,串行數(shù)據(jù)通過(guò)引腳RXD(P30)進(jìn)入,由于在接收寄存器之前還有移位寄存器,從而構(gòu)成了串行接收的雙緩沖結(jié)構(gòu),以避免在數(shù)據(jù)接收過(guò)程上中出現(xiàn)幀重疊錯(cuò)誤,即在下一幀數(shù)據(jù)來(lái)時(shí),前一幀數(shù)據(jù)還沒(méi)有讀走。
            在發(fā)送方式下,串行數(shù)據(jù)通過(guò)引腳TXD(P31)發(fā)出。與接收情況不同的,發(fā)送數(shù)據(jù)時(shí),由于CPU是主動(dòng)的,不會(huì)發(fā)生幀重疊錯(cuò)誤,因此發(fā)送電路就不需又重緩沖結(jié)構(gòu),這樣可以提高數(shù)據(jù)發(fā)送的速度。
            4、相關(guān)的寄存器
            與串口通信相關(guān)的相關(guān)的寄存器主要有四個(gè),串行口控制寄存器SCON、電源控制寄存器PCON、定時(shí)器工作方式寄存器TMOD、定時(shí)器控制寄存器TCON、中斷允許寄存器IE,后面主要跟波特率設(shè)置及中波相關(guān),前面在講中斷和定時(shí)器已作過(guò)介紹,所以這里只對(duì)SCON和PCON寄存器進(jìn)行介紹。
            (1)串行控制寄存器SCON
            串行控制寄存器SCON用于設(shè)置串行口的工作方式、監(jiān)視串行口的工作狀態(tài)、控制發(fā)送與接收的狀態(tài)等。它是一個(gè)既可以字節(jié)尋址又可以位尋址的8位特殊功能寄存器。其格式如下。
            (1)SM0 SM1:串行口工作方式選擇位。其狀態(tài)組合所對(duì)應(yīng)的工作方式如表9-1所示。
            (2) SM2:多機(jī)通信控制器位。在方式0中,SM2必須設(shè)成0。在方式1中,當(dāng)處于接收狀態(tài)時(shí),若SM2=1,則只有接收到有效的停止位“1”時(shí),RI才能被激活成“1”(產(chǎn)生中斷請(qǐng)求)。在方式2和方式3中,若SM2=0,串行口以單機(jī)發(fā)送或接收方式工作,TI和RI以正常方式被激活并產(chǎn)生中斷請(qǐng)求;若SM2=1,RB8=1時(shí),RI被激活并產(chǎn)生中斷請(qǐng)求。
            (3) REN:串行接受允許控制位。該位由軟件置位或復(fù)位。當(dāng)REN=1,允許接收;當(dāng)REN=0,禁止接收
            (4) TB8:方式2和方式3中要發(fā)送的第9位數(shù)據(jù)。該位由軟件置位或復(fù)位。在方式2和方式3時(shí),TB8是發(fā)送的第9位數(shù)據(jù)。在多機(jī)通信中,以TB8位的狀態(tài)表示主機(jī)發(fā)送的是地址還是數(shù)據(jù):TB8=1表示地址,TB8=0表示數(shù)據(jù)。TB8還可用作奇偶校驗(yàn)位。
            (5) RB8:接收數(shù)據(jù)第9位。在方式2和方式3時(shí),RB8存放接收到的第9位數(shù)據(jù)。RB8也可用作奇偶校驗(yàn)位。在方式1中,若SM2=0,則RB8是接收到的停止位。在方式0中,該位未用。
            (6)TI:發(fā)送中斷標(biāo)志位。TI=1,表示已結(jié)束一幀數(shù)據(jù)發(fā)送,可由軟件查詢TI位標(biāo)志,也可以向CPU申請(qǐng)中斷。
            注意:TI在任何工作方式下都必須由軟件清0。
            (7)RI:接收中斷標(biāo)志位。RI=1,表示一幀數(shù)據(jù)接收結(jié)束??捎绍浖樵僐I位標(biāo)志,也可以向CPU申請(qǐng)中斷。
            注意:RI在任何工作方式下也都必須由軟件清0。
            在AT89C51中,串行發(fā)送中斷TI和接收中斷RI的中斷入口地址是同是0023H,因此在中斷程序中必須由軟件查詢TI和RI的狀態(tài)才能確定究竟是接收還是發(fā)送中斷,進(jìn)而作出相應(yīng)的處理。單片機(jī)復(fù)位時(shí),SCON所有位均清0。
             3、電源控制寄存器PCON
            在串口通信時(shí),我們只用PCON寄存器的SMOD位,這一位主要跟波特率的設(shè)置有關(guān)。下面僅對(duì)這一位進(jìn)行介紹。
            SMOD:串行口波特率倍增位。在工作方式1~工作方式3時(shí),若SMOD=1,則串行口波特率增加一倍。若SMOD=0,波特率不加倍。系統(tǒng)復(fù)位時(shí),SMOD=0。
            5、串行口的工作方式
            51單片機(jī)的串行口共有四種工種方式,分別為工作方式0、工作方式1、工作方式2及工作方式3,如圖1所示。采用何種工作方式主要靠串行口控制寄存器SCON中的SM0和SM1來(lái)決定。不同的工作方式,其一次傳送的數(shù)據(jù)位多少不同,同時(shí),波特率的大小的設(shè)置也不同。
            圖1 串行口的四種工作方式
            (1)發(fā)送和接收
            為了便于大家撐握,這里只介紹工作方式1,其它工作方式大家用到時(shí)再自行學(xué)習(xí)。工作方式1每次傳送一幀數(shù)據(jù)為10位,1 個(gè)起始位、1 個(gè)停止位和8個(gè)數(shù)據(jù)位,低位在前,高位在后,如圖2所示。

            關(guān)鍵詞: 單片機(jī)串口通

            評(píng)論


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

            關(guān)閉