中国知网查重 高校在线论文查重入口

立即检测
  • 58 元/篇
    系统说明: 知网职称论文检测AMLC/SMLC是杂志社专用系统,针对投稿论文、评审论文、学校、单位职称论文的学术不端重复率检测系统。
  • 298 元/篇
    系统说明: 知网本科论文检测PMLC是最权威的大学生毕业论文检测系统,含“大学生论文联合对比库”,国内95%以上高校使用。检测结果和学校一致!
  • 498 元/篇
    系统说明: 此系统不支持验证!可用作研究生初稿检测,相比知网VIP5.3缺少“学术论文联合对比库”,检测结果有5%左右的误差!(论文中若参考往届研究生论文,重复率误差会较大)
  • 128 元/篇
    系统说明: 大分解论文检测系统,对于想检测学术不端文献检测系统,而又价格便宜的同学可以选择,限每篇2.9万字符,结果与大学生PMLC、硕博VIP定稿系统有出入!
  • 68 元/篇
    系统说明: 知网论文小分解检测系统,适合中国知网初稿查重,数据库和定稿查重不同。结果与本科PMLC,研究生VIP5.3有出入,限每篇1.4万字符!
  • 3 元/千字
    系统说明: 学术家论文重复率检测系统,支持学位论文、毕业论文、投稿论文、职称评审论文,提供全文对照,word标红报告,性价比超高!
论文方法大全-基于单片机的数字温度计系统设计
时间:2021-04-08 14:04:42

  温度计是可以准确地判断和测量温度的工具。最早的温度计是在1593年由意大利科学家伽利略(1564~1642)发明的。他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。使用时先给玻璃泡加热,然后把玻璃管插入水中。随着温度的变化,玻璃管中的水面就会上下移动,根据移动的多少就可以判定温度的变化和温度的高低。温度计有热胀冷缩的作用所以这种温度计,受外界大气压强等环境因素的影响较大,所以测量误差较大。众所周知,我们日常所见的传统温度计的功能相对而言较为单一,且使用寿命较短,精确度远远不能够满足我们实际需求。本文中所提到的数字温度计解决了上述所提到的种种问题,拓宽了使用范围,且在原有基础上更加准确,保证其实施性及高效性,本文全面分析一种基于51单片机,热敏电阻Pt100和12位串行模数转换器ADS7816的温度测量方法。从设计到整体的设计方案以及硬件软件电路设计及最终实现。最终做出的温度计的的测量和控制的范围是0到100摄氏度,而且它的精度可以达到0.1度。在温度控制模块中,分别利用PID算法和模糊控制的算法对温度进行控制。

  1.1本课题研究背景及意义

  温度是代表物体冷热程度的物理量,在日常生活中,温度是非常重要的数据,它一直在对我们的生活产生影响。在当代社会,科技高速发展,随着电子计算机技术的不断发展与应用,单片机技术在各个行业也得到了充分的利用。新型的数字式温度传感器既可以测量电信号,又可以测量温度、湿度等非电信号,在日常生活及工农业生产等许多领域,经常要用到温度的检测及控制。因此,为了使人们的生活更加方便,温度传感器也就从模拟式走向了数字式。

  随着科学技术的飞速发展,人们想要准确的测量和控制这种物理量。单片机的测量和控制是近年来出现的一种新型测控方法。提高对温度的测量和控制不仅可以提高人们的生活水平,还有就是由于当今技术的快速发展,对温度测量和控制也提出了新的要求,这对单片机控制的数字温度计的要求越来越严格。因此本文从微控制器的控制技术入手,在数字控制和智能控制的方向上进行了探讨和实践。

  温度也是工业对象中需要注意的重要参数,特别是在需要严格控温的行业中。在这些领域中,数字温度计由于其高可靠性和高精度而被广泛应用。

  在通常的生活与学习中,我们常常用到温度计,如生病时测量体温的医用水银温度计、在温室大棚种植时需要的温度计、户外活动时用的户外温度计等等。大部分早先时候的温度计都使用玻璃和水银制作的,其测量温度精确度不高而且使用单一化,比如在非典时期,我们使用大量的水银温度计来测量人体温度,它在使用中存在安全隐患、测量不方便、测量时间相对较长、读数不方便等因素,医用温度计还不能解决老年人读温度计数值的难题;温室大棚中使用的温度计不能使农户随时、直接了解室内的温度,不能急时采取有效措施控制室内的温度。此时,我们选择精度准确、读取方便的数字温度计就可以大大方便生活。无形中解决了不少隐患。

  传统温度计由于自身的问题有许多不足,这限制了它在许多方面的使用。一直以来,我们日常中所使用的普通温度计是由固体及液体热胀冷缩这一原理制造而成的,所以在使用过程中具有很大的局限性,使用范围也因此受到很大影响,例如,传统温度计的性能相对而言较为单一,且使用寿命较短,缺乏可靠性,携带不便数字温度计解决了上述所涉及到的各个问题,拓宽了其应用范围的同时,保证其最终结果的精准性及高效性。随着技术和新材料的发现,温度计的精度和类型发展非常迅速,例如热敏电阻温度计和热电偶温度计,以及新型数字温度计和电子温度计,它的原理简单,应用范围更广。本文设计的温度控制系统是一个温度测量系统。测量温度时,和传统的温度计不同的是,它的测量准确,温度输出可以显示在数码管或液晶上,因此十分方便阅读。

  1.2本课题研究现状

  温度是一个非常有用的物理量,各方面都可以用到。温度检测的方法是各式各样的,一般会涉及到以下几种类型,电阻型、热电偶型、PN结型和石英谐振型,其原理是通过热胀冷缩引起的温度变化从而导致其物理参数随之发生变化,伴随着后续科学技术的不断创新,各类新的检测原理及技术的应用,也在这一领域取得了重大的突破创新型温度传感元件也在原有基础上不断改善。

  目前,由于计算机和电子技术的快速发展,以及传感器精度水平的提高,国内外数字温度计应用的范围越来越广泛。在数字温度计的制作研究等方面十分详尽,所用的方法也各不相同。

  作为科技较为发达的美国,在这一领域有了最新突破,生产可实施单线性温度传感器芯片作为当前较为实用且高效的科技芯片,改善了以往所存在的局限性,DS18B20主要的优势点是能够将直接获取的温度信号进一步转化为数字信号,并非像传统传感器一样只能够保存住温度信号,需要另外安装信号转换芯片才能够实现这一步骤的转换,DS18B20涉及到有自己独特的标识码,能够在总线上加接多块DS18B20,所以DS18B20很适合构成一套多位置的温度测量的系统。

  同时由于其出色的功能,小尺寸,高可靠性和低价格,MCU受到了研究人员的高度重视。其应用领域包括工业测量和控制,智能仪器,尖端技术和日常用具。以单片机为核心设计某种电子电路相对简单易行。目前,大多数数字温度计都是以单片机为基础,以MCU为核心研发。

  1.3本课题研究的内容

  一个基于51单片机的数字温度计系统,可以精确的显示1到100的温度。

  AT89C51单片机是控制核心的数字温度计系统,结构简单,元件少,体积小使用起来较为给精准,因此有广泛的应用前景。

  软件环境使用AVE6000

  本设计旨在测试水温、室温以及人体温度,采用51系列单片机,测量范围控制在0~100°C,通过热电阻传感器,ADS7816芯片用于模数转换。测量控制范围为0~100°C,精度为0.1度。

  2系统总体简介

  2.1单片机的概述

  单片微型计算机通俗而言又将其称之为单片机,是作为嵌入式微控制器,并非是完成单个逻辑功能的芯片,而是将计算机系统进行统一集中,由运算器、控制器、存储器、输入输出设备统一构成,我们可以将其作为一个最小系统与计算机进行比较缺乏外围设备,通俗而言,一块芯片我们可以将其作为一台简单的计算机,及体积较小,质量较轻,方便携带,为后续的使用也奠定了更为便利的条件,与此同时,使用单片机是为了进一步了解计算机的原理及结构,作为一项客观选择,最早是在工业领域被广泛使用。

  基于单片机最初在工业领域使用较为广泛,由仅有CPU的专用芯片发展而来的,最初其设计理念是基于大量外围设备以及cpu集中在芯片中,从而使系统更精准,更易适于对体积要求相对严格的设备之中。

  当前在日常生活中所涉及到的电子器件的产品,基本都离不开单片机,手机计算器,掌上电脑技术,比如各类产品都要涉及到单片机,尤其是汽车,一般一辆完善的汽车需要配备40多个单片机,复杂的工业控制系统甚至有可能会达到100件以上,甚至于更多,这一数量不仅超过pc机以及其他计算机的总和,甚至于超过人类总数。

  2.2主控芯片AT89C51简介

  AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

  单片机可反复擦除1000次。采用ATMEL高密度与工业标准的MCS-51指令集和输出管脚相兼容。将多功能8位CPU和闪速存储器进行组合,ATMEL的AT89C51是一种高效微控制器,外形及引脚排列如图所示。

  主要特性:

  ·与MCS-51兼容

  ·4K字节可编程FLASH存储器

  ·寿命:1000写/擦循环

  ·数据保留时间:10年

  ·全静态工作:0Hz-24MHz

  ·三级程序存储器锁定

  ·128×8位内部RAM

  ·32可编程I/O线

  ·两个16位定时器/计数器

  ·5个中断源

  ·可编程串行通道

  ·低功耗的闲置和掉电模式

  ·片内振荡器和时钟电路

  2.3数字的显示

  通过74HCl64进行转换。LED显示屏一般将其分为静态显示与动态显示。本文设计中所使用的是静态显示,通过单片机串口显示。当器件执行SBUF作为目标寄存器的命令时,数据从RXD发送,发送控制端子SEND在一个机器周期后有效。

  2.4系统设计步骤

  确定系统的整体解决方案是系统设计中第一个步骤,同时也是最重要和最关键的步骤,通常情况下,总体设计方案应从这些方面进行思考:

  (1)根据系统的功能及指标要求,画出原理方框图;

  (2)确定系统采用的控制策略和控制算法;

  (3)确定系统的硬件结构及配置和软件功能及结构,画出粗框图;

  (4)考虑多种方案,初步完成方案的比较和选择。

  (5)明确保证性能指标达到要求的技术措施;

  (6)系统抗干扰设计和可靠性设计。

  2.5总体设计方案

  对单片机控制系统进行研究,构成模块涉及到显示模块、温度信号输入模块、模数转换模块等。按照既定设计思路做进行设计,流程图如下所示。

  所要设计的系统总体架构如上图所示,该系统以51单片机为核心,通过MAX232与PC实现串口的通信,通过温度信号电路采集温度变化,来造成电压的信号变化,然后进行模数转换,把这些变化转换成数字量,经89C51单片机处理后显示在数码管。

  3系统的硬件电路设计

  3.1 51单片机最小系统

  对51系列单片机来说,单片机的高效运转是需要综合时钟电路、复位电路来完成。单片机作为时序电路,需要借助时钟信号的配合。单片机芯片的18脚(XTAL2)、19脚(XTAL1)为片内反向放大器的输出端和输入端,钟频率限制因设备而存在一定的差异。标准做法是使用12MHz频率。

  复位电路的设计:8051可通过两种方式复位,上电复位(当电源打开时复位8051)和手动复位(仅在手动按下按钮时才发生复位)。复位不会影响内部RAM的内容。要发生复位,复位输入引脚(引脚9)必须在至少2个机器周期内高电平有效。在复位操作期间:程序计数器清零,从00H开始,默认选择寄存器组#0,堆栈指针初始化为07H,所有端口都写入FFH,这里选用的是手动复位。

  3.2数码管模块电路

  传统用作系统的显示方案有液晶显示屏、点阵、LED数码管这三种,这三种方法都有各自的优缺点。

  3.2.1液晶显示屏

  因为液晶分子本身是不能发光的,因此液晶显示器需要外部光源来协助它本身发光。它们的亮度和对比度都不是很好。而且液晶显示器的视角令人头疼,当背光源通过偏振器、液晶和配向层时,输出光就是有方向的了。也就是说,大部分光线是从屏幕垂直发出的,所以当你从大角度观看液晶显示器时,你看不到原来的颜色的,有时候甚至只能看到全白或全黑,液晶显示器极其节电,但它的使用温度范围限制很大,而且因为它是反光的,在外面光线很亮的时候很容易看不清楚。

  缺点:能够偏转的视觉角度很小,图像拖尾现象很容易发生,液晶显示器的亮度和对比度都不是很好,液晶经常出现“坏点”。

  优点:液晶显示器可视面积很大,而且它非常节能。

  3.2.2点阵

  优点:成本低、加工工艺成熟、品质稳定;

  缺点:亮度、颜色一致性不好控制,容易出现马赛克现象;

  3.2.3 LED数码管

  数码管消耗电力比液晶多一点,小于点阵的功耗。但是数码管显示更加清晰,更加适合在白天等强光条件下显示。

  优点:成本低、电路设计简单、适合白天等强光条件下显示、显示性能稳定、显示清晰。

  缺点:功耗高、显示的内容不够丰富。

  3.3数据采集模块设计

  对于设计整个硬件电路,要对整个系统分割成为几个能够实现具体功能的模块,分别对这几个模块进行硬件设计,最后又由单片机将其组合成为一个整体。

  3.3.1温度信号输入模块设计

  温度信号输入模块是本课题研究的重要部分,该硬件模块包含温度信号采集和模数转换两部分。硬件电路设计如下图:

  1.温度信号采集电路分析

  R2、R3、R4和PT100组成了惠斯登桥式电路,从电桥获取的差分信号通过运算放大器将信号放大后输入到模数转换器ADS7816中。

  2.模数转化芯片ADS7816分析

  ADS7816精度可以达到0.0625,工作时序如上图所示,时钟信号DCLOCK控制信号的转换过程和数据转换速度,后期数据只有在时钟信号是下降沿的时候才会进行传送。接收时会选择时钟信号的下降沿或上升沿进行。输出的数字信号,高位在前,当最低位输出后,将CS变为高电平一步到位。

  3.3数据显示模块的设计

  该模块主要实现对温度数据的显示。以直观的形式向用户显示测量出的温度数据。

  1.LED显示器的结构及原理

  LED显示器是由发光二极管显示字段的显示器件,七段LED使用相对广泛。这种显示器分为共阴极和共阳极两种。前者LED显示器的发光二极管阴极共地,当某个发光二极管的阳极为高电平时,发光二极管点亮;后者LED显示器的发光二极管阳极并接,当某个发光二极管的阴极为低电平时,发光二极管点亮。

  3.4.1 LED显示器的显示方式

  LED显示主要有两种方式,分别是占用I/O口资源较多的静态显示和当前使用最频繁的动态显示。为了节省I/O口资源,在本文中使用的是动态显示模式,下面将详细介绍这两种方式:

  (1)静态显示的方式,数码管可以分为共阴极数码管和共阳极数码管,所以将数码管的位选接地或者接+5V电源,就可以将当前的数码管选中,如果数码管的段选再选中的话,那么数码管将按段选设置的方式被点亮,在静态显示的情况下,每一位都可以独立的显示,只要在相应的数码管设置相应的段选码,这样数码管就可以显示相应的字符,这种方式因为是相应的发光二极管处于恒定导通和截至的状态,所以这种方式被称为静态显示的方式。

  (2)动态显示方式,动态显示方式是相对应于静态显示方式来说的,静态显示方式是数码管中的二极管处于恒定的导通和截至的状态,这样就会导致大量的I/O口资源的浪费,而动态显示方式就能很好的解决这一问题,动态显示是出于恒定状态的二极管处于不恒定的状态,也就是说多个数码管不是一直点亮着,而是不停的被点亮后立马去点亮下一个数码管,但是由于人眼有余晖效应,会感觉数码管是一直在亮着,而只是亮度相对于静态显示的方式来说比较弱而已。

  为了进一步节约I/O口资源,可以利用在电路中加装锁存器,这样就可以是用单独的一组I/O口资源,就可以同时控制数码管的段选和位选,形成段选线的多路复用。而各位的共阴极点或共阳极点分别由相应的I/O口线控制,实现各位的分时选通。

  3.4.2显示模块电路设计

  由于要显示的温度数据精度要求为0.1,测温范围为0-100度,采用4位八段数码管动态显示,将四个数码管的段选线并联在一起实现多路复用,如下图所示:

  如图所示,采用了共阴极八段数码管公共阴极和MC1413反向驱动器的输出端相连,当把MC1413的某一输入端置为高电平时,其相应输出端输出低电平,使某一位数码管的公共阴极为低电位,从而使该位显示。

  3.5 PCB的设计

  3.5.1 Protel简介

  Protel是目前国内最流行的通用EDA软件,它是将电路原理图设计、PCB板图设计、电路仿真和PLD设计等多个实用工具软件组合后构成的EDA工作平台,是第一个将EDA软件设计成基于Windows的普及型产品。

  本项目主要用到Protel的两大实用工具:

  电路原理图设计(SCH):Schematic提供电路图编辑、零件库编辑、试算表编辑、统计图编辑以及文书编辑等服务。支持单张式及多张式结构电路设计,实时零件修改,绘图更加自动化,更加的简便和快捷。

  制板(PCB):在Schematic的基础之上,PCB能够设计出美观实用而且符合工业标准的印刷板图,快捷的网络表自动装载,器件自动摆放和完全的自动布线使PCB制板的速度是非常快的,因为很容易做到。

  3.5.2电路设计流程

  了解模块的整体框架,选好元件。如本设计微处理器芯片选取STC89C51RC等。

  查资料了解所用元件相关的引脚号和对应的信号、功能。

  查看Protel元件库里是否有相关的元件图,若有,则可直接从库里放置到原理图上;否则,需要编辑库里的元件或往库里添元件。在本次设计中,有些芯片是在Protel元件库中找不到的,如ADS7816,这时候需要自己新建原理图库文件,然后添加新元件,画出ADS7816元件图。

  建Schematic原理图。根据要实现的具体功能进行硬件原理图的设计。

  进行原理图设计规则检查。主要依靠Protel软件自带的电气规则检查(ERC)来检查原理图电气连接的合理性,如元件标注是否重复、元件的输入输出是否合理、输入输出间是否直接短路、电源和地之间短路等连线错误等。

  从原理图生成PCB图的步骤:

  (1)检查元件的封装形式。元件封装是指实际元件焊接到电路板时所指示的外观和焊点位置,它是实际元件引脚和印制电路板上的焊点一致的保证。封装形式的定义是生成PCB制板图最重要的地方,遇到PCB封装库中没有的封装形式,要自己进行手工的添加,添加时应注意被封装对象在实际电路板中的大小。

  (2)生成SPICE netlist,检查元件的连接。当设计一个简单的原理图时有时候可以不用生成网表文件,但是当原理图较为复杂时,生成网表文件后,在装载网表文件后会将原理图中元件、封装形式一一列出,极大的便于找到错误,进行修改。在本次设计中,生成的网表文件帮我修改了很多错误。

  (3)规划电路板。在绘制PCB图前,应有一个初步的规划,如采用板材尺寸、安装位置、采用几层电路板等,目的是确定电路板设计的框架。

  (4)布局元件。可以采用自动布局元件,但效率低,效果不理想。这时候只能采取手工布局,尽量使电路板设计的布局合理、美观。

  (5)PCB验证。PCB板图设计完成之后,要进行验证和“后分析”,包括:DRC检查、热分析、噪声分析及干扰分析、电磁兼容性分析、可靠性分析。

  4系统的软件设计

  4.1系统的软件设计

  4.1.1系统软件设计流程

  在应用系统研制的过程中,软件设计是工作量比较大也是最重要的一个环节,所以在进行系统的设计的时候需要着重考虑硬件和软件等方面的因素。基于单片机的数控系统的主要设计步骤如下:

  (1)单个模块独自设计,将整个数字温度计系统划分成为若干个能够独立运行的部分:主程序、读出温度子程序、温度转换命令子程序、计算温度子程序等。主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的处理温度值。温度测量每秒进行一次,等。这些模块可以单独的进行设计、编程和调试。最后通过主程序将各个模块有机的联系在一起,成为有条不紊的一个整体。

  (2)在编写各个模块程序前,先画好程序流程图,一个合理的流程图能为编程时提供清晰的思路,节省大量的时间。流程图画好之后,根据流程图编写各模块程序,并将其调试通过。

  (3)合理分配系统资源,最重要的是合理的分配和利用单片机的寄存器和其他RAM存储。

  (4)编写系统初始化程序和系统主程序。编写系统主程序前要画好系统的流程图,使整个系统清晰、简捷、高效。系统的主程序应最大限度的利用系统资源。调用模块化的子程序,注意子程序的入口,出口,有机而统一的将各个模块化程序联系在一起成为一个系统程序。

  (5)对整个系统进行调试,修改。

  4.1.2系统软件主程序流程图

  4.2软件功能模块的设计

  软件模块涉及到对应于各硬件功能模块的程序,在硬件的基础上实现相应的功能,在设计各个模块程序时要注意设计模块程序的入口、出口,方便后续主程序调用时更加方便,契合度更高。

  4.2.1模数转换程序设计

  打开ADS7816后,有1.5-2个周期时间,此时Dout呈三态,输出一个时钟周期且无效的低电平信号,检测信号作为ADS7816开始输出转换后的数字信号的标志位,接收完12位的数字信号后要关闭ADS7816。

  4.2.2数据显示程序设计

  此处的显示程序我们采用LED的动态显示,在单片机送出一个8位的段码的时候,这时只有一个数码管是能够正常显示的,因为这时候的位选只有一位能够显示,也就是说只有在位选和段选同时选中的时候,数码管才能正确的显示,而如果只有段选或者只有位选的时候,数码管都不能正确的显示,所以如果想同时显示这几个数码管,需要的基本步骤如下,利用位选单独选中某位数码管的时候,同时送上当前数码管需要显示所用的段码,当需要显示下一位数码管的时候,就将当前数码管的位选取消,这时此数码管将熄灭,但是由于人眼的余晖效应,数码管虽然已经熄灭,但是给人们的感觉是仍然在显示着所需要显示的数字。所以利用眼睛的余晖效应,采用一定的频率不断的给数码管发送位选和段选信号,数码管上的各位都会有稳定的数字显示。使用这种方式显示数字,优点是可以大幅度节省I/O口,节省了硬件的资源,但是这种方式也有一些缺点,那就是这种方式的数码管因为不能一直显示着,所以导致数码管的亮度将一些单独控制的数码管的较低。另外还有一个缺点就是在设计软件的时候需要投入将大的精力对数码管进行持续的扫描。

  4.3系统软件实现难点及解决方法

  (1)精度控制。本次基于单片机的数字温度计设计的设计目标精度为0.1。通过硬件实现一章关于ADS7816芯片的叙述可知,它是一个12位模数转换器,也就是其输出的数字范围为0-4096,而我们的数字温度计的量程是0-100摄氏度,也就是说将模数转换出来的数字除以41(应为40.96,便于计算使用41)也就可以得到当前的温度数值。但是这样一来,得到的整数数字只有2位,这样就达不到精度为0.1的要求。所以我在实际的系统实现过程中只将温度数字信号除以4(应为4.1,便于计算使用4),这样得到的是三位整数数字,显示时,将小数点点在十位数数码管上,这样就实现了精度为0.1的精度控制。

  (2)数制转化。ADS7816转化出来的数字为2进制12位数字,要将其转化为10进制数字处理后,才能将其利用。

  (3)干扰因素。设计好的单片机电路板中会产生各种各样的干扰因素,比如说各种噪声,这些噪声有很多来源,比如说信号源自己就会有很多噪声的产生,传感器也是产生噪声的一个途径。所以为了达到很好的测量和控制效果,就需要做好除噪的各方面的工作。

  (4)数值溢出问题。在上述取平均值解决温度数据显示不稳定问题时,将100个温度数据的值取和,这样得到的数据最大可以达到409600(12位模数转换器输出值最大为4096),而采用2个内存单元最大可以实现16位2进制数字,仅可以达到65536,所以会出现溢出问题。所以采用三个内存单元存储加和以后的数字。

  4.4软件环境

  使用AVE6000开发:

  WAVE6000是以前版本软件的升级版本。与以前的版本相比,WAVE6000增加了许多新功能,并大大改进了一些功能,像是窗口管理和文件编辑相应的工具。WAVE6000版本的软件实现环境不仅显着提高了页面的美观性,而且大大的方便了软件包的编辑,因此本文选择WAVE6000作为软件实现环境。在这些新功能中特别值得一提的是新增的书签功能。新添加的书签功能可以很好地管理项目和文件的编辑,使程序员在编辑过去的程序的时候,显得十分有条理,大大提高了程序员编程的效率。

  软件主要使用的步骤:

  (1)新建项目。

  (2)新建asm文件。

  (3)加入模块文件到项目。

  (4)设置仿真器。

  (5)编译、运行。

  5系统仿真调试

  根据原理图焊接印刷电路板,将仿真器的仿真头安装到设计中应安装AT89S51的位置,将仿真器连接到计算机的USB端口,修改并编译汇编器直到程序正确,然后把无误的程序下载到仿真器中,运行程序,观察数码管此时的状态。

  调试过程:调试每个子程序模块,观察数码管所代表的的子程序模块是能不能正常的动态显示;为了调试控制子程序,先要优化主体的控制框架,看是否正常调用子程序进行正常操作,是不是可以正常工作实现相应的功能;主程序的调试,看每个子程序模块和控制程序的融合是否顺利,主要取决于程序的执行步骤是否与设定一致,在某一时间运行的程序状态是不是正确的。如果不是就要继续修改,重修测试了。

  显示模块测试:当测试显示模块时,将四个存储单元划分成数码管的缓存,分别分配数值,并运行程序以实现数码管的动态显示。

  键盘中断程序测试:将两个存储单元分为存储温度的上限和下限,按下按钮进行测试,增加或降低温度的上下温度值,并正确的显示。当然,应该将该程序的测试添加到显示模块程序中,以观察温度上限和下限的变化。

  其它子程序测试:如十六进制转换为十进制子程序和双字节除以单字节数子程序都用给定的简单的特定值进行测试,以观察输出结果是否与理论计算结果相同。

  在实现上述每个功能模块和子程序的调试实现之后我继续执行系统测试。在这个阶段,开发的系统出现了很多错误。通过总结可以发现,这主要是因为子程序在操作期间破坏了场景,与使用过的缓存单元相互冲突,标志位的使用被另一个子程序重写。因此在后面的调试中,我重新分配了寄存器和内存,这样每个子程序使用的内存单元是相互独立的。因此,这个系统得以成功。