摘要:单片机以其体积小、价格低、抗干扰性好等特点,在现代控制系统中常用在操作现场进行数据采集,以及实现现场控制中.但是由于其数据存储容量和数据处理能力都较低,所以一般情况下要通过通信手段使它与PC机相连,把所采到的数据传送到PC机上,再在PC机上进行数据处理,充分发挥两者各自的优势.由于单片机输入、输出电平是TTL电平,而PC机配置的是RS-232标准串行接口,两者的串行规范不一致,因此需要完成单片机与PC机的串口通信原理的方案。
关键词:单片机 通信 串行通信 数据通信
1 串行通信的基本知识
1.1 数据通信的基本概念
在实际应用中,计算机的CPU与外部设备之间经常要进行信息交换;一台计算机与其他计算机之间也往往要交换信息,这些信息交换都可称为通信。通信的方式有串行和并行两种。
串行通信是指数据一份一位按顺序传送的通信方式。其突出特点是只需少数几条线就可以在系统间交换信息,大大降低了传送成本.尤其适用于远距离通信。但华行通信的速度比较低。
并行通信是指数据的各位同时进行传送的通信方式。其优点是数据的传送速度快,缺点是传输线多,数据有多少位,就需要多少传输线。一般适用于高速短距离的应用场合,典型的应用是计算机和打印机之间的连接。
1.2 串行通信的传送方向
串行通信的传送方向有单工、半双工和全双工三种。单工方式下只允许数据向一个方向传送,要么只能发送,要么只能接收;半双工方式下允许数据在一条传输线上往两个相反的方向传送,但不能同时传送,只能交替进行。为了避免双方同时发送,需另加联络线或制定软件协议:全双工是指数据可以同时往两个相反的方向传送,需要两个独立的数据线分别传送两个相反方向的数据。
1.3 串行通信的同步方式
串行通信中必须规定一种双方都认可的同步方式,以便接收端完成正确的接收。串行通信有异步和同步两种基本方式。
1.3.1 异步通信:在异步通信中,数据按帧传送,用一位起始位(“0”电平)表示一个字符的开始,接着是5-8个数据位。低位在前,高位在后,用停止位(“1”电平)表示字符的结束,在信息位和停止位之间可以插入一位奇偶校验位,这样构成—个数据帧,这时可用这一位来确定这一帧中字符所代表的信息的性质(地址/数据等)。异步通信适用于低速通信的场合。通信的双方若时钟略有误差,两个信息字符之间的停止间隔将为这种误差提供缓冲余地,因此异步通信方式允许有较小的频率偏移,这是它的优点。
1.3.2 波特率:波特率是指数据,则每个字符格式包含10位,这时传送的波特率为:的传输速率。表示每秒钟传送的二进制代码的位致,单位是b/s。波特率是衡量传送通道频宽的指标,它和传送有效数据的速率并不一致。它的传送速率一般在50~19200之间。
1.4 串行通信规程
数据通信规程是通信双方为了有效地交换信息而建立起来的一些约定,在规程中对数据的编码同步方式、传输速度、传输控制步骤、校验方式、报文方式等问题给予统一的规定,通信规程也称为通信协议。
2 串行接口
MCS-51片内有一个可编程的全双工串行口,可作UART用.也可作同步移位寄存器用。发送数据由TXN(P3.1)端送出,接收数据由RXD(P3.0)端输入,串行n有两个物理上独立的缓冲器SHUF,一个为发送缓冲器,另一个为接收缓冲器、二者共用一个SFR地址99H。发送缓冲器只能写入,不能读出,接收缓冲器只能读出,不能写入,能设置备种波特率,给实际使用带来很大的灵活性。
2.1 串行口的专用寄存器
8051的串行口是可编程接口,对它的初始化编程只需把两个控制字分别写入特殊功能寄存器SRON(98H)和电源控制寄存器PCON(87H)中即可。
串行口控制寄存器SCON,8051串行通信的方式选据、接收和发送控制以及串行口的状态标志等均由特殊功能寄存器SCON控制和指示。串行发送中断标志们和接收中断标志RI共用一个中断源,CPU并不知道是TI还是RI产生的中断请求,所以在全双工通信时,必须由软件来判别.复位后SCON的所有位都清0。
2.2 串行口的工作方式
在控制寄存器中,SM0和SM1位决定串行口的工作; SM2位决定串口应用于多处理机的通信方式。
2.2.1 方式0
当SM0=0,SM1=0时串口选择方式0这种工作方式实质上是一种同步移位寄存器方式.其数据传输的波特率固定为(1/12).fosc.数据由RXD(P3.0)因脚输入或输出,同步异位时钟由TXD(P3.0)引脚输出.接收/发送的是8为数据,传送时低位在前。
2.2.2 方式1
当SM0=0、SMl=1时,串行口选择方式1。其数据传输波特率由定时器/计数器T1和T2的溢出决定,可用程序设定。由TXD(P3.1)引脚发送数据,由RXD(P3.0)引脚接收数据。发送或接收一帧信息为10位:1位起始位(Q)、8位数据位和1位停止位(1)。
2.2.3 方式2和3
当SM0=1、SM1=0时,串行口选择方式2;当SM0=l、SMl=l时,串行口选择方式3。由TXD(P3.1)引脚发送数据,由RXD(P3.0)引脚接收数据。发送或接收一帧信息为11位:1位起始位(0)、9位数据位和1位停止位(1)。
3 RS-232串行接口标准
目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。由于其发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点通讯而设计的,其驱动器负载为3~7kΩ。所以RS-232适合本地设备之间的通信。
RS-232C接口是以实现数据设备之间(包括数据终端设备DTE如计算机,终端,其他设备等和数据通信设备DCT如调制解调器等)进行串行数据通信的标准接口,是一个有25个引脚的连接器,它的每一个引脚的定义及各种信号电平的标准的,因而确保了不同制造商生产的数据设备之间进行通信的兼容。
最后,在大型直流电机调速过程中,通信模块有可能受到外界较大的干扰。为了保证通信的可靠性,制订如下的通信协议:
①PC 机和单片机都可以发送和接收数据。
②PC 机和单片机的波特率都选定为9600bit/s。
③通信帧格式是:1个起始位,8个数据位,1位可编程位(用以确定发送和接收的是数据还是地址),1位停止位。
④发送和接收一个数据包都要进行累加和检验,每个字节的发送与接收要进行偶检验。
⑤采用中断通信方式。
⑥为了保证数据的可靠、有效,PC机主动联系单片机,单片机收到PC机发送的地址后再将本机地址发送给上位PC机,在上位机端若检查收到的地址码和开始发送出去的地址码相同,则认定双方握手成功,开始进行数据通信。
参考文献:
[1]何利民.单片机应用系统设计[M].北京航空航天大学出版社.1998.
[2]孙玉才.单片微型计算机及其应用[M].电子工业出版社.2001.
推荐访问: 串口 单片机 通信 PC