大学设计方案单片机串行接口技术

上传人:e****s 文档编号:51476786 上传时间:2022-01-26 格式:DOCX 页数:32 大小:295.19KB
返回 下载 相关 举报
大学设计方案单片机串行接口技术_第1页
第1页 / 共32页
大学设计方案单片机串行接口技术_第2页
第2页 / 共32页
大学设计方案单片机串行接口技术_第3页
第3页 / 共32页
点击查看更多>>
资源描述
* 大学本科生毕业设计(论文)* 大学本科生毕业设计单片机串行通信协议设计学院:信息工程学院专业:电子信息工程班级:电信 * 班姓名:* *指导老师: *完成日期: 2009 年 5 月 30 日第页* 大学本科生毕业设计(论文)摘 要本文介绍了 89C51 单片机的发展历史和简单介绍,并展望了它们的前景。 着重介绍了单片机串行接口技术,指出了它们的重要性并阐述了其实现原理。根据串行通讯原理结合RS232 串口设计了串行通讯协议, 利用汇编语言为基础, 编写了一个基于RS232 串口的通信程序,实现了单片机-PC 机的双机通讯。在硬件上测试完好,测试表明,在基于设计的通信协议上的单片机-PC 机的通讯状况良好。关键词: 89C51 单片机,串行通讯原理,RS232 串口,串行通讯协议AbstractThis article describes the development 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 the 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 procedures, to achieve a single-chip dual-PC machine communication. Well-tested in hardware, testing showed that the single-chip-PC communications machine based on the design of communication protocols in good condition. Key words:89C51 microcontroller, principle of serial communication, RS232 serial port, serial communication protocol第页* 大学本科生毕业设计(论文)目 录11.11.111.221.331.4 AT89C5142.92.1102.2 MCS-51113.133.1143.2143.3144. 154.1154.2164.3185. 202122第页* 大学本科生毕业设计(论文)引 言在工业监测及自动控制系统种,串行通信是微机与单片机之间进行数据交换的主要方式。而在现代社会中,短距离的双机通信,最常用的就是串口通信。目前存在的一些通信协议(如RS-232,RS-484 等),仅对通信线路的电气特性进行了约定,并没有涉及通信内容的格式,类型等信息。针对这一现象,我对于RS-232 接口设计了比较规范的串行通信协议, 实现了上位单片机与下位计算机的串行通信。通过实验室测试表明该串行通信协议是可靠可行的。1. 单片机概述单片机也被称作“单片微型计算机”、“微控制器”、 “嵌入式微控制器”。单片机一词最初是源于“ Single Chip Microcomputer ”, 简称 SCM。随着 SCM在技术上、体系结构上不断扩展其控制功能, 单片机已不能用“单片微型计算机”来表达其内涵。 国际上逐渐采用“ MCU”(Micro Controller Unit) 来代替,形成了单片机界公认的、最终统一的名词。为了与国际接轨, 以后应将中文“单片机”一词和“ MCU”唯一对应解释。在国内因为“单片机”一词已约定俗成,故而可继续沿用。1.1单片机的发展历史如果将 8 位单片机的推出作为起点, 那么单片机的发展历史大致可以分为以下几个阶段:第一阶段( 1976 1978):单片机的探索阶段。以 Intel 公司的 MCS-48为代表。MCS-48的推出是在工控领域的探索, 参与这一探索的公司还有 Motorola 、Zilog 等。都取得了满意的效果。这就是 SCM的诞生年代,“单片机”一词即由此而来。第二阶段( 19781982):单片机的完善阶段。 Intel 公司在 MCS-48基础上推出了完善的、典型的单片机系列 MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。1. 完善的外部总线。 MCS-51设置了经典的8 位单片机的总线结构,包括8 位数据第页* 大学本科生毕业设计(论文)总线、 16 位地址总线、控制总线及具有多机通信功能的串行通信接口。2.CPU外围功能单元的集中管理模式。3. 体现工控特性的地址空间及位操作方式。4. 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段( 19821990):8 位单片机的巩固发展及 16 位单片机的推出阶段,也是单片机向微控制器发展的阶段。 Intel 公司推出的 MCS-96系列单片机,将一些用于测控系统的模数转换器、 程序运行监视器、 脉宽调制器等纳入片中,体现了单片机的微控制器特征。第四阶段( 1990):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的 8 位/16 位 /32 位通用型单片机,以及小型廉价的专用型单片机。单片机的发展趋势目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着 CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强。1.2单片机的特点单片机主要有如下特点:1. 有优异的性能价格比。2. 集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构, 减少了各芯片之间的连线, 大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。3. 制功能强。为了满足工业控制的要求, 一般单片机的指令系统中均有极丰富的转移指令、 I/O 口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。4. 低功耗、低电压,便于生产便携式产品。5. 外部总线增加了2)及 SPI(Serial PeripheralI C(Inter-Integrated CircuitInterface)等串行总线方式,进一步缩小了体积,简化了结构。6. 单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。第 2 页* 大学本科生毕业设计(论文)1. 3 单片机的应用由于单片机具有显著的优点, 它已成为科技领域的有力工具, 人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:1. 单片机在智能仪表中的应用2. 单片机在机电一体化中的应用3. 单片机在实时控制中的应用4. 单片机在分布式多机系统中的应用5. 单片机在人类生活中的应用单片机已成为计算机发展和应用的一个重要方面, 另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。 从前必须由模拟电路或数字电路实现的大部分功能, 现在已能通过单片机来实现了。 这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。A:由单片机组成控制器的结构和特点:单片微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型计算机的主要部件如中央处理器 (CPU)、存储器 (RAM/ROM)和各种功能 I/O 接口集成在一块芯片上的单芯片微型计算机 (Single Chip MicroComputer), 简称单片机 . 由于它的结构与指令功能都是按工业控制要求设计的, 且近年来单片机着力扩展了各种控制功能如A/D、PWM等 , 因 此 我 们 更 多时 候称 其 为 一 个单 片形 态的 微控 制 器 (SingleChipMicroController),或直接称其为微控制器 (Micro Controller)。B:用单片机组成的微机控制系统具有以下特点:1. 受集成度限制 , 片内存储器容量较小 , 一般片内 ROM小于 48K 字节 , 片内 RAM小于 256 字节 ; 但可在外部进行扩展 , 如 MCS 51 系列单片机的片外可擦可编程只读存储器 (EPROM)、静态随机存储器 (SRAM)可分别扩展至 64K字节。2. 可靠性高。单片机芯片本身是按工业控制环境要求设计的 , 其抗工业噪声的能力优于一般通用 CPU;程序指令及其常数、 表格固化在 ROM中不易破坏 ; 常用信号通道均在一个芯片内 , 故可靠性高。3. 易扩展。片内具有计算机正常运行所必须的部件 , 芯片外部有许多供扩展用的总线及并行、串行输入 / 输出端口 , 很容易构成各种规模的微机控制系统。第 3 页* 大学本科生毕业设计(论文)4. 控制功能强。为了满足工业控制要求 , 单片机的指令系统中有极丰富的条件分支转移指令、 I/O 口的逻辑操作以及位处理功能。一般来说 , 单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。5. 一般的单片机内无监控程序或系统管理软件 , 软件开发工作量大。 但近年来已开始出现了片内固化有 BASIC解释程序及 FROTH操作系统的单片机 , 使单片机系统的开发提高了一个新水平。此外 , 单片机成本低、集成度高、控制功能多 , 可灵活地组装成各种智能控制装置 , 并能有针对性设计成专用系统 , 解决从简单到复杂的各种需要 , 实现最佳的性价比。特别是单片机与传统机械产品相结合 , 使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来 , 单片机发展极快 , 其产量占微机产量的 70%以上。目前,至少有 50 个系列 400 余种机型,性能和结构各不相同 ,INTEL 、 MOTOROLA、ZILCG等公司都有系列单片微型计算机。国内普及的几乎都是 INTEL 公司的产品。14 AT89C51 单片机简介AT89C51是美国 ATMEL公司生产的低电压,高性能的 CMOS8位单片机片内 4Kbytes 的可反复擦写的只读程序存储器( PEROM)和 128bytes 的随机存储器( RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准 MCS-51指令系统,片内置通用 8位中央处理器( CPU)和 Flash 存储单元,功能强大。 AT89C51单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。图 1.1单片机 AT89C51主要性能参数:第 4 页* 大学本科生毕业设计(论文)与 MCS-51产品指令系统的全兼容 4k 字节可重擦写 Flash 闪速存储器 1000 次可擦写周期全静态操作: 0Hz-24MHz三级加密程序存储器1288字节内部 RAM32 个可编程 I/O 口线2个 16 位定时 / 计数器6个中断源可编程串行UART通道低功耗空闲和掉电模式功能特性描述:AT89C51提供以下标准功能: 4k 字节 Flash 闪速存储器, 128 字节内部 RAM,32 个I/O 口线,两个 16 位定时 / 计数器,一个 5 向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时, AT89C51可降至 0Hz 的静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止 CPU的工作,但允许 RAM,定时 / 计数器,窜行通信口及中断系统继续工作。 掉电方式保存 RAM中的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。( 1) AT89C51 引脚功能说明:Vcc:电源电压GND:地P0 口: PO口是一组 8 位漏极开路行双向I/O 口,也既地址 / 数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8 个 TTL 逻辑电路,对端口写“ 1”可作为高阻抗输入输入端用。 在访问外部数据存储器时, 这组口线分时转换地址 (低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时, PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。P1 口:P1口是一个内部上拉电阻的 8 位双向 I/O 口,P1 的输入缓冲级可驱动 (吸收或输出电流) 4 个 TTL 逻辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流( I )。Flash 编程和程序校验期间, P1 口接收 8 位地址。P2 口: P2 口是一个带有内部上拉电阻的 8 位双向 I/O 口, P2 的输入缓冲极可以驱动(输入或输出电流) 4 个 TTL 逻辑门电路。对端口“ 1”,通过内部的上拉电阻把第 5 页* 大学本科生毕业设计(论文)端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或1 位地址的外部数据存储器(例如执行 MOVXDPTR指令)时, P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVXRI指令)时, P2口线的内容(也既特殊功能寄存器( SFR)区中 R2 寄存器的内容),在整个访问期间不改变。 Flash 编程或校验时, P2 亦接收高地址和其他控制信号。P3 口: P3 口是一组带有内部上拉电阻的8 位双向 I/O 口, P1 的输入缓冲级可驱动(吸收或输出电流)4 个 TTL逻辑门电路。对P3 口写入“ 1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3 口将用上拉电阻输出电流。 P3 口除可作为一般的I/O 口线外,更重要的用途是它的第二功能,如表1.2 所示:P3口还接收一些用于Flas闪速存储器编程和程序校验的控制信号图 1.2 AT89C51方框图第 6 页* 大学本科生毕业设计(论文)RST:复位输出。当震荡器工作时,RST 引脚出现两个机器周期以上高电平使机器复位。 ALE/ PROG 当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节,即使不访问外部字节, ALE仍时钟震荡频率的 1/6 输出固定的正脉冲信号, 因此它可对外输出时钟脉冲或用于定时目的。 要注意的是:每次访问外部存储器时将跳过一个ALE脉冲。对 Flash 存储器编程期间, 该引脚还要输入编程脉冲( PROG )。如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH单元的 D0 位置位,可禁止 ALE操作。该位置位后,只有一条 MOVX和 MOVC指令可激活。此外,此引脚会被微弱拉高,单片机执行外部程序时,应该置 ALE无效。 PSEN :程序存入允许(PSEN )输出的是外部程序存储器的读选通信号,当表 1.3 AT89C51 端口AT89C51由外部程序取指令(或数据)时,每个机器周期两次PSEN有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN 信号不出现。EA/VPP:外部访问允许。欲使 CPU仅访问外部程序存储器(地址为 0000H-FFFFH),EA端必须保持低电平(接地) 。要注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。 Flash 存储器编程时,该引脚加上 +12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 的编程电压 Vpp。XTAL1:震荡器反向放大器及内部时钟的输入端。XAAL2:震荡器反向放大器的输出端。时钟震荡器:AT89C51中有一个构成内部震荡器的高增益反向放大器,引脚 XTAL1和 XTAL2分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡电路如图。 外接石英晶体 (或陶瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。对外接电容 C1、C2虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、 震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用30pF10pF,而如果使用陶瓷谐第 7 页* 大学本科生毕业设计(论文)振器建议选择40pF10pF。用户还可以采用外部时钟,采用外部时钟如图所示。在这种情况下,外部时钟脉冲接到XTAL1端,既内部时钟发生器的输入端,XTAL2悬空。图 1.4内部震荡电路图 1.5外部震荡电路由于外部时钟信号是通过一个2 分频的触发器后作为内部时钟信号的所以外部寄存器内容寄存器内容PC0000HTMOD00HACC00HTCOM00HB00HTH000HPSW00HTLO00HSP07HTH100H0DPTR0000HTH100HP1 P30FFHSCON00HIPxxx00000SBUF不定IE0xxx00000PCON0xxx00000表 1.6 AT89C51 寄存器时钟的占空比没有特殊要求, 但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。 Flash 闪速存储器的编程:AT89C51单片机内部有 4K 字节的 Flash PEROM,这个 Flash 存储存储阵列出厂时已处于擦除状态(既所有存储单元的内容均为 FFH),用户随时可对其进行编程。程序接收高电压( +12V)或低电压( Vcc)的允许编程信号。低电压编程模式,适用与用户在线编程系统。而高电平模式可与通用 EPROM编程程序兼容。编程方法:编程前需设置好地址、数据及控制信号,编程单元的地址就、加在P1口和 P2 口的P2.0P2.3(11 位地址范围为 0000H0FFFH),数据从 P0 口输入,引脚P2.6 、P2.7 和P3.6、P3.7 的电平设置见表。 PSEN为低电平, RST保持高电平, EA/Vp 引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲(负脉冲)编程时可第 8 页* 大学本科生毕业设计(论文)采用 420MHz的时钟震荡器 AT89C51的编程方法如下: 1.0 在地址线上加上要编程单元的地址信号。1. 在数据线上加上要写入的数据字节。2. 激活相应的控制信号。3. 在高电压编程时,将 EA/Vpp 端加上 +1V编程电压。4. 每对 Flash 存储阵列写入一个字节,加上一个 ALE/PROG编程脉冲。( 2) AT89C51 控制信号RST/VPD( 9 脚)复位信号时钟电路工作后,在引脚上出现两个机器周期的高电平,芯片内部进行初始复位,复位后片内存储器的状态如表所示,P1P3 口输出高电平,初始值 07H 写入堆栈指针 SP、清 0 程序计数器 PC和其余特殊功能寄存器,但始终不影响片内 RAM状态,只要该引脚保持高电平, 89C51将循环复位,RAT/VPD从高电平到低电平单片机将从 0 号单元开始执行程序,另外该引脚还具有复用功能, 只要将 VPD接 +5V 备用电源,一旦 Vcc 电位突然降低或断电,能保护片内 RAM中的信息不丢失,恢复电后能正常工作。AT89C81通常采用上电自动复位和开关手动复位,我们采用的是手动复位开关如图所示:图 1.7手动开关手动开关未按下之前, 电容正极处于家电状态, 当按键按下去后, VCC与 GND导通,电容放电,从而实现放电。2 单片机的串行接口第 9 页* 大学本科生毕业设计(论文)MCS-51单片机内部有一个 全双工的串行接收和发射缓冲器 (SBUFF),这两个在物理上独立的接收发射器, 即可以接收也可以发射数据, 但接收缓冲器只可以读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是 99H。这个通信口即可以用于网络通信,亦可以实现串行异步通信, 还可以构成同步移位寄存器使用。如果在串行口的输入输出引脚上加上电平转换器,就可以方便的构成标准的 RS-232 接口。下面我们分别介绍。2.1基本概念数据通信的传输方式:常用于数据通信的传输方式有单工、半双工、全双工和工方式。单工方式:数据仅按一个固定的方向传送。因为这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。双工方式:数据可以实现双向传送,但不能同时进行,实际的应用采用某种协议实现收发开关转换。全双工方式:允许双方同时进行数据双向传送,但一般全双工电路的线路和设备比较复杂。多工方式:以上三种传输方式都是同一线路传输一种频率信号,为了充分的利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码分复用技术,即可实现在同一线路上资源共享功能,我们称之为多工传输方式。串行通信的两种通信形式A. 异步通信在这种通信方式中,接收器和发射器有各自的时钟,他们的工作是非同步的,异步通信用一帧来表示一个字符, 其内容如下:一个起始位,紧接着是若干个数据位, 图 是传输 45H的数据格式。B. 同步通信第 10页* 大学本科生毕业设计(论文)同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步传输中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间, 在要求传送的数据量较大的C. 串行数据通信的传输速率:串行数据传输率有两个概念,既美秒传送的位数bps(Bit per second)和美秒符号数 - 波特率( Band rate ), 在具有调治解调器的通信中,波特率与调治速率有关。2.2MCS-51的串行和控制寄存器串行口和控制寄存器MCS-51单片机串行口专用寄存器结构如图所示。 SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器, 其中包含了接收器和发射器寄存器, 可以实现全双工通信。但这两个寄存器具有同一地址( 99H)。 MCS-51的串行数据传输很简单,只要向缓冲器写入数据就可发送数据。而从接收缓冲器读出数据既可接收数据。此外,接收缓冲器前还加上一级输入移位寄存器, MCS-51 这种结构的目的在于接收数据时避免发生重叠现象, 文献称这种结构为双缓冲结构。 而发送数据就不需要这样设计,因为发送时, CPU是主动的,不可能出现这种情况。A:串行通信寄存器在上一节我们已经分析了 SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是 98H,其结构格式如下:.1 寄存器 SCON结构SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H表 2.1 SCON 寄存器结构下面我们对个控制位功能介绍如下:第 11页* 大学本科生毕业设计(论文)(1)SM0、SM1:串行口工作方式控制位SMOSM1工作方式功能说明00方式 0移位寄存器方式(用于I/O 扩展)01方式 18位 UART,波特率可变( T1 溢出率 / n )10方式 29位 UART,波特率为 fosc/64或 fosc/3211方式 39位 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”。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其机构格式如下表:第 12页* 大学本科生毕业设计(论文)PCOND7D6D5D4D3D2D1D0位符号SMODGF1GF0PDIDL表 1.2 特殊功能寄存器 PCON在 CHMOS型单片机中,除 SMOD位外其它位均为虚设的, SMOD是串行波特率倍增位,当 SMOD=1时串行口波特率加倍,系统复位默认为 SMOD=0。C:中断允许寄存器IE中断允许寄存器这里重述一下对串行口有影响的位 ES。ES为串行中断允许控制位,ES=1允许串行中断, ES=0,禁止串行中断。串行口工作方式串行口具有 4 种工作方式,我从应用和毕业设计的角度,重点讨论方式1 发送。串行口定义为方式 1 时传送 1 帧数据为 10 位,其中 1 位起始地址、 8 位数据位(先低位后高位)、 1 位停止位方式 1 的波特率可变,波特率 = 2 SMOD / 32 (T1 的溢出率 )符号EAESET1EX1ETOEX0位地址AFHAEHADHACHABHAAHA8HA8H表 2.3中断允许寄存器3. 串行通讯技术及硬件基本组成通常情况下,人们是通过外部设备使用计算机的,但是由于种种原因,外设往往不能与 CPU直接相连,它们之间的信息交换需要一个中间环节(或界面),我们称之为接口电路。接口是CPU与外界的连接部件(电路) 。串行接口是计算机的一种接口标准。在实验和工业应用中, 串口是常用的计算机与外部串行设备之间的数据传输通道,同时,串行接口也可以用来实现短距离的双机通信。串行通信具有连接简单、使用灵活方便、数据传递可靠等优点。第 13页* 大学本科生毕业设计(论文)3.1 硬件的基本组成 :单片机 89C52、 11.059M 晶震、 30pF 电容、 22uf/10V 电容、 1K 电阻、 MAX232转换器, DB9接口,按键。3.2 串行通信原理所谓“串行通信” 是指外设和计算机间或者两台计算机之间使用了数据线、控制线和地线进行连接, 数据在数据线上一位一位地进行传输, 每一位数据都占据一个固定的时间长度。在计算机系统中, 每个字符一般使用一个 8 位二进制代码表示。在数据通信中,通常将待传送的每个字符的二进制代码按照由低位到高位的顺序依次发送的方式成为串行通信。图 3.1串行通信的示意图3.3 双机通信连接方法对于 DB-9 串口, 3 线连接法只使用电缆中的 3 条线,一条作为信号地线,一条作为发送线, 一条作为接收线。在连接这种电缆时需要注意,电缆中的发送线和接收线需要交叉,也就是说,一台计算机的 RS-232发送引脚需要和另一台计算机的 RS-232发送引脚相连,连接方法见图 3.2 所示。第 14页* 大学本科生毕业设计(论文)图 3.2 硬件连接图4. 软件的设计和调整过程4.1程序流程图程序流程图是编写软件的重要前提,它是在图表上直观的体现拟设计的目的及过程。也是编译的重要依据,按照流程图一步一步编写程序,下面是我的流程图;第 15页* 大学本科生毕业设计(论文)图 4.1串口程序设计流程图 4.2 程序设计流程4.2通信协议通信协议是单片机和 PC机之间通信不可缺少的部分,也是我此次毕业设计最重要的部分,包括下面几方面的设置 ;串行口控制寄存器SCON的设置第 16页* 大学本科生毕业设计(论文)串行口控制寄存器的基本情况在前面已经介绍,这里不再重复。 根据我们所做的内容,我们采用了串行工作方式1,REN设置为“ 1”(允许接收),综上所述我们设SCON的初始值为 50H,如下表所示:SM0SM1SM2RENTB8TB8TIRI01010000表 4.1串行口控制寄存器定时器的初始化设置在定时器为方式1 时,方式字为:CATEC/ TM1MOT10010T0表 4.2定时计数器的初始化GATE:表示 INT 1不参与控制C/ T :选择计数 / 时钟方式M1MO:选定定时器 1 工作方式 2所以定时器 TMOD初始值为 20H波特率计算方式 l 和方式 3 的波特率方式 1 和方式 3 的移位时钟脉冲由定时器T1 的溢出率决定,故波特宰由定时器T1的溢出率与 SMOD值同时决定,即:方式 1 和方式 3 的波特率 2SMOD/32T1 溢出率其中,溢出率取决于计数速率和定时器的预置值。计数速率与 TMOD寄存器中 CT的状态有关。当 C T 0 时,计数速率 fosc 2;当 CT1 时,计数速率取决于外第 17页* 大学本科生毕业设计(论文)部输入时钟频率。当定时器 Tl 作波特率发生器使用时,通常选用可自动装入初值模式( 工作方式 2) ,在工作方式 2 中, TLl 作为计数用,而自动装入的初值放在THl 中,设计数初值为x,则每过“ 256 一 x”个机器周期, 定时器 T1 就会产生一次溢出。 为了避免因溢出而引起中断,此时应禁止T1 中断。这时溢出周期为:12/ fosc*(256-X)溢出率为溢出周期的倒数,所以,有:波特率 =2SMOD/12 * fosc/ 12*(256-X)此时,定时器 T1 在工作方式 2 时的初值为:X=256-fosc*(SMOD+1)/384* 波特率系统晶振频率选为11 0592MHZ就是为了使初值为整数,从而产生精确的波特率。如果串行通信选用很低的波特率,可将定时器 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)=FDH4.3 程序演示本设计主要是通过 89C52 单片机的串行通信端口 TX(RC7)发送引脚, RX( RC6)接收引脚,手法信息,把下位机(单片机)的信息通过 RS232总线传输给上位机( PC机),上位机借助串口调试软件接手或发送信息给下位机。 为了能够在计算机端看到单片机发出的数据,我们必须借助一个 WINDOWS软件进行观察, 这里我们主要使用串口调试软件做演示工具,所谓串口调试软件是指: 1. 用于串口调试,支持常用的 110-25600 波特率,能设置端口参数; 2 能以字符或十六进制收发数据,真正支持中文字符的收发; 3. 支持文件数据的发送; 4. 允许设置发送周期,自动发送数据; 5. 绿色软件,不需安装。在串口调试软件上选择 COM1接口,并确保单片机上的 RS232接口与 PC机的 COM1接口连接无误。波特率选择 9600 波特档,手动发送档和 16 进制发送档。在发送数据栏输入 DD第 18页* 大学本科生毕业设计(论文)开头,后接 8 位数据位任意数字后,按发送键。观察串口调试软件的接收数据栏的回馈信息。因为程序屏蔽了高电位, 仔细查看几首数据栏的回馈信息与发送数据栏的地电位数据是否一致。如一致则表明演示成功。第 19页* 大学本科生毕业设计(论文)总结我所做的是单片机通信协议设计,从开学初我就开始准备。 毕业设计完成了,达到了预期的目的。一开始拿到这个题目的时候,真不知道从哪下手,在老师的指导下,自己找资料、看书,总算完成了。通过这次的毕业设计,使我对单片机有了更深的认识,从理论和实践上都得到了很大的提高, 所以这次任务的完成是我学到了很多东西。 首先,丰富了自己的知识面, 学到了以前没能学通的东西, 具体了解了怎样去完成一个电路的设计:从流程图、电路图、焊接电路板、检查电路板、仿真到烧片一整套东西。从毕业设计中,学到了单片机 AT89C51的内部结构及其工作原理, 了解了时钟电路和控制电路的工作原理,巩固了汇编语言的使用能力,提高了自己动手的能力,学到了很多经验,并且提高了自己分析问题的能力和创新能力, 得到了理论联系实际的机会, 做出了成果。使自己在硬件设计方面树立了信心, 为以后从事这方面的工作打好了基础, 这也是这次毕业设计的最大收获。在一开始接触这个题目的时候, 真的很茫然, 不知道从哪开始下手,不知道单片机串行通信协议是干什么的?怎么才能做出来?用什么做?这些问题一个都不知道。后来在蔡老师的指导下, 才知道我要怎么开始做。 自己就开始找资料,了解单片机 89C51、通信传输的有关知识, 学习时钟电路、控制电路的设计原理, 看不懂的时候就去问老师、同学。在这些都搞得比较明白后就开始画设计流程图和电路图, 最后用了很长时间才完成自己的通信程序设计,给老师看后,在老师的帮助下,改正了几处有问题的地方,完成后就开始仿真。但是仿真的时候却又遇到了麻烦, 先是汇编语言的程序错误, Topice52 仿真软件提示我的程序有问题, 程序自身没有通过检验。 接着仔细根据提示检查程序上的错误,直到软件仿真结束。接下来的工作一切还算顺利,在老师还有同学的帮助下,都一一完成。这次的毕业设计总的来说还是很成功的, 自己从中学到很多, 也发现了不少问题,为自己以后的学习、进步打下了不错的基础。第 20页* 大学本科生毕业设计(论文)参考文献12001.823 薛晓书 .单片微机原理及接口技术 .西安 .西安石油大学 2002.34 黄智伟 朱卫华 .单片机与嵌入式系统应用 .南京 .南华大学 .2005.35 付浩 AT89C51 单片机高速串行输出口设计 .淮阴 . 淮阴师范学院 2004.106 张有德 .单片机原理应用与实验 .上海 :复旦大学出版社, 19917 高鹏。 Protel 入门与提高。北京:是、人民邮电出版社,20008 李群,肖看 .单片机原理,接口及应用 -嵌入式系统技术基础。北京:清华大学出版社, 20059 李玉梅 .基于 MC5-51 系列单片机原理的应用设计 .北京:国防工业出版社, 2006.5第 21页* 大学本科生毕业设计(论文)附录ORG0000HLJMPSTARTORG000BHLJMPCNT0ORG0023HLJMPSCINTORG0040H;*START:NOPNOPNOPMOVSP,#60HMOVR0,#30h;串口接收缓冲区 30H-37HMOVR5,#07H;串口接收字符数MOVSCON,#50H;S-PORT ENABLE MODE-1,REN-1MOVTMOD,#00100001B;T0-MODE-1-T,T1-BAUDMOVTL0,#00H;50MSMOVTH0,#4CHMOVTL1,#0FDH;9600-BAUDMOVTH1,#0FDH;MOVIP,#10H;S-PRIORITYSETBEA;INTERUPT ENABLESETBES;S-INT-ENABLESETBET0;T0-INT-ENABLE;SETBET1;T1-INT-ENABLESETBTR0;START T0SETBTR1MOVR2,#20;20*50MS=1000MSMOV50H,#00HMOV51H,#00HMOV40H,#40HMOV41H,#40HMOV52H,#00HMOV53H,#00HMOV42H,#40HMOV43H,#40HCLR P1.4;*第 22页* 大学本科生毕业设计(论文)DISP0:jbp1.4,seldisplcall disp1
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


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

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


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