ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:501.18KB ,
资源ID:4448114      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4448114.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PC机与单片机串口通信.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PC机与单片机串口通信.docx

1、PC机与单片机串口通信单片机课程设计报告项目名称:PC机与单片机串行通信项目组成员:(1)姓名: (2)姓名: (3)姓名: 专业班级:日 期: 2011年12月8日 目 录第一章 绪论 -21.1 课题简介 21.2 设计目的 21.3 设计任务 21.4 设计方法 3第二章 设计内容与所用器件 3第三章 方案论证与比较-4 第四章 硬件系统设计-84.1 单片机 84.2连接器RS232 84.3 电平转换MAX232 84.4 PC机 84.5、单片机时钟电路 94.6、单片机复位电路 10第五章 软件设计 115.1单片机通讯软件 115.2发送和接收过程设计 11 5.3程序代码-1

2、2总 结 14 第一章 绪论1.1 课题简介单片机与PC机间的通信,特别是PC机与多台单片机构成小型分布系统实现分级分布式控制得到了广泛的应用。单片机由于性价比高、使用灵活等优点而广泛应用于各种电子系统、自动控制系统, 但是存储容量小, 处理的数据量不大。为了克服这一缺点, 可以将单片机连接到PC 机上, 由单片机采集数据, 然后将数据汇总到PC 机, 再进行各种数据处理。本课题实现的是PC机与单片机的串行通信。1.2 设计目的掌握串行口工作方式的程序设计,掌握单片机串行通信程序的编写方法;了解实现串行通信的硬件环境、数据格式、数据交换协议;了解PC机与单片机串行通信的基本要求,最终实现PC机

3、与单片机的数据交换。1.3 设计任务在本次课程设计中,主要完成如下方面的设计任务:1、简要阐述PC机与单片机串行通信的基本原理;2、了解PC机与单片机的数据转换功能及其工作过程;3、完成主要功能模块的硬件电路设计及必要的参数确定;4、完成发送程序与接收程序的设计;5、用protel软件完成原理电路图的绘制;1.4 设计方法PC机和单片机在进行通信时, 首先分别对各自的串行口进行初始化、确定串行口工作方式、设定波特率、传输数据长度等, 然后才开始数据传输, 这些工作是由软件来完成的, 因此对PC 机和单片机均需设计相应的通信软件。 第二章 设计内容与所用器件2.1基本功能:实现PC机与单片机的串

4、行通信。2.2可选器件:8051单片机、PC机、连接器RS-232、电平转换MAX2322.3串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。 2.4串口的结构第三章 方案论证与比较硬件部分的设计方案论证与选择现论述几种实现PC 机和单片机串行通信的硬件接口设计, 其中包括RS232 标准接口、RS 422 标准接口、20 mA电流环路串行接口以及利用调制解调器实现远程通信。1接口电路的设计1. 1近程通信目前, PC 机是利用异步通讯控制器来实现串行通讯的, 其核心是8

5、250 通讯芯片加上一些收发逻辑电路。接口标准大多是RS232 标准, 其通讯距离小于15 m, 传输速率小于20 kb/ s。RS232 标准是按负逻辑定义的, 他的“1”电平在- 5- 15 V 之间, “0”电平在+ 5+ 15 V 之间。由于PC 机使用的是TT L 电平信号, 因此数据输出时必须把T TL 电平信号转换成RS232标准电平; 数据接收时把RS232 标准信号转换成T TL电平信号。实现这种功能的常用芯片是传送线驱动器MC1488 和接收器MC1489, 其作用除了电平转换外, 还实现正负逻辑电平转换。如图1 和图2 所示。PC 机的串行口适用25 针D 型插座, 其中

6、RTS( 请求发送, 输出) 和CT S ( 清除发送, 输入) , DSR( 数据准备好, 输入) 和DT R ( 数据终端准备好, 输出) , 分别连在一起, 这是因为PC 机的BIOS 中的INT14H ( 串行通讯程序) 在接收和发送数据时均要判断CTS 和DSR 是否有效。8098 与RS232 标准接口电路图如图3所示。2. 2远程通信( 1) RS422 标准接口虽然RS232 应用很广, 但由于数据传输速率慢, 通讯距离短, 特别是在100 m 以上的远程通讯中难以让人满意, 因此通常采用RS422, RS449, RS423 及RS485等接口标准来实现远程通讯。这里以RS4

7、22 为例。RS422 接口标准通过提供平衡电路来改进接口电气特性, 通过传输线驱动器将逻辑电平变为电位差, 实现信息传送。通过传输线接收器将电位差变为逻辑电平, 实现信息接收。因而可以支持较高的传输速率和较长的传输距离, 在最大传输率10 Mb/ s 的情况下,电缆允许长度为120 m; 如果采用低传输率, 如90 kb/ s时, 最大距离可达1 200 m。RS422 每个通道用两条信号线, 一条为逻辑“1”,一条为逻辑“0”。RS422A 电路由发送器, 接收器, 平衡连接电缆, 电缆终端负载, 接收器等部分组成, 通常采用点对点通信方式。该标准允许驱动器输出为目前RS422A 与TTL

8、的电平转换常用芯片是驱动器SN75174 和接收器SN75175。该标准允许驱动器输出为26 V, 接收器可以检测到的输入信息电平可低到200 mA。采用光隔离的RS422 标准来实现8098 与PC 机的远程通信的通讯接口电路如图4所示。( 2) 20 mA 电流环路串行接口20 mA 电流环是目前远程通讯广泛使用的另一种接口。其原理如图5 所示, 发送正和负, 接受正或负4 根线组成一个输入回路和一个输出回路。由于20 mA电流环是一种异步串行接口标准, 所以每次发送数据时必须以无电流的起始作为字符的起始位, 接收端检测到起始位便开始接收数据。电流环路串行接口的优点是低阻抗传输线对电气噪声

9、不敏感, 以实现光电隔离, 有利于长距离传输。图6为一个带光电隔离的20 mA 电流环接口线路图。发送端将T TL 电平转为环路电流信号, 在接收端又转换成T TL 电平。( 3) Modem 实现远程通信尽管RS232 总线标准无法实现远程数字通讯, 但由于电话网络的普及, 利用Modem 和现有电话线实现PC 机和单片机的远程双向通讯也是工业控制系统中广泛采用的一种方法。基本原理框图如图7 所示。通常外置式Modem 具有RS232 接口, 通过DB9 插头可与计算机RS232 口相连接。如果单片机串行口直接与Modem 接口, 由于没有握手信号, 只能保证单个字节传输的正确, 对大量数据

10、的传输将导致数据丢失, 这点可通过软件处理来避免; 如果采用单片机的I/ O 口与Modem 握手, 将占用单片机I/ O口资源。因此一般采用前一种方法实现对Mo dem接口。本文仅以Modem 芯片MSM7512B 为例, 阐述一下接口电路的设计。由于PC 机与Modem 芯片的接口已非常普及, 现仅将8098 和MSM7512B 的接口电路画出。如图8 所示。MSM7512B 主要由调制器、解调器、接口控制逻辑组成。AI 是解调器的输入端; AO 是调制器输出端。通过控制MOD1, MOD2 可使MSM7512B 工作在4种不同的工作方式。在工作时, 计算机首先检测CD端。若为高电平, 表

11、明Modem 处于等待与上位机通信状态; 若其为低电平, 则标明Modem 已和上位机建立数据通道。而要想使Modem 发送数据, 应置RS脚为低电平。单片机发送和接收数据就是对串行通信口写和读,可采用中断或查询方式工作。2结语上述是工业控制系统中比较实用的串行通信接口电路设计, 在具体的控制系统中可根据要求编制相应的软件程序来实现近程或远程的PC 机与单片机串行通信。先级高的预留抢占优先级低的预留资源, 同时设置一个时间阀值T , 该阀值用于使级别低的预留得到资源,当网络处于阻塞状态时, 级别低的预留可能永远得不到预留资源, 当该级别预留请求时间大于T 时, 他就会抢占比他级别高已预留的资源

12、。第四章 硬件系统设计目前, 计算机控制系统已逐步从单机控制发展成为多机控制并出现了以计算机技术为核心, 与数据通讯技术相结合的集检测、控制和管理为一体的计算机网络, 即集中分布式测控系统。其中单片机作为从机,负责现场控制和实时数据的采集; PC 机作为主机, 负责对各从机发来的数据进行分析、处理, 并向各从机发布命令, 以实现对工业现场的集中监控与管理。由于主从机需不断进行信息交流, 因此通信成为分布式测控系统重要而基本的功能。1基本原理PC 机与单片机之间通常采用2 种通信方式: 并行通信和串行通信。并行通信是指将待发送数据的各位同时传送, 串行通信则将数据一位一位地按顺序传送。并行通信虽

13、然传输效率高, 由于所需硬件设备复杂, 不适于长距离通信, 所以一般只适用于要求实时性强, 传送速率较高的控制系统中, 实用面较窄; 相比之下, 串行通信简单易实现, 传输距离较长, 所以已被广泛应用于各种工控系统中。同步通信是指通过在每个数据块开始时的同步字符来实现收/ 发双方同步的一种数据传输方法, 常用于信息量大, 速度要求高的场合;异步通信则规定了标准的字符数据传输格式, 即每一帧信息由起始位、数据位、奇偶校验位和停止位组成。由于有冗余位, 所以传送效率不高, 常用于信息量不大, 速度较低的场合。在计算机测控系统中, 由于串行接口的标准化, 一般采用异步串行通信方式, 以提高其通用性。

14、由于各种接口的机械和电器特性有所差异, 串行通信分为近程通信和远程通信。2 连接器RS-232CRS-232C是用正负电压来表示逻辑状态,与TTL与高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL期间连接,必须在RS-232C与TTL电路之间进行点评与逻辑关系的变换。 RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。(1)电气特性 EIA-RS-232C 对电器特性、逻辑电平和各种信号线功能都作了规定。 在TxD和RxD上: 逻辑1(MARK)=-3V-15V 逻辑0(SPACE)=+3+15V 在RTS、CTS、DSR、DTR和DCD等控制线上

15、: 信号有效(接通,ON状态,正电压)=+3V+15V 信号无效(断开,OFF状态,负电压)=-3V-15V(2)机械特性由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。 1.DB-25: PC和XT机采用DB-25型连接器。DB-25连接器定义了25根信号线。 2.DB-9: 在AT机及以后,不支持20mA电流环接口,使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。(3)接口信号 RS-232C 的功能特性定义了25芯标准连接器中的20根信号

16、线,其中2条地线、4条数据线、 11条控制线、3条定时信号线,剩下的5根线作备用或未定义。(4)RS-232的接线在工程当中经常会用到232口,一般是圆头8针与D型9针两种串口。 3 电平转换器MAX232: MAX232的主要特点1、符合所有的RS-232C技术标准 2、只需要单一 +5V电源供电 3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- 4、功耗低,典型供电电流5mA 5、内部集成2个RS-232C驱动器 6、内部集成两个RS-232C接收器 7、高集成度,片外最低只需4个电容即可工作。 4 单片机时钟电路时钟电路用于产生单片机工作所需要的时钟信号

17、,单片机本身就是一个复杂的同步时序电路, 为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。 在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。 此电路采用12MHz的石英晶体。时钟电路如下图2-2: 图2.2时钟电路5 单片机的复位电路 复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重

18、新启动。 RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,若使用频率为12MHz的晶振,则复位信号持续时间应超过4s才能完成复位操作。复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。在本设计中采用了按键电平复位方式,其复位电路如下图2-3。 图2-3、复位电路第五章 软件设计将PC机键盘的输入发送给单片机,单片机收到发来的数据后,回送统一数据给PC机,并在屏幕上显示出来。只要屏幕上的字符与所键入的字符相同,说明两者之间可以正常

19、通讯。双方约定:波特率为2400bit/s,通信格式为8个数据,一个停止位,无奇偶校验位。5.1 单片机通讯软件。单片机通过中断方式接收PC机发送的数据,并送回。根据信息格式,可以设定单片机的串行口工作方式1,。再传下那个口方式1中,波特率是有定时器T1产生的。如晶振为6MHZ,波特率为2400bit/s,这时T1工作方式2经计算,他 的初始值应为F3H,SMOD=1.程序流程框图5.2 发送和接收过程设计串行口的发送过程由指令MOV SBUF,A启动,即CPU由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF中;再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高

20、电平)及其它控制位(奇偶位);然后在移位脉冲的控制下,低位在前,高位在后,从TXD端(方式0除外)一位位地向外发送。串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉起始位,使接收中断标志位RI置“1”,并向CPU申请中断。CPU响应中断,用一条指令MOV A,SBUF把接收缓冲器SBUF的内容读入累加器A。5.3 程序代码 ORG 0000H LJMP MAIN ;主程序入口 ORG 0023H LJMP INTS ;串行口中断入口 ORG 0100H MAIN:

21、PUSH A MOV TMOD,#20H ;初始设置定时器1为方式2 MOV TH1,#0F4H ;波特率2400bit/s MOV TL1,#0F4H SETB TR1 ;启动定时器1 MOV SCON,#50H ;串行口工作在方式1,允许接收 MOV PCON,#80H ;SMOD=1 SETB EA ;开CPU中断 SETB ES ;开串口中断LOOP: SJMP LOOP ;等待数据接收 INTS: CLR EA ;禁止中断 CLR RI ;清除中断标志PI MOV A,SBUF ;从SBUF取接收到的数据 MOV SBUF,A ;回送WAIT: JNB TI,WAIT ;判断回送是否

22、完成 CLR TI ;清除TI标志 POP ACC ;发送完恢复现场 SETB EA ;恢复中断,准备重新接收数据 RET初步构想程序 ORG 0000H AJMP START ORG 0030H START: MOV R1,#00H ;给R1赋值 MOV TMOD,#20H ;设定定时器工作模式 方式2 MOV TL1,#0FAH ;赋初值 MOV TH1,#0FAH SETB TR1 ;开定时器T1 MOV SCON,#50H ;串口初始化设定 方式1 MOV R0,#0A0H SETB ES ;开串口中断 SETB EA ;开所有中断 LOOP: JNB RI,$ ;等待数据传送 CLR

23、 RI ;RI清零 MOV A,SBUF ;数据接收 MOV R0,A ;将接收到的数据送R0 MOV P1,A INC R0 INC R1 CJNE R1,#5H,LOOP ;判断数据是否接收完 MOV R1,#00H MOV R0,#0A0H LOOP1: MOV A,R0 MOV R1,A INC R0 MOV SBUF,A ;数据回送 JNB TI,$ ;判断数据是否送完 CLR TI INC R1 CJNE R1,#05H,LOOP1 MOV R0,#0A0H MOV R1,#00H AJMP LOOP总 结这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到

24、过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,学习了单片机汇编语言。经过这几周的努力,终于顺利的完成了单片机课程设计。这是一个提高自学能力,理论联系实际的过程。从课题的选择开始,硬件和软件系统的设计、到最后的实验报告的完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过单片机等一

25、些功能的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我们坚持合作的精神,使我们都受益匪浅。通过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我们感觉到团队合作的重要性。其实仅凭自己的一己之力是什么都干不成的,所有的一切都在乎于合作。这次课题设计让我们对如何有效和快速的找到资料有了新的认识。网络是个好得媒介,通过网络可以得到很多有用的东西,在其中,我们也是受益匪浅,利用好图书馆和网络,使资源得到最好的利用。与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。课设是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。这里我要感谢老师,没有老师的细致讲解和耐心的检查,也就没有我们的提高,非常感谢!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1