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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于串行口控制寄存器SCON

          關(guān)于串行口控制寄存器SCON

          作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
          在具體操作串口之前需要對單片機(jī)的一些與串口有關(guān)的特殊功能寄存器進(jìn)行初始化設(shè)置,主要是設(shè)置產(chǎn)生波特率的定時器1、串行口控制和中斷控制。具體步驟如下:

          1. 確定T1的工作方式(編程TMOD寄存器)

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

          2. 計算T1的初值,載入TH1、TL1

          3. 啟動T1(編程TCON中的TR1位)

          4. 確定串行口工作方式(編程SCON寄存器)

          5. 串行口工作在中斷方式時,要進(jìn)行中斷設(shè)置(編程IE,IP)


          在第4步初始化當(dāng)中:
          REN=-1;
          SM0=0;
          SM1=1;

          這三位都是串行口控制寄存器SCON里的,單片機(jī)剛上電時SCON被清零,因為串口方式為0,穿行口為同步移位寄存器的輸入/輸出方式,當(dāng)執(zhí)行完REN = 1這條語句后,它便直接開始從RXD引腳接收數(shù)據(jù),并不管它連接的系統(tǒng)有無發(fā)送數(shù)據(jù)這是SM0和SM1還未被操作,可單片機(jī)串口寄存器已經(jīng)收到數(shù)據(jù),并且已經(jīng)產(chǎn)生了串口中斷。
          當(dāng)運(yùn)行完SM0=0;SM1=1這兩條指令后,串口方式才被設(shè)置為工作方式1,這時才終止串口接收數(shù)據(jù)。

          修改方法:
          先設(shè)置串口模式,再允許串口接收,這樣就可以避開串口方式0接收數(shù)據(jù)。
          SM0=0;
          SM1=1;
          REN=1;

          ES是中斷允許位。如果你ES=0的話

          TI 和RI為1,都不會去執(zhí)行串口中斷函數(shù)。


          TI是發(fā)送標(biāo)志位。發(fā)送完成,該位置1,他跟ES沒關(guān)系。

          RI是接收標(biāo)志位,接收完成,該位置1,也跟 ES沒直接關(guān)系。

          一般來說,ES就是當(dāng)有TI或RI事件發(fā)生時,是否跳出當(dāng)前所在執(zhí)行的函數(shù)到中斷函數(shù)里去處理。

          REN:允許接收位。

          REN用于控制數(shù)據(jù)接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。


          EA (IE.7):

          EA=0時,所有中斷禁止(即不產(chǎn)生中斷);EA=1時,各中斷的產(chǎn)生由個別的允許位決定


          ES (IE.4):

          串行口中斷充許(ES=1充許,ES=0禁止)

          不是執(zhí)行REN激活的串口中斷4,而是ES =1打開的串口中斷4

          REN是和中斷無關(guān)的參數(shù),只是控制串口接收的數(shù)據(jù)進(jìn)入到BUFFER中,并不產(chǎn)生數(shù)據(jù)中斷


          最后來看看位于IE寄存器中的ES位,如表12.4所示。

          表12.4 中斷允許寄存器IE


          IE
          D7D6 D5 D4 D3 D2 D1 D0
          EA-ET2ESET1 EX1 ET0 EX0
          S是串行口中斷允許位,位于地址為0XA8的中斷允許寄存器IE中的第4位。
          ES位用來控制單片機(jī)串行口的使能。當(dāng)ES = 0時,不允許串口中斷,當(dāng)ES = 1時,則允許串口產(chǎn)生中斷。

          串口的中斷同時還受到單片機(jī)的總中斷控制位EA的控制。當(dāng)EA=0時,單片機(jī)屏蔽所有的中斷請求,只有當(dāng)EA=1,且ES=1時才允許產(chǎn)生串口中斷。



          關(guān)鍵詞: 串行口控制寄存器SCO

          評論


          技術(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); })();