




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中 北 大 学 2013 届 毕 业 设 计 说 明 书第 1 页 共 53 页1电子秤软件设计摘要:秤是最普遍、最普及的计量设备,电子秤取代机械秤是科学技术发展的必然规律。低成本、高智能化的电子秤无疑具有及其广阔的市场前景。电子秤集机、电、仪于一体,具有多功能、高精度、快速和动态计量、稳定可靠等特征,代表了衡器产品发展的方向。现代商业系统要求它能提供各种销售信息,把称重与管理自动化紧密结合,使称重、计价、进库、销售管理一体化,实现管理自动化。这就要求电子计价秤能与电子计算机联网,把称重系统与计算机系统组成一个完整的综合控制系统,为现代商业贸易物流的高效率发展提供强有力的支持。基于以上需要,本文设计了一种利用MCS-51单片机制作的电子秤与PC机数据通信的程序,通过使用VB制作了重量数据采集系统,可在PC机上直观的观察和分析电子秤所采集到的重量信息,并将此信息存储到数据库,方便查阅。文中测重主程序使用Proteus与Keil软件进行仿真,串口通信程序也可通过Proteus、Keil和VB三个软件联机仿真,总体仿真效果基本满意。关键词: 电子秤,MCS-51 单片机,软件设计,串口通信,VB 语言,C 语言中 北 大 学 2013 届 毕 业 设 计 说 明 书第 2 页 共 53 页2Electronic scale software designAbstract: The scale is most universal, the most popular rationing equipment, the electronic scale substitution mechanical scale is the scientific technological advance inexorable law. The low cost, the high intellectualizations electronic scale has and the broad market prospect without doubt. The electronic scale collection machine, the electricity, the meter in a body, have multi-purpose, the high accuracy, fast and the dynamic measurement, stable reliable and so on characteristics, has represented the weighing apparatus product development direction. The modern commercial system requests it to be able to supply each kind of sales message, the weighing and the management automation close union, causes the weighing, the valuation, to enter the storehouse, the sales management integration, realizes the management automation. This request electron valuation scale can with the electronic accounting machine networking, composes the weighing system and the computer system a complete integrated control system, provides the powerful support for the modern commercial trade physical distributions high efficiency development.Based on above need, this article has designed one kind the electronic scale which and the PC machine data communication procedure manufactures using the MCS-51 monolithic integrated circuit, through used VB to manufacture the weight data acquisition system, may weight information which gathered on the PC machine direct-viewing observation and the analysis electronic scale, and this information storage database, facilitated the consult. In the article measured that the heavy master routine uses Proteus and the Keil software carries on the simulation, the serial port signal procedure may also through Protues, Keil and the VB three software on-line simulations, the overall simulation effect satisfies basically. Key words: Electronic scale, MCS-51 monolithic integrated circuit, software design, serial port correspondence, VB language, C language中 北 大 学 2013 届 毕 业 设 计 说 明 书第 3 页 共 53 页3目录1 引言 .111 课题研究背景 .112 称重技术和衡器的发展 .213 我国电子秤的发展现状 .22 软件设计的原理和思路 .521 软件设计总思路 .522 软件设计分部思路 .52.2.1 软件设计上位机(PC 机)部分 .62.2.2 软件设计下位机(单片机)部分 .93 电子秤软件设计所使用的各类软件介绍 .1431 Proteus 软件 .143.1.1 为什么选择 Proteus 软件 .143.1.2 Proteus 软件详细介绍 .1532 Keil 软件 .163.2.2 Keil 软件综述 .173.2.3 Keil C51 单片机软件开发系统的整体结构 .173.2.4 如何正确使用 Keil 软件 .1833 Visual Basic 软件开发工具 .193.3.1 Visual Basic 的特点 .203.3.2 Visual Basic 的语言特性 .213.3.3 Visual Basic 6.0 软件的主要功能介绍 .2234 串口调试助手 .244 总结 .25附录 A 上位机(PC 机)设计程序清单及部分注释 .26参 考 文 献 .47中 北 大 学 2013 届 毕 业 设 计 说 明 书第 4 页 共 53 页41 引言11 课题研究背景现代社会的发展,对称重技术提出了更高的要求。目前,台式电子秤在商业贸易中的使用已相当普遍,但存在较大的局限性:体积大、成本高、需要工频交流电源供应、携带不便、应用场所受到制约。现有的便携秤为杆秤或以弹簧压缩、拉伸变形来实现计量的弹簧秤,居民用户使用的是国家已经明令淘汰的杆秤。多年来,人们一直期待测量准确、携带方便、价格低廉的便携式电子秤投放市场 1。质量是测量领域中的一个重要参数,称重技术自古以来就被人们所重视。公元前,人们为了对货物交换量进行估计,起初采用木材或陶土制作的容器对交换货物进行计量。以后,又采用简单的秤来测定质量。据考证,世界上最古老的计量器具出土于中东和埃及,最古老的衡器和砝码出自于埃及。秤是最普遍、最普及的计量设备,电子秤取代机械秤是科学技术发展的必然规律。低成本、高智能化的电子秤无疑具有及其广阔的市场前景 2。12 称重技术和衡器的发展衡器是通过作用于被测量物体的重力来确定该物体质量的计量器具。在整个衡器的发展过程中,先后主要出现了六种类型的衡器:架盘天平、不等臂平台秤、吊车秤、倾斜象限杆秤、弹簧秤和自动秤。其中,不等臂平台秤(“十进制” )是当今动态轨道衡的鼻祖,至今它仍是最通用的一种秤 3。第一次世界大战后,由于金融贸易和工业发展的需要,急需能进行快速称量的衡器。机械式衡器在此期间得到很大的发展。当时以倾斜杠杆案称占绝大多数,读数装置除扇形度盘外,还有滚筒形度盘,从而扩大了读数范围并可附加价格标尺。以后又出现了用于工业的带双摆锤测量机构的圆形度盘指针式秤和成本低廉、带投影标尺的倾斜式杠杆秤 4。第二次世界大战后出现了电子衡器,它主要由称重显示控制器、称重传感器和电器控制等部分组成,其发展过程与其它事物一样,经历了由简单到复杂、由粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程 5。近 30 年以来,工艺流程中的现场称量、配料定量称重、以及产品质量的监测中 北 大 学 2013 届 毕 业 设 计 说 明 书第 5 页 共 53 页5等工作,都离不开能输出电信号的电子衡器。这是因为电子衡器不仅能给出质量或重量值的信号,而且也能作为总系统中的一个单元承担着控制和检验功能,从而推进工业生产和贸易交往的自动化和合理化。电子衡器具有反应速度快、测量范围广、应用面广、结构简单、使用操作方便、信号远传、便于计算机控制等特点,计量精度高,而且实现了多功能、多用途。电子衡器已被广泛应用于各个行业,近年来愈来愈多地参与到数据处理和过程控制之中,使现代称重技术和数据系统成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可缺少的组成部分 6。1.3 我国电子秤的发展现状电子秤是载于秤的台座、盘、钩上的物品的重量由传感器蠕变反应平衡,而由仪器数字显示的电子衡器。电子秤集机、电、仪于一体,具有多功能、高精度、快速和动态计量、稳定可靠等特征,代表了衡器产品发展的方向。电子秤属于日用衡器,为劳动密集型产品 7。电子秤产品总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性 8。目前我国产品标准中列入的十大类衡器(案秤、台秤、地上衡、地中衡、吊称、皮带秤、料斗秤、检验秤、轨道衡和特种秤)均已实现了电子化。据近期统计,工业用衡器(按销售量统计)中的电子产品已占三分之二左右,技术水平比较成熟的静态衡器的计量范围可以从 1g 到 800t,部分非自动衡器(如电子计价秤、电子台秤、电子地上衡、电子皮带秤、电子吊秤和电子轨道衡等)已达到国际九十年代初期水平,有的产品达到了九十年代中期水平;由于近十年来电子技术的迅速发展,商用衡器的加工能力迅速增长,产品成本大幅度降低,市场稳步发展。现在,电子计量称重技术已越来越多地应用于工业生产过程控制中,电子衡器的功能及应用拓展到更广泛领域。随着我国加入 WTO 组织,经济市场的开放度加大,一批具有国际先进水平的衡器产品和技术(如定量包装秤、自动重量检测秤、标签计价秤、电脑组合秤、耐压式计量给煤机等,以及应变计、称重传感器、称重显示器生产技术)进入我国,这对电子秤的进一步普及和提高必将产中 北 大 学 2013 届 毕 业 设 计 说 明 书第 6 页 共 53 页6生积极的、巨大的影响 9。14 电子秤软件设计实现的意义电子秤软件的设计,它主要由电源、称重传感器、单片机、LCD 显示器等部分构成。新型便携式电子秤体积小、计量准确、携带方便、操作简单、称量速度快,能够满足商业贸易和居民家庭的使用需求,具有广阔的应用前景 10。电子称重技术的发展规律就是不断的加强基础研究并扩大应用,扩展新技术领域,向相邻学科和行业渗透,综合各种技术方法解决称重计量、自动控制、信息处理等问题。对某些商用电子计价秤而言,只具备称重、计价、显示、打印功能还远远不够,现代商业系统还要求它能提供各种销售信息,把称重与管理自动化紧密结合,使称重、计价、进库、销售管理一体化,实现管理自动化。这就要求电子计价秤能与电子计算机联网,把称重系统与计算机系统组成一个完整的综合控制系统,为现代商业贸易物流的高效率发展提供强有力的支持 11。本课题要求针对电子秤硬件电路进行软件设计,任务要求如下:1、测量对象:压力;2、对压力进行测量并能实时显示;3、当压力超限时,能声音报警。中 北 大 学 2013 届 毕 业 设 计 说 明 书第 7 页 共 53 页72 软件设计的原理和思路21 软件设计总思路软件设计的总体思想是,根据预先编制的程序对测量进行控制,软件设计采用模块化结构。根据仪器的设定功能,将软件划分为若干个功能相对独立的模块,主要有仪器主程序、系统初始化、中断控制、重量读取、LCD 显示、单片机与 PC机串口通信模块。在上位机(PC 机)部分,通过 VB 软件进行串口调试,实现并显示最终结果。下位机部分,我应用了 Keil 软件进行编程调试,并将程序导入proteus 仿真,在 proteus 中,程序将指导其进行仿真并最终显示结果。图 2.1 软件设计思路22 软件设计分部思路电子秤软件设计包括两大部分,上位机(PC 机)和下位机(单片机) 。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如 IEEE488 定义并行通行状态时,规定设备线总长不得超过 20 米,并且任意两个设备间的长度不得超过 2 米;而对于串口而言,长度可达 1200 米。典型地,串口用于 ASCII 码字符的传输。通信使用 3 根线完成:地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配 14。中 北 大 学 2013 届 毕 业 设 计 说 明 书第 8 页 共 53 页8(1)波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的 bit 的个数。例如 300 波特表示每秒钟发送 300 个 bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要 4800 波特率,那么时钟是 4800Hz。这意味着串口通信在数据线上的采样率为 4800Hz。通常电话线的波特率为 14400,28800 和 36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是 GPIB 设备的通信。(2)数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是 8 位的,标准的值是 5、7 和 8 位。如何设置取决于你想传送的信息。比如,标准的 ASCII 码是 0127(7 位) 。扩展的 ASCII 码是 0255(8位) 。如果数据使用简单的文本(标准 ASCII 码) ,那么每个数据包使用 7 位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包” 指任何通信的情况。(3)停止位:用于表示单个包的最后一位。典型的值为 1,1.5 和 2 位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。(4)奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位) ,用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是 011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位 1,这样就有 3 个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步15。2.2.1 软件设计上位机(PC 机)部分上位机程序的编写是通过 Visual Basic 6.0 软件实现的。Visual Basic 6.0 以其强大的功能、使用简单、能在短时间内开发出高效的通信程序而成为 Windows 系统开发的主要编程语言。首先表现在 VB 可直接使用户自定义控件 VBX 或 OCX中 北 大 学 2013 届 毕 业 设 计 说 明 书第 9 页 共 53 页9文件;其次表现在 VB 可通过调用动态链接库(DLL,dynamic link library)来加快应用程序关键部分的执行速度。利用 VB 提供的这些功能可方便地完成程序设计,本设计将利用 VB6.0 通信控件 Mscomm .vbx 及其编程方法,编写计算机与单片机进行数据通信的基本程序。 VB 提供的通信控件 Mscomm32.ocx,使用前只需从 Project 菜单下的Components 中选择 Microsoft Comm Control6.0 把 Mscomm32.ocx 控件调入工具框中即可使用。利用该控件可对串行通信的数据发送和接收进行设置,还可对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以通过触发OnComm 事件来追踪、处理通信和错误事件的发生。由于每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件 16。通信控件 Mscomm32.ocx 提供了两种处理通信的方法:(1)事件驱动方式 它是一种功能很强的处理串行通信问题的方法,在实际工作中,往往要处理许多通信中的相关事件,可通过对 OnComm 属性值进行编程来处理,它也包括检测和处理通信错误等方面的问题,CommEvent 值返回最近的通信事件或错误的数字代码 17。(2)查询方式 在每个重要的程序功能之后检查 CommEvent 属性值来检测事件和通信错误。这种方式常用于应用程序较简单和相对独立的应用程序设计中。通信控件的基本属性为支持串行通信的实现,VB6.0 中 Mscomm 控件提供了众多的串行通信属性,主要有:CommPort:设置和返回 PC 机串行端口号;Settings:初始化传输波特率、奇偶校验位、数据位宽度和停止位宽度;Input:从输入缓冲区中读取数据;InputLen:输入缓冲区数据长度;InputMode:输入模式, ASCII 字符或二进制数据;Output:将数据写入输出缓冲区;InBufferSize:设置并返回接收缓冲区的字节数;中 北 大 学 2013 届 毕 业 设 计 说 明 书第 10 页 共 53 页10OutBufferSize:设置并返回输出缓冲区的字节数;PortOpen:布尔型,用于打开或关闭串行通信端口;OnComm:在发生通讯事件或错误时,将触发 OnComm 事件,CommEvent 属性值将被改变;Rthreshold:引发接收事件的字节数,为 0 时不引发接收事件;Sthreshold:引发发送事件的字节数,为 0 时不引发发送事件。以下程序分别是获取重量、显示重量和绘制曲线的重要程序。获取重量测量值并显示每发送一次指令,触发下面事件,返回数据串Private Sub MSComm1_OnComm()Dim Inbyte() As ByteDim buffer As StringDim datatemp2a, datatemp2b As StringDim datatemp2 As StringIf num 199 Then Call renew读取仪表返回数据串Select Case MSComm1.CommEventCase comEvReceiveInbyte = MSComm1.InputFor i = LBound(Inbyte) To UBound(Inbyte)buffer = buffer + Hex(Inbyte(i) + Chr(32)Next iCase comEvSendEnd Select显示测量重量值If datatemp(num) 0 ThenGrid.Col = 1: Grid.Row = num + 1Grid.Text = Format$(datatemp(num), 000)TempText = Format$(datatemp(num), 000) 10 进制显示,保留一位小数中 北 大 学 2013 届 毕 业 设 计 说 明 书第 11 页 共 53 页11Text2.Text = datatemp2 16 进制显示num = num + 1图 2.1 上位机(PC 机)通信界面中 北 大 学 2013 届 毕 业 设 计 说 明 书第 12 页 共 53 页12图 2.2 上位机串口程序原理图2.2.2 软件设计下位机(单片机)部分下位机程序部分是用 C 语言编写的。C 语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到 C 语言,具体应用比如单片机以及嵌入式系统开发。编写本部分程序是利用 Keil 软件进行的,图 2.2 就是 Keil C51 集成开发环境。中 北 大 学 2013 届 毕 业 设 计 说 明 书第 13 页 共 53 页13图 2.2 Keil C51 集成开发环境C 语言具有如下五大特点:(1)C 是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。(2)C 是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(3)C 语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外 C 语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。(4)C 语言适用范围大。适合于多种操作系统,如 Windows、DOS 、UNIX 等等;也适用于多种机型。(5)C 语言文件由数据序列组成,可以构成二进制文件或文本文件。中 北 大 学 2013 届 毕 业 设 计 说 明 书第 14 页 共 53 页14结构化程序就是用高级语言表示的结构化算法。结构化程序设计的思路是,把复杂问题分解成一些容易理解和处理的小问题,而这些小问题在结构安排上、组合层次上都有自己的准确定位,每一个小问题的解决都为这一复杂问题的解决服务。如何合理地在算法上这些小问题加以考虑和在结构上作正确的安排是解决复杂问题必须面对的关键问题 18。解决复杂问题首先应该进行模块的划分,把一个较大的问题划分为若干个功能模块,每一个功能模块相对独立;每一个模块又可继续划分为更小的模块。经过模块划分后,会使得程序具有一种层次结构。现阶段,模块化程序设计主要有以下两种设计方法。1、自顶向下自顶向下程序设计是先设计第一层(即顶层),然后步步深入,逐层细分,逐步求精,直到整个问题可用程序设计语言明确地描述出来为止。(1)步骤:首先对问题进行仔细分析,确定其输入、输出数据,写出程序运行的主要过程和任务;然后从大的功能方面把一个问题的解决过程分成几个问题,每个子问题形成一个模块。(2)特点:先整体后局部,先抽象后具体。2、自底向上自底向上程序设计是先设计底层,最后设计顶层。(1)优点:由表及里、由浅入深地解决问题。(2)不足:在逐步细化的过程中,可能发现原来的分解细化不够完善。程序设计的步骤可简单概括如下。(1)分析问题。对于待解决的问题,通过分析,明确题目的要求,列出所有已知量、未知量,找出题目的求解范围、解的精度等。(2)建立数学模型。对实际问题进行分析之后,找出它的内在规律,就可以建立数学模型。只有建立了模型的问题,才有可能利用计算机来解决。(3)确定算法。建立数学模型后,还不能着手编程序,必须根据数据结构,设计问题的算法。中 北 大 学 2013 届 毕 业 设 计 说 明 书第 15 页 共 53 页15一般设计算法要注意:算法的逻辑结构尽可能简单;除了要满足算法的基本要求外,还应注意以下问题。算法所要求的存储量应尽可能地少。避免不必要的循环,减少算法的执行时间。在满足题目条件要求下,使所需的计算量最小。(4)编写程序。把整个程序看作一个整体,先全局后局部,自顶向下,一层一层分解处理,如果某些问题的算法相同而仅参数不同,可以用模块化的方式来实现。(5)调试运行。(6)分析结果。(7)写出程序的文档。文档主要是对程序中的变量、函数或过程作必要的说明,解释编程思路,画出程序流程图,讨论运行结果等。面对一项复杂的任务,通常采取模块化的解决方法。首先,分解该复杂任务成几个大的功能模块,根据需要还可以继续细分,直到分解成一个个功能独立的模块为止。分解的结果可以描述为一棵倒立的大树,其中大任务类似于树根,中间层的小任务类似于树枝,最小的小任务类似于树叶。其次,对最小的模块单独编写程序代码并调试。最后,把这些最小的模块按原来分解的逆序组合成最初的大任务。模块化解决问题的实际方法可简单描述为拆分编码组装。这样做可以使复杂问题简单化,同时可以达到程序结构清晰、层次分明、程序便于编写、便于维护的目的。任务中模块的功能可以用高级语言的子程序或函数来实现19。函数是构成 C 语言程序的基本功能模块,它完成一项相对独立的任务。一个C 语言程序是若干函数构成的,在构成 C 程序的诸多函数中有且只有一个主函数。函数是程序的最小组成单位。所有函数之间的关系式平行的,没有从属的概念。函数的平行关系使得函数的编写相对独立,便于模块化程序设计的实现。C 程序的执行总是从主函数开始,又从主函数结束,其他函数只有通过调用中 北 大 学 2013 届 毕 业 设 计 说 明 书第 16 页 共 53 页16关系发生作用。在主函数执行的过程中直接或间接调用其他函数,并将程序的执行控制权交给被调函数,调用结束后,继续执行主函数直到结束,才能结束整个程序的执行过程。C 语言规定只允许主函数调用其他函数,反之不能。函数之间可以互相调用,同一函数可以调用多个函数,一个函数也可以被多个函数调用,函数也可以自己调用自己 20。随着结构化程序设计方法的发展和广泛的应用,模块化设计方法逐步成为结构化程序设计方法的主流。模块化设计方法的主要思想是将整个软件系统分解成若干个功能相对独立的模块,这些功能模块可以单独命名、单独设计、单独编程和调试。下位机(单片机)程序主要包括系统初始化、中断控制、重量读取、LCD 显示、单片机与 PC 机串口通信等若干模块程序。根据要求实现的功能和设计程序的顺序,做出了如图 2.3 所示的程序流程图。开始开中断初始化LCD,串口计算重量定时 550ms读取频率软件滤波串口中断RI=0RI=1ReceiveA发送数据报警ReceiveB中 北 大 学 2013 届 毕 业 设 计 说 明 书第 17 页 共 53 页17图 2.3 程序流程图3 电子秤软件设计所使用的各类软件介绍电子秤软件设计所使用的软件有 Proteus 软件、Keil 软件、Visual Basic 软件开发工具、串口调试助手。31 Proteus 软件3.1.1 为什么选择 Proteus 软件Protues 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus 是世界上著名的 EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年即将增加 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型 21。Protues 软件具有其它 EDA 工具软件(例:multisim)的功能。这些功能是:(1)原理布图;(2)PCB 自动或人工布线;(3)SPICE 电路仿真。Protues 软件具有革命性的特点:(1)互动的电路仿真用户甚至可以实时采用诸如 RAM,ROM,键盘,马达,LED,LCD, AD/DA,部分 SPI 器件,部分 IIC 器件。(2)仿真处理器及其外围电路LCD 显示中 北 大 学 2013 届 毕 业 设 计 说 明 书第 18 页 共 53 页18可以仿真 51 系列、AVR、PIC、ARM 、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。图 3.1 就是该软件仿真环境。配合系统配置的虚拟逻辑分析仪、示波器等,Protues 建立了完备的电子设计开发环境。图 3.1 Protues 软件仿真环境3.1.2 Proteus 软件详细介绍Proteus 软件由 ISIS 和 ARES 两个软件构成,其中 ISIS 是一款便捷的电子系统仿真平台软件,并且是一个操作简便且功能强大的原理绘图工具,它整合了SPICE 的仿真模型,拥有超过 8000 个元件的庞大库结构。 ARES 是一款高级的布线编辑软件,可将 ISIS 的仿真原理图生成 PCB 版图 22。Protues 提供了丰富的资源:(1)Protues 可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有 30 多个元件库。(2)Protues 可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、 SPI 调中 北 大 学 2013 届 毕 业 设 计 说 明 书第 19 页 共 53 页19试器、I2C 调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。(3)除了现实存在的仪器外,Protues 还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。(4)Protues 可提供的调试手段 Protues 提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。Protues 在仿真方面有很强的优势,在 Protues 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在 Protues 的原理图中看到模拟的实物运行状态和过程。Protues 是单片机课堂教学的先进助手。Protues 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于 Protues 提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,计算机仿真技术已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中 Protues 也能茯得愈来愈广泛的应用。32 Keil 软件3.2.1 Keil 软件开发背景单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序中 北 大 学 2013 届 毕 业 设 计 说 明 书第 20 页 共 53 页20要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB 或更多 RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用 51系列单片机的人来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件) ,即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。3.2.2 Keil 软件综述Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用 C 来开发,体会更加深刻。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势 23。3.2.3 Keil C51 单片机软件开发系统的整体结构C51 工具包的整体结构,如图 3.2 所示,其中 uVision 是 C51 for Windows 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及A51 编译器编译生成目标文件(.OBJ)。目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件 (.ABS)。ABS 文件由 OH51转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调中 北 大 学 2013 届 毕 业 设 计 说 明 书第 21 页 共 53 页21试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。图 3.2 Keil C51 集成开发环境3.2.4 如何正确使用 Keil 软件Keil 软件支持 C 语言和汇编语言编写程序,并且成功的将编译和仿真软件统一为 Vision。Keil 提供包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:Vision IDE 集成开发环境(包括工程管理器、源程序编辑器、程序调试器) 、C51 编译器、A51 汇编器、LIB51 库管理器、BL51 连接/定位器、 OH51 目标文件生成器以及Monitor-51、RTX51 实时操作系统。应用 Keil 进行软件程序编写的主要步骤为:编写源程序并保存、建立工程并添加源文件、设置工程、编译/汇编、连接、产生目标文件、程序调试。 Keil 使用“工程”(Project )的概念,对工程进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法如下:(1)选择菜单 FileNew,在源程序编辑器中输入汇编语言或 C 语言源程序中 北 大 学 2013 届 毕 业 设 计 说 明 书第 22 页 共 53 页22(或选择 FileOpen,直接打开已用其他编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;(2)选择菜单 ProjectNew Project,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2) ;(3)工程保存后会立即弹出一个设备选择对话框,选择 CPU 后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现 “Target1”,将其前面+号展开,接着选择 Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group Source Group1”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其他文件) ;(4)加入文件后点 close 返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件;(5)对工程进行设置,通过选择工程管理窗口的 Target1,再选择 ProjectOptionfor Target Target1,打开工程属性对话框,共有 8 个选项卡,这些设置工作包括在 Target 选项卡中设置晶振频率、在 Debug 选项卡中设置实验仿真板等,如要写片,还必须在 Output 选项卡中选中“Creat Hex Fi”;其他选项卡内容一般可取默认值。工程设置结束后进行编译/汇编、连接以及产生目标文件。(6)成功编译/ 汇编、连接后,选择菜单 DebugStart/Stop Debug Session(或按Ctrl+F5 键)进入程序调试状态,Keil 提供对程序的模拟调试功能,内建一个功能强大的仿真 CPU 以模拟执行程序。Keil 能以单步执行(按 F11 或选择DebugStep) 、过程单步执行(按 F10 或选择 DebugStep Over) 、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug Inline Assambly) ,不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(DebugInsert/Remove Breakpoint 或DebugBreakpoints等) 。在模拟调试程序后,还须通过编程器将.hex 目标文件烧写入单片机中才能观察目标样机真实的运行状况。中 北 大 学 2013 届 毕 业 设 计 说 明 书第 23 页 共 53 页2333 Visual Basic 软件开发工具3.3.1 Visual Basic 的特点Visual 指的是可视化、图形化的应用程序开发方法,它不需要编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法学上课件
- 初一物理考试试题及答案
- 北京驾校考试题库及答案
- 化工产业新质生产力测评体系
- 新质生产力×文化创新:融合赋能新未来
- 新质生产力五大生产要素
- 博鳌论坛:新质生产力对话
- 职教助力新质生产力
- 农业农村新质生产力发展
- 2025年急救护理医学实战技能操作考核答案及解析
- 2025-2030中医药大健康产业链整合与投资机会分析报告
- 小学三年级上册《健康成长》全册教案教学设计
- 有机化学-药用化学基础中职PPT完整全套教学课件
- 国土空间规划概述课件
- 消费者心理学PPT完整全套教学课件
- 《新编实用英语》教学方法的探讨与研究
- 阴式子宫全切术
- 军人常见心理问题
- 某大酒店弱电智能化系统清单报价
- 2023年兴文县中医院康复医学与技术岗位招聘考试历年高频考点试题含答案解析
- 阿联酋法律体系
评论
0/150
提交评论