新聞中心

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

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

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

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

本文引用地址:http://butianyuan.cn/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é)議非常簡(jiǎn)單。如果單片機(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 串行通信

評(píng)論


相關(guān)推薦

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

關(guān)閉