毕业设计(论文)-51与PC用232进行串口通信.doc_第1页
毕业设计(论文)-51与PC用232进行串口通信.doc_第2页
毕业设计(论文)-51与PC用232进行串口通信.doc_第3页
毕业设计(论文)-51与PC用232进行串口通信.doc_第4页
毕业设计(论文)-51与PC用232进行串口通信.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

51 与与 PC 用用 232 进行串口通信进行串口通信 目录 目录目录.I PC 机与单片机机之间串行通信的系统研究与实现机与单片机机之间串行通信的系统研究与实现.II 摘要:摘要:.II ABSTRACT:.III 第第 1 章章 引言引言 .1 1.1 课题背景.1 1.2 立题的目的和意义 .1 1.3 国内外的研究现状和发展趋势.1 第第 2 章章 系统总体设计系统总体设计 .3 2.1 系统设计思路.3 2.2 系统的组成.3 第第 3 章章 系统硬件设计系统硬件设计 .4 3.1 两种常用接口方式.4 3.1.1 并行接口.4 3.1.2 串行接口.4 3.2 RS-232 总线标准.4 3.3 RS-232C 接口电路.6 3.3.1 MAX232接口电路.7 在系统设计中使用 STC89C51 单片机作为下位机,与 PC 机进行串口通信。.8 3.4.1 89C51单片机.8 3.4.1.1 STC89C51 引脚简单介绍.9 3.4.2 单片机与PC机串行通信电路设计.9 第第 4 章章 系统软件设计系统软件设计 .11 4.1 软、硬件设计关系及界面设计.11 4.1.1设计关系.11 4.1.2界面设计.11 4.2 程序框图及流程 .12 4.3 程序设计.13 第第 5 章章 仿真调试调试及功能实现仿真调试调试及功能实现.16 5.1 软件仿真调试.16 5.1.1 Protues仿真软件简介.16 5.2.2 仿真结果分析.16 5.2.2.1 PC 界面运行结果.16 5.2 功能的实现.17 第第 6 章章 结语结语 .18 参考文献参考文献.19 致谢致谢 .20 51 与与 PC 用用 232 进行串口通信进行串口通信 摘要: 单片微型机技术正在高速发展, 51 单片机便是一种集 CPU,RAM,FLASH ROM,I/O 接 口和定时中断系统于一体的微型计算机。而串行通信技术是单片机系统开发中常用的技术之 一,串行口也是单片机常规内部集成的功能。微机与单片机串行通信作为一种基本而又灵活 方便的通信方式,被广泛应用于 PC 与 PC 或者 PC 与单片机之间的数据交换以及其他工业控 制与自动控制中。 本设计详细介绍了单片机与 PC 机通信的软硬件实现。在硬件设计中,单片机系统与 PC 机系统通过 RS-232 串行通信端口进行互连进行通信,在软件设计中,设计 PC 上的串口通信 程序,在单片机编程上编写通信程序及数据处理程序。 关键词:STC89C51 单片机,PC 机,串行通信, RS-232 Abstract: Single chip micro computer technology are developing high-speed, 51 single chip microcomputer is a collection of CPU, RAM, FLASH ROM, I/O interface and timing interrupt system, which integrates microcomputer. And serial communication technology is one of commonly used technology in the single-chip microcomputer system development, the function of the serial port and single-chip computer routine internal integration. Microcomputer and single chip microcomputer serial communication as a kind of basic and flexible and convenient way of communication, is widely used in PC with PC or of data exchange between PC and single chip microcomputer, and other industrial control and automatic control. This design detailed introduces the single-chip microcomputer and PC communication software and hardware implementation. In hardware design, single-chip microcomputer system with PC through RS - 232 serial communication port for interconnection to communicate, in software design, the design of PC serial communication program, communication program written on the microcontroller programming and data processing program. Keywords: STC89C51,PC,serial communication, RS - 232 1 第 1 章 引言 1.1 课题背景 近年来,随着科学技术的发展,PC 机以其优越的性价比和丰富的软件资源 成为计算机应用的主流机种。在工业控制中单片机得到广泛的应用,现代化集 中管理需要对现场数据进行统计、分析、制表、打印、绘图、报警等,同时,又 要求对现场装置进行实时控制,完成各种规定操作,达到集中管理的目的。由 于单片机的计算能力有限,难以进行复杂的数据处理。因此在功能比较复杂的 控制系统中,通常以 PC 机为上位机,单片机为下位机,由单片机完成数据的采 集及对装置的控制,而由上位机完成各种复杂的数据处理及对单片机的控制, 二者结合,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制, 而形成了向以网络为核心的分布式多点系统发展的趋势。 1.2 立题的目的和意义 现代信息网络技术的一个突出特点,就是使工业控制系统中的所有设备连 接成网,从而在一个核心软件管理下工作,形成一个有机的整体。这种整体网 络方式在现代工业控制系统具有传统独立控制系统所无法比拟的先进性,不仅 能极大地提高工业设备的生产效率,还可以大大提高系统的安全性和可靠性。 89C51 单片机是常用于控制的芯片,在智能仪器仪表、工业检测控制、机 电一体化等方面取得了令人瞩目的成果。在单片机的输入输出控制中,除直接 接上小键盘和 LCD 显示屏等方法外,一般都通过串口1和上位机 PC 进行通信。 这样不仅能够实现远程控制,而且能够利用 PC 机强大的数据处理功能以及友好 的控制界面。在一般的利用 PC 机对单片机进行控制的场合,都是采用 Windows 作为上位机的平台,其优点是界面友好,编程和操作都比较容易。因此研究 PC 机与单片机串行通信具有重要的现实及工业意义。 1.3 国内外的研究现状和发展趋势 目前 RS-232 是 PC 与通信工业中应用最广泛的一种串行接口2,其中 EIA 代表美国电子工业协会,RS 代表推荐标准,232 是标识号。RS-232 被定义为一 种在低速率串行通信中增加通信距离的单端标准。RS-232 采取不平衡传输方式, 即单端通信。单片机之间的串口通信,当传输距离在 1.5-15 米之间时,可以采 用 RS-232 通讯协议进行数据传输,基于 RS-232 电气特性的限制,只能实现一 点对一点通信。 第 2 章 系统总体设计 2.1 系统设计思路 本设计为一个 51 单片机3与 PC 串口间通讯系统,实现单片机与 PC 机之间 的远程通信。设计分发送和接收两大模块,发送部分通过硬件电路的引用。其 中包括 RS-232 接口电路、MAX232 接口电路,引用相应的管脚相连,并将相应 的软件程序转入电路中,即可运行。当电路是相对独立时,可直接调速电路参 数值,其影响和干扰就小。在满足发射和接收模块的要求后可单独对控制进行 调整,程序的编入,接收部分相应的结果即以实现,因此实现了 PC 机对远端单 片机的控制。 2.2 系统的组成 为实现该系统的生成,主要包含两大模块,即单片机模块和通信模块。 1、单片机模块 单片机模块中主要包括单片机、复位电路、晶振电路、上拉电阻和端口扩 展等。端口扩展部分可以通过跳线将单片机的 I/O 口在系统板上的功能释放, 并将其连接到扩展上。 2、通信模块 通信模块中采用 MAX232 作为通信电平转换电路,实现 RS-232 的数据传输, 可以直接与 PC 进行通信。 第 3 章 系统硬件设计 在实现单片机与 PC 机之间通信或单片机与单片机之间远程距离通信时通常 采用标准串行总线通讯接口。比如 RS-232C、RS-422、RS485 等。在这些串行总 线接口标准中,是在异步串行通信中应用最广的标准总线,它实用于短距离或 带调制解调器的通信场合。下面以 RS-232 标准串行总线接口为例,简单介绍单 片机与 PC 机之间串行通信的硬件实现过程。 3.1 两种常用接口方式 3.1.1 并行接口 并行接口4是指 8 位数据同时通过并行线进行传送,这样数据的传输率能 得到极大的提高。但在并行传输中,干扰会随线路长度的增加而增加,产生传 输错误。因此,并行传输主要应用在近距离数据传输中,如连接打印机端口。 并行接口主要使用 36 针接头和 25 针 D 形接头,目前以 25 针 D 形接头为主。 3.1.2 串行接口 串行口也是计算机的一种标准接口,PC 机一般至少有两个串行口 Com1 和 Com2。串行口不同于并行口,它的数据和控制信息是一位接一位在一根传 输线上传送的,这样串行口较并行口能够进行远距离传送信息。串行口通常使 用 9 针 D 形连接器,有些老式则使用 25 针 D 形连接器。 由于 CPU 与接口间按并行方式传输,接口与外设之间按串行方式传输,因 此,在串行接口中,要由接收移位寄存器把串行方式转换成并行方式,由发送 移位寄存器把并行方式转换成串行方式。完成这种转换功能的电路叫做通用异 步收发机 UART。 3.2 RS-232 总线标准 目前 RS-232 是 PC 机与通信工业中应用最广泛的一种串行接口5。RS-232 被定义为一种在低速率串行通信中增加通信距离的单端标准6。 RS-232 采用不平衡传输方式,收发端的数据信号是相对信号地。RS-232C 总线标准定义了 25 个引脚的连接器,各引脚的定义如表 3.1 所示。 引脚定义(助记符)引脚定义(助记符) 1 保护地(PG) 13 辅助通道允许发送(SCTS) 2 发送数据(TXD) 14 辅助通道发送数据(STXD) 3 接收数据(RXD) 15 发送时钟(TXC) 4 请求发送(RTS) 16 辅助通道接收数据(SRXD) 5 清除发送(CTS) 17 接受时钟(RXC) 6 数据准备好(DSR) 18- 7 信号地(GND) 19 辅助通道请求发送(SRTS) 8 接收线路信号检测(DCD) 20 数据终端准备就绪(DTR) 9-21 信号质量检测 10-22 音响指示(RI) 11-23 数据信号速率选择 12 辅助通道接收信号检测(SDCD) 24 发送时钟(TXC) 表 3.1 RS-232 信号引脚定义 表 3.1 中定义的许多信号线是为通信业务联系或控制而设置的,在计算机 串口通信中主要是用以下一些信号。 数据传输信号:发送数据(TXD) ,接收数据(RXD) 调制解调器控制信号:请求发送(RTS) ,清除发送(CTS) 地线:保护地(PG) ,信号地(GND) 典型的 RS-232 信号在正负电平之间摆动,在发送数据时,发送端驱动器输 出正电平在 5V15V,负电平在-5V-15V;在接收数据时,接收器的典型工作 电平是 3V12V 和-3V-12V。 串口传输数据只要有接收数据针脚和发送数据针脚就能实现,其连接方式 如表 3.2 所示。 9 针9 针25 针25 针9 针25 针 233222 322333 557757 表 3.2 串口通信连接方式 3.3 RS-232C 接口电路 当 51 单片机与 PC 机通过 RS-232 标准总线串行通信时7,由于 RS-232 信 号电平与 51 单片机信号电平不一致,因此,必须进行信号电平转换。其常用的 方法有两种,一种是采用运算放大器、晶体管、光电隔离器等器件组成的电路 来实现,另一种是采用专门集成芯片来实现。下面以 MAX232 专门集成芯片为例 来介绍接口电路的实现。如图 3.1 图 3.1 RS232 接口电路图 (b)典型电路 (a)引脚图 3.3.1 MAX232 接口电路 MAX232 芯片是 MAXIM 公司生产的具有两路接收器和驱动器的 IC 芯片,其 内部有一个电源电压变换器,可以将输入+5V 的电压变换成 RS-232C 输出电平 所需的+/-12V 的电压。在其内部同时也完成 TTL 信号电平和 RS-232 信号电平 的转换。所以,采用此芯片实现接口电路只需单一的+5V 电源就可以。 MAX232 芯片的引脚结构如图 2.2 所示。其中管脚 1-6(C1+,V+,C1-,C2+,C2- ,V-)用于电源电压转换,只要在其内部接入相应电解电容即可:管脚 7-10 和管 脚 11-14.构成两组 TTL 信号电平与 RS-232 信号电平的转换电路,对应管脚可 直接与单片机串行口的 TTL 电平引脚和 PC 机的 RS-232 电平引脚相连。具体连 接可参看图 3.2。 图 3.2 MAX232 引脚图 3.4 STC89C51 单片机与单片机与 PC 机串行通信电路机串行通信电路 在系统设计中使用 STC89C51 单片机作为下位机,与 PC 机进行串口通信。 3.4.1 89C51 单片机 MCS-51 系列单片机主要包括基本型产品 8031/8051/8751(对应的低功耗型 80C31/80C51/87C51 和增强型产品 8032/8052/8752。虽然他们是 8 位的单片机, 但是具有品种全、兼容性强性能价格比高等特点且软硬件应用设计资料丰富齐 全,已为我国广大工程技术人员所熟悉和掌握8。在 20 世纪 80 年代和 90 年代, MCS-51 系列单片机是在我国应用最为广泛的单片机机型之一。 本次设计的主控电路为 51/52 系列单片机(如图 3.3) ,该芯片内部包含 1 个 8 位 CPU,1 个片内振荡器及时钟电路,4KB ROM 程序存储器,128B RAM 数据 存储器,可寻址 64KB 外部数据存储器和 64KB 外部程序存储器的控制电路,32 条可编程的 I/O 线(4 个 8 位并行 I/O 接口) ,两个 16 位的定时/计数器,一个 可编程全双工串行接口,还有 5 个中断源和两个优先级嵌套中断结构,丰富的 硬件资源保证了该芯片在复杂系统中的应用。 图 3.3 STC89C51 芯片实物图 此外,STC89C51 设计和配置了振荡频率,并可通过软件设置省电模式。空 闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工 作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激 活或硬件复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等三种封装形式。 AT89S51 单片机综合了微型处理器的基本功能9。按照实际需要,同时也考虑 到设计成本与整个系统的精巧性,所以在本系统中就选用价格较低、工作稳定 的 AT89C51 单片机作为整个系统的控制器。 3.4.1.1 STC89C51 引脚简单介绍 STC89C51 芯片共有 40 个引脚,按其功能可分为如下 3 类: 序号名称说明 1 电源VCC、GND 2 时钟引脚XTAL1、XTAL2 3 控制引脚PSEN、ALE/PROG、EA/VPP、RST 4 I/O 口引脚P0、P1、P2、P3,均为 4 个 8 位 I/O 口的外部引脚 表 3.3 设计要求及目的 3.4.2 单片机与 PC 机串行通信电路设计 图 3.4 是由芯片 MAX232 实现 51 单片机与 PC 机串行通信的典型接线图。图 中外接电解电容 C1,C2,C3,C4 用于电源电压变换,提高抗干扰能力,它们可以 取相同数值电容 1.0uF/16V.其值一般为 0.1UF. 选择任一组电平转换电路实行串行通信,如图中选 Tlin, Rlout 分别与 51 单片机的 TXD,RXD 相连,Tlout ,Rlin 分别与 PC 机中 RS232 接口的 RSD , TSD 相连,这种发送与接收的对应关系不能连错,则不能正常工作。 图 3-3 用 MAX232 实现串行通信接口电路图 第 4 章 系统软件设计 鉴于单片机技术比较成熟,且开发过程中可以利用的资源和工具丰富、价 格便宜、成本低。故设计用 C 语言对其编程并烧录到芯片内部,C 语言表达和 运算能力比较强,且具有很好的可移植性和硬件控制能力,程序可分为发射部 分和接收部分。 在 51 系列单片机中,波特率由定时/计数器 T1 自动产生10,但在使用前。 需对 T1 进行一些设置,才能得自己想要的波特率。我们通常在有串行通信的系 统中选用 11.0592MHz 的晶振,为了使用方便采用 19200Kbps 的波特率,所以 T1 的初值应设置为 0Xfd。 4.1 软、硬件设计关系及界面设计 4.1.1 设计关系 为了满足设计的功能和指标的要求,我们必须在开始设计时就应考虑到硬 件和软件的协调;不然就是造成硬件资源的浪费,就是增加软件实现时的困难 和复杂程度,甚至造成信号的断层,即使硬件和软件能单独使用,却不能使它 们组成的系统工作,故在设计的过程中必须考虑软、硬件的处理能力以及它们 的接口是否兼容,实现软、硬件的过渡,其次、设计时硬件之间应尽可能减小 联系,只要把必要的信号线相连即可。由于硬件的分离,在软件的调试时就可 以单独针对控制模块。 4.1.2 界面设计 窗体主要完成如下功能:对整个程序初始化、串行端口设置、输入发送数 据、对各个按钮响应、显示当前通信端口及端口信息, 。 在窗体中添加需要的控件,调整控件的大小及在窗体中的位置,得到如图 5-3 所示的窗体界面,其控件属性及功能如表 5-1 所示。 图 4.1 PC 界面上设计 4.2 程序框图及流程 单片机与 PC 机串口通信应用界面程序流程图如图 4.1 所示。 应答 超时 开始 发送数据准备 数据完整性验证 设置、打开串行端口 应答? 发送通信请求 发送数据个数和数据 通信结束关闭端口 图 4.2 软件设计流程图 4.3 程序设计 假设 PC 机先向单片机一组指令“55H、AAH、01H”当单片机接收到 PC 发 来的数据,并判断命令为“01H”时,启动定时发送程序,即每隔 2S 向 PC 发送 15 个字节的数据。具体程序如下: #include #define uchar unsigned char uchar Txdnum15=0,1,2,3,4,5,6,7,8,9,0 xa0,0 xa1,0 xa2,0 xa3,0 xa4 uchar timercount, Rxdcount, Numcount; bit Txdflag; Void serial_Txd (uchar *p) uchar i; for(i=0;i15;i+) SBUF=*p+; While(!TI); TI=0; Void serial_Int() interrupt 4 uchar temp; ES=0; If(RI) Temp=SBUF; RI=0; If(temp=0 x55) while (!RI); temp=SBUF; RI=0; if(temp=0 xaa) while (!RI); temp=SBUF; RI=0; if(temp=0 x01) P2 =temp; TR0=1; else Es=1; else Es=1; Void T0_Interrupt() interrupt 1 TL0=0 x00; TH0=0 xdc; if (-timercount=0) Timercount=200; Txdflag=1; Void main() Txdflag=0; Rxdcount=0; Numcount=0; Timercount=100; TMOD=0 x21; TL0=0 x00; TH0=0 xdc; TL1=0 xfd; TH1=0 xfd; SCON=0X50; TR1=1; ET0=1; ES=1; EA=1; while(1) if(Txdflag=1) Txdflag=0; Serial_Txd(Txdnum); 第 5 章 仿真调试调试及功能实现 5.1 软件仿真调试 5.1.1 Protues 仿真软件简介 Protues 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。 它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件,是目 前最好的仿真单片机及外围器件的工具。Proteus 是世界上著名的 EDA 工具, 从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计, 真正实现了从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等。 在编译方面,它也支持 IAR、Keil 和 MPLAB 等多种编译器。 5.2.2 仿真结果分析 5.2.2.1 PC 界面运行结果 点击“Start”按钮,出现设计的 PC 机串行通行界面,在“发送数据”文 本框中输入要发送的数字字符串(字符串长度不超过 16) ,点击“发送”按钮, 出现如图 6-1 所示的运行结果。 图 6-1 PC 机通信程序运行结果 点击“退出”按钮时,退出应用程序。有此可知 PC 机通行程序基本可以 工作。 5.2 功能的实现 设计最终实现了最初的设计要求,将单片机与 PC 相连,同时运行程序,当 PC 向单片机传送数据后,如果数据相符,则开始每隔 2S 向 PC 传送数据,在 PC 上观察到以下结果。 00 01 02 03 04 05 06 07 08 09 A0 A1 A2 A3 A4 00 01 02 03 04 05 06 07 08 09 A0 A1 A2 A3 A4 00 01 02 03 04 05 06 07 08 09 A0 A1 A2 A3 A4 00 01 02 03 04 05 06 07 08 09 A0 A1 A2 A3 A4 第 6 章 结语 本文主要详述了 STC89C51 单片机与 PC 机的串行通信实现的设计方法和 内容,STC89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM Flash Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS 8 位微处理器。该器件采用 STC 高密度非易失存储器制造技术制造,与工业标 准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器 组合在单个芯片中,STC89C51 是一种高效微控制器,所以它的使用前景会是 相当广泛与受欢迎。因此我们有必要来学习它与 PC 机的通信。 主要论述内容总结如下: 1. 介绍了单片机的在现实生活中的使用情况与应用环境领域,市场前景与 未来应用,并对总体设计做了概括性的描述。 2. 详述了单片机的发展概况、特点、应用,各个部件的原理,串行口的通 信方式,数码显示管的工作原理,使各个部件都能被读者所了解,从而方便人 们来认识 STC89C51 与 PC 机串行通信的原理。 3. 介绍了软件设计,流程,通信协议,初始化,波特率计算等软件上的准 备与设计,从而为整个设计的汇编阶段做好准备。最后采用运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论