课设:基于单片机的RS-232C串行通讯接口设计
- 格式:doc
- 大小:460.00 KB
- 文档页数:21
基于RS232串行通信的设计【摘要】PC机与单片机相结合在工业监控、数据采集和实时控制系统中应用广泛。
其中,单片机系统作为从机进行数据采集和执行控制,而PC机作为主机进行发送命令、实时检测、数据存储、动态显示等工作。
因此,主从机之间的通讯至关重要。
而串行口具有连接简单、使用灵活方便、数据传递可靠等优点。
文中介绍了AT89C52单片机与PC机之间串行通讯实现,包括硬件结构、通讯协议及软件设计.单片机部分由C语言实现,PC机部分了用VC++语言的MSComm控件及调用WindowsAP I函数来实现通讯。
,实现数据的快速发送和接收,实时自动控制准确、快速、该系统简单、经济、稳定、实用性强并已成功应用于实际系统中。
【关键词】串行通讯;RS232;PC;单片机;MSComm控件一、引言在电动机控制系统中,单片机系统作为从机进行数据采集和执行控制,而PC机作为主机进行发送命令、实时检测、数据存储、动态显示等工作。
串行口具有连接简单、使用灵活方便、数据传递的特点,使其成为主从机之间通讯的主流。
目前主要的串行通讯接口有RS-232,RS-485,USB接口,IEEE-1394等。
RS-485对传输数据具有很强抗噪能力,所以它通常被用于工业生产中。
USB接口和IEEE-1394具有速度快,但一些计算机和操作系统不支持此类接口。
RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准,具有适中的价格和良好的系统的实用性,RS-232是最广泛地用作在PC计算机串行接口和通讯行业,所以它是最适宜的是一个通信端口。
二、串口通讯的硬件设计PC机和单片机连接时两者的串口电平不同,PC机的是RS-232C电平,而单片机是TTL电平,因此需要通过电平转换的措施才能连接。
系统中采用MAXIM公司生产的MAX3232型芯片进行电平转换来完成串口通信。
MAX3232芯片中的变压器装置能够把TTL和RS-232C两种电平进行相互转换。
串口通信rs232 课程设计一、课程目标知识目标:1. 学生理解串口通信的基本概念,掌握RS232通信标准的基本原理和特点;2. 学生了解串口通信的硬件连接方式,掌握相关编程语言的串口通信库函数;3. 学生掌握数据帧的概念,能够解释串口通信中数据帧的结构和传输过程;4. 学生了解串口通信中的常见问题,如数据丢失、校验错误等,并掌握相应的解决方法。
技能目标:1. 学生能够运用所学知识,使用编程语言实现与外部设备的数据交换;2. 学生能够根据实际需求,配置串口参数,如波特率、数据位、停止位等;3. 学生能够利用串口调试工具进行数据收发测试,分析并解决通信过程中出现的问题;4. 学生具备实际操作能力,能够将理论知识应用到实际项目中。
情感态度价值观目标:1. 学生培养对计算机通信技术的兴趣,提高学习积极性;2. 学生在学习过程中,培养团队合作意识,学会与他人分享和交流;3. 学生通过实际操作,体验科技改变生活的魅力,增强创新意识;4. 学生认识到通信技术在国家发展和社会进步中的重要作用,树立正确的价值观。
课程性质:本课程为信息技术学科选修课程,以实践操作为主,理论联系实际。
学生特点:学生具备一定的编程基础,对通信技术有一定了解,但实际操作经验不足。
教学要求:注重理论与实践相结合,以学生为主体,充分调动学生的积极性和参与度,培养实际操作能力。
将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. 串口通信基本概念:介绍串口通信的定义、作用及其在计算机通信中的应用;- 相关章节:教材第3章“串行通信基础”2. RS232通信标准:讲解RS232标准的基本原理、电气特性、信号线功能等;- 相关章节:教材第4章“RS232通信接口”3. 串口编程基础:介绍串口通信的编程方法,包括API函数、串口通信库的使用;- 相关章节:教材第5章“串口编程技术”4. 串口通信参数配置:讲解波特率、数据位、停止位、校验等参数的设置方法;- 相关章节:教材第6章“串口通信参数设置”5. 数据帧结构与传输过程:分析串口通信中数据帧的构成,讲解数据传输过程;- 相关章节:教材第7章“数据帧格式与传输”6. 常见问题及解决方法:列举串口通信中常见的问题,分析原因并给出解决方案;- 相关章节:教材第8章“串口通信故障分析与处理”7. 实践操作与案例分析:安排实际操作环节,结合教材案例,让学生动手实践;- 相关章节:教材第9章“串口通信应用实例”教学内容安排与进度:第1-2课时:串口通信基本概念、RS232通信标准;第3-4课时:串口编程基础、串口通信参数配置;第5-6课时:数据帧结构与传输过程、常见问题及解决方法;第7-8课时:实践操作与案例分析,总结与反馈。
内容提要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD 等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。
它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
课程设计任务书课程名称专业综合课程设计院(系)专业课程设计题目基于单片机的RS-232C串行通信接口设计课程设计时间: 2011 年1 月3 日至2011 年 1 月14 日课程设计的内容及要求:利用W A VE仿真器、8051单片机开发基于单片机的RS-232C串行通信系统,实现单片机与PC机的通讯,要求实现数据收发功能.具体要求如下:(1)按以上要求制定设计方案,并绘制出系统工作框图;(2)按要求设计单片机系统,给出电路原理图;(3)用仿真器及单片机系统和PC机进行程序设计与调试;(4)接受PC机发送数据,并将其会发给PC机;指导教师年月日负责教师年月日学生签字年月日目录0. 前言 (1)1. 总体方案设计 (2)2. 硬件电路的设计 (2)2.1 单片机介绍 (2)2.2 串口基本结构介绍 (3)2.3 电平转换电路设计 (4)2.4 整体电路设计 (5)3 软件设计 (6)3.1 串行通信的实现 (6)3.2 流程框图 (6)4.联合调试 (7)5. 课设小结及进一步设想 (7)参考文献 (9)附录I 元件清单 (10)附录II 整体电路图 (11)附录III 源程序清单 (12)基于单片机的RS-232C串行通信接口设计杨毅沈阳航空航天大学自动化学院摘要:随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。
但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合PC机组成分布式系统是一个比较好的解决方案。
这样,单片机的数据通信技术就变得十分重要,在某种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。
现在单片机及PC机在结构、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。
课程设计单片机与PC机RS232串行通讯设计班级学号学生姓名指导教师目录0. 前言 (2)1. 总体方案设计 (2)2 硬件电路的工作原理 (3)2.1 AT89C51外围电路模块 (3)2.1.1 复位电路 (3)2.1.2 时钟电路 (4)2.1.3 键盘电路 (4)2.2 显示部分 (5)2.2.1 LED显示部分 (5)2.2.2 MAX232电平转换 (5)2.2.3 PC机采用DB-25型连接器 (6)3 软件设计 (7)4 调试分析 (9)5. 结论及进一步设想 (11)参考文献 (11)课设体会 (12)附录I 元件清单 (13)附录І І 总电路图 (14)附录ІІІ 总程序 (15)单片机与PC机RS232串行通讯设计摘要:设计单片机与PC机的串行通讯系统,PC机是主机,PC机发送的数据单片机接收,单片机输入的数据通过LED显示在发送给PC机,其中单片机选择RS232通讯标准接口。
采用了串行口通讯技术作为核心技术,主要解决方案是通过自定义通讯协议实现多机通讯,优点是结构简单,软件简单,硬件资源少,价格便宜。
关键词:串行通讯;单片机;PC机;RS-2320. 前言自1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个方向发展:一个是向着高速度、大容量、高性能的高档微机方向发展;而另一个则是向着稳定可靠、体积小、功耗低、价格低廉的单片机方向发展。
而两者之间的通讯设备也变得愈来愈重要,串行总线技术就是其中尤为重要的技术之一。
RS-232C是在异步串行通信中应用最广的总线标准,它适用于短距离或带调制解调器的通信场合。
RS-232C标准是美国EIA与BELL等公司一起开发的1969年公布的数据通信标准。
它适合于数据传输速率在0~20000b/s范围内的通信。
该标准定义了数据终端设备DTE(DataTerminal Equipment)和数据通信设备DCE( Data Communication Equipment)之间的接口信号特性。
基于单片机的RS-232C串行通信接口设计课程设计任务书课程名称专业综合课程设计院(系)专业课程设计时间: 2011 年1 月3 日至2011 年 1 月14 日课程设计的内容及要求:利用WAVE仿真器、8051单片机开发基于单片机的RS-232C串行通信系统,实现单片机与PC机的通讯,要求实现数据收发功能.具体要求如下:(1)按以上要求制定设计方案,并绘制出系统工作框图;(2)按要求设计单片机系统,给出电路原理图;(3)用仿真器及单片机系统和PC机进行程序设计与调试;(4)接受PC机发送数据,并将其会发给PC机;指导教师年月日负责教师年月日学生签字年月日目录0. 前言 (1)1. 总体方案设计 (2)2. 硬件电路的设计 (2)2.1 单片机介绍 (2)2.2 串口基本结构介绍 (3)2.3 电平转换电路设计 (4)2.4 整体电路设计 (5)3 软件设计 (6)3.1 串行通信的实现 (6)3.2 流程框图 (6)4.联合调试 (7)5. 课设小结及进一步设想 (7)参考文献 (9)附录I 元件清单 (10)附录II 整体电路图 (11)附录III 源程序清单 (12)杨毅沈阳航空航天大学自动化学院摘要:随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。
但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合PC机组成分布式系统是一个比较好的解决方案。
这样,单片机的数据通信技术就变得十分重要,在某种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。
现在单片机及PC机在结构、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。
基于C语言的RS232串口通信的设计RS232是一种常见的串行通信接口,广泛用于计算机与外部设备之间的数据传输。
RS232串口通信涉及到多个方面的设计,包括串口参数设置、数据的发送与接收等。
本文将以C语言为基础,介绍如何设计一个基于RS232串口通信的程序。
接下来,我们需要编写数据发送和接收的函数。
数据的发送包括两个步骤:打开串口和发送数据。
首先,我们需要打开串口,并设置好相应的参数。
在C语言中,可以通过打开文件的方式来打开串口设备文件。
例如,可以使用`fopen(`函数打开串口设备文件:```FILE* serial_port = fopen("/dev/ttyS0", "w");if(serial_port == NULL)printf("Failed to open the serial port.\n");return -1;```然后,我们可以使用`fprintf(`函数将数据写入串口设备文件,实现数据的发送:```fprintf(serial_port, "Hello, RS232!\n");```数据的接收与数据的发送类似,也包括两个步骤:打开串口和接收数据。
我们仍然可以使用`fopen(`函数打开串口设备文件,并设置好相应的参数。
然后,可以使用`fgets(`函数从串口设备文件中读取数据:```char buffer[1024];fgets(buffer, sizeof(buffer), serial_port);printf("Received Data: %s", buffer);```需要注意的是,当数据到达串口时,我们需要设置好超时时间,以免数据接收阻塞程序执行。
在C语言中,可以通过设置串口设备文件的文件描述符来设置超时时间。
最后,我们需要在程序中循环调用数据发送和接收的函数,实现数据的循环传输。
《CPLD/FPGA 》课程设计报告题目:RS-232串口通信设计院(系):信息科学与技术专业班级:通信工程学生姓名:学号:指导教师:2012年 11 月 1 日至2012年 11 月 6 日华中科技大学武昌分校制RS-232串口通信设计课程设计任务书一、设计(调查报告/论文)题目RS-232串口通信设计二、设计(调查报告/论文)主要内容下述设计内容需由学生个人独立完成:1.理解电路原理图与工作过程;2.掌握RS-232电气特性;3.掌握RS-232通信原理及串口通信数据格式,并编程完成串行数据的接收和显示;4.能正确处理编程与调试过程中所遇到的问题;三、原始资料1. 通信与电子系统实验指导书;2. CPLD/FPGA实验箱。
四、要求的设计(调查/论文)成果1.程序结构合理,语言简洁,格式规范,注释详细;2. 掌握RS-232的工作机制与原理;3. 格式为:1位起始位,8位数据位,1位停止位,无奇偶校验位,波特率设定为300Baud。
能与计算机正常通信;4. 按要求完成课程设计报告,格式符合学校规范标准,字数不少于2000字。
五、进程安排第 1 天理论讲解,学生对实验箱进行检测;第 2-3天软件编程;第 3 天软件调试,故障排查;第4-5 天调测,验收,评分。
六、主要参考资料[1] 陈曦.通信与电子系统实验指导书,武汉:华中科技大学武昌分校.[2] 谭会生.EDA技术及应用,西安:西安电子科技大学出版社,2010.[3] 潘松,黄继业.EDA技术与VHDL,北京:清华大学出版社,2009.指导教师(签名):20 年月日目录1. 课程设计的目的 (4)2. 课程设计题目描述和求 (4)3. 课程设计报告内容 (4)3.1 课题设计方案及基本原理 (4)3.2 软件设计 (7)3.3 调试 (14)4.总结 (15)5.参考资料 (16)附录1 FPGA顶层设计图 (17)附录2 程序清单 (18)正文1.课程设计的目的:(1)学习RS-232串口通信数据结构,并编程完成串行数据的接收和显示。
课设:基于单片机的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. 前言 01. 总体方案设计 (1)2. 硬件电路的设计 (1)2.1 单片机系统 (1)2.2 MAX232芯片 (5)2.3 整体电路设计 (6)3 软件设计 (7)4.联合调试 (7)5. 课设小结及进一步设想 (9)参考文献 (10)附录I 元件清单 (11)附录II 整体电路图 (11)附录III 源程序清单 (13)基于单片机的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针接口进行数据通信。
1.总体方案设计在本次设计中,硬件部分,对于一片89C51和PC机,采用RS232进行通信,硬件的连接方法如图1所示。
电平转换芯片采用MAX232,传输距离一般不超过15m,传输小于20kbit/s。
发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL 电平转换为RS232电平输出,经过传输线将信号传送到接收端。
为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。
软件部分,通过通信协议进行发送接收。
串行口的工作方式为8位UART,波特率可变(T1溢出率/n)。
定时器的工作方式为工作方式2。
T2INAT89C51 MAX232A 串行接口RXD R2OUT R2IN RXD图1 RS-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中的4KB ROM换成相应数量的Flash存储器,其余结构、供电电压、引脚数量及封装均相同,使用时可直接替换。
AT89C51在内部采用40条引脚的双列直插式封装,引脚排列如图2所示:图2 AT89C51芯片引脚在自动化测量和控制系统中,各台仪表之间需要不断地进行各种信息的交换和传输,这种信息的交换和传输是通过仪表的通信接口,按照一定的协议进行的。
通信接口是各台仪表之间或者是仪表与计算机之间进行信息交换和传输的联络装置。
计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。
所谓并行通信是指数据的各位同时在多根数据线上发送或接收,其特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。
串行通信是指将构成字符的每个二进制数据位,依照一定的顺序逐位进行传送的通信方式,其特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。
51单片机内部有一个可编程全双工串行通信接口。
该部件不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。
51单片机串行接口的结构如下:(1)串行数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。
SBUF包括缓存寄存器和发送寄存器,以便能以全双工方式进行通信。
此外,在接收寄存器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,这样可以避免在数据接收过程中出现帧重叠错误。
发送数据时,由于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 串行工作方式(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,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.2 MAX232芯片在电气特性上RS-232C 采用负逻辑,要求高、低两信号间有较大的幅度,标准规定为:逻辑‘1’:-5~-15V ,逻辑‘0’:+5~+15V 。
而单片机的信号电平与TTL 电平兼容,逻辑1大于+2.4V ,逻辑0为0.4V 以下。
很显然,RS-232C 信号电平与TTL 电平不匹配,为了实现两者的连接,必须进行电平转换。
MAX232C 为单一+5V 供电,内置自升压电平转换电路,一个芯片能同时完成发送转换和接收转换的双重功能。
其引脚如图3:PCOND7D6 D5 D4 D3 D2 D1 D0 位名称 SMOD- - - GF1GF 0PD IDL图3 电平转换芯片MAX232(1) C1+,C1-,C2+,C2-;外接电容端。
(2) R1IN,R2IN:两路RS-232C电平信号输入端,可接传输线。
(3) R1OUT,R2OUT:两路转换后的TTL电平输出端,可接单片机的RXD端。
(4) T1OUT,T2OUT:两路转换后的RS-232C电平信号输出端,可接传输线。
(5) T1IN,T2IN:两路TTL电平输入端,可接单片机的TXD端。
(6)Vs+,Vs-:分别经电容接电源和地。
2.3 整体电路设计最终设计电路如图4所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。