单片机串口通信485modbus

项目七 单片机通信实践
知识目标:
1. 了解UART(Universal Asynchronous Receive/Transmitter通用异步收发器。
2.了解MAX232通信原理及标准的通信协议。
3. 了解MODBUS通信协议标准甘胆酸
2. 采用通信芯片MAX485,及多机通信原理。
技能目标:
1, 根据数据格式的协议,数据交换的协议要求硬件连接,实现串行通讯的硬环境。
2. MCUPC 机及多个单片机的硬件连接方法
3. 应用PROTEUS仿真工具软件绘制硬件连接图
4. 使用Keil C 完成程序的编写和调试
5. 使用最小系统板实现硬件调试
任务一 基于RS232的点对点通信
任务提出
通过MAX232直接应用UART(Universal Asynchronous Receive/Transmitter通用异步收发器,实现单片机与单片机,或单片机与PC微机之间数据传送
知识准备
711串行与并行通信
在实际工作中,计算机与外部设备之间常常要进行信息交换,计算机与计算机之间也要交换信息,所有这些信息交换可称为通信。
在我们前面所学的知识中所涉及的数据传送都是采用并行方式,如单片机与存储器,的数据传送,存储器与存储器的数据传送,单片机与并行打印机之间的数据传送,CPU处理数据以8位数据并行方式同时一次传送一字节的数据,这样的传送方式要求用8条数据线和若于条控制信
号线,传送距离较近。当计算机与计算机之间的距离较远时过多的电缆使这种方式不够经济。
串行通信是用一位数据线传送数据,只用几条电缆线作控制信号线,串行通信适合远距离数据传送,处于两地的计算机之间采用串行通信就非常的经济,当然串行通信要求通信双方具有相同的数据转换格式,规定的时间控制,相等的逻辑电路,通一的通信协议。
7111 串行与并行通信基本概念         
1.串行通信与并行通信
通信方式有两种:并行通信和串行通信。通常是根据信息传送的距离决定采用哪种通信方式,如果距离小于30cm则可采用并行通信方式,当距离大于30cm时则要采用通信方式。
并行通信方式是指数据的各位同时进行传送的通信方式,其优点是传送速度高,缺点是数据有多少位,就需要多少根数据传送线,单片机与外部设备之间的数据传送属于并行通信图7-1-1a)所示为AT89C51系列单片机与外部设备间的8位数据并行通信的连接方法统计与决策,并行通信方式在位数多、传送距离远的情况下就不太合适了。
串行通信间数据是一位一位按顺序传送的通信方式,图7-1-1b)所示为单片机与外部设备间的串行通信连接方式,可以看出最单间的串行连接只需三条线,因此利用电话线就可作为传输线,这样大大降低了成本,特别适用于远距离通信;串行通信的缺点是传送速度较低。假设并行传送N位数据所需时间为T,那么串行传送的时间至少为NT,实际上总是大于NT的。
                             
图7-1-1两种通信方式连接
2. 单工、半双工和全双工
串行通信的传送方式通常有3:
单向(或单工),只允许数据向一个方向传送;
半双向(或半双工),允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送;
全双向(或全双工),允许同时双向传送数据,全双工配置是一对单向配置,它要求两端的通信设置具有完整和独立的发送和接收能力。
7112 单片机串行口发送与接受数据
1. 串行通信协议
串行通信协议是通信双方为保证通信成功而制定的一系列约定。包括数据格式定义和数据位定义等。通信双方必须遵守统一的通信协议,串行通信协议包括同步协议的异步协议两种。异步串行通信协议规定了字符的传送格式和字符传送的波特率。
51系列单片机串行行口数据的发送的数据的接受采用异步通信方式,在MCU内部有一个UART(Universal Asynchronous Receive/Transmitter通用异步收发器。在异步通信中数据
是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式如图7-1-2所示。
                  7-1-2串行异步通信的数据格式
在帧格式中,一个字符由4部分组成:起始位、数据位、奇偶校验位和停止位。
首先是一个起始位(0),起始位信号只占用一位,用来通知接收设备一个待接收的字符开始到达,线路上在不传送字符时应保持为1。接收端不断检测线的状态,若连续为1以后又测到一个0,就知道发来一个新的字符,应马上准备接收,字符的起始位还被用作同步接收端的的时钟,以保证以后的接收能正确进行。
然后是5—8位数据位(规定低位在前,高位在后),它可以是5(D0—D4)7位或8位(
D0—D7)。其次是奇偶校验位(该位可省略),但在字符中也可以规定不用奇偶校验位,则这一位就可省去。民可和这一位(0/1)来确定这一帧中的字符代表代表的性质(地址/数据等)。
最后是停止位(1),用来表征字符的结束,它一定是高电位(逻辑1)。停止位可以是1位、1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕,同时也为接收下一个字符作好准备,只要再接收藏夹0,就是新字符。
2. 波特率
通信线上传送的所有位信号都保持一致的信号持续时间,每一位的信号持续时间都由数据传送速度确定,而传送速度是以每秒多少个二进制位来衡量的,这个速度叫波特率。波特率是串行通信中的一个重要指标,它反映了对传输通道的要求。波特率越高,要求传输通道的频带越宽。一般异步通信的波特率为50—9600b/s
7113 单片机串行口控制寄存器
1.串行口控制寄存器SCON
SCON是串行口控制和状态寄存器,其格式如下:
D7      D6    D5    D4    D3      D2      D1      D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0SM1:串行口工作方式控制位,具体工作方式见表。
    7-1-1  串行口工作方式控制
上海财务管理进修学院
SMO  SM1
工作方式
说    明
波特串
0    0
方式0
同步移位寄存器
fosc/12
0    1
方式1
10位异步收发
由定时器控制
1    0
方式2
11位异步收发
fosc/32或fosc/64
1    1
方式3
11位异步收发
由定时器控制
SM2:多机通信控制位(方式23)
  1一只有接收到第9(RB8)1RI才置位。
  0一接收到字符N就置位。
REN:串行口接收允许位。
  1一允许串行口接收。   
0一禁止串行口接收。
TB8:方式2和方式3时,为发送的第9位数据,也可以作奇偶校验位。
RB8:方式2和方式3时,为接收到的第9位数据;方式1时,为接收到的停止位
TI:发送中断标志。由硬件置位,必须由软件清0
RI:接收中断标志。由硬件置位,必须由软件清0
2.电源控制寄存器PCON
PCON的第7SMOD是与串行口的波特率设置有关的选择位。
D7      D6    D5    D4    D3      D2      D1      D0
SMOD
GF1
GF0
PD
IDL
SMOD:串行口波特率加倍位。
1——方式13波特率=定时器1溢出率/16;方式2波特率为fosc32;    ·
0——方式13波特率=定时器1溢出率/32;方式2波特率为fosc64
GF0GF1:两个通用标志位。
PD低碳世界IDLCHMOS器件的低功耗控制位。
7周小青114 串行口工作模式及波特率设置
1.串行通信的工作方式
⑴方式0
方式0为移位寄存器输入/输出方式。串行数据通过RXD输入/输出,TXD则用于输出移位时钟脉冲。方式0时,收发的数据为8位,低位在前。波特率固定为fosc12,其中fosc为单片机外接晶振频率。数据发送是以写SBUF寄存器的指令开始的,8位输出结束时TI被置位。
方式0接收是在REN1RI0同时满足时开始的。接收的数据装入SBUF中,结束时RI被置位。 移位寄存器方式在用最小的硬件扩展接口时很有用。串行口外接一片移位寄存器74LSl64可构成输出接口电路;串行口外接一片移位寄存器74LSl65可构成输入接口电路。在典型1MHz时钟,8位加载大约用10 us。任何数目的移位寄存器可串接用于输出和输入,通过一系列的SBUF的写和读。若移位时的波动不重要或移位寄存器中包含并行加载锁存,这可构成非常经济的IO扩展小系统。
移位寄存器方式的第二种用法是用于两个单片机之间的通信。与通常波特率9600相比,以1MHz通信能力对短距离通信很吸引人。
⑵方式1
方式110位异步通信方式,1位起始位(0)8位数据位和1位停止位(1)。其中的起始位和停止位在发送时是自动插入的。任何一条以SBUF为目的寄存器的指令都启动一次发送,发送的条件是TI=0,发送完置位TI。方式1接收的前提条件是SCON中的REN1,同时以下两个条件都满足,本次接收有效,将其装入SBUFRB8位。否则放弃接收结果。两个条件是:
1)RI=0
2)SM2=0或接收到的停止位为1
方式1的波特率是可变的,波特率可由以下计算公式计算得到:
方式1波特率=2SMOD·(定时器1的溢出率)32
其中的SMODPCON的最高位。定时器1的方式012,都可以使用,其溢出率为定时时间的倒数值。
⑶方式2和方式3
这两种方式都是11位异步接收/发送方式,它们的操作过程完全一样,所不同的是波特率:
方式2波特率=×(振荡器频率fosc
方式3波特率同方式1(定时器1作波特率发生器)。
方式2和方式3的发送起始于任何一条“写SBUF”指令。当第9位数据(TB8)输出之后,置位TI  方式2和方式3的前提条件也是REN1。在第9位数据接收到后,如果下列条件同时满足:
1)RI0
端粒复制
2)SM20或接收到的第9位为1
则将已接收的数据装入SBUFRB8,并置位RI;如果条件不满足,则接收无效。
51系列单片机串行口的不同寻常的特征是包括第九位方式。这允许在串行口通信增加的第九位用于标志特殊字节的接收。对简单网络,第九位方案允许接收单片机仅当字节具有一个第九位时才能被中断。用这种方法,发送器可以广播一个字节让第九位为高作为“每个人请注意”字节。字节可以为节点地址,地址相同的节点可以打开接收接下来的字符。所接续字节(第九位为低)不能引起其它单片机中断,因为未送它们的地址。用这种方式。一个单片机可以和大量的其它单片机对话而不打扰不寻址的单片机。这种系统必须工作在严格的主从方式,由软件进行取舍安排。   

本文发布于:2024-09-22 17:16:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/46391.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   传送   方式   接收   单片机   字符   串行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议