




免费预览已结束,剩余35页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 设 计 ( 论 文 ) 题 目 单片机与 pc 之间的串行通讯 系 (院) 计算机科学技术系 专 业 通信工程 班 级 2008 级 2 班 学生姓名 学 号 2008110311 指导教师 职 称 讲师 二一二年五月二十日 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指 导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。 尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何 其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重 要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。 作者签名: 二 年 月 日 毕业设计(论文)使用授权声明 本人完全了解滨州学院关于收集、保存、使用毕业设计(论文) 的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学 校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制 手段保存设计(论文);同意学校在不以营利为目的的前提下,建立 目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允 许他人依法合理使用。 (保密论文在解密后遵守此规定) 作者签名: 二 年 月 日 i 单片机与 pc 之间的串行通讯 摘 要 随着计算机技术的发展,特别是单片机技术的迅猛发展,单片机 被广泛应用于大量工业控制系统。单片机拥有占有空间小,价格低廉, 开发应用程序容易的优势,可用于恶劣的工业环境中,单片机的数据 采集和现场控制能力被广泛应用于分布式控制系统中。但因为单片机 的计算能力是有限的,而且用它也很难进行复杂的数据处理,因此这 就要求我们往往在具有繁多功能的控制系统中采用上,下位机系统, 单片机被使用为下位机系统采集数据和控制设备,而使用 pc 机为上位 机系统处理复杂数据和控制单片机。当今,在大量解决通信系统通信 受阻的常用方案中,通过 pc 机自带的 rs-232 串行通讯端口与外设实 现通讯这一方案备受人们的青睐。故由上知,实现单片机与 pc 机之间 的串行通讯具有重要的意义。 本论文设计详细介绍了使单片机与 pc 机之间能够进行串行通讯的 软件和硬件的实现。在硬件设计中,通过 rs-232 串行通讯端口将单片 机与 pc 机相互连接, pc 机把数据传输至单片机系统,单片机系统会 将这一传输数据显示在 led 数码管上;在软件设计中,利用 visual basic6.0 中的 mscomm 串行通讯控件来编写 pc 机的串口通讯程序。在 对此设计正确测试后,证明我们的设计能够实现单片机与 pc 机之间的 串行通讯。 关 键 词 : 单片机;串行通讯;rs-232;visual basic6.0;mscomm ii serial communication between scm and pc abstract with the development of computer technology, especially the rapid development of the scm technology, scm has been widely used in industrial control systems. the scm has the advantage of possession of a small space, low price, easy to develop applications that can be used in harsh industrial environments, data acquisition and site control capabilities of the microcontroller is widely used in distributed control systems. single-chip computing power is limited, and it is difficult to use it for complex data processing, so this is often used in the control system has a range of functions, the controller system, the microcontroller is used for the next bit machine system data acquisition and control equipment, using a pc as the host computer system to handle complex data and control scm. today, a large number of commonly used programs address communication system communication disruption, comes via a rs-232 serial communication interface with peripherals, communication of this program much people of all ages. therefore, by the sounds, the communication between the scm and pc has an important significance. the design details of this paper between the scm and pc serial communications software and hardware implementations. scm and pc through the rs-232 serial communications port in the hardware design of interconnected pc machine data transfer to the scm system, scm system will transmit data is displayed on the led digital tube; in software design, mscomm communication control in visual basic 6.0 to write the pcs serial port communication program. this design the right tests to demonstrate that our design can achieve serial communication between scm and pc. key words:scm;serial communication;rs-232;vb6.0;mscomm i 目 录 第一章 绪论 1 1.1 本课题的目的和意义 .1 1.2 本课题的国内外研究现状 .1 1.3 此次设计的工作内容 .2 第二章 串行通讯基础知识 3 2.1 串口通讯的理论基础 .3 2.1.1 并行接口与串行接口 .3 2.2 rs-232 串行通讯接口标准 .3 2.3 mscomm 串行通讯控件 4 2.3.1 mscomm 串行通讯控件处理通讯的方式 4 2.3.2 mscomm 串行通讯控件的属性 5 第三章 课题总体设计与分析 6 3.1 课题的可行性分析 .6 3.2 课题指标设计 .6 3.2.1 通讯协议的设计 .6 3.3 课题的硬件与软件的设计与分析 .6 3.4 课题功能分析 .7 第四章 串行通讯的硬件电路设计 8 4.1 单片机的选型及其简介 .8 4.2 串行接口的基本结构的认识 .8 4.3 电平转换芯片 max232 .10 4.4 电路原理图 .11 第五章 串行通讯程序设计 14 5.1 pc 机的串行通讯程序 .14 ii 5.2 单片机的串行通讯程序 .17 第六章 仿真调试与结果分析 19 6.1 protues 仿真软件简介 19 6.2 仿真结果分析 .19 结语 21 参考文献 22 致谢 23 附录 24 1 第一章 绪论 1.1 本课题的目的和意义 现代信息网络技术的一个突出特点,是使所有的设备在工业控制系统相互连接, 形成网络,在中央软件管理下,形成一个有机的整体。这种整体网络方式在现代工 业控制系统中极其具有先进性,极大提高了工业设备生产效率,也很大程度上提高 了系统的安全和可靠性。 单片机技术经过 20 多年的发展,单片机自身的一些优势被当今人们所熟知, 比如其性能稳定,成本低,功能强大等,以单片机为主的各种产品已被广泛使用。 在单片机的输入和输出控制端,除了可以直接连接到键盘和计算机的液晶显示器外, 通常都是通过串行端口和上位机 pc 实现通讯,这将能够实现远程控制。在单片机 与 pc 机相互连接共同工作的场合中,人们普遍使用基于 windows 平台的 pc 机作 为上位机,这是因为其界面友好,编程和操作相对容易,为研究单片机与 pc 机之 间的串行通讯提供了方便。故由以上两段内容得知,研究单片机与 pc 机之间的串 行通讯对于人们的生活水平的提高,工业的迅猛发展等各方面都具有重大意义。 1.2 本课题的国内外研究现状 随着科学技术的发展,单片机技术已经历了近 20 年的发展,在过去 20 年的发 展过程可以看出,凭借单片机技术开发的微处理器(mpu)和超大规模集成电路 为其发展拉动了广泛的应用范围。单片机已被广泛应用于工业控制,用以完成各项 规定任务,实现集中管理。但另外一面,由于单片机的计算能力有限,很难处理复 杂的数据,因此在具有繁多功能的控制系统中,普遍采用采用上,下位机系统,单 片机被使用为下位机系统用来采集数据和控制设备,而使用 pc 为上位机系统来处 理复杂数据和控制单片机。这两者的结合,使单片机的应用不只是限制于自动监测 或控制,而是进一步呈现出全面且多点的发展趋势,具有更好更光明的前景,是今 天电子领域的重要组成部分。 当前,在国内与国外,对于 pc 机与单片机的控制系统,人们通常把 pc 机视 为上位机,单片机则被视为下位机,在这种上下位机控制系统中,人与 pc 机之间 2 的信息交流通常是通过软件得以实现的,而单片机与 pc 机之间的信息互动则是以 串行通讯模式来维持的,由于被控对象的不同,单片机系统会对此做出相应的配置, 即配置前后向信息通道,由 pc 机对其进行监督,指挥,收集工作状态信息等。 1.3 此次设计的工作内容 标准 51 系列单片机都有串行通讯接口,其工作方式为全双工模式,通过此串 行通讯接口,可以行之有效地与 pc 机和其他单片机系统取得数据通讯,串口在单 片机系统中有着举足轻重的地位,单片机采集的实时数据正是通过串口才传输至计 算机,而计算机发布的控制命令也是经由串口方可实现对单片机系统的智能控制与 管理。串口的这种作用,使各行各业的人们可以充分享有计算机强大的数据处理和 管理功能以及单片机系统的数据采集和设备控制的优势,使系统趋于完美,强大, 工作效率更加高效。 在以上分析的基础上,本次设计的工作内容有,介绍单片机与 pc 机之间的通 信模式和 rs-232 串行通讯协议(也就是常用的串行通讯标准) ,随后设计本课题的 串行通讯软件程序和硬件,最后通过 protues 仿真软件对单片机的显示模块进行 仿真调试。 3 第二章 串行通讯基础知识 2.1 串口通讯的理论基础 当今,计算机通常都有一个或多个串行端口,如 com1,com2,com3 以上端口是外部设备和计算机之间实现数据传输和沟通的重要渠道。串行通讯是指 利用数据信号线,接地线,控制线这三种信号线来实现通讯外围设备和计算机之间 数据传输的一种通讯方式。目前,比较流行的两种接口方式就是并行接口与串行接 口。 2.1.1 并行接口与串行接口 并行接口是在同一时间内通过平行线发送 8 位数据,数据传输速率大大被提升。 但是在并行传输过程中,由于传输线路长度不断加长,会导致传输中多次发生码误, 因此,并行传输主要应用于近距离数据传输,如连接打印机的端口。目前,d 形接 头(25 针)成为并行接口的主流。 串行接口是一个标准的计算机接口,pc 机一般至少有两个串行口 com1,com2。其数据和控制信息像排队一样在传输线路上传输,所以相比较并 口,串口能够进行长距离信息传输。在各种连接器中,d 形连接器(9 针)为串行 端口使用的主要连接器 1。 因为 cpu 和接口之间通信模式为并行传输模式,接口和外设之间的通信模式 则为串行传输模式,所以要通过转换电路(通用异步收发器 uart)的转换功能, 把串口中的串行模式转换为并行模式,并行模式则转换为串行模式。 2.2 rs-232 串行通讯接口标准 rs 是 英 语 “recommendation standard”的 简 写 , 232 为 标 识 号 , 包 括 一 个 主 通 道 和 一 个 辅 助 通 道 , rs-232 是现在 pc 机和通信行业最广泛使用的串行接口, rs-232 被定义为在低速的串行通讯中增加通讯距离的单端标准,在通讯中,rs- 232 标准适合的数据传输速率限于 20000 比特/秒,rs-232 采用不平衡传输模式, 即所谓单端通讯,在 dte(数据终端设备)与 dce(数据通讯设备)之间建立接 口标准是提出并建立 rs-232 串行接口标准的最初目的,rs-232 大多采用 25 针的 4 d 形连接器,但由于在进行异步通讯时,9 个信号就已够用,因此 rs-232 还可以 采用 9 针的 d 形连接器。 rs-232 的逻辑电平,电器特性,还有一些信号线所具备的某些作用:rxd 的 说明:高电平(逻辑状态为 1)为-5v-15v,低电平(逻辑状态为 0)为 +5+15v,与之相同的还有 txd;rts 的说明:控制线,信号有效(接通,状态: on 即开启,正电压)情况下,电平为+5v+15v,信号无效情况下, (断开,状 态:off 即关闭,负电压)电平为-5v -15v,与之相同的还有 cts,dsr,dtr 及 dcd。 对于 rs-232 而言,传输电平的绝对值超过 3v 的时候,电路能够行而有效地 检查出来,范围在-5v+5v 之间或在-15v 以下或在+15v 以上的电压则被认为无 价值,因此,正常工作电压范围必须在 ( 3 15) v 之 间 4-6。 由上面所述知,rs-232 以电压的正负来表示其逻辑状态,而 ttl 则以电平的 高低来表示其逻辑状态,这两者规定有所不同。当与计算机接口或终端的 ttl 相 连时,必须变换 rs-232 与 ttl 电路这两者之间的电平和逻辑关系。 2.3 mscomm 串行通讯控件 mscomm 串行通讯控件,是由微软公司开发的一种 activex 控件,它对 windows 串行通讯编程能够起到简化作用,mscomm 串行通讯控件提供了一系列 标准通讯命令的接口,允许建立一个串行连接,可以连接到其他通讯设备(如调制 解调器) ,您还可以发送命令,交换数据,监测和应对并处理发生在通讯中的各种 错误和事件,从而可以用它来创建一个全双工的,事件驱动的,高效的,实用的通 讯程序,它提供给串行接口的应用程序发送和接收数据一种简单方法,使应用程序 实现串行通讯的作用 2,因此,通过对此控件进行编程操作,可以很容易地实现串 行通讯。 2.3.1 mscomm 串行通讯控件处理通信的方式 主要有两种通讯处理模式被 mscomm 串行通讯控件的通讯处理所采纳,它们 分别是事件驱动模式与查询模式,后者实质上仍为前者。 事件驱动模式,是一个功能强大的串口处理方式。这样,一些通讯事件可以被 mscomm 串行通讯控件的 oncomm 事件捕获并被其处理,oncomm 事件还可以用 5 来检查和处理通讯错误。在 oncomm 事件处理函数中,可以添加自己编写的代码, 这一优点,使程序反应灵敏,可靠,稳定。 查询模式,即在实现每个重要的程序功能后,用户可以检测 commevent 属 性 的 值 , 以 达 到 检 测 事 件 和 通 讯 错 误 的 目 的 , 其 实 质 仍 然 是 事 件 驱 动 模 式 8。 2.3.2 mscomm 串行通讯控件的属性 mscomm 串行通讯控件具备不少重要属性,常用属性功能如下: (1)commport 的属性:设置并返回通讯端口号; (2)input 的属性:返回并删除接收缓冲区中的数据流; (3)output 的属性:往传输缓冲区中写数据流; (4)portopen 的属性:设置且返回通讯端口的状态(开或关) ; (5)settings 的属性:设置并返回奇偶校验,波特率,停止位参数及数据位; (6)inputlen 的属性:明确被 input 属性读取的字符个数,设定 inputlen 为 0 时,则 input 属性读取缓冲区中的全部数据; (7)inputmode 的属性:明确被 input 属性读取的数据属于哪一种类型,设定 inputmode 为 cominputmodetext 时,input 属性通过一个 variant 返回文本数据, 设置为 cominputmodebinary 时,input 属性通过一个 variant 返回一个进制数为 2 的数据数组 14。 6 第三章 课题总体设计与分析 3.1 课题的可行性分析 通过网络查找与课题相关的资料,书籍,在初步研究有关课题资料后,确定课 题的硬件,软件设计能达到本课题设计的目标,课题具有可行性。 3.2 课题指标设计 3.2.1 通讯协议的设计 硬件接口:单片机输出的 ttl 电平经电平转换芯片转换成为 rs-232 信号再与 pc 机相连接;字符格式设定为 1 位起始位,8 位数据位, 1 位停止位;通信波特率 设定为 9600 比特/每秒;差错校验设定为无奇偶校验。 3.3 课题的硬件与软件的设计与分析 在对硬件电路的设计中,通过 3 线制式的数据通讯硬件,采用软件握手模式, 单片机和 pc 机的串口 3 脚(txd,rxd,gnd)相互连接,交叉连接 pc 和单片 机 txd(发送数据线)和 rxd(接收数据线) ,直接连接它们的 gnd(地线) 。这 样硬件电路设计被简化,目的实现更为容易 3,13 。但 rs-232 是用正负电压来表示 逻辑状态的,而 ttl 是以高低电平表示逻辑状态的,这两者规定有所不同,为了 能够同计算机接口或终端的 ttl 器件连接,此次设计使用 max232(电平转换芯 片)实现在 rs-232 与 ttl 电路之间进行电平和逻辑关系的变换。 软件设计涉及到两部分内容:一是利用 vb6.0 的 mscomm(串行通讯控件) 来编写 pc 机的串口通讯程序,二是对单片机的编程,则采用汇编语言(这一语言 更适于单片机的硬件)来编写通讯程序和数据处理程序。vb(visual basic)具有 简单易学,易懂,高效的优点,是一种应用软件开发工具,其设计方法面向对象, 用户界面友好,编程效率高以及强大的数据处理和驱动底层硬件功能已被大量用户 所使用,深受好评。在本设计中,使用 visual basic 来编写 pc 机的通讯程序,用 汇编语言来编写单片机程序 2。 7 3.4 课题功能分析 单片机以低空间占有率,适合的价格,稳定的性能著称,单片机的数据采集和 现场控制被广泛应用于分布式控制系统中。但因为单片机的计算能力是有限的,也 很难进行复杂的数据处理,而 pc 机能够处理复杂数据和控制单片机,所以常常结 合这两者各自具有的优势将这二者结合,由于 ttl 电平为单片机输入、输出电平, 而 rs-232 串行接口则为 pc 机的串口标准,两者电平和逻辑状态都不一致,因此 涉及到单片机与 pc 机的串行数据通讯时候,必须进行电平和逻辑状态的转换,然 后由 pc 机把通讯数据请求发出,单片机接收数据并作出反应,并在 led 数码管 上动态显示。 在不断地摸索,探究与学习中,所选课题的功能有下面几个方面: 1.确定单片机与 pc 机串行通讯的设计; 2.串行通讯接口标准采用 rs-232; 3.采用 3 线制式串行通讯硬件电路,选用 max232(电平转换芯片)转换单片 机的 ttl 电平与 rs-232 的电平; 4.pc 机的串口通讯程序采用 visual basic6.0 的 mscomm(串行通讯控件)来 编写,单片机通讯程序和数据处理程序采用适于单片机硬件系统的汇编语言 编写。 8 第四章 串行通讯的硬件电路设计 4.1 单片机的选型及其简介 采集,处理数据的能力,消耗功率低,工作时产热量低等原则来确定我们优先 选择的单片机的机型。 基于这一原则,美国公司 atmel 生产制造的 at89c51 单片机作为此次设计 的单片机机型,其具有低电压,高性能的特点,内置 4kb perom(可擦写的只读 程序存储器)和 128bytes ram(随机存取存储器) ,片上内置 8 位 cpu(中央处理 单元)和 flash 存储单元,是一种 cmos8 位微控制器芯片,具有强大的功能 7。 atmel 公司采用高密度,非易失性存储器技术生产 at89c51,兼容标准 mcs-51 指令系统,at89c51 单片机有着广阔的应用范围和市场,具备在各种控制领域中 可灵活运用的特点。 at89c51 有如下性能参数:对 mcs-51 指令系统完美兼容,具有可重擦写 flash 闪速存储器(4kb )和内部 ram(1288 字节) ,可擦写周期为一个单位(以 一千为一个单位) ,同时具有可编程 i/o 口线(32 个) ,中断优先级(2 个) ,三级 加密程序存储器(0hz-24mhz) ,中断源(6 个) ,定时/计数器(16 位,2 个) ,全 双工异步串行口(1 个) ,低功耗空闲和掉电模式,全静态操作 10。 4.2 串行接口的基本结构的认识 经串行接口,能够与外围设备进行串行通讯是单片机串行接口的作用。 at89c51 单片机由 cpu(中央处理器) ,rom (程序存储器) ,ram(数据存 储器) ,定时器,计数器,并行接口,串行接口,中断系统,数据总线,地址总线 和控制总线等构成,如图 4.1 所示,通过引脚 rxd(p3.0 串行口数据接收端)和 引脚 txd(p3.1 串行口数据发送端) ,串行接口与外围设备实现串行通讯,其引脚 配置如图 4.2 所示。 9 图 4.1 at89c51 功能框图 图 4.2 at89c51 引脚配置 串行接口是一种特殊的寻址寄存器,有两个各自独立的发送缓冲区和接收缓冲 区的物理空间,即发送缓冲器与接收缓冲器,能实现全双工通讯,这两个寄存器有 相同的地址,即 99h。把数据写入发送缓冲器,就可以发送数据,然后读出接收缓 冲器中的数据就可作为接收数据。由此可见单片机的串行数据传输原理比较简单。 10 在接收模式下,经引脚 rxd,输入串行通讯数据,构成一个从移位寄存器到 接收寄存器的双缓冲串行通讯数据接收结构,这种帧中的重叠错误不会再发生。 在发送模式下,经 txd 引脚,串行数据发出,相比接收模式,此模式下, cpu 工作积极,传输电路不需要双缓冲结构,不会出现重叠帧错误,发送数据速 率提高。 4.3 电平转换芯片 max232 max232 由 maxim 公司生产,包括一个双通道接收器 /驱动器芯片,该芯片 内部有一个电源电压转换器,输入+5 v 电源电压后可转换为 rs-232 输出电平,即 实现了 ttl 和 rs-232 的电平与逻辑状态的转换,max232 拥有简单的硬件接口, 图 4.3 所示为电平转换芯片 max232 引脚配置: 图 4.3 电平换芯片 max232 引脚配置 max232 的引脚主要为 5 个部分。进行电压匹配和电源去耦的 5 个外接电容, 11 和 10 引脚(ttl 电平的输入引脚)连接单片机的 txd 输出端口,12 和 9 引脚 (ttl 电平的输出引脚)连接单片机的 rxd 输出端口,13 和 8 引脚(两路 rs- 232 电平的输入引脚)连接 rs-232 的 txd 的输出端口,4 和 7 引脚(两路 rs-232 电平的输出引脚)连接 rs-232 的 rxd 的输出端口 1。 通过 max232 的 ttl 和 rs-232 的输入/输出端口,实现了 ttl 和 rs-232 的 11 电平与逻辑状态的转换,以下仅说明关键的各引脚的连接。连接单片机的 txd, ttl 串口输入信号的 max232 的 ttl 电平输入引脚即 max232 的 11 引脚, 连接单片机的 rxd、ttl 串口输入信号的 max232 的 ttl 电平输出引脚即 max232 的 12 引脚,连接 rs-232 的 rxd,rs-232 的串口输入信号的 max232 的 rs-232 电平输出引脚即 max232 的 14 引脚,连接 rs-232 的 txd,连接 rs- 232 的串口输出信号的 max232 的 rs-232 电平输入引脚即 max232 的 13 引脚 9。 4.4 电路原理图 本节需要做的工作有设计单片机系统,选择外围功能模块,分配 i / o 端口, 选择通讯线路,设计模拟量输入和输出电路等。 在此阶段,使用 protues 软件,该软件除具有其他 eda 工具软件的仿真功 能外,还可以模拟单片机和外围设备,小到原理图布局,代码调试,大到单片机及 外围电路设备协同仿真,都可以应用 protues 软件来完成,是当今模拟单片机和 外围设备的最佳工具,为制作硬件电路图提供方便。 左击 protues 的原理图编辑器的 isis,依次左击工具栏中的 “库”“原件 /符号” , 输入关键字至启动的窗口中,然后查询,比如查询关键字 at89c52,得 到图 4.4。 12 图 4.4 查询 at89c52 后的界面 13 遵循上面步骤,分别查询单片机 at89c51, max232,晶振等,每个部件查 询完毕后,用鼠标左击选中部件移动到编辑区的恰当的空白之处。为了连接移动结 束后的编辑区的各组成部分,再左击“终端模式”的总线,接地以及电源,得到完 整电路原理图 4.5。 图 4.5 单片机与 pc 机的串行通讯电路原理图 电路原理图中各组成部分以及部分元件的作用分别是:单片机 at89c51;复位 按钮 button,起着电路复位功能;f=12mhz(f 为频率)的晶振 crystal, f=12mhz( f 为频率)有利于设定波特率;电容 cap;电阻 res;发 光二极管 led;pc 机的串口 1com1,电平转换芯片 max232,用于统一 pc 机 xtal218 xtal119 ale30ea31psen29 rst9 p0./ad039p0.1/ad138p0.2/ad237 p0.3/ad336p0.4/ad435p0.5/ad534 p0.6/ad63p0.7/ad732 p1.01p1.2p1.23 p1.34p1.45p1.56 p1.67p1.78 p3.0/rxd10p3.1/txd1p3.2/int012 p3./int113p3.4/t014 p3.7/rd17p3.6/wr16p3.5/t115 p2.7/a1528 p2.0/a821p2.1/a92p2./a1023 p2.3/a124p2.4/a1225p2.5/a1326 p2.6/a1427 u1 at89c51program=wlwang.hex t1in1r1out12t2in10 r2out9 t1out14r1in13t2out7 r2in8 c2+4c2-5 c1+1c1-3 vs+2vs-6 u2c11uf c2 1uf c31uf c41uf 23456789 1 1.059mhz30pf30pf c7 10uf r1510 10 a02 b01 8 13 117 a24 b21 6 35 315 a46 b41 4 57 513 a68 b61 2 79 71 ce19ab/ba1 u374ls245 a02 b01 8 13 117 a24 b21 6 35 315 a46 b41 4 57 513 a68 b61 2 79 71 ce19ab/ba1 u474ls245 162 738 495 j1 con-d9f连 接 pc机 14 的 rs-232 与单片机的 ttl 之间的电平逻辑状态。 其原理是:利用 max232(电平转换芯片)的电平转换功能,实现统一单片机 的 ttl 与 pc 机的 rs-232 的电平逻辑状态。在现实中, pc 机和单片机 at89c51 上分别拥有属于 rs-232 的通讯接口和串行通讯接口,pc 机与 max232(电平转换 芯片)之间通过双头 d 型 9 针 rs-232 相互连接在一起,再把 max232 与 at89c51 单片机相连接在一起,当把以上三者连接在一起后,单片机与 pc 机之间 的串行通讯就被建立了。 从图 4.5 可以看出,硬件电路原理图由单片机 at89c51,max232(电平转换 芯片) ,pc 机串口 1com1,led (发光二级管)以及硬件电路必备的其他一些 部件(如电阻,电容等)连接在一起构成。单片机 at89c51 的 11 引脚 txd,10 引脚 rxd 分别与 max232 的 11 引脚 t1in,12 引脚 r1out 相互连接,max232 的 13 引脚 r1in,11 引脚 t1out 则与 rs-232 的 2 引脚,3 引脚相互连接,rs-232 的引脚 5 接于地面,在这里选定 f=12mhz(f 为频率)的 crystal(晶振) ,这是 因为 f=12mhz(f 为频率)有利于设定波特率,4 个电容(取值为 1f/50v)作为 max232 外部电路部件,图中 led(发光二级管)可显示文字,图像,数字 0-9, 字母 af, led(发光二极管)的电流大小 i=5 毫安培,电势大小为 u=2 伏特, 其电阻大小为 600 欧姆,与 led(发光二级管)管脚相连接的是两个 74ls245 芯 片,即它们一种比较常用 led(发光二级管)驱动芯片,能进行双方向的数据传送, 是一种 8 路同相三态双向总线收发器,常常用它来驱动 led(发光二级管) ,另外 一些设备等,74ls245(u3 部分)的引脚 b0b7 分别相应与 led(发光二级管) 的管脚 adp 相连,引脚 a0a7 则对应与单片机 at89c51 的引脚 2128 相连, 另一个 74ls245(u4 部分)的引脚 b0b5 依次与 led(发光二级管)的管脚 61 相连,引脚 a0a5 则与单片机 at89c51 的引脚 3239 对应相连,图中左 下角部分是单片机外围电路,包括晶振电路以及复位电路,该复位电路在工作的时 侯能够引导单片机的复位,启动单片机时,单片机的引脚 rst 处于高电平状态, 同时,c7 (电容)得以充电,致使 rst 高电平缓缓变为低电平,crystal(晶振) 为 12mhz 时, c7 电容值取 10f,单片机的两个引脚 xtal1 和 xtal2 外接的是 f=12mhz(f 为频率)的晶振电路,这是因为 f=12mhz 有利于设定波特率,晶振 电路中的两个 30pf 的电容具有稳定晶体电路频率和迅速使晶体电路起振的作用 11-13。 15 16 第五章 串行通讯程序设计 5.1 pc 机的串行通讯程序 只有硬件而无软件支持的的单片机系统无法正常工作,必须拥有软件实现驱动 与控制,方可作为一个整体运作。汇编语言经常被用于单片机系统的软件设计,这 是因为其更接近于单片机的硬件,pc 机的软件则常常应用 visual basic 来编写。 pc 机的串行通讯程序设计包括创建项目文件,加入 mscomm(串口通讯控件), 设计窗体界面三方面。 首先创建项目文件,双击 vb6.0 的应用程序图标后,出现 vb6.0 窗口,并随 后紧接着弹出名为 new project 的对话框,如图 5.1 所示,在出现的对话框中选择 左上角的带有 new 字样的选项卡,双击 new 下面的 standard.exe,程序开发窗口 被建立,选择 file 中下拉菜单中的 save project 选项,保存文件。 图 5.1 创建项目文件 17 然后再添加 mscomm(串行通讯控件),首先将 mscomm(串行通讯控件)添 加到控件工具栏上,在控件工具栏上,点击鼠标右键,这时出现对话框,选择对话 框中的 components,出现名为 components 的对话框,如图 5.2 所示,点击 components 对话框中的 controls 选项,选择 microsoft comm control 6.0(鼠标右 击小方框,打钩) ,再右击对话框下面的确定选项把 mscomm(串行通讯控件)添 加至控件工具栏。 18 图 5.2 加入 mscomm(串行通讯控件) 最后进行窗体界面的设计,窗体具有初始化应用程序,设置串行端口,输入各 种发送数据,表明当前使用的通讯端口及各通讯端口的信息等功能,将需要的控件 添加至窗体中,可看到图 5.3 所示的窗体界面。图 5.4 所示为单片机与 pc 机串口 通讯应用界面的程序流程图。 图 5.3 加入 mscomm 控件后的窗体 19 图 5.4 应用界面代码程序流程图 5.2 单片机的串行通讯程序 pc 通信和数据动态显示,都需要单片机程序来完成,在此课题设计中,使用 protues 集成开发环境,单片机串行通讯程序设计则使用更加接近于硬件电路的 汇编语言来完成,应该使程序具备的功能是:单片机接收数据并显示于数码管和 led 灯上,一方面,显示数据,另一方面,还发送数据。实现单片机的串行通讯 的汇编语言程序如下: org 0000 ajmp main org 0100h main: mov sp, #06h mov scon,#50h /8 位 uart(1 start ,8 data ,1 stop),允许接受 mov tmod,#20h /t1 工作方式 2 mov th1, #0fdh mov tl1, #0fdh 应答 超时 开始 准备发送数据 数据完整性验证 设置打开串行端口 应答? 发送通讯 发送数据 通讯结束 20 setb tr1 key: mov a, #0ffh mov p0, a mov a, p0 jnb acc.0, key0 jnb acc.1, key1 ajmp main key0: mov p1, #0ffh k0: jb ri,kk /是否接收到数据,有则跳至 kk sjmp k0 kk: mov a,sbuf /将接收到的数据保存到累加器 mov p1,a /输出至 p1 clr ri /清除 ri sjmp k0 ret key1: mov p2, #0ffh k01: jb ri,kk1 /是否接收到数据,有则跳至 kk sjmp k01 kk1: mov a,sbuf /将接收到的数据保存到累加器 mov p2,a /输出至 p2 clr ri /清除 ri sjmp k0 ret end 21 第六章 仿真调试与结果分析 6.1 protues 仿真软件简介 protues 是一种 eda 工具,由英国的 labcenter 电子公司发行。该软件除具 有其他 eda 工具软件的仿真功能外,还可以模拟单片机和外围设备,是当今模拟 单片机和外围设备的最佳工具。protues 软件在全世界范围内都很有名,小到原 理图布局,代码调试,大到单片机及外围电路设备协同仿真,1 键开关的 pcb 设计, 方便快捷,真正实现从概念理解到实际产品的飞跃,目前世界上也仅有此款软件能 够做到把电路设备仿真软件,pcb 设计软件及虚拟仿真软件三者合为一体。在编译 时,它也是兼容各种各样的编译器,如 iar,mplab 等编译器 15。 6.2 仿真结果分析 先进行 pc 机的串行通讯仿真分析,首先点击 “开始 ”按钮,pc 机的串行通 讯界面启动,在“发送数据”文本框中输入要发送的数字或数字串(串长度限于 16 以内) ,然后点击文本框后面的“发送”选项,最后右击界面最下面退出选项, 界面关闭。若上述步骤都能正常完成,说明 pc 的串行通讯程序被正常执行。如图 6.1 所示: 图 6.1 pc 机的串行通讯程序运行结果 22 然后再进行单片机的串行通讯仿真分析,利用 protues 仿真软件,能对单片 机实现仿真测试,为了正常显示单片机系统仿真结果,在初始化显示缓冲区前和后, 添加附录中最后面的测试程序。修改 mov datanum3 处的数值 3(1 到 16 之间任 一个数) ,以观察不同数量的数据显示结果,这里用三个数据作为例子,左击鼠标 勾选仿真器设置目标文件生成.hex 文件,然后用 wave 对源程序进行编辑与编 译,完成编译后,下载.hex 文件至 at89c51,左击 play 选项,经过一段时间后, 前后分别得到图 6.2 和图 6.3 的仿真结果。从最后的结果来看,设计的单片机系统 可以动态显示接收到的数据,实现了单片机与 pc 机之间的串行通讯。 图 6.2 开始时的仿真结果图 图 6.3 一段时间后的仿真结果 xtal218xtal119 ale30ea31psen29 rst9 p0./ad039p0.1/a138p0.2/ad237p0.3/a336 p0.4/ad435p0.5/a534p0.6/ad63p0.7/a732 p1.01p1.2p1.23p1.34 p1.45p1.56p1.67p1.78 p3.0/rxd10p3.1/tx1p3.2/int012p3./it113 p3.4/t014p3.7/rd17p3.6/w16p3.5/t115 p2.7/a1528 p2.0/a821p2.1/a92p2./a1023p2.3/a124 p2.4/a1225p2.5/a1326p2.6/a1427 u1 at89c51program=wlwang.hex t1in1r1out12t2in10r2out9t1out14r1in13t2out7r2in8 c2+4c2-5 c1+1c1-3 vs+2vs-6 u2c11uf c21ufc31uf c41uf 23456789 1 1.059mhz30pf30pf c710uf r1510 10 a02 b0181 3 117 a24 b2163 5 315 a46 b4145 7 513 a68 b6127 9 71 ce19ab/a1 u374ls245 a02 b0181 3 117 a24 b2163 5 315 a46 b4145 7 513 a68 b6127 9 71 ce19ab/a1 u474ls245 1627 3849 5j1 con-d9f连 接 pc机 xtal218xtal119 ale30ea31psen29 rst9 p0./ad039p0.1/a138p0.2/ad237p0.3/a336 p0.4/ad435p0.5/a534p0.6/ad63p0.7/a732 p1.01p1.21.231.34 p1.45p1.56p1.67p1.78 p3.0/rxd10p3.1/tx1p3.2/int012p3./it113 3.4/t1437r136w1635t15 p2.7/a1528 p2.0/a821p2.1/a92p2./a1023p2.3/a124 p2.4/a1225p2.5/a1326p2.6/a1427 u1 at89c51program=wlwang.hex t1inr1out1t2in10rout9t1out4r1in13t2out7r2in8 c+4c2-5 c+1c1-3 vs+2vs-6 u2c11uf c21ufc31uf c41uf 23456789 1 1.059mhz30pf30pf c710uf r1510 10 a02 b0181 3 117 a24 b2163 5 315 a46 b4145 7 513 a68 b6127 9 71 ce19ab/a1 u374ls245 a02 b0181 3 117 a24 b2163 5 315 a46 b4145 7 513 a68 b6127 9 71 ce19ab/a1 u474ls245 1627 3849 5j1 con-d9f连 接 pc机 23 结论 本次论文设计详细明了地论述与设计了单片机与 pc 机之间的串行通讯,单片 机采用 at89c51,它是一种 4kb 的 fperomflash programmable 和 erasable read only memory(闪烁可擦除可编程只读存储器) ,具有低电压,高性能的优点, 同时也是一种 cmos 8 位微处理器。该器件采用 atmel 公司的高密度非易失性存 储器技术制造的,兼容工业标准 mcs-51 指令集和输出管脚。at89c51 工作效率 极高,因此其使用前景是相当广泛和光明,正因为如此,我们需要了解它与 pc 机 的通信。 主要讨论的内容归纳如下: 1.单片机在现实生活中的使用情况和在某些环境领域的应用,市场前景和未来 发展趋势,也对整体设计有所介绍。 2.详细概述单片机的功能,应用及特性,各部件的发展,使每个部件工作原理 都可以被人们理解,这样方便读者一目了然,使读者更容易明白单片机与 pc 之间 串行通信的原理。 3.描述并对软件,程序流程,rs-232 通信协议,波特率计算软件等方面进行 了设计,这样有利于整个设计的汇编阶段。最后,使用汇编语言进入实际应用的开 发阶段。 当然,这种设计有一个很大的问题,例如功能,是相对简单和容易出错的,这 些问题我们会在今后的工作中继续改善。 拿到毕业设计题目后,经过几个月紧张学习与探索,我用了一些简单的步骤来 对此设计进行测试,证明了本次设计的稳定性和实用性。在设计过程中,我意识到, 知识是无边的,我目前掌握的本科的一些知识是那么的不够用,需要我学习的知识 还有很多很多,这几个月的过程中,我深深地体会到对我们的专业方向,我必须好 好去学习探索,不断提高自身知识储备。 24 参考文献 1张刚毅,彭喜元.单片机原理及接口技术m. 北京: 人民邮电出版社,2008,9-118. 2李长林.visual basic 串口通信技术与典型实例m.北京:清华大学出版社,2006.4. 3易志
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙合同协议书
- 2024-2025学年新教材高中历史 第一单元 古代文明的产生与发展 第2课 古代世界的帝国与文明的交流(1)教学说课稿 新人教版必修《中外历史纲要(下)》
- 第2课 事半功倍有技巧-特殊输入 说课稿 -2024-2025学年辽师大版(2015)信息技术七年级上册
- 中医考试题库及答案软件
- 河南省青桐鸣2025-2026学年高二上学期9月大联考历史试卷(含答案)
- 商场电商平台合作及数据共享合同
- 绿色建筑项目结算付款与环保协议
- 媒体机构新员工入职内容创作与版权归属合同
- 股权激励计划实施与员工股权转让全面合作协议
- 担保公司业务合规管理合同
- 新《全面质量管理(习题集)》考试题库(含答案)
- 农村建房的邻居协议书模板
- 生物质压缩成型工艺与实践考核试卷
- 【物业分享】神秘顾客(交付项目物业服务体验)调查评分表
- 铝合金门窗来料加工合同范本
- 水杨酸软膏剂的制备
- MSA分析报告样本
- 基础应用化学(高职)全套教学课件
- 《铁皮石斛的介绍》课件
- 低压配电柜技术规范书
- 《隐身技术概述》课件
评论
0/150
提交评论