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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 80c51單片機(jī)串口通訊實(shí)驗(yàn)總結(jié)

          80c51單片機(jī)串口通訊實(shí)驗(yàn)總結(jié)

          作者: 時(shí)間:2012-10-11 來(lái)源:網(wǎng)絡(luò) 收藏

          SCON是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志,在我的學(xué)習(xí)過(guò)程中,選用了方式1來(lái)實(shí)現(xiàn)串口通信(SM0=0 SM1=1)這種方式波特率可變而且為發(fā)送8為數(shù)據(jù)的工作方式。


          REN為接收控制位,軟件置1后,允許接收;

          TI為發(fā)送中斷位,RI為接收中斷位,均由軟件置1方可繼續(xù)工作;

          由于物理地址上存在兩個(gè)SBUF寄存器……但軟件地址上只存在一個(gè),所以串行口的收發(fā)均由SBUF控制。設(shè)所要發(fā)送的字符為“a”,“a”的ACSII碼為0x98H,則發(fā)送所用的命令行為SBUF=“a”;,計(jì)算機(jī)接收端就會(huì)收到98H;相反接收時(shí)方式則為b=SBUF;(b為無(wú)符號(hào)char型變量).在實(shí)際操作時(shí)由于發(fā)送有延時(shí)所以發(fā)送多位數(shù)據(jù)時(shí),以及接受多位數(shù)據(jù)時(shí),不能直接羅列這些命令行,應(yīng)加入檢測(cè)TI RI并軟件置0的命令。

          以發(fā)送為例:

                    SBUF=“b”;while(TI!=1);TI=0;SBUF=“a”;while(TI!=1);TI=0;SBUF=“c”;while(TI!=1);TI=0;SBUF=“k”;while(TI!=1);TI=0;

          即可發(fā)送“back”至串口。

          在使用串口通信的同時(shí),波特率的同步有定時(shí)器實(shí)現(xiàn),由于反復(fù)使用波特率,8位自動(dòng)重裝的定時(shí)器工作方式2最為合適

          TMOD=0x20;
          TH1=0xfe;
          TL1=oxfe;
          TR1=1;

          即可產(chǎn)生晶振為11.0592mhz的9600波特率……

          控制串行口接收的方式有兩種~中斷法和查詢法

          查詢發(fā)采用while語(yǔ)句每當(dāng)有數(shù)據(jù)傳送時(shí),通過(guò)RI判斷

          中斷法采用EA=1;ES=1;的串行口中斷 中斷子程序中對(duì)RI置0。

          51單片機(jī)相關(guān)文章:51單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理


          通信相關(guān)文章:通信原理


          晶振相關(guān)文章:晶振原理


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();