<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機(jī)---串口通訊

          51單片機(jī)---串口通訊

          作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          一、簡介

          MCS-51單片機(jī)內(nèi)部有一個可編程的雙向全雙工串行通信接口,簡稱串口;該串口有4種工作方式,以適用于不同場合;其波特率由單片機(jī)內(nèi)部的定時器/計數(shù)器產(chǎn)生,可由軟件設(shè)置;接收和發(fā)送均可工作在查詢模式和中斷模式,比較靈活;
          二、串口結(jié)構(gòu)與控制
          MCS-51單片機(jī)內(nèi)部的串口擁有兩個物理上相互獨立的接收、發(fā)送緩沖器SBUF,可以同時接收和發(fā)送數(shù)據(jù);發(fā)送緩沖器只能寫入而不能讀出,接收緩沖器只能讀出而不能寫入;兩個緩沖器占用同一個地址(99H);控制MCS-51單片機(jī)串口的寄存器有兩個SCON和PCON;
          1、串口工作方式控制寄存器SCON(99H)
          如下圖:

          本文引用地址:http://www.ex-cimer.com/article/201611/316840.htm

          (1)、SM0和SM1:控制單片機(jī)的工作方式;
          (2)、SM2:允許方式2和方式3進(jìn)行多機(jī)通信控制位;
          (3)、REN:允許串行接收控制位;1-允許接收;0-禁止接收;
          (4)、TB8:用于工作在方式2和方式3時存放要發(fā)送的第9位數(shù)據(jù),根據(jù)需要,由軟件設(shè)置;
          (5)、RB8:用于工作在方式2和方式3時存放接收到的第9位數(shù)據(jù);
          (6)、TI:發(fā)送中斷標(biāo)志位,必須由軟件清0;當(dāng)發(fā)送完一幀數(shù)據(jù)時,就產(chǎn)生一個中斷,此時TI被硬件自動置1,用于標(biāo)記產(chǎn)生了發(fā)送中斷;
          (7)、RI:接收中斷標(biāo)志位,必須由軟件清0;當(dāng)接收完一幀數(shù)據(jù)時,就產(chǎn)生一個中斷,此時RI被硬件自動置1,用于標(biāo)記產(chǎn)生了接收中斷;
          2、特殊功能寄存器PCON(87H)
          如下圖:

          (1)、SMOD:波特率倍增位;當(dāng)SMOD=1時,波特率加倍;當(dāng)SMOD=0時,波特率不加倍;
          (2)、GF1和GF0:兩個通用標(biāo)志,供用戶使用;
          (3)、PD和IDL:CHMOS型8051單片機(jī)的低功耗控制位;
          三、串口的工作方式
          串口的工作方式有4種,由特殊功能寄存器SCON的SM0位和SM1位共同決定;
          如下表:

          1、方式0:
          該方式下,串口為同步移位寄存器輸入/輸出方式,其波特率固定不變?yōu)镕osc/12;數(shù)據(jù)由RXD(P3.0)口輸入/輸出,同步移位脈沖由TXD(P3.1)端輸出,發(fā)送接收的都是8位數(shù)據(jù),低位在先;
          2、方式1:
          當(dāng)SM0SM1=01時,串口以該方式工作,此時的串口為8位異步通信接口;
          3、方式2:
          當(dāng)SM0SM1=10時,串口以該方式工作,此時,發(fā)送和接收的都是一幀數(shù)據(jù),即:由11位組成,其中第1位是起始位,接下來的8位是用戶數(shù)據(jù)(低位在先),然后是1位可編程位(第9位數(shù)據(jù)),最后一位是停止位;RB8/TB8根據(jù)需要,設(shè)置成0或1,作為多機(jī)通信中的地址數(shù)據(jù)標(biāo)志位或數(shù)據(jù)的奇偶檢驗位;
          4、方式3:
          當(dāng)SM0SM1=11時,串口以該方式工作,該方式是波特率可變的9位異步通信方式,除了波特率外,方式3與方式2相同;
          四、波特率的計算
          方式0: Buard = Fosc/12
          方式1: Buard = K*Fosc/[32*12*(256-TH1)]
          方式2: Buard = K*Fosc/64
          方式3: Buard = K*Fosc/[32*12*(256-TH1)]
          注:若波特率的倍增位SMOD=0,則K=1;若SMOD=1,則K=2;
          五、串口初始化
          STEP1:設(shè)置串口工作模式(如:SCON=0x50);
          STEP2:配置定時器
          STEP2-1:設(shè)置定時器T1工作在模式2(T如:MOD=0x02自動重裝預(yù)置數(shù)模式);
          STEP2-2:給定時器T1裝初始值(THx/TLx);
          STEP2-3:啟動定時器(TR1=1);
          STEP3:如果讓串口工作在中斷模式,則還需要把RI/TI清0,同時開串口中斷(ES=1)和CPU總中斷(EA=1);



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

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();