毕业设计(论文)单片机串行协议通信设计

上传人:无*** 文档编号:78189656 上传时间:2022-04-21 格式:DOC 页数:36 大小:312.51KB
收藏 版权申诉 举报 下载
毕业设计(论文)单片机串行协议通信设计_第1页
第1页 / 共36页
毕业设计(论文)单片机串行协议通信设计_第2页
第2页 / 共36页
毕业设计(论文)单片机串行协议通信设计_第3页
第3页 / 共36页
资源描述:

《毕业设计(论文)单片机串行协议通信设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)单片机串行协议通信设计(36页珍藏版)》请在装配图网上搜索。

1、目 录摘要IAbstractII前言III第1章 绪论11.1 课题背景11.2 目的和意义11.3 系统设计思想1第2章 单片机概述32.1 单片机的发展历史32.2 单片机的特点32.3 单片机的应用42.4 AT89C51单片机简介52.5 本章小结9第3章 单片机的串行接口103.1 基本概念103.2 MCS-51的串行和控制寄存器103.2.1 串行口和控制寄存器103.2.2 串行口工作方式123.3 本章小结12第4章 串行通讯技术及硬件基本组成134.1 硬件的基本组成134.2 串行通信原理134.3 双机通信连接方法134.4 本章小结14第5章 软件的设计和调整过程15

2、5.1 程序流程图155.2 通信协议155.2.1 串行口控制寄存器SCON的设置155.2.2 定时器的初始化设置155.2.3 波特率计算165.3 程序演示175.4 本章小结17结论18致谢19参考文献20附录A21附录B25附录C26附录D27附录E29附录F31附录G32哈尔滨理工大学远东学院学士学位论文单片机串行通信协议设计摘 要本文介绍了89C51单片机的发展历史和简单介绍,并展望了它们的前景。着重介绍了单片机串行接口技术,指出了它们的重要性并阐述了其实现原理。根据串行通讯原理结合RS232串口设计了串行通讯协议,利用汇编语言为基础,编写了一个基于RS232串口的通信程序,实

3、现了单片机-PC机的双机通讯。在硬件上测试完好,测试表明,在基于设计的通信协议上的单片机-PC机的通讯状况良好。首先分析数据通信协议数据包的一般格式,然后采用有限状态机的算法实现单片机与上位机之间的串行通信协议,包含上下位机的数据发送接受和协议的解析实现,并给出具体的实现方法。关键词 89C51单片机;串行通讯原理;RS232串口;串行通讯协议;51单片机串口通信协议上位机下位机Monolithic integrated circuits design communication protocol for serialAbstractThis article describes the dev

4、elopment and give a brief history of the 89C51 microcontroller and look forward to their future.Focused on single-chip serial interface technology, pointed out the importance of them and described the principles of its realization. Serial communication in accordance with the principle of combining t

5、he design of a serial RS232 serial Communication protocol, Based on the use of assembly language, the preparation of a RS232 serial communication based on the procedure, to achieve a single-chip dual-PC machine communication. Well-tested in hardware, testing showed that the single-chip-PC communicat

6、ions machine based on the design of communication protocols in good condition. Firstly analyzes the data communication protocol, and the general form packet finite-state machine algorithm between SCM and PC, including serial communication protocol and send and receive data bits of the agreement, and

7、 the analytical method was given.Key words 89C51 microcontroller principle of serial communication RS232 serial port serial communication protocol 51 SCM serial communication protocol PC machine前 言在工业监测及自动控制系统种,串行通信是微机与单片机之间进行数据交换的主要方式。而在现代社会中,短距离的双机通信,最常用的就是串口通信。目前存在的一些通信协议(如RS-232,RS-484等),仅对通信线路的

8、电气特性进行了约定,并没有涉及通信内容的格式,类型等信息。针对这一现象,我对于RS-232接口设计了比较规范的串行通信协议,实现了上位单片机与下位计算机的串行通信。通过实验室测试表明该串行通信协议是可靠可行的。本文着重介绍了单片机串行接口技术,指出了它们的重要性并阐述了其实现原理。根据串行通讯原理结合RS232串口设计了串行通讯协议,利用汇编语言为基础,编写了一个基于RS232串口的通信程序,实现了单片机-PC机的双机通讯。在硬件上测试完好,测试表明,在基于设计的通信协议上的单片机-PC机的通讯状况良好。首先分析数据通信协议数据包的一般格式,然后采用有限状态机的算法实现单片机与上位机之间的串行

9、通信协议,包含上下位机的数据发送接受和协议的解析实现,并给出具体的实现方法。在当今信息社会,通信的重要性无庸质疑。它使我们的工作效率大大提高。而串行通信作为一种基本的通信方式,现今也在各个领域被广泛应用。本课题研究串行通信系统,也是为了应用于远程控制系统。而要实现远程控制,通信是必不可少的,通信的速率与正确性直接影响到整个系统的性能。因此,在整个远程控制系统实现的过程中,对串行通信的研究具有非常重要的意义。本课题将研究一台PC机与一台单片机之间的通信。着重研究当今流行的串行通信协议和串行通信电路的设计和纠检错算法的实现。先介绍串行通信的基本知识和单片机串行接口的工作方式。再根据本控制系统的要求

10、,对RS-232通信协议和CRC循环冗余码纠检错算法做深入的研究。最后结合硬件设计部分,通过C51编程来实现空调远程控制系统的通信传输。III第1章 绪论1.1 课题背景在当今信息社会,通信的重要性无庸质疑。它使我们的工作效率大大提高。而串行通信作为一种基本的通信方式,现今也在各个领域被广泛应用。本课题研究串行通信系统,也是为了应用于远程控制系统。而要实现远程控制,通信是必不可少的,通信的速率与正确性直接影响到整个系统的性能。因此,在整个远程控制系统实现的过程中,对串行通信的研究具有非常重要的意义。本课题将研究一台PC机与一台单片机之间的通信。着重研究当今流行的串行通信协议和串行通信电路的设计

11、和纠检错算法的实现。先介绍串行通信的基本知识和单片机串行接口的工作方式。再根据本控制系统的要求,对RS-232通信协议和CRC循环冗余码纠检错算法做深入的研究。最后结合硬件设计部分,通过C51编程来实现空调远程控制系统的通信传输。1.2 目的和意义在工业控制及测量领域较为常见的PC机与单片机组成的多机串行通信系统,一般以单片机为从节点(又称下位机),负责现场控制和实时数据采集;PC机为主节点(又称上位机),负责对各从节点发来的数据进行分析、处理,并向各从节点发布命令,以实现对工业现场的集中监控与管理。由于主从节点间需不断进行信息交流,因此通信成为系统重要而基本的功能,一般以总线方式连接,采用R

12、S-485/RS-422标准进行数据通信,这种系统结构可以十分方便地将许多设备组成一个控制网络。在通信过程中,PC机可以向单片机发送数据,单片机也可以向PC机发送数据。随着计算机技术尤其是单片机微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制PC机具有强大的监控和管理功能,而单片机则具有快速灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。因此如何实现PC机与单片机之间的通讯具有非常重要的现实意义。1.3 系统设计思想设计分为两个部分,硬件部分和软件部分。硬件部分介绍:单片机串行通

13、信系统电路的设计,单片机AT89C51的功能和其在电路的作用。介绍了AT89C51的管脚结构和每个管脚的作用及各自的连接方法。AT89C51与MCS-51兼容,4K字节可编程闪烁存储器,寿命:1000次可擦,数据保存10年,全静态工作:0HZ-24HZ,三级程序存储器锁定,128*8位内部RAM,32跟可编程I/O线,两个16位定时/计数器,5个中断源,5个可编程串行通道,低功耗的闲置和掉电模式,片内震荡和时钟电路,P0和 P1 可作为串行输入口,P3口因为其管脚有特殊功能,可连接其他电路。介绍了串行串行口控制寄存器,电源管理寄存器PCON,中断允许寄存器IE,还介绍了数码显示管的工作方式、组

14、成,共阳极和共阴极数码显示管的电路组成,有动态和静态显示两种方式,说明了不同显示方法与单片机的连接。软件部分:在了解电路设计原理后,根据原理和目的画出电路流程图,列出数码显示的断码表,计算波特率,设置串行口,在与接受机设置相同的通信协议的基础上编写显示和传递程序。编写完程序还要进行编译,这就必须会使用编译软件。介绍了编译软件的使用和使用过程中遇到的问题,在软件调试过程中将详细介绍调试遇到的问题,例如:通信协议是否相同,数码管是否与芯片连接对应,计数器是否开始计数等。第2章 单片机概述单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初是源于“Single Chip

15、 Microcomputer”,简称SCM。随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。国际上逐渐采用“MCU”(Micro Controller Unit)代替,形成了单片机界公认的、最终统一的名词。为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一对应解释。在国内因为“单片机”一词已约定俗成,故而可继续沿用。2.1 单片机的发展历史 如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:第一阶段(19761978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索

16、,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。第二阶段(19781982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。1.完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。2.CPU外围功能单元的集中管理模式。3.体现工控特性的地址空间及位操作方式。4.指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段(1

17、9821990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。第四阶段(19901993):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着CMOS化,低功耗化,低电压化,低噪声与高可靠性,大容量化,高性能化,小容量,低价格化,外

18、围电路内装化和串行扩展技术。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强。2.2 单片机的特点 单片机主要有如下特点:1.有优异的性能价格比。2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。3.制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。4.低功耗、低电压,便于生产便携式产

19、品。5.外部总线增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。2.3 单片机的应用 由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:1.单片机在智能仪表中的应用。2.单片机在机电一体化中的应用。3.单片机在实时控制中的应用。4.单片机在分布式多机系统中的应用。5.单片机在人类生活中的应用。单片机已成为计算机发展和应用的一个重

20、要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。A:由单片机组成控制器的结构和特点: 单片微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型计算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM)和各种功能I/O接口集成在一块芯片上的单芯片微型计算机(Single Chip Micro Computer),简称单片机。由于它的结构与指令功能都是按工业控制要求设计的,且近年来单片机着力

21、扩展了各种控制功能如A/D、PWM等,因此我们更多时候称其为一个单片形态的微控制器(Single Chip Micro Controller),或直接称其为微控制器(Micro Controller)。B:用单片机组成的微机控制系统具有以下特点:1.受集成度限制,片内存储器容量较小。一般片内ROM小于48K字节,片内RAM小于256字节;但可在外部进行扩展,如MCS51系列单片机的片外可擦可编程只读存储器(EPROM)、静态随机存储器(SRAM)可分别扩展至64K字节。2.可靠性高。单片机芯片本身是按工业控制环境要求设计的,其抗工业噪声的能力优于一般通用CPU。程序指令及其常数、表格固化在RO

22、M中不易破坏。常用信号通道均在一个芯片内,故可靠性高。3.易扩展。片内具有计算机正常运行所必须的部件,芯片外部有许多供扩展用的总线及并行、串行输入/输出端口,很容易构成各种规模的微机控制系统。4.控制功能强。为了满足工业控制要求,单片机的指令系统中有极丰富的条件分支转移指令、I/O口的逻辑操作以及位处理功能。一般来说,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。5.一般的单片机内无监控程序或系统管理软件,软件开发工作量大。但近年来已开始出现了片内固化有BASIC解释程序及FROTH操作系统的单片机,使单片机系统的开发提高了一个新水平。此外,单片机成本低、集成度高、控制功能多,可灵活

23、地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微机产量的70%以上。目前,至少有50个系列400余种机型,性能和结构各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列单片微型计算机。国内普及的几乎都是INTEL公司的产品。2.4 AT89C51单片机简介 AT89C5是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128byte

24、s的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。其管脚如图2-1所示。图2-1 单片机AT89C51管脚图主要性能参数:与MCS-51产品指令系统的全兼容。 4k字节可重擦写Flash闪速存储器。1000次可擦写周期。全静态操作:0Hz-24MHz。三级加密程序存储器。1288字节内部RAM。 32个可编程I/O口线。2个16位定时/计数器。6个中断源。可编程串行UART通道。低功耗空闲和掉

25、电模式 。2.4.1 AT89C51功能特性描述AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。(1)AT89C51引脚功能说明:Vcc:电源电压。GND:地。P0口:P0口是一组8位漏极开路行双向I/O口,

26、也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。P1口:P1口是一个内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流(I)。Flash编程和程序校

27、验期间,P1口接收8位地址。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输入缓冲极可以驱动(输入或输出电流)4个TTL逻辑门电路。对端口“1”,通过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或1位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口线的内容(也既特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高地址和其他控制信号。

28、P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能,如表2-1所示。P3口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。表2-1 AT89C51的端口及第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计

29、数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST:复位输出。当震荡器工作时,RST引脚出现两个机器周期以上高电平使机器复位。 ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,即使不访问外部字节,ALE仍时钟震荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还要输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后

30、,只有一条MOVX和MOVC指令可激活。此外,此引脚会被微弱拉高,单片机执行外部程序时,应该置ALE无效。PESN:程序存入允许(PESN)输出的是外部程序存储器的读选通信号,当AT89C51由外部程序取指令(或数据)时,每个机器周期两次PESN有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PESN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件

31、是使用12V的编程电压Vpp。XTAL1:震荡器反向放大器及内部时钟的输入端。XAAL2:震荡器反向放大器的输出端。时钟震荡器:AT89C51中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡电路如图2-2所示。外接石英晶体(或陶瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。对外接电容C1、C2虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用30pF10pF,而如果使用陶瓷

32、谐振器建议选择40pF10pF。用户还可以采用外部时钟,采用外部时钟如图2-3所示。在这种情况下,外部时钟脉冲接到XTAL1端,既内部时钟发生器的输入端,XTAL2悬空。 图2-2 内部震荡电路图 图2-3 外部震荡电路图由于外部时钟信号是通过一个2分频的触发器后作为内部时钟信号的所以外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求,如表2-2所示。表2-2 AT89C51寄存器寄存器内容寄存器内容PC0000HTMOD00HACC00HTCOM00HB00HTH000HPSW00HTLO00HSP07HTH100H0DPTR0000HTH10

33、0HP1P30FFHSCON00HIPxxx00000SBUF不定IE0xxx00000PCON0xxx00000Flash闪速存储器的编程:AT89C51单片机内部有4K字节的Flash PEROM,这个Flash存储存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。程序接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式,适用与用户在线编程系统。而高电平模式可与通用EPROM编程程序兼容。编程方法:编程前需设置好地址、数据及控制信号,编程单元的地址就、加在P1口和P2口的P2.0P2.3(11位地址范围为0000H0FFFH),数据从

34、P0口输入,引脚P2.6、P2.7和P3.6、P3.7的电平设置见表。PSEN为低电平,RST保持高电平,EA/Vp 引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲(负脉冲)编程时可采用420MHz的时钟震荡器AT89C51的编程方法如下:1.0 在地址线上加上要编程单元的地址信号。1.在数据线上加上要写入的数据字节。2.激活相应的控制信号。3.在高电压编程时,将EA/Vpp端加上+1V编程电压。4.每对Flash存储阵列写入一个字节,加上一个ALE/PROG编程脉冲。(2)AT89C51控制信号:RST/VPD(9脚)复位信号时钟电路工作后,在引脚上出现两个机器

35、周期的高电平,芯片内部进行初始复位,复位后片内存储器的状态如表所示,P1P3口输出高电平,初始值07H写入堆栈指针SP、清0程序计数器PC和其余特殊功能寄存器,但始终不影响片内RAM状态,只要该引脚保持高电平,89C51将循环复位,RAT/VPD从高电平到低电平单片机将从0号单元开始执行程序,另外该引脚还具有复用功能,只要将VPD接+5V备用电源,一旦Vcc电位突然降低或断电,能保护片内RAM中的信息不丢失,恢复电后能正常工作。AT89C81通常采用上电自动复位和开关手动复位,我们采用的是手动复位开关如图2-4所示。图2-4 手动复位开关电路图手动开关未按下之前,电容正极处于家电状态,当按键按

36、下去后,VCC与GND导通,电容放电,从而实现放电。2.5 本章小结本章介绍了单片机的发展历史,共四个阶段,分别为单片机的探索阶段,单片机的完善阶段,单片机向微控制器发展的阶段,以及微控制器的全面发展阶段。同时还介绍了单片机的发展趋势和特点。单片机在智能仪表,机电一体化,实时控制和分布式多机系统等中的应用。更加详细的描述了AT89C51单片机的主要性能参数和功能特性。第3章 单片机的串行接口 MCS-51单片机内部有一个全双工的串行接收和发射缓冲器(SBUFF),这两个在物理上独立的接收发射器,即可以接收也可以发射数据,但接收缓冲器只可以读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是

37、99H。这个通信口即可以用于网络通信,亦可以实现串行异步通信,还可以构成同步移位寄存器使用。如果在串行口的输入输出引脚上加上电平转换器,就可以方便的构成标准的RS-232接口。下面我们分别介绍。3.1 基本概念 数据通信的传输方式:常用于数据通信的传输方式有单工、半双工、全双工和多工方式。单工方式:数据仅按一个固定的方向传送。因为这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。双工方式:数据可以实现双向传送,但不能同时进行,实际的应用采用某种协议实现收发开关转换。全双工方式:允许双方同时进行数据双向传送,但一般全双工电路的线路和设备比较复杂。多工方式:以上三种传输方式

38、都是同一线路传输一种频率信号,为了充分的利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码分复用技术,即可实现在同一线路上资源共享功能,我们称之为多工传输方式。串行通信的两种通信形式:A.异步通信 在这种通信方式中,接收器和发射器有各自的时钟,他们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,紧接着是若干个数据位,图是传输45H的数据格式。B.同步通信 同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步传输中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送的数据量较大的。C.串行数据通信的传输速率: 串行数据传输率有

39、两个概念,既每秒传送的位数bps(Bit per second)和每秒符号波特率(Baud rate),在具有调制解调器的通信中,波特率与调制速率有关。3.2 MCS-51的串行和控制寄存器3.2.1 串行口和控制寄存器 MCS-51单片机为串行口专用寄存器。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发射器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输很简单,只要向缓冲器写入数据就可发送数据。而从接收缓冲器读出数据既可接收数据。此外,接收缓冲器前还加上一级输入移位寄存器,MCS-51这种结构的目的在于接收数据时避免

40、发生重叠现象,文献称这种结构为双缓冲结构。而发送数据就不需要这样设计,因为发送时,CPU是主动的,不可能出现这种情况。A:串行通信寄存器在上一节我们已经分析了SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H,其结构格式如表3-1所示。表3-1 SCON寄存器结构 寄存器SCON结构SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H下面我们对每个控制位功能介绍如下:(1)SM0、SM1:串行口工作方式控制位 SMO SM1 工作方式 功能说明 0 0 方式0 移位寄存器

41、方式(用于I/O扩展) 0 1 方式1 8位UART,波特率可变(T1溢出率/ n) 1 0 方式2 9 位UART,波特率为fosc/64或fosc/321 1 方式3 9位UART,波特率可变(T1溢出率/ n) (2)SM2:多机通信控制位多机通信是工作方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收的前8位数据送入SBUF,且置位RI发出中断申请,否则会将收到的数据放弃。当SM2=0时,只有在接收到有效停止位时才启动RI,若没接收到有效停止位,则RI清“0”。在方式0中SM2应该为“0”

42、。REN:允许接收控制位。由软件置“1”时,允许接收;软件置“0”时,不许接收。TB8:在方式3和方式3中要发送的第9位数据,需要时用软件置位和清零。TB8:在方式2和方式3中是接收到的第9位数据。在方式1时,如SM2=0,RB8接收到的停止位。在方式0中,不使用RB8。TI:发送中断标志。由硬件在方式0发送完第8位时置“1”,或在其它方式中串行发送停止位的开始时置“1”。必须由软件清“0”。RI:接收中断标志。由硬件在方式0串行发射第8位结束时置“1”。B:特殊功能寄存器PCONPCON:主要是是CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H其机构格式如表3-2所示。表3-

43、2 特殊功能寄存器PCON PCOND7D6D5D4D3D2D1D0位符号SMODGF1GF0PDIDL在CHMOS型单片机中,除SMOD位外其它位均为虚设的,SMOD是串行波特率倍增位,当SMOD=1时串行口波特率加倍,系统复位默认为SMOD=0。C:中断允许寄存器IE中断允许寄存器这里重述一下对串行口有影响的位ES。ES为串行中断允许控制位,ES=1允许串行中断,ES=0,禁止串行中断。中断允许寄存器如表3-3所示。表3-3 中断允许寄存器符号EAESET1EX1ETOEX0位地址AFHAEHADHACHABHAAHA8HA8H3.2.2 串行口工作方式串行口具有4种工作方式,我从应用和毕

44、业设计的角度,重点讨论方式1发送。串行口定义为方式1时传送1帧数据为10位,其中1位起始地址、8位数据位(先低位后高位)、1位停止位方式1的波特率可变,波特率=(T1的溢出率)。3.3 本章小结 本章介绍了数据通信的传输方式分为单工、半双工、全双工和多工方式。也介绍了串行通信的两种通信形式分别为异步通信和同步通信。MCS-51单片机串行口专用寄存器SCON,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H。同时介绍了,SM0、SM1为串行口工作方式控制位;SM2为多机通信控制位。以及串行口的工作方式。第4章 串行通讯技术及硬件基本组成 通常情况下,人们是通过外部设备使用计算

45、机的,但是由于种种原因,外设往往不能与CPU直接相连,它们之间的信息交换需要一个中间环节(或界面),我们称之为接口电路。接口是CPU与外界的连接部件(电路)。串行接口是计算机的一种接口标准。在实验和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,同时,串行接口也可以用来实现短距离的双机通信。串行通信具有连接简单、使用灵活方便、数据传递可靠等优点。4.1 硬件的基本组成 单片机89C52,11.059M晶振,30pF电容,22uf/10V电容,1K电阻,MAX232转换器,DB9接口,按键。4.2 串行通信原理 所谓“串行通信”是指外设和计算机间或者两台计算机之间使用了数据线、控

46、制线和地线进行连接,数据在数据线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。在计算机系统中,每个字符一般使用一个8位二进制代码表示。在数据通信中,通常将待传送的每个字符的二进制代码按照由低位到高位的顺序依次发送的方式成为串行通信,如图4-1所示。 发送方接收方b7 b6 b5 b4 b3 b2 b1 b0图4-1 串行通信的示意图4.3 双机通信连接方法 对于DB-9串口,3线连接法只使用电缆中的3条线,一条作为信号地线,一条作为发送线,一条作为接收线。在连接这种电缆时需要注意,电缆中的发送线和接收线需要交叉,也就是说,一台计算机的RS-232发送引脚需要和另一台计算机的RS-2

47、32发送引脚相连,连接方法如图4-2所示。图4-2 硬件连接图4.4 本章小结本章介绍了串行通讯技术的硬件是由单片机89C52、11.059M晶振、30pF电容、22uf/10V电容、1K电阻、MAX232转换器,DB9接口,按键组成的。所谓“串行通信”是指外设和计算机间或者两台计算机之间使用了数据线、控制线和地线进行连接,数据在数据线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。以及双机通信连接方法。串行通信具有连接简单、使用灵活方便、数据传递可靠等优点。第5章 软件的设计和调整过程5.1 程序流程图 程序流程图是编写软件的重要前提,它是在图表上直观的体现拟设计的目的及过程。也是

48、编译的重要依据,按照流程图一步一步编写程序,如图5-1所示。 图5-2 程序设计流程图5.2 通信协议 通信协议是单片机和PC机之间通信不可缺少的部分,也是我此次毕业设计最重要的部分,包括下面几方面的设置。5.2.1 串行口控制寄存器SCON的设置 串行口控制寄存器的基本情况在前面已经介绍,这里不再重复。根据我们所做的内容,我们采用了串行工作方式1,REN设置为“1”(允许接收),综上所述我们设SCON的初始值为50H,如表5-1所示。表5-1 串行口控制寄存器SM0SM1SM2RENTB8TB8TIRI010100005.2.2 定时器的初始化设置在定时器为方式1时,如表5-2所示。表5-2

49、 定时计数器的初始化CATEC/M1MOT10010T0GATE:表示不参与控制 。C/:选择计数/时钟方式。M1MO:选定定时器1工作方式2。所以定时器TMOD初始值为20H。5.2.3 波特率计算方式l和方式3的波特率。方式1和方式3的移位时钟脉冲由定时器T1的溢出率决定,故波特宰由定时器T1的。溢出率与SMOD值同时决定,即:方式1和方式3的波特率2SMOD/32T1溢出率。其中,溢出率取决于计数速率和定时器的预置值。计数速率与TMOD寄存器中C/T的状态有关。当C/T0时,计数速率fosc/2;当C/T1时,计数速率取决于外部输入时钟频率。当定时器Tl作波特率发生器使用时,通常选用可自

50、动装入初值模式(工作方式2),在工作方式2中,TLl作为计数用,而自动装入的初值放在THl中,设计数初值为x,则每过“256-x”个机器周期,定时器T1就会产生一次溢出。为了避免因溢出而引起中断,此时应禁止T1中断。这时溢出周期为: 12/ fosc*(256-X) (5-1)溢出率为溢出周期的倒数,所以有:波特率=2SMOD/12 * fosc/ 12*(256-X) (5-2)此时,定时器T1在工作方式2时的初值为:X=256-fosc*(SMOD+1)/384*波特率 (5-3)系统晶振频率选为11.0592MHZ就是为了使初值为整数,从而产生精确的波特率。如果串行通信选用很低的波特率,

51、可将定时器Tl置于工作方式0或工作方式1,但在这种情况下,T1溢出时,需用中断服务程序重装初值。中断响应时间和执行指令时间会使波特率产生一定的误差,可用改变初值的办法加以调整。已知89C52单片机时钟振荡频率为11.059MHz,选用定时器T1工作方式2为波特率发生器,波特率为9600波特,初值X就很好计算。设波特率控制位SMOD=0,则有:X=256-11.059*1000000*(0+1)/384*9600=253=FDH所以,(TH1)=(TL1)=FDH5.3 程序演示 本设计主要是通过89C52单片机的串行通信端口TX(RC7)发送引脚,RX(RC6)接收引脚,手法信息,把下位机(单

52、片机)的信息通过RS232总线传输给上位机(PC机),上位机借助串口调试软件接手或发送信息给下位机。为了能够在计算机端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们主要使用串口调试软件做演示工具,所谓串口调试软件是指:1.用于串口调试,支持常用的110-25600波特率,能设置端口参数;2能以字符或十六进制收发数据,真正支持中文字符的收发;3.支持文件数据的发送;4.允许设置发送周期,自动发送数据;5.绿色软件,不需安装。在串口调试软件上选择COM1接口,并确保单片机上的RS232接口与PC机的COM1接口连接无误。波特率选择9600波特档,手动发送档和16进制发送

53、档。在发送数据栏输入DD开头,后接8位数据位任意数字后,按发送键。观察串口调试软件的接收数据栏的回馈信息。因为程序屏蔽了高电位,仔细查看几首数据栏的回馈信息与发送数据栏的地电位数据是否一致。如一致则表明演示成功。5.4 本章小结本章主要介绍软件设计的具体步骤和调整过程。首先设计程序流程图;其次通信协议是单片机和PC机之间通信不可缺少的部分,也是我此次毕业设计最重要的部分,包括下面几方面的设置:串行口控制寄存器SCON的设置,定时器的初始化设置和波特率计算。最后演示程序。结 论 我所做的是单片机通信协议设计,从开学初我就开始准备。毕业设计完成了,达到了预期的目的。一开始拿到这个题目的时候,真不知

54、道从哪下手,在老师的指导下,自己找资料、看书,总算完成了。通过这次的毕业设计,使我对单片机有了更深的认识,从理论和实践上都得到了很大的提高,所以这次任务的完成是我学到了很多东西。首先,丰富了自己的知识面,学到了以前没能学通的东西,具体了解了怎样去完成一个电路的设计:从流程图、电路图、焊接电路板、检查电路板、仿真到烧片一整套东西。从毕业设计中,学到了单片机AT89C51的内部结构及其工作原理,了解了时钟电路和控制电路的工作原理,巩固了汇编语言的使用能力,提高了自己动手的能力,学到了很多经验,并且提高了自己分析问题的能力和创新能力,得到了理论联系实际的机会,做出了成果。使自己在硬件设计方面树立了信

55、心,为以后从事这方面的工作打好了基础,这也是这次毕业设计的最大收获。在一开始接触这个题目的时候,真的很茫然,不知道从哪开始下手,不知道单片机串行通信协议是干什么的?怎么才能做出来?用什么做?这些问题一个都不知道。后来在于老师的指导下,才知道我要怎么开始做。自己就开始找资料,了解单片机89C51、通信传输的有关知识,学习时钟电路、控制电路的设计原理,看不懂的时候就去问老师、同学。在这些都搞得比较明白后就开始画设计流程图和电路图,最后用了很长时间才完成自己的通信程序设计,给老师看后,在老师的帮助下,改正了几处有问题的地方,完成后就开始仿真。但是仿真的时候却又遇到了麻烦,先是汇编语言的程序错误,To

56、pice52仿真软件提示我的程序有问题,程序自身没有通过检验。接着仔细根据提示检查程序上的错误,直到软件仿真结束。接下来的工作一切还算顺利,在老师还有同学的帮助下,都一一完成。 这次的毕业设计总的来说还是很成功的,自己从中学到很多,也发现了不少问题,为自己以后的学习、进步打下了不错的基础。致 谢 本设计论文在于春雨老师的悉心栽培和尽心指导下完成的,经过此次毕业设计,我即巩固了所学的专业,有学到了许多新知识。经过理论和实践相结合,使得本科大学期间所学知识得以融会贯通。在体会实际工作困难的同时,也深深体会到理论与实际的差距。设计中,既要全面掌握理论知识,又要洞悉实际元件的工作原理。既要有细心,又要

57、有耐心,其流程设计的思路更为重要。通过查阅资料和请教老师,丰富了自己的理论知识。实际问题也有了全面的理解和掌握,在设计的过程中,也掌握了不少经验。 由于本人水平有限,加之时间仓促,设计中的疏漏和错误之处在所难免,希望老师给予谅解,同时希望老师加以批评和指证,是我在今后的学习和工作中取得更大成绩。参考文献1 Micrel Inc. QwikRadio TM UHF ASK T. 2001.2 Micrel Inc. QwikRadio TM Low Power UHF R. 2001.3 薛晓书. 单片微机原理及接口技术M, 西安石油大学出版社, 2002.4 黄智伟, 朱卫华. 单片机与嵌入式

58、系统应用M, 南华大学出版社, 2005.5 付浩. AT89C51单片机高速串行输出口设计M, 淮阴师范学院出版社, 2004.6 张有. 单片机原理应用与实验M,复旦大学出版社,1991.7 高鹏. Protel入门与提高M,人民邮电出版社,2000.8 李群, 肖看. 单片机原理,接口及应用-嵌入式系统技术基础M,清华大学出版社,2005.9 李玉梅. 基于MC5-51系列单片机原理的应用设计M,国防工业出版社,2006.10 曹巧媛. 单片机原理及应用M,电子工业出版社,1997.11 何立民. 单片机应用系统设计M,北京航空航天大学出版社,1999.12 杨新等. 电子设计从零开始M

59、,清华大学出版社,2005.13 王毓银. 数字逻辑电路设计M,高等教育出版社,2004.14 邱关源. 电路M,高等教育出版社,2003.15 谢家奎. 电子线路M,高等教育出版社,2003.16 张迎新. 单片微型计算机原理应用及接口技术M,北京国防工业出版社,2004.17 康永雄. 新编单片机原理与应用M,西安电子科技大学出版社,2003.18 樊昌信, 曹丽娜. 通信原理M,国防工业出版社,2007.19 童诗白, 华成英. 模拟电子技术基础M,高等教育出版社,2000.20 彭为. 单片机典型系统设计实例精讲M,电子工业出版社,2006.21 周航慈. 单片机应用程序设计M,北京航

60、空航天大学出版社,1991.22 卢胜利. 智能仪器设计与实现M,重庆大学出版社,2003. 附录ACommunication protocolGeneral agreementMost people are familiar with the technical standard of serial communication is the EIA - 232, EIA - 422 and EIA - 485, is also mentioned before the rs-five 232, RS - 422 and RS - 485. Due to the EIA suggested standard are RS as a prefix, so in industrial communication field, with the standar

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!