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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)教程第6講_串行口通信

          51單片機(jī)教程第6講_串行口通信

          作者: 時(shí)間:2016-12-22 來源:網(wǎng)絡(luò) 收藏

            STC單片機(jī)一般帶有1個(gè)串口,有的帶有2個(gè)串口,串口一般用于下載程序和串口通信。串口通信特別適合控制設(shè)備,所以工控機(jī)的電腦上一般都帶有串口。

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

            單片機(jī)的串口引腳為P3.0引腳與P3.1引腳,分別是RXD和TXD引腳。串口通信可以用于單片機(jī)和其它芯片通信或者單片機(jī)之間通信或者單片機(jī)與電腦通信。串口通信一般都是交叉連接。標(biāo)準(zhǔn)的串口有9個(gè)引腳,我們一般情況下,只用RXD TXD GND,剩下的引腳都是通信控制引腳,在以前用于控制電話機(jī),現(xiàn)在已經(jīng)基本上不用了。所以我們的單片機(jī)上只保留了RXD和TXD。

            串口通信的協(xié)議非常簡單。如果單片機(jī)上的串口不夠用,還可以用任意兩個(gè)引腳模擬串口通信。

            一般情況,我們用帶有起始位的8位串口協(xié)議。波特率常用9600,此外還有12002400 4800 115200等。

            打開串口的程序如下:

            TMOD=0x20;

            TH1=0xFD;

            TL1=0xFD;

            SCON=0X50;

            TR1=1;

            程序涉及到5個(gè)寄存器的配置。

            TMOD是定時(shí)器控制寄存器

            TH1和TL1是定時(shí)器1的初值寄存器

            SCON是串行口控制寄存器

            TR1是TCON寄存器中的bit4,因?yàn)樵摷拇嫫骺梢晕徊僮?/p>

            串口發(fā)送數(shù)據(jù)的程序如下所示:

            SBUF=55; // 發(fā)送數(shù)據(jù)55

            while(!TI);

            TI=0;

            程序涉及到2個(gè)寄存器

            SBUF是串口數(shù)據(jù)寄存器

            TI是SCON寄存器中的bit1,位操作

            串口接收數(shù)據(jù)的程序如下所示:

            if(RI)

            {

            recebuf=SBUF;

            RI=0;

            }

            程序涉及到2個(gè)寄存器

            SBUF是串口數(shù)據(jù)寄存器

            RI是SCON寄存器中的bit0,位操作

            SBUF既是發(fā)送數(shù)據(jù)寄存器,又是接收數(shù)據(jù)寄存器。

            可以把上面的功能模塊封裝成函數(shù),在使用的時(shí)候,直接調(diào)用。



          關(guān)鍵詞: 51 串行通信

          評論


          相關(guān)推薦

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