电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

单片机串行通讯操控寄存器的运用

2017-04-11 12:30分类:PLC基础知识 阅读:

 

  1.功用
  MCS-5l单片机中的异步通讯串行口能便本地与别的计算机或串行传送信息的外围设备(如串行打印机、CRT终端等)结束双机、多机通讯。
  串行口有四种作业办法,如表所示:

SM0

SM1

作业办法

功用

波特率

0

0

办法0

移位寄存器办法,用于并行I/O拓宽

fosc/12

0

1

办法1

8 位通用异步接纳器/发送器

可变

1

0

办法2

9 位通用异步接纳器/发送器

fosc/1 或 fosc/24

1

1

办法3

9 位通用异步接纳器/发送器

可变

  2.构造
  由发送数据缓冲器、发送操控器、输出操控门、接纳数据缓冲器、接纳操控器、输入移位寄存器等构成。发送数据缓冲器只能写入,不能读出,接纳数据缓冲器只能读出,不能写入,二者共用一个符号 — 分外功用寄存器 SBUF,共用一个地址 — 99H。串行口中还有两个分外功用寄存器SCON、PCON,别离用来操控串行口的作业办法和波特率。波特率发作器由守时器/计数器1构成。
  3.串行口操控寄存器SCON
  串行口操控寄存器SCON的格局如下:


  (l)作业办法挑选位SMO、SM1:SMO、SM1由软件置 “1” 或清 “0” ,用于挑选串行口的 4种作业办法。
  (2)多机通讯操控位SM2:SM2=“1” 时,接纳到一帧信息,假定接纳到的第 9位数据为1,硬件将RI置“1” ,恳求接连;假定第九位数据为“0” ,则 RI不置“1” ,且所接纳的数据无效。
  SM2=“0” 时,只需接纳到一帧信息,不论第九位数据是0仍是1,硬件都置RI =“1”,并恳求接连。RI由软件清“0”,SM2由软件置“1”或清“0”。
  多机通讯时,各从机先将SM2置“l”。接纳并辨认主机发来的地址,本地址与本机相一同,将 SM2清“0”,与主机进行数据传递。各机所发送的数据第 9位有必要为“0”。
  (3)容许接纳操控位REN:REN=“1” 时容许并主张接纳,REN =“0”时阻遏接纳。REN由软件置“1”或清“0”。
  (4)发送数据D8位TB8:TB8是办法2、办法3中要发送的第九位数据,事前用软件写入1或0。办法0、办法1不必。
  (5)接纳数据D8位RB8:办法2、办法3中,由硬件将接纳到的第九位数据存入RB8。办法1中,接连位存入RB8。
  (6)发送接连象征位TI:发送完一帧信息,由硬件使TI置“1”, TI有必要由软件清“0”。
  (7)接纳接连象征位RI:接纳完一帧有用信息,由硬件使RI置“1”, RI有必要由软件清“0” 。
  4.串行口数据寄存器 SBUF
  串行口数据寄存器SBUF由串行输出移位寄存器和两级缓冲的串行输入寄存器构成。当数据写入SBUF时主张串行数据发送,连同此前置入的TB8,按设定波特率串行输出。串行数据移入串行输入寄存器结束后,主动将数据并行送入接纳SBUF,并置“1”告诉 CPU读取数据,CPU应当鄙人一个串行数据接纳结束之前读出。
  5.串行口的作业办法
  (1)办法0:同步移位寄存器办法
  波特率固定为fosc/12
  RXD —— 接纳发送数据
  TXD —— 发作同步移位脉冲
  接纳/发送完,置位RI/TI ,(恳求SM2 = 0)
  (2)办法1:8位UART
  波特率为(2 SMOD×T1的溢出率)/32 ,可变。
  一帧信息10位。
  接纳到有用数据结束,置位RI的条件:
  REN = 1,RI = 0 且SM2 = 0或接纳到第9位数据为1,此刻,数据装载SBUF,RI置1,第9位数据(TB8) RB8。
  6.多机通讯
  多机通讯体系有1个主机与多个从机,从机数最多256个,地址编为00H至0FFH。间隔近,可直接以TTL电平通讯,间隔远可改换RS485规范进行通讯。为了区别是数据信息仍是地址信息,主机用第9位数据TB8作为地址/数据的辨认位,地址帧的TB8 =“1” ,数据帧的 TB8 =“0”。各从机的 SM2有必要置“1”。在主机与某一从机通讯前,先将该从机的地址发送给各从机。因为各从机SM2=“1”,接纳到的地址帧 RB8=“1”,所以各从机的接纳信息都有用,送入各自的接纳缓冲器,并置RI=“1” 。各从机 CPU照料接连后,经过软件区别主机送来的是不是本从机地址,如是本从机地址,就使SM2=“0”,不然坚持 SM2 =“l”。
  7.波特率 ?
  串行口每秒钟发送或接纳的数据位数称为波特率。 假定发送一位数据所需时刻为T, 则波特率为 1/T。 ?
  (1) 办法0 的波特率等于单片机晶振频率的 1/12, 即每个机器周期接纳或发送一位数据。 ??
  (2) 办法2的波特率与电源操控器PCON的最高位SMOD的写入值有关:即SMOD=0, 波特率为(1/64) f OSC ; SMOD=1, 波特率为(1/32)f OSC 。
  (3) 办法 1 和办法 3 的波特率除了与SMOD位有关以外, 还与守时器 T1 的溢出率有关。 守时器 T1 作为波特率发作器, 常选用守时办法 2(8位重装载初值办法), 并且阻遏 T1 接连。此刻 TH1 从初值计数到发作溢出, 它每秒钟溢出的次数称为溢出率。 所以

上一篇:UART串口通讯的底子运用

下一篇:简单的单片机I/O口扩展

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部