版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业论文*科目:单片机串行通信协议设计学院:工学院专业:通信工程年级: 2009级姓名: *指导老师:摘要本文介绍了 89C51单片机的发展历史和简单介绍,并展望了它们的前景。着重介绍了单片机串行接口技术, 指出了它们的重要性并阐述了其实现原理。 根 据串行通讯原理结合RS232串口设计了串行通讯协议,利用汇编语言为基础,编 写了一个基于RS232串口的通信程序,实现了单片机-PC机的双机通讯。在硬件 上测试完好,测试表明,在基于设计的通信协议上的单片机 -PC机的通讯状况良 好。关键词:89C51单片机;串行通讯原理;RS232串口;串行通讯协议AbstractThis article
2、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 princip
3、le of combining the design of a serial RS232 serial Communication protocol, Based on the use of assembly language, the preparation of a RS232serial communication based on the procedures, to achieve a single-chip dual-PC machine communication. Well-tested in hardware, testing showed that the single-c
4、hip-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目录摘 要 IAbstract II目 录 III绪 论 11. 单片机概述 . 21.1 单片机的发展历史. 21.2 单片机的特点 . 31.3 单片机的应用 31
5、 4 AT89C51 单片机简介 52. 单片机的串行接口 . 112.1 基本概念 . 112.2 串行口和控制寄存器 . 123. 串行通讯技术及硬件基本组成 . 153.1 硬件的基本组成 153.2 串行通信原理 153.3 双机通信连接方法 164. 软件的设计和调整过程 . 174.1 程序流程图 . 174.2 通信协议 . 184.2.1 串行口控制寄存器 SCON勺设置 184.2.2 定时器的初始化设置 184.2.3 波特率计算 194.3 程序演示 19总 结 20参考文献 21致 21绪论在工业监测及自动控制系统种, 串行通信是微机与单片机之间进行数据交换 的主要方式
6、。而在现代社会中,短距离的双机通信,最常用的就是串口通信。目 前存在的一些通信协议(如 RS-232,RS-484 等),仅对通信线路的电气特性进行 了约定,并没有涉及通信容的格式, 类型等信息。针对这一现象, 我对于 RS-232 接口设计了比较规的串行通信协议, 实现了上位单片机与下位计算机的串行通信。 通过实验室测试表明该串行通信协议是可靠可行的。单片微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型 计算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM和各种功能I/O接口集 成在一块芯片上的单芯片微型计算机 (Single Chip Micro Computer),
7、 简称单片 机. 由于它的结构与指令功能都是按工业控制要求设计的。是把构成一台微型计 算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM和各种功能I/O接口集成 在一块芯片上的单芯片微型计算机 (Single Chip Micro Computer), 简称单片机 . 由于它的结构与指令功能都是按工业控制要求设计的 , 且近年来单片机着力扩展 了各种控制功能如A/D、PWM等,因此我们更多时候称其为一个单片形态的微控制 器可灵活地组装成各种智能控制装置 , 并能有针对性设计成专用系统 , 解决从 简单到复杂的各种需要 , 实现最佳的性价比。特别是单片机与传统机械产品相结 合, 使原有
8、机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年 来, 单片机发展极快 , 其产量占微机产量的 70%以上控制线和地线进行连接, 数据 在数据线上一位一位地进行传输, 每一位数据都占据一个固定的时间长度。 在计 算机系统中,每个字符一般使用一个 8 位二进制代码表示。在数据通信中1. 单片机概述单片机也被称作“单片微型计算机”、 “微控制器”、“嵌入式微控制器”。 单片机一词最初是源于“ Single Chip Microcomputer ” ,简称SCM随着SCM在 技术上、体系结构上不断扩展其控制功能, 单片机已不能用“单片微型计算机” 来表达其涵。国际上逐渐采用“ MCU”
9、(Micro Controller Unit) 来代替,形成了 单片机界公认的、 最终统一的名词。 为了与国际接轨, 以后应将中文“单片机” 一词和“ MCU唯一对应解释。在国因为“单片机”一词已约定俗成,故而可继 续沿用。1.1 单片机的发展历史如果将 8 位单片机的推出作为起点, 那么单片机的发展历史大致可以分为以 下几个阶段:第一阶段(19761978):单片机的探索阶段。以In tel公司的MCS-48为代 表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是 SCM勺诞生年代,“单片机”一词即由 此而来。第二阶段(
10、19781982):单片机的完善阶段。Intel公司在MCS-48基础上 推出了完善的、典型的单片机系列MCS-51它在以下几个方面奠定了典型的通用总线型单片机体系结构。1. 完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括 8 位数据总线、 16位地址总线、控制总线及具有多机通信功能的串行通信接口。2. CPU外围功能单元的集中管理模式。3. 体现工控特性的地址空间及位操作方式。4. 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。 第三阶段(19821990):8位单片机的巩固发展及 16位单片机的推出阶段,也是单片机向微控制器发展的阶段。In tel公司推出的
11、MCS-96系列单片机,将 一些用于测控系统的模数转换器、 程序运行监视器、 脉宽调制器等纳入片中, 体 现了单片机的微控制器特征。第四阶段( 1990):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址围、强运算能力的 8 位/16 位 /32 位通用型单片机, 以及小型廉价的专用型单片机。 目前,单片机正朝着高性能和 多品种方向发展,今后单片机的发展趋势将是进一步向着CMO化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围 电路装化和串行扩展技术。1.2 单片机的特点单片机主要有如下特点:1. 有优异的性能价格比。2.
12、 集成度高、 体积小、 有很高的可靠性。 单片机把各功能部件集成在一块芯 片上,部采用总线结构, 减少了各芯片之间的连线, 大大提高了单片机的可靠性 和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶 劣环境 下工作。3. 制功能强。为了满足工业控制的要求, 一般单片机的指令系统中均有极丰 富的转移指令、 I/O 口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运 行速度均高于同一档次的微机。4. 低功耗、低电压,便于生产便携式产品。5. 外 部 总线增加 了 I2C(Inter-IntegratedCircuit ) 及 SPI(SerialPeripheral Int
13、erface) 等串行总线方式,进一步缩小了体积,简化了结构。6. 单片机的系统扩展和系统配置较典型、 规,容易构成各种规模的应用系统。1.3 单片机的应用由于单片机具有显著的优点, 它已成为科技领域的有力工具, 人类生活的得 力助手。它的应用遍及各个领域,主要表现在以下几个方面:1. 单片机在智能仪表中的应用2. 单片机在机电一体化中的应用3. 单片机在实时控制中的应用4. 单片机在分布式多机系统中的应用5. 单片机在人类生活中的应用 单片机已成为计算机发展和应用的一个重要方面, 另一方面, 单片机应用的 重要意义还在于, 它从根本上改变了传统的控制系统设计思想和设计方法。 从前 必须由模拟
14、电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。 这种用软件代替硬件的控制技术也称为微控制技术, 是对传统控制技术的一次革 命。A:由单片机组成控制器的结构和特点:单片微型计算机是微型计算机发展中的一个重要分支, 是把构成一台微型计 算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM和各种功能I/O接口集成 在一块芯片上的单芯片微型计算机 (Single Chip Micro Computer), 简称单片机 . 由于它的结构与指令功能都是按工业控制要求设计的 , 且近年来单片机着力扩展 了各种控制功能如A/D、PWM等,因此我们更多时候称其为一个单片形态的微控制 器(S
15、ingle Chip Micro Controller), 或直接称其为微控制器(Micro Controller)。B:用单片机组成的微机控制系统具有以下特点:1. 受集成度限制,片存储器容量较小,一般片ROM、于48K字节,片RAM、 于256字节;但可在外部进行扩展,如MC51系列单片机的片外可擦可编程只读 存储器(EPROM)静态随机存储器(SRAM可分别扩展至64K字节。2. 可靠性高。单片机芯片本身是按工业控制环境要求设计的 , 其抗工业噪声 的能力优于一般通用CPU程序指令及其常数、表格固化在ROh中不易破坏;常用 信号通道均在一个芯片 , 故可靠性高。3. 易扩展。片具有计算机
16、正常运行所必须的部件 ,芯片外部有许多供扩展用 的总线及并行、串行输入 /输出端口 , 很容易构成各种规模的微机控制系统。4. 控制功能强。为了满足工业控制要求 , 单片机的指令系统中有极丰富的条 件分支转移指令、 I/O 口的逻辑操作以及位处理功能。一般来说 ,单片机的逻辑 控制功能及运行速度均高于同一档次的微处理器。5. 一般的单片机无监控程序或系统管理软件 , 软件开发工作量大。 但近年来 已开始出现了片固化有BASIC解释程序及FROTH操作系统的单片机,使单片机系 统的开发提高了一个新水平。此外,单片机成本低、 集成度高、 控制功能多,可灵活地组装成各种智能控制 装置, 并能有针对性
17、设计成专用系统 , 解决从简单到复杂的各种需要 , 实现最佳的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控 制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微机产 量的70鸠上。目前,至少有50个系列400余种机型,性能和结构各不相同,INTEL、 MOTOROLZILCG等公司都有系列单片微型计算机。国普及的几乎都是 INTEL公 司的产品。1. 4 AT89C51单片机简介AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片4Kbytes的可反复擦写的只读程序存储器(PERO)和128bytes的随机存储器(RAM,器件采
18、用ATMEI公司的高密度、非易失存储技术生产,兼容标准MCS-51 指令系统,片置通用8位中央处理器(CPU和Flash存储单元,功能强大。AT89C51 单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。PDIPpi orpi.itP12EPl.JC puC Pl .sc P1.6E P1.TRSTC (f«0) P3OC ECO) P3/I 匸 liiJTD'i P3J (iNTi) P3.3C nO)P3.4C (T1) P3.E 陋PIE匸 (MtP3.7C XTAL3CX7AL1CGNDt4 11l2n'i41I&W17UW20舶博晞
19、师芮36>4333331和却於2?2fi2fl24JaSJz1 vccH ROOM明 PO.1 <AD1)JPOICAD阳2 poj阿时:pc r(ADr)JEA/VPP AJ.LRFHV; P? 7 4A15)1P2.6(A1J3P34(Al12)J P?J 內 1) PSJtAKh1啊3P2 0 冋图1.1 单片机AT89C51主要性能参数:-与MCS-51产品指令系统的全兼容4k字节可重擦写Flash闪速存储器1000次可擦写周期-全静态操作:0Hz-24MHz-三级加密程序存储器128X8字节部RAM-32个可编程I/O 口线-2个16位定时/计数器6个中断源可编程串行UA
20、RTS道低功耗空闲和掉电模式AT89C51功能特性描述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节部RAM 32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量中断结构,一个全双工串 行通信口,片震荡器及时钟电路。同时, AT89C51可降至OHz的静态逻辑操作, 并支持两种软件的可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM 定时/计数器,窜行通信口及中断系统继续工作。掉电方式保存RA附的容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。(1) AT89C51 引脚功能说明: Vcc:电源电压 GND地 P0 口: PO口是一组
21、8位漏极开路行双向I/O 口,也既地址/数据总线复用 口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端 口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分 时转换地址(低 8 位)和数据总线复用,在访问期间激活部上拉电阻。在 Flash 编程时,PO 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求 接上拉电阻。 P1 口: P1 口是一个部上拉电阻的8位双向I/O 口,P1的输入缓冲级可驱 动(吸收或输出电流)4个TTL逻辑门电路。对端口写“ T,通过部的上拉电 阻把端口拉到高电平,此时可作输出口。作输入口时,因为部存在上拉电阻,某 个引
22、脚被外部信号拉低时输出一个电流( I )。 Flash 编程和程序校验期间, P1 口接收 8 位地址。 P2 口: P2 口是一个带有部上拉电阻的 8位双向I/O 口,P2的输入缓冲极 可以驱动(输入或输出电流)4个TTL逻辑门电路。对端口 “ 1”,通过部的上 拉电阻把端口拉到高电平, 此时和作为输出口, 作输出口时, 因为存在部上拉电 阻,某个引脚被外部信号拉低时会输出一个电流。 在访问外部存储器或 1 位地址 的外部数据存储器(例如执行 MOVXDPT指令)时,P2 口送出高8位地址数据。 在访问8位地址的外部数据存储器(如执行 MOVXR指令)时,P2 口线的容(也 既特殊功能寄存器
23、(SFR区中R2寄存器的容),在整个访问期间不改变。Flash 编程或校验时,P2亦接收高地址和其他控制信号 P3 口: P3 口是一组带有部上拉电阻的 8位双向I/O 口,P1的输入缓冲 级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“T时,它们 被部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3 口将用上拉电阻输出电流。P3 口除可作为一般的I/O 口线外,更重要的用途是它的第 二功能,如表1.2所示:P3 口还接收一些用于Flas闪速存储器编程和程序校验的控制信号 RST复位输出。当震荡器工作时,RST引脚出现两个机器周期以上高电 平使机器复位。 ALE/PR
24、OG当访问外部程序存储器或数据存储器时,AL(地址锁存允许) 输出脉冲用于锁存地址的低8位字节,即使不访问外部字节,ALE仍时钟震荡频 率的1/6输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过一个 ALE脉冲。对Flash存储器编程 期间,该引脚还要输入编程脉冲(PROG )。如有必要,可通过对特殊功能寄存 器(SFR区中的8EH单元的DO位置位,可禁止ALE操作。该位置位后,只有一 条MOVX口 MOV指令可激活。此外,此引脚会被微弱拉高,单片机执行外部程序 时,应该置ALE无效。 PSEN :程序存入允许(PSEN)输出的是外部程序存储
25、器的读选通信号,当端口引脚第二功能P3.0RXD 串行输入口)P3.1"D C串行输出口)P3.2而而(外中断0)P3.3INTI 外中断1)P3.4TOf定时/计数器0)P3.5T11定时/计数器L)P3.6WR 外部数据存储器写选通)P37丽 外部数据希储器读选通)表 1.3 AT89C51 端口AT89C51由外部程序取指令(或数据)时,每个机器周期两次 PSEN有效,既输 出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 PSEN信号不出 现。 EA/VPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为OOOOH-FFFFH,EA端必须保持低电平(接地)。要注意
26、的是:如果加密位 LB1 被编程,复位时部会锁存 EA端状态。Flash存储器编程时,该引脚加上+12V的 编程允许电源Vpp,当然这必须是该器件是使用12V的编程电压Vppo XTAL1震荡器反向放大器及部时钟的输入端。 XAAL2震荡器反向放大器的输出端。时钟震荡器:AT89C51中有一个构成部震荡器的高增益反向放大器,引脚 XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英或瓷震荡器一起构成自激震荡器震荡电路如图。外接石英晶体(或瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。对外接电 容C1、C2虽然没有非常严格的要求,但电容的大
27、小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使 用30pF土 10pF,而如果使用瓷谐振器建议选择 40pF土 10pF。用户还可以采用外 部时钟,采用外部时钟如图所示。在这种情况下,外部时钟脉冲接到XTAL1端,既部时钟发生器的输入端,XTAL2悬空。XTAL2XTAL1GND=X1AL2X1AL1GND图1.4部震荡电路图1.5 外部震荡电路寄存器容寄存器容PC0000HTMOD00HACC00HTCOM00HB00HTH000HPSW00HTLO00HSP07HTH100H0DPTR0000HTH100HP1 P30FFHSCON00H
28、IPxxx00000SBUF不定IE0xxx00000PCON0xxx00000由于外部时钟信号是通过一个2分频的触发器后作为部时钟信号的所以外部表1.6 AT89C51寄存器时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间 应符合产品技术条件的要求。 Flash闪速存储器的编程:AT89C51单片机部有4K字节的Flash PEROM这个Flash存储存储阵列出厂时已 处于擦除状态(既所有存储单元的容均为FF",用户随时可对其进行编程。程序接收高电压(+12V或低电压(Vcc)的允许编程信号。低电压编程模式,适 用与用户在线编程系统。而高电平模式可与通用EPR
29、OMg程程序兼容。编程方法: 编程前需设置好地址、数据及控制信号,编程单元的地址就、加在 P1 口和 P2 口的P2.0 P2.3( 11位地址围为0000H OFFFH,数据从P0 口输入,引脚P2.6、 P2.7和P3.6、P3.7的电平设置见表。PSEF为低电平,RST保持高电平,EA/Vp引 脚是编程电源的输入端,按要求加上编程电压,ALE/PRO(引脚输入编程脉冲(负 脉冲)编程时可采用420MHZ的时钟震荡器AT89C51的编程方法如下:1.0在 地址线上加上要编程单元的地址信号。1. 在数据线上加上要写入的数据字节。2. 激活相应的控制信号。3. 在高电压编程时,将EA/Vpp端
30、加上+1V编程电压。4. 每对Flash存储阵列写入一个字节,加上一个 ALE/PRO騙程脉冲。( 2)AT89C51 控制信号RST/VPD(9 脚)复位信号时钟电路工作后,在引脚上出现两个机器周期的 高电平,芯片部进行初始复位,复位后片存储器的状态如表所示, P1P3 口输 出高电平,初始值07H写入堆栈指针SP清0程序计数器PC和其余特殊功能寄 存器,但始终不影响片RAM犬态,只要该引脚保持高电平,89C51将循环复位, RAT/VPD从高电平到低电平单片机将从 0号单元开始执行程序,另外该引脚还具 有复用功能,只要将VPD接+5V备用电源,一旦Vcc电位突然降低或断电,能保 护片RAM
31、中的信息不丢失,恢复电后能正常工作。AT89C81通常采用上电自动复位和开关手动复位,我们采用的是手动复位开 关如图所示:RESETvccE31K*I-WL1rR2& 2K4lOufS2Rest图1.7 手动开关手动开关未按下之前,电容正极处于家电状态,当按键按下去后,VCC与GND 导通,电容放电,从而实现放电。2. 单片机的串行接口MCS-51单片机部有一个 全双工的串行接收和发射缓冲器(SBUFF,这两个 在物理上独立的接收发射器,即可以接收也可以发射数据,但接收缓冲器只可以 读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是99耳这个通信口即可以用于网络通信,亦可以实现串
32、行异步通信,还可以构成同步移位寄存器 使用。如果在串行口的输入输出引脚上加上电平转换器,就可以方便的构成标准的RS-232接口。下面我们分别介绍。2.1 基本概念数据通信的传输方式:常用于数据通信的传输方式有单工、半双工、全双 工和工方式。单工方式:数据仅按一个固定的方向传送。因为这种传输方式的用途有限, 常用于串行口的打印数据传输与简单系统间的数据采集。双工方式:数据可以实现双向传送,但不能同时进行,实际的应用采用某 种协议实现收发开关转换。全双工方式:允许双方同时进行数据双向传送,但一般全双工电路的线路 和设备比较复杂。多工方式:以上三种传输方式都是同一线路传输一种频率信号,为了充分 的利
33、用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码 分复用技术,即可实现在同一线路上资源共享功能,我们称之为多工传输方式。串行通信的两种通信形式A. 异步通信在这种通信方式中, 接收器和发射器有各自的时钟, 他们的工作是非同步的, 异步通信用一帧来表示一个字符, 其容如下:一个起始位, 紧接着是若干个数据 位,图 是传输45H的数据格式。B. 同步通信同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步传 输中,每传输一帧字符都必须加上起始位和停止位, 占用了传输时间, 在要求传 送的数据量较大的C. 串行数据通信的传输速率:串行数据传输率有两个概念,既美秒传送的位
34、数 bps(Bit per second) 和 美秒符号数-波特率(Ban drate ),在具有调治解调器的通信中,波特率与调 治速率有关。2.2 串行口和控制寄存器MCS-5仲片机串行口专用寄存器结构如图所示。 SBUF为串行口的收发缓冲 器,它是一个可寻址的专用寄存器, 其中包含了接收器和发射器寄存器, 可以实 现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输 很简单,只要向缓冲器写入数据就可发送数据。 而从接收缓冲器读出数据既可接 收数据。此外,接收缓冲器前还加上一级输入移位寄存器, MCS-51这种结构的目的 在于接收数据时避免发生重叠现象, 文献称这种
35、结构为双缓冲结构。而发送数据 就不需要这样设计,因为发送时,CPU是主动的,不可能出现这种情况。A:串行通信寄存器在上一节我们已经分析了 SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是 98H,其结构格式如下:寄存器SCONg构SCOND7D6D5D4D3D2D1DOSM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H表2.1 SCON寄存器结构下面我们对个控制位功能介绍如下:(1) SMO SM1串行口工作万式控制位SMOSM1工作方式功能说明0 0万式0移位寄存器方式(用于I/O扩展)0 1万式18位UART
36、波特率可变(T1溢出率/n)1 0万式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
37、”时,不 许接收。TB8:在方式3和方式3中要发送的第9位数据,需要时用软件置位和清零。TB8:在方式2和方式3中是接收到的第9位数据。在方式1时,如SM2=0RB8接收到的停止位。在方式0中,不使用RB8TI :发送中断标志。由硬件在方式 0发送完第8位时置“1”,或在其它方 式中串行发送停止位的开始时置“ 1”。必须由软件清“ 0”。RI :接收中断标志。由硬件在方式 0串行发射第8位结束时置“ 1”B:特殊功能寄存器PCONPCON主要是是CHMO型单片机的电源控制而设置的专用寄存器, 单元地址 为87H其机构格式如下表:PCOND7D6D5D4D3D2D1D0位符号SMODGF1GF0
38、PDIDL表1.2 特殊功能寄存器PCON在CHMO型单片机中,除SMO位外其它位均为虚设的,SMOI是串行波特率 倍增位,当SMOD=时串行口波特率加倍,系统复位默认为 SMOD=0C:中断允许寄存器IE中断允许寄存器这里重述一下对串行口有影响的位 ES ES为串行中断允许 控制位,ES=1允许串行中断,ES=0禁止串行中断。2.2.2串行口工作方式串行口具有4种工作方式,我从应用和毕业设计的角度,重点讨论方式 1 发送。串行口定义为方式1时传送1帧数据为10位,其中1位起始地址、8位数 据位(先低位后高位)、1位停止位方式1的波特率可变,波特率=2sm°d/32(T1的溢出率)符
39、号EAESET1EX1ETOEX0位地址AFHAEHADHACHABHAAHA8HA8H表2.3 中断允许寄存器3. 串行通讯技术及硬件基本组成通常情况下,人们是通过外部设备使用计算机的, 但是由于种种原因,外设 往往不能与CPU直接相连,它们之间的信息交换需要一个中间环节(或界面), 我们称之为接口电路。接口是 CPU与外界的连接部件(电路)。串行接口是计算 机的一种接口标准。在实验和工业应用中,串口是常用的计算机与外部串行设备 之间的数据传输通道,同时,串行接口也可以用来实现短距离的双机通信。串行通信具有连接简单、使用灵活方便、数据传递可靠等优点。3.1硬件的基本组成单片机 89C52 1
40、1.059M 晶震、30pF 电容、22uf/10V 电容、1K 电阻、MAX232 转换器,DB9接 口,按键。3.2串行通信原理所谓“串行通信”是指外设和计算机间或者两台计算机之间使用了数据线、 控制线和地线进行连接,数据在数据线上一位一位地进行传输, 每一位数据都占 据一个固定的时间长度。在计算机系统中,每个字符一般使用一个8位二进制代 码表示。在数据通信中,通常将待传送的每个字符的二进制代码按照由低位到高位的顺序依次发送的方式成为串行通信。图3.1串行通信的示意图3.3双机通信连接方法对于DB-9串口,3线连接法只使用电缆中的3条线,一条作为信号地线,条作为发送线,一条作为接收线。在连
41、接这种电缆时需要注意,电缆中的发送线和接收线需要交叉,也就是说,一台计算机的RS-232发送引脚需要和另一台计算机的RS-232发送引脚相连,连接方法见图3.2所示。图3.2硬件连接图4. 软件的设计和调整过程4.1程序流程图程序流程图是编写软件的重要前提,它是在图表上直观的体现拟设计的目的 及过程。也是编译的重要依据,按照流程图一步一步编写程序, 下面是我的流程 图;图4.1串口程序设计流程图4.2程序设计流程4.2 通信协议通信协议是单片机和PC机之间通信不可缺少的部分,也是我此次毕业设计 最重要的部分,包括下面几方面的设置;421串行口控制寄存器SCON勺设置串行口控制寄存器的基本情况在
42、前面已经介绍, 这里不再重复。根据我们所 做的容,我们采用了串行工作方式1, REN设置为“ T(允许接收),综上所述 我们设SCON勺初始值为50H,如下表所示:SM0SM1SM2RENTB8TB8TIRI01010000表4.1串行口控制寄存器4.2.2 定时器的初始化设置在定时器为方式1时,方式字为:CATEC/TM1MOT10010T0表4.2定时计数器的初始化GATE表示INT1不参与控制C/T :选择计数/时钟方式M1MO选定定时器1工作方式2 所以定时器TMO初始值为20H4.2.3 波特率计算方式 l 和方式 3 的波特率方式 1 和方式 3 的移位时钟脉冲由定时器 T1 的溢
43、出率决定,故波特宰由定 时器 T1 的溢出率与SMO值同时决定,即:方式1和方式3的波特率=2SMOD/32 T1溢出率其中,溢出率取决于计数速率和定时器的预置值。计数速率与 TMO寄存器 中C/T的状态有关。当C/T= 0时,计数速率二fosc /2;当C/T= 1时,计数 速率取决于外部输入时钟频率。当定时器 Tl 作波特率发生器使用时, 通常选用可自动装入初值模式 ( 工作方 式 2),在工作方式 2中, TLl 作为计数用,而自动装入的初值放在 THl 中,设计 数初值为x,则每过“ 256 一 x”个机器周期,定时器T1就会产生一次溢出。为 了避免因溢出而引起中断,此时应禁止 T1
44、中断。系统晶振频率选为11.0592MHZ就是为了使初值为整数,从而产生精确的波特率。 如果串行通信选用很低的波特率, 可将定时器 Tl 置于工作方式 0或工作方式 1, 但在这种情况下, T1 溢出时,需用中断服务程序重装初值。中断响应时间和执 行指令时间会使波特率产生一定的误差,可用改变初值的办法加以调整。4.3 程序演示本设计主要是通过89C52单片机的串行通信端口 TX( RC7发送引脚,RX( RC6 接收引脚,手法信息,把下位机(单片机)的信息通过 RS232总线传输给上位机(PC机),上位机借助串口调试软件接手或发送信息给下位机。为了能够在计算 机端看到单片机发出的数据,我们必须
45、借助一个 WINDOW软件进行观察,这里我 们主要使用串口调试软件做演示工具, 所谓串口调试软件是指: 1.用于串口调试, 支持常用的 110-25600 波特率,能设置端口参数; 2能以字符或十六进制收发数 据,真正支持中文字符的收发; 3.支持文件数据的发送; 4.允许设置发送周期, 自动发送数据; 5. 绿色软件,不需安装。总结我所做的是单片机通信协议设计, 从开学初我就开始准备。 毕业设计完成了, 达到了预期的目的。 一开始拿到这个题目的时候, 真不知道从哪下手, 在老师的 指导下,自己找资料、看书,总算完成了。通过这次的毕业设计,使我对单片机 有了更深的认识, 从理论和实践上都得到了很大的提高, 所以这次任务的完成是 我学到了很多东西。首先,丰富了自己的知识面,学到了以前没能学通的东西, 具体了解了怎样去完成一个电路的设计:从流程图、电路图、焊接电路板、检查 电路板、仿真到烧片一整套东西。从毕业设计中,学到了单片机AT89C51的部结 构及其工作原理, 了解了时钟电路和控制电路的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年联通云赛道试题库及答案
- 2025年度共享出行个人司机雇佣管理协议4篇
- 委托居间合同范本模板
- 2025年度环保建筑材料ROHS检测与质量监控协议3篇
- 二零二五年度车辆租赁合同(含司机培训及考核)4篇
- 绿色照明引领未来学校教室健康照明战略
- 2025年度住宅小区地下车库车位产权转让及维修保养合同3篇
- 2025年度人工智能应用开发个人外包合同模板4篇
- 二零二五年度宠物送养与领养公益合作协议3篇
- 二零二五年度宠物领养中心项目合作协议3篇
- 整式的加减单元测试题6套
- 股权架构完整
- 山东省泰安市2022年初中学业水平考试生物试题
- 注塑部质量控制标准全套
- 人教A版高中数学选择性必修第一册第二章直线和圆的方程-经典例题及配套练习题含答案解析
- 毕业设计(论文)-液体药品灌装机的设计与制造
- 银行网点服务礼仪标准培训课件
- 二年级下册数学教案 -《数一数(二)》 北师大版
- 晶体三极管资料
- 银行内部举报管理规定
- 石群邱关源电路(第1至7单元)白底课件
评论
0/150
提交评论