您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 51单片机和PC机串行异步通信C语言设计
******************实践教学*******************XXXXX大学XXXX学院XXX年秋季学期通信系统综合训练课程设计题目:51单片机与PC机串行异步通信设计专业班级:姓名:学号:指导教师:成绩:摘要随着计算机技术的迅速发展及其在各领域的广泛应用,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,由于串行通信具有高效可靠、价格便宜,遵循统一的标准等特点,因而成为主要的通信手段。本次设计的任务是给出在分布式控制系统中上位PC机与下位单片机之间进行异步串行通信的解决方案,实现了上位机向多个(最多8个)下位机发送信息以及下位机接收上位机的数据并能够向上位机发送数据的功能。在软件设计中,采用VC++6.0设计PC上的串口通信程序,在单片机编程上采用接近硬件系统的汇编语言编写通信程序及数据处理程序。关键词:单片机;串行通信;RS-232;异步通信目录前言-----------------------------------------------错误!未定义书签。第1章通信原理与系统组成--------------------------错误!未定义书签。1.1串行异步通信原理---------------------------错误!未定义书签。1.2系统构成-----------------------------------错误!未定义书签。第2章系统分析----------------------------------------------------62.1系统设计思路-----------------------------------------------62.2模块组成---------------------------------------------------8第3章硬件电路设计------------------------------------------------93.1RS-232接口电路设计-----------------------------------------93.2MAX232接口电路---------------------------错误!未定义书签。3.351单片机与PC机串行通信电路------------------------------11第4章软件设计---------------------------------------------------13心得体会-----------------------------------------------------------18参考文献-----------------------------------------------------------19致谢--------------------------------------------------------------201前言随着计算机技术的迅速发展及其在各领域的广泛应用,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,由于串行通信具有高效可靠、价格便宜,遵循统一的标准等特点,因而成为主要的通信手段。微机的分析处理能力较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用微机。而单片机具有价格低,功能强,抗干扰能力好,以及面向控制等特点,所以下位机采用单片机来构成主从式多机工作模式。微机的分析处理能力较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用微机。而单片机具有价格低,功能强,抗干扰能力好,以及面向控制等特点,所以下位机采用单片机来构成主从式多机工作模式。因此如何实现PC机与单片机之间的通信具有重要的现实意义。本次设计的任务是给出在分布式控制系统中上位PC机与下位单片机(AT89C51)之间进行异步串行通信的解决方案,实现了上位机向多个(最多8个)下位机发送信息以及下位机接收上位机的数据并能够向上位机发送数据的功能。要求在实际运行过程中,简单方便,稳定可靠,较好地解决上位机与下位机之间的通信问题。2第1章通信原理与系统组成1.1串行异步通信原理串行通信,是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。串行通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。异步通信所传输的数据格式(串行帧)由1个起始位、7个或8个数据位、1~2个停止位(含1.5个停止位)和1个校验位组成。起始位约定为0;空闲位约定为1。异步通信实质是指甲乙通信双方采用独立的时钟,每个数据均以起始位开始,停止位结束,起始位触发甲乙双方同步时钟。每个异步串行帧中的1位彼此严格同步,位周期相同。所谓异步是指发送、接收双方的数据帧与帧之间不要求同步,也不必同步。同步通信所传输的数据格式(也称同步串帧)是由多个数据帧构成的,每帧有两个同步字符作为起始位以触发同步时钟开始发送或接收数据。空闲位需发送同3步字符。因此,同步是指发送、接收双方的数据帧与帧之间严格同步,而不只是位与位之间严格同步。异步通信比较灵活,适用于数据的随机发送/接收;而同步通信则是成批数据传送。异步传输一批数据因每个字节均有起始位和停止位控制而使发送/接收速度有所降低,一般适用于每秒50~9600位,而同步传输速度较快,可达每秒80万位。所以本次设计选用串行异步通信。1.2系统构成1.AT89C51单片机在系统设计中使用AT89C51单片机作为下位机,与PC机进行串口通信。AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片,内置4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线.本设计中主要是利用AT89C51的异步通信(UART)模式原理实现单片机与PC机之间的串口通信的。由于CPU与接口间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,要由接收移位寄存器把串行方式转换成并行方式,由发送移位寄存器把并行方式转换成串行方式。4图1.251单片机串行接口图异步模式的帧格式有1位起始位、7位或8位数据位,校验位,1位地址位,1或2位停止位构成。在异步模式下,AT89C51支持两种多机模式:线路空闲多机模式和地址位多机模式。线路空闲模式下,数据块被一段空闲的时间分割。在字符的第一个停止位之后收到10个以上的1,表示检测到线路空闲;如果采用两个停止位,则第二个停止位被认为是空闲周期的第一个信号。在使用地址位多机模式时,字符包含一个附加的位作为地址标识,数据快的第一个字符带有一个置位的地址位,用以表明该字符是一个地址。由于已经设置了控制寄存器中的MM=1,故在本设计中选择了地址位多机模式。2.RS-232串行接口目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。RS-232C总线标准,是美国电子工业协会(ElectronicIndustryAssociation)的推荐标准。RS-232C标准中的许多信号是为通信业务联系或信息控制而定义的,在计算机串行通信中主要使用如下信号:①数据传输信号:发送数据(TXD)、接收数据(RXD)。5②调制解调器控制信号:请求发送(RTS)、清除发送(CTS)、数据通信设备准备就绪(DSR)、数据终端设备准备就绪(DTR)。③定位信号:接收时钟(RXC)、发送时钟(TXC)。④信号地和保护地。6第2章系统分析51单片机是一种集CPU,RAM,FLASHROM,I/O接口和定时中断系统于一体的微型计算机。只要有外加电源和晶体振荡器就可以独立完成对数字信号的算术运算,逻辑控制,串行通信等功能。当需要处理较复杂数据或需要对多个采集数据进行综合处理以及需要进行集散控制时,单片机的算术运算和逻辑运算能力显的不足,这时往往需要借助计算机系统。将单片机采集的数据通过串行口传给PC机,由PC机高级语言或数据库语言进行处理,或者实现PC机对远程单片机进行控制。51系列单片机内部的串行口具有通信的功能,该串行口可以作为通信接口,利用该串行口与PC机的高级语言或数据库语言进行整理及统计等复杂处理就能满足实际的应用需要。51单片机的开发除了硬件支持外,同样离不开软件。用汇编语言或C语言等高级语言编写的源程序必须转换为机器码才能被执行。2.1系统设计思路本文要求设计一个51单片机与PC串口间通讯系统,实现单片机与PC机之间的远程通信。设计分发送和接收两大模块,发送部分通过硬件电路的引用。其中包括RS-232接口电路、MAX232接口电路,引用相应的管脚相连,并将相应的软件程序转入电路中,即可运行。当电路是相对独立时,可直接调速电路参数值,其影响和干扰就小。在满足发射和接收模块的要求后可单独对控制进行调整,程序的编入,接收部分相应的结果即以实现,因此实现了PC机对远端单片机的控制。单片机和PC机之间的通信选用异步串行通信。串行通信方式从原理上可以分成两种:同步串行I/O和异步串行I/O。(1)异步通信方式异步方式实现简单,在微型计算机中大量使用异步串行I/O方式,为了避免连续传送过程中的误差积累,每个字符都要独立地确定起始和结束位,字符和字符间还可能有长度不定的空间时间。在异步通信方式中,数据或字符是一帧一帧传送的,每一串行帧的格式如图一所示。在帧格式中包含了4个组成部分:起始位,数据位,奇偶位和停止位。7第N个字符(7~12)第N+1个字符00/10/10/10/1…0/10/111100/1起奇偶停止位空闲始5~8位数据位校验位位位图2.1异步串行通信的格式起始位占一位,用逻辑“0”表示字符的开始。起始位后面紧接着是数据位,数据位的个数可以是5位,6位,7位或是8位。在数据位传送过程中,规定地位在前,高位在后。数据位发送完后,接下来的是1位奇偶校验位。奇偶校验用于有限差错检测,通信双方约定一致的奇偶校验方式。停止位在最后,用逻辑值“1”表示一个字符传送的结束。结束位可以是1位,1.5位或是2位。接收端收到停止位后,知道上一字符已传送完毕,通信线路上便又恢复逻辑“1”状态,直至下一个字符数据的起始位到来。异步通信方式每传送一个字符都要附加一些标志信息,因此其传输效率低,一般用于低速通信系统。但由于接收方接收每个字符时都重新同步,故少量的漂移不会造成太大的影响。(2)同步通信方式在同步通信中,在数据或字符开始传送前用同步字符来指示,由时钟来实现发送端和接收端同步,当检测到规定的同步字符后,就连续按顺序传送数据。同步字符是一种特定的二进制序列,在传送的数据中不会出现。同步传送格式如图2.2所示:同步数据……数据CRC1CRC2a)单同步格式同步同步数据……数据CRC1CRC2b)双同步格式图2.2同步格式同步传送方式传输效率高,但是硬件复杂,成本高,一般用于高速率,大容8量的数据通信中。在比较同步通信和异步通信的优缺点之后,我们可以在本次设计中采用异步通信方式。2.2模块组成为实现该系统的生成,主要包含两大模块,即单片机模块和通信模块。1.单片机模块单片机模块中主要包括单片机、复位电路、晶振电路、上拉电阻和端口扩展等。端口扩展部分可以通过跳线将单片机的I/O口在系统板上的功能释放,并将其连接到扩展
本文标题:51单片机和PC机串行异步通信C语言设计
链接地址:https://www.777doc.com/doc-1430700 .html