您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 课设基于单片机的RS-232C串行通讯接口设计
沈阳航空航天大学课程设计(论文)题目基于单片机的RS-232C串行通讯接口设计班级9407102学号2009040701067学生姓名徐茂哲指导教师张晓东沈阳航空航天大学课程设计任务书课程名称专业综合课程设计院(系)自动化学院专业测控技术与仪器班级9407102学号2009040701067姓名徐茂哲课程设计题目基于单片机的RS-232C串行通讯接口设计课程设计时间:2012年12月29日至2013年1月11日课程设计的内容及要求:利用8051单片机开发RS-232C串行通信系统,利用Modbus通信协议,实现单片机与PC机的通信,要求实现数据收发功能。具体要求如下:(1)按以上要求制定设计方案,并绘制出系统工作框图;(2)按要求设计单片机系统,给出电路原理图;(3)用单片机系统和PC机进行程序设计与调试;(4)接收PC机发送数据,并将其回发给单片机;指导教师年月日负责教师年月日学生签字年月日目录0.前言.....................................................................11.总体方案设计.............................................................22.硬件电路的设计...........................................................22.1单片机系统..........................................................22.2MAX232芯片..........................................................52.3整体电路设计........................................................63软件设计..................................................................74.联合调试..................................................................85.课设小结及进一步设想.....................................................9参考文献...................................................................10附录I元件清单...........................................................11附录II整体电路图.........................................................11附录III源程序清单.......................................................13沈阳航空航天大学课程设计论文基于单片机的RS-232C串行通讯接口设计第1页基于单片机的RS-232C串行通讯接口设计徐茂哲沈阳航空航天大学自动化学院摘要:本文主要设计了一个基于RS-232C的单片机串行通讯接口系统,利用Modbus通信协议,实现单片机与PC机的通信,要求实现数据收发功能。。关键字:RS-232C;数据发送;数据接收;LED显示;单片机与PC机串行通信。0.前言计算机的发展对通信起了巨大的推动作用,计算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。随着电子技术和计算机技术的发展,特别是单片机的发展,使传统的测量仪器在原理、功能、精度及自动化水平等方面发生了巨大的变化,形成了一种完全突破传统概念的新一代测试仪器——智能仪器。智能仪器是以微处理器为核心的电子仪器,它不仅要求设计者熟悉电子仪器的工作原理,而且还要求其掌握微型计算机硬件和软件的原理。目前,有很多的传统电子仪器已有相应的替代产品,而且还出现不少全新的仪器类型和测试系统体系。在科学技术高速发展的今天,如何用简单便宜、性能良好的元器件制造出对人类生活有用的产品,已经成为人们研究的主要趋势。在自动化技术中,无论是过程控制技术还是数据采集技术还是测控技术,都离不开单片机,在工业自动化的领域中,机电一体化技术发挥越来越重要的作用,在通信方面,单片机得到了广泛运用。在实现计算机与计算机、计算机与外设的串行通讯时,通常采用标准的通讯接口。所谓标准的通讯接口,就是明确定义若干信号线的机械、电器特性,使接口电路标准化、通用化,这样就能方便地把不同的计算机、外设等有机地连接起来,进行串行通讯。RS-232C是由美国电子工业协会(EIA)制定的用于串行通信的标准通信接口,利用它可以很方便地把各种计算机、外围设备、测量仪器等有机地连接起来,进行串行通信。它包括按位传输的电气和机械方面的规定,适用于短距离或带调制解调器的通信场合。RS-232C标准适用于DCE和DTE之间的串行二进制通信,最高的数据速率为19.2Kbit/s,在使用此波特率进行通信时,最大传输距离在20m之内。降低波特率可以增加传输距离。对于RS-232C标准接口的使用是非常灵活的,实际通信中经常采用9针接口进行数据通信。沈阳航空航天大学课程设计论文基于单片机的RS-232C串行通讯接口设计第2页1.总体方案设计在本次设计中,硬件部分,对于一片89C51和PC机,采用RS232进行通信,硬件的连接方法如图1所示。电平转换芯片采用MAX232,传输距离一般不超过15m,传输小于20kbit/s。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。软件部分,通过通信协议进行发送接收。串行口的工作方式为8位UART,波特率可变(T1溢出率/n)。定时器的工作方式为工作方式2。TXDT2INT2OUTTXDAT89C51MAX232A串行接口RXDR2OUTR2INRXD图1RS-232C电平信号传输的连接图2.硬件电路的设计2.1单片机系统标准型89系列单片机是与MCS-51系列单片机兼容的。在内部含有4KB或8KB可重复编程的Flash存储器,可进行1000次擦写操作。全静态工作为0~33MHz,有3级程序存储器加密锁定,内含有128~256字节的RAM、32条可编程的I/O端口、2~3个16位定时器/计数器,6~8级中断,此外有通用串行接口、低电压空闲模式及掉电模式。AT89C51相当于将8051中的4KBROM换成相应数量的Flash存储器,其余结构、供电电压、引脚数量及封装均相同,使用时可直接替换。AT89C51在内部采用40条引脚的双列直插式封装,引脚排列如图2所示:沈阳航空航天大学课程设计论文基于单片机的RS-232C串行通讯接口设计第3页图2AT89C51芯片引脚在自动化测量和控制系统中,各台仪表之间需要不断地进行各种信息的交换和传输,这种信息的交换和传输是通过仪表的通信接口,按照一定的协议进行的。通信接口是各台仪表之间或者是仪表与计算机之间进行信息交换和传输的联络装置。计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。所谓并行通信是指数据的各位同时在多根数据线上发送或接收,其特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信是指将构成字符的每个二进制数据位,依照一定的顺序逐位进行传送的通信方式,其特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。51单片机内部有一个可编程全双工串行通信接口。该部件不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。51单片机串行接口的结构如下:(1)串行数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。SBUF包括缓存寄存器和发送寄存器,以便能以全双工方式进行通信。此外,在接收寄存器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,这样可以避免在数据接收过程中出现帧重叠错误。发送数据时,由沈阳航空航天大学课程设计论文基于单片机的RS-232C串行通讯接口设计第4页于CPU是主动的,不会发生帧重叠错误,因此发送电路不需要双重缓冲结构。在逻辑上,SBUF只有一个,它既表示发送寄存器,又表示接收寄存器,具有同一个单元地址99H。但在物理结构上,则有两个完全独立的SBUF,一个是发送缓冲寄存器SBUF,另一个是接收缓冲寄存器SBUF。如果CPU写SBUF,数据就会被送入发送寄存器准备发送;如果CPU读SBUF,则读入的数据一定来自接收缓冲器。即CPU对SBUF的读写,实际上是分别访问上述两个不同的寄存器。(2)串行控制寄存器(PCON)串行控制寄存器SCON用于设置串行口的工作方式、监视串行口的工作状态、控制发送与接收的状态等。它是一个既可以字节寻址又可以位寻址的8位特殊功能寄存器。其格式如表1所示:表1串行口控制寄存器SCONSM2:多机通信控制位。REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。SM0,SM1:串行口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、工作方式1、工作方式2、工作方式3。串行接口工作方式如表2:表2串行工作方式SM0SM1工作方式功能波特率0008位同步移位寄存器(用于I/O扩展)fORC/1201110位异步串行通信(UART)可变(T1溢出率*2SMOD/32)10211位异步串行通信(UART)fORC/64或fORC/3211311位异步串行通信(UART)可变(T1溢出率*2SMOD/32)(3)输入移位寄存器位地址9FH9EH9DH9CH9BH9AH99H98HSCONSM0SM1SM2RENTB8RB8T1R1沈阳航空航天大学课程设计论文基于单片机的RS-232C串行通讯接口设计第5页接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率是用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。(5)电源控制寄存器PCON波特率系数控制寄存器PCON的最高位为Smod,仅仅是最高位与串行口有关。在工作方式1~工作方式3时,若SMOD=1,则串行口波特率增加一倍。若SMOD=0,波特率不加倍。系统复位时,SMOD=0。PCON字节地址为87H,不能位寻址。PCON的格式如表3表3特殊功能寄存器PCON的格式(6)波特率计算串行口每秒钟发送(或接收)的位数称为波特率。设发送一位所需要的时间为T,则波特率为1/T。对于不同方式,得到的波特率的范围是不一样的,这是由定时器/计数器T1在不同方式下计数位数的不同所决定的。串行口工作在方式1或方式3时,常用定时器T1作为波特率发生器,关系式为:波特率=2SMOD×(T1溢出率)/32。2.2MAX232芯片在电气特性上RS-232C采用负逻辑,要求高、低两信号间有较大的幅度,标准规定为:逻辑‘1’:-5~-15V,逻辑‘0’:+5~+15V。而单片机的信号电平与TTL电平兼容,逻辑1大于+
本文标题:课设基于单片机的RS-232C串行通讯接口设计
链接地址:https://www.777doc.com/doc-2032475 .html