新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 51單片機教程第6講_串行口通信

        51單片機教程第6講_串行口通信

        作者: 時間:2016-12-22 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/201612/341939.htm

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

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

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

          打開串口的程序如下:

          TMOD=0x20;

          TH1=0xFD;

          TL1=0xFD;

          SCON=0X50;

          TR1=1;

          程序涉及到5個寄存器的配置。

          TMOD是定時器控制寄存器

          TH1和TL1是定時器1的初值寄存器

          SCON是串行口控制寄存器

          TR1是TCON寄存器中的bit4,因為該寄存器可以位操作

          串口發送數據的程序如下所示:

          SBUF=55; // 發送數據55

          while(!TI);

          TI=0;

          程序涉及到2個寄存器

          SBUF是串口數據寄存器

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

          串口接收數據的程序如下所示:

          if(RI)

          {

          recebuf=SBUF;

          RI=0;

          }

          程序涉及到2個寄存器

          SBUF是串口數據寄存器

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

          SBUF既是發送數據寄存器,又是接收數據寄存器。

          可以把上面的功能模塊封裝成函數,在使用的時候,直接調用。



        關鍵詞: 51 串行通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 云安县| 花莲县| 霍林郭勒市| 五大连池市| 北安市| 永济市| 衡南县| 嘉黎县| 宁化县| 天全县| 泾川县| 鸡泽县| 大名县| 天祝| 阿克陶县| 邢台市| 九龙城区| 融水| 黔西县| 韶关市| 绍兴市| 维西| 大渡口区| 定边县| 大邑县| 扎兰屯市| 博乐市| 北海市| 涞水县| 东源县| 依安县| 荔浦县| 安达市| 镇远县| 黔西| 兴化市| 铜鼓县| 团风县| 武宣县| 阿坝县| 赤水市|