毕业设计(论文)-基于单片机的多路温度检测系统的设计(软件) .doc_第1页
毕业设计(论文)-基于单片机的多路温度检测系统的设计(软件) .doc_第2页
毕业设计(论文)-基于单片机的多路温度检测系统的设计(软件) .doc_第3页
毕业设计(论文)-基于单片机的多路温度检测系统的设计(软件) .doc_第4页
毕业设计(论文)-基于单片机的多路温度检测系统的设计(软件) .doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多路温度检测系统的设计(软件)摘 要多路温度检测系统以xc2267-104f80l单片机系统为核心,能对多点的温度进行实时控制巡检。各检测单元(从机)能独立完成各自功能,根据主控机的指令对温度进行实时或定时采集,测量结果不仅能在本地储存,显示,而且可以利用单片机串行口,通过rs-232总线及通信协议将采集的数据传送到主控机,进行进一步的分析,存档,处理和研究。ds1631z是一种可组网的高精度数字式温度传感器,由于其具有iic总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了ds1631z数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准rs232通信接口。上位机部分使用了通用pc。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。关键词:单片机 温度传感器 存储器 报警design of multi-channel temperature detecting system(software)abstractthe multichannel temperature examination system take xc2267-104f80l microcomputer systems as a core.it can inspect and control the temperature of many spots. each examination unit (the litter machine) can complete respective function independently. it can collect the temperature in a time according to the instruction of the major controlling machine. the measurement result can be stored and demonstrated in local place. moreover,it can use the mouth of the microcomputer to transfer the data gathered to the major controlling machine through the rs-232 main line and the correspondence agreement .then we can have the further analysis and the archive and processing and the research. as a kind of high-accuracy digital net temperature sensor,ds1631z can be used building a sensor net easily. it can also make the net simple and reliable with its special 1-wire interface .this paper introduces the application of ds1631z with single chip processor.the system is constituted by two parts the temperature measured part and displayed part. the temperature measured part has a rs232 interface. the displayed part uses pc .this system is applied in such domains as warehouse detecting temperature;air-conditioner controlling system in building and supervisory productive process etc.key words: scm temperature sensor memory alarm目 录第一章 绪论1第二章系统的总体设计22.1系统的总体设计思想22.2方案论证与选择22.2.1温度采样部分32.2.2各种数据的存储32.2.3时钟部分32.2.4打印输出32.2.5系统显示42.2.6键盘格式42.3系统设计的技术关键5第三章 系统硬件的设计63.1 系统的整体结构63.2 温度巡检仪的硬件构成73.2.1原理图73.2.2选择单片机73.2.3温度传感器及接口电路8第四章 系统软件的设计124.1编程软件介绍124.1.1嵌入式简介124.1.2 keil 简介134.1.3 dave简介144.2 软件编辑步骤144.2.1制作工程文件144.2.2软件编辑16第五章 结论21参考文献22附 录23致 谢34天津理工大学2011届本科毕业设计说明书第一章 绪论随着社会的进步与科技水平的不断提高,目前各行各业都在突飞猛进的发展,从而直接决定着各行业对自己所需产品性能的不断完善。在各个行业尤其是在对自动化程度要求比较高的一些领域当中,有时为了更加快速、经济、高效的生产出更适合用户需要的产品,进而获得更高的利润,往往需要用到温度检测。温度值被快速检测后送到相应的高速处理器中进行处理,然后处理器给出处理命令并送到执行器中执行,从而达到对温度快速准确的控制的目的,这也就是本次设计的主要目的和最终目标。由于工业自动化水平的迅速提高,单片机在工业领域中的作用也变得十分显著。由于其简单灵活,控制方便且生产成本比较低,所以在工业控制的各个环节都得到了普遍的运用,发挥着极其重要的作用。但随着人们对工业自动化的程度的要求越来越高,各种各样的、先进的控制设备和过程检测系统在工业控制领域也被广泛的应用,所以使得传统的工业检测系统已无法满足用户的各种需求。因此要求我们必须要寻求一种崭新的方法来解决这个问题,从而来满足工业需求。多路温度检测系统的出现,无疑不是给我们提供了一个良好的解决办法,它能够很好地解决传统工业检测系统存在的种种弊端与漏洞,使用户能根据自己的需求来进行高精度而且快速的检测和控制,从长远来看一定会有一个广泛的应用前景。温度检测系统在人们的生产生活中的应用十分广泛。比如,医学上用温度计来检测病人的体温、工业上的锅炉需要保持一定的温度来给人们供暖,汽车维护、空调工程、设备故障诊断、节能、有色冶金行业、电力供电系统、塑料橡胶行业、造纸印刷行业、石油化工行业、食品超市行业等等都离不开温度检测系统。另外这种利用现代的电子微电子技术、传感器技术、通讯技术、单片机技术、计算机以及网络技术等知识的综合来实现的崭新设计一定会通过其独特的作用并同企业资源计划erp融合在一起,来达到良好的管理,实现企业合理的资源配置和获取更多的利润,这已成为一种必然趋势和发展方向。第二章 系统的总体设计在本章的设计中将进行系统的总体方案设计,以便在后续章节中选择合适的单片机及外围芯片,完成具体的硬件电路设计。总体设计应考虑以下几点:a) 从整体到局部设计b) 经济性要求c) 可靠性要求d) 操作和维护的要求。2.1 系统的总体设计思想不同的控制对象和不同的要求,应该有不同的设计思想。本系统实际上是一个专用的单片机系统,仪表内部除单片机以外的其它硬件部分均可看作是单片机的外设部分。在本系统中,cpu 在温度采集和处理时,主耍是对温度值进行巡回检测、数据记录、数据计算、数据统计和整理、数据越限报警并对这些数据进行积累和实时分析。cpu 不直接参与过程控制。对生产过程不会直接产生影响。从这一点出发,可作出总体设计思路图2.l: 测试对象采样转换报警打印显示单片机图2.1总体设计思路图温度经过采样、转换后以数字形式进入cpu ,利用cpu 具有运算、逻辑判断能力速度快等特点,在它内部可以对这些输入数据进行必要的集中、加工和处理,在温度参数的测量和记录中则代替大量的常规显示和记录仪表,对整个环境温度进行集中监视。另外,添加存储器,预先存入各个测试点的温度极限值和其他的相关数据,以便在处理过程中可以进行越限报警、调整参数和维修调试等。2.2方案论证与选择设计方案的不同将直接决定仪表硬件的繁简程度,从而确定软件的不同编写思32 路温度巡检仪应对当前的环境温度进行巡回检测,所以它是一个实时监测系在设计时应考虑以下几个方面:a) 应保证前向的温度传感电路的精确度、灵敏度、电路结构的合理性;b) 仪表本身要具备一定的抗干扰能力,应在硬件及软件上引入各种抗干扰措施,以增强它的稳定性和准确性;c) 仪表应预留接口以便于功能扩展和联网。根据以上要求,硬件电路有以下几种方案可供选择。2.2.1温度采样部分我选用先进的数字式温度传感器,将采集到的数字式的温度信号直接送入单片机进行处理。随着传感器技术的发展,已经出现了先进的数字式温度传感器。这种温度传感器兼有测温和a/d转换的功能,输出值是数字信号,所以不必使用a/d转换器和相关的接口芯片,能够直接进入单片机进行数字处理。硬件电路非常简洁,有较好的线性关系和较强的抗干扰能力,同以上两种方案相比有明显的优势和极其广泛的开发前景。但是测量范围较小,一般在-50+ 150 之间。 2.2.2各种数据的存储在电路设计冲,温度值、温度传感器的相关数据、时间数据等都需要保存。并且掉电时要求数据不丢失。使用串行prom作为数据存储器,且串行prom具有很强的抗干扰能力,与单片机硬件接口非常简单可擦写次数多(目前为次)。我选用这种数据存储器。2.2.3时钟部分在32 路温度巡检仪中需要记录故障发生的时间,所以要考虑实时时钟。实时时钟分为硬时钟和软时钟两种。硬时钟有独立的实时时钟芯片组成,硬时钟的优点是时钟的准确度与单片机无关,不易产生误差;缺点是成本较高、体积大,并且与单片机通信时可能会受到外界的干扰。软时钟是利用单片机内部的定时器,由软件程序产生实时时阂。节省了外都硬件资源。缺点是当单片机发生故障时,时钟也容易遭到破坏,特别是单片机采用了看门狗电路时,会影响软时钟的准确度。因此,本设计采用独立的硬件时钟芯片。这样,即使看门狗电路令单片机复位,程序也只须将时钟芯片里的数据读出即可,不会影响时钟的准确度。2.2.4打印输出打印机输出是计算机系统最基本的输出形式,在本系统中要求有方便的打印记录,打印机一般有击打式和非击打式打印两类。击打式打印机是利用机械作用,击打活字载体上的字符,使之与色带和纸相击打而印出字符,或者利用打印铜针撞击色带和纸打印出点阵组成的字符图形。其特点是一次性购置价格较高,耗材便宜,经久耐用。非击打式印字机的印字,不是机械的击打动作,而是利用各种物理的或化学的方法印刷字符,如静电感应,电灼,热敏效应,激光扫描及喷墨等。较常用的是喷墨打印机,虽然价格便宜但是经常要更换墨盒,耗材费用高。考虑到为方便用户长期使用,不至于经常拆卸仪表外壳而去更换墨盒,因此选用击打式打印机。击打式输出打印设备按工作方式又可分为串行输出打印机和并行输出打印机。所谓串行打印即逐字,逐行,逐页地打印。串行输出打印机根据活字载体的形状,分球形、字轮、针式、菊花、杯形等多种,其中菊花式和针式打印机发展比较快,而后者使用更广泛,针式打印机是由点阵组成不同字符击打成字。它们的特点是打印速度高,机械结构比较简单,适合作为微小型计算机的打印输出设备。所谓并行打印即逐行逐页地打印。并行式打印速度高于串行式打印。并行输出打印机按结构分为鼓式、链式、带式等种。一般适用于大型计算机系统。由于本系统仅需要打印温度值、时间和测试点的序号,所以选用串行的针式微型打印机。2.2.5系统显示 单片机应用系统中使用的显示器主要有发光二极管显示器,简称led ( light emitting diode ) 。液晶显示器,简称lcd ( liquid crystal display); crt 显示器。led 的发光效率和颜色取决于制造的材料,一般常用红色,偶尔也用黄色或绿色。发光二极管led 是智能化测量控制仪表中简单而常用的输出设备,通常用来指示机器的状态或其他信息,它的优点是耗电省,配置灵活,接口方便,价格低,寿命长,对电流电压的要求不高及容易实现多路等,因而在智能化测量控制仪表中获得了广泛的应用。lcd 是一种被动显示器,它本身并不发光,只是调节光的亮度。目前常用的lcd 是根据液晶的扭曲-向列效应原理制成的,可得到黑底白字或白底黑字的显示形式。对于采用电池供电的便携式智能化测量控制仪表,考虑到低功耗的要求,常常需要采用液晶显示器,它体积小,重量轻,功耗极低,因此在仪器仪表中的应用十分广泛。但是必须借助外来光显示。crt 显示器可以进行图形显示,但接口较复杂,成本也较高。在32 路温度巡检仪中只需要显示4 位数字形式的温度和路数,可以不必使用价格较高的crt ;4 位led 的工作电流为240ma 左右,由于使用交流电源供电,足以提供led 显示器所需要的功率,对于led 而言,仅有4 位,体积也很小,这样比较led 和lcd 的诸多特点,本系统选择led 印显示器。2.2.6键盘格式键盘是一组按键的组合,它的作用主要是控制系统的工作状态以及向系统中输入数据和命令,有编码式键盘和非编码式键盘两类。编码式键盘除了按键之外,还包括了产生键码的硬件电路、去抖动电路和多键、窜键保护电路。每按下一个键,能自动产生这个键的键码,与此同时,产生一个脉冲信号。通知cpu 接收。这种键盘使用方便,接口程序简单,但是需要较多的硬件电路,价格较贵,一般的单片机应用系统较少采用。非编码式键盘仅由排成行、列矩阵形式的按键组成,按键的作用只是简单的实现接点的接通或断开,键的去抖动、键的编码的形成和键的识别等均由软件来完成。由于它经济实用,在单片机应用系统中广泛采用。经过以上对比,可以采用非编码式键盘。2.3系统设计的技术关键根据以上所述的总体设计思想,设计中需解决的技术关键性问题是:第一,这种巡检仪由于需要检测的点多达几十个,为了便于用户安装使用,在硬件设计时,应尽可能地使用各种先进的现场总线技术,力求电路最简单,安装调试最方便。第二,为保证本系统高可靠性运行,仪器本身要具备很强的抗干扰能力,为此应在硬件及软件设计上引入各种抗干扰清施。特别是系统中各部分电路的电源均设计为直流稳压电源供电,当仪器用于复杂的工业环境时,直流电源能够不受干扰的对各部分电路提供直流电压就显得十分重要了。第三,由于硬件电路十分简洁,那么软件势必功能很强大,在软件设计时也应寻找尽可能简单完善的设计思路,保证程序易于修改、调试。第四,系统是一个实时运行的系统,当主机电源因某种原因停电时,为了保证系统工作时的数据的实时性,其后备电源应能可靠工作。 第三章 系统硬件的设计3.1 系统的整体结构根据上一章所选的总体方案确定的思路,下面将进行具体的系统硬件电路的设计。系统的整体结构框图如图3.l所示。cpu打印机显示器测试点测试点温度传感器温度传感器键盘报警电路存储器看门狗实时时钟图3.1 整体结构框图数字式温度传感器主要是采集每个测试点的温度值,在其内部将采集到的温度值转换成数字信号,送入单片机集中进行处理。因为单片机的i/o口有限,所以每个温度传感器不可能直接接入单片机,必须应采用总线技术,将数字式的温度值通过总线循环的送入单片机。 存储器将存储各种与温度传感器有关的数据,例如,每个传感器的相关信息、每个测试点的温度值和相关的时间数据,以实现单片机对数据的集中管理,并防止丢失。看门狗电路用来监视单片机的正常运行:led显示器显示温度值和对应的测试点即路数,当需要修改某些数据或进行现场调试时,显示器应能配合键盘显示相关的信息。实时时钟电路为巡检仪提供准确的时钟:报警电路在温度异常时送出保护信号并能进行故障点的跟踪定位。键盘在本系统中是操作员控测巡检仪的唯一途径,是安装调试的必备手段。在仪表需要改变某些数据,以及操作员在出现故障时能够实时打印故障路数、对应的时间、温度数据等均应通过键盘完成相应的操作。打印机主要打印某一时刻的各路温度值。直流稳压电源为单片机、存储器、报警电路和显示器提供直流电压,后备电源则是为了实时时钟电路在主机掉电时也能正常工作,防止时钟停走导致计时不准确。3.2 温度巡检仪的硬件构成3.2.1原理图图3.2原理图3.2.2选择单片机我选择了功能强大的英飞凌xc2267-104f80l.1.xc2267-104f80l功能特点: 15ns指令周期(cpu主频66mhz) 单周期乘法 16m代码和数据线性地址空间 最多12m外部代码和数据地址空间,支持复用/非复用总线类型 16个优先级中断系统,87个中断源2.片上存储空间:1kb sbram2kb dpram16kb dsram最多64kb psram最多768kb flash 3.片上外围模块:两个16通道10位精度ad转换器16通道通用比较捕获单元最多4个用于pwm信号产生的捕获比较单元5个多功能通用定时器最多6个连续接口通道(uart、spi、lin、iic、iis)最多5个can通道,128个信息体4.内部或外部时钟源产生时钟 单电源供电(3.0v-5.5v) 多达75(或118)个gpio ocds调试支持3.2.3温度传感器及接口电路(1)选择温度传感器dallas 半导体公司提供了先进的数字式温度计ds1631z 。该系列采用了与众不同的原理,利用温敏振荡器的频率随温度变化的关系,通过对振荡周期的计数来实现温度测量的。输出值是数字信号,所以不必使用a/d转换器和相关的接口芯片,直接送入单片机进行数字处理。为了扩大测温范围和提高分辨率,使用了低温系数振荡器和一个高温系数振荡器分别进行计数,并采用了非线性累加器来改善线性, 其中ds1631z是常用的温度传感器,它采用一根i/o数据线传输数据和命令,售价低廉,广泛用于食品库、冷库、粮库。(2)iic总线的传输协议与数据传送a:起始和停止条件在数据传送过程中,必须确认数据传送的开始和结束。在i2c总线技术规范中,开始和结束信号(也称启动和停止信号)的定义如图3.3所示。开始信号:当时钟总线scl为高电平时,数据线sda由高电平向低电平跳变,开始传送数据。结束信号:当scl线为高电平时,sda线从低电平向高电平跳变,结束传送数据。开始和结束信号都是由主器件产生。在开始信号以后,总线即被认为处于忙状态,其它器件不能再产生开始信号。主器件在结束信号以后退出主器件角色,经过一段时间过,总线被认为是空闲的。3.3超始和停止信号图b:数据格式 iic总线数据传送采用时钟脉冲逐位串行传送方式,在scl的低电平期间,sda线上高、低电平能变化,在高电平期间,sda上数据必须保护稳定,以便接收器采样接收,时序如图3.4所示。3.4 数据传送时序图iic总线发送器送到sda线上的每个字节必须为8位长,传送时高位在前,低位在后。与之对应,主器件在scl线上产生8个脉冲; 第9个脉冲低电平期间,发送器释放sda线,接收器把sda线拉低,以给出一个接收确认位;第9个脉冲高电平期间,发送器收到这个确认位然后开始下一字节 的传送,下一个字节的第一个脉冲低电平期间接收器释放sda。每个字节需要9个脉冲,每次传送的字节数是不受限制的。iic总线的数据传送格式是在iic总线开始信号后,送出的第一字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(r/w)。方向位为“0”表示发送,即主器件把信息写到所选择的从器件中;方向位为“1”表示主器件将从从器件读信息。格式如下: 1010a2a1a0r/w开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即被主器件寻址的器件,其接收信息还是发送信息则由第8位(r/w)决定。发送完第一个字节后再开始发数据信号。c:响应数据传输必须带响应。相关的响应时钟脉冲由主机产生,当主器件发送完一字节的数据后,接着发出对应于scl线上的一个时钟 (ack)认可位,此时钟内主器件释放sda线,一字节传送结束,而从器件的响应信号将sda线拉成低电平,使sda在该时钟的高电平期间为稳定的低电 平。从器件的响应信号结束后,sda线返回高电平,进入下一个传送周期。通常被寻址的接收器在接收到的每个字节后必须产生一个响应。当从机不能响应从机地址时,从机必须使数 据线保持高电平,主机然后产生一个停止条件终止传输或者产生重复起始条件开始新的传输。如果从机接收器响应了从机地址但是在传输了一段时间后不能接收更多 数据字节,主机必须再一次终止传输。这个情况用从机在第一个字节后没有产生响应来表示。从机使数据线保持高电平主机产生一个停止或重复起始条件。完整的数 据传送过程如图3.5所示。图3.5 完整的数据传送过程iic总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播呼叫寻址中所提供的任何数据,则可以忽咯该地址不作响应。如果该器件需要广播呼叫寻址中按需提供的数据,则应对地址作出响应,其表现为一个接收器。(3)ds1631z 特点具体地说它有以下特性: 温度测量范围:-55 + 125 。 分辨率:+ 0.5 (-10 + 85 时) 温度值输出:9 12 位二进制数字量(其中包括1 位符号位),可由编程决定具体位数。 转换时间与设定的分辨率有关,当设定为9 位时最大转换时间为93 .75 ms ,当设定为10 位时最大转换时间为187.5 ms , 11 位时为375ms , 12 位时为750 ms 。 用户可设置报警温度的上下限 供电方式有两种: 外加电源电压为3.0v 5.5v : 寄生电源管脚为vdd和gnd图3.6 ds1631z 的引脚图ds1631z内含程序设置寄存器:可以设置分辨率位数。该寄存器是ds1631z所专有的。其格式为:tmr1r011111tm:测试模式位. 当tm=1 时,寄存器处于测试模式;当tm=0时,寄存器处于工作模式。传感器出厂时均设置为何,且不可改变。r1 和r0 的设置组合与温度分详见下表3.1:片内带64 位激光rom,这是单总线芯片的特点。ds1631z 的家庭代码是28h , 从高位算起,rom中有一个字节的crc 校验码,6 个字节的产品序号和一个字节的家庭代码。ds1631z 内含由两个字节组成的温度数据寄存器。表3.1 分辨率关系表r1r0位数最大转换时间(ms)00993.750110187.510113751112750第四章 系统软件的设计4.1编程软件介绍4.1.1嵌入式简介1.现代计算机的技术发展史 (1) 始于微型机时代的嵌入式应用 电子数字计算机诞生于1946 年,在其后漫长的历史进程中,计算机始终是供养在特殊 的机房中,实现数值计算的大型昂贵设备。直到20 世纪70 年代,微处理器的出现,计算机才出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。例如,将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。 (2) 现代计算机技术的两大分支 由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。 通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。 早期,人们勉为其难地将通用计算机系统进行改装,在大型设备中实现嵌入式应用。然而,对于众多的对象系统(如家用电器、仪器仪表、工控单元),无法嵌入通用计算机系统,况且嵌入式系统与通用计算机系统的技术发展方向完全不同,因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。 如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20 世纪末,计算机的高速发展时期。(3) 两大分支发展的里程碑事件 通用计算机系统与嵌入式计算机系统的专业化分工发展,导致20 世纪末、21 世纪初,计算机技术的飞速发展。计算机专业领域集中精力发展通用计算机系统的软、硬件技术,不必兼顾嵌入式应用要求,通用微处理器迅速从286、386、486 到奔腾系列;操作系统则迅速扩张计算机基于高速海量的数据文件处理能力,使通用计算机系统进入到尽善尽美阶段。 嵌入式计算机系统则走上了一条完全不同的道路,这条独立发展的道路就是单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。 因此,现代计算机技术发展的两大分支的里程碑意义在于:它不仅形成了计算机发展的专业化分工,而且将发展计算机技术的任务扩展到传统的电子系统领域,使计算机成为进入人类社会全面智能化时代的有力工具。 4.1.2 keil简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为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语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 keil c51标准c编译器为8051微控制器的软件开发提供了c语言环境,但是界面是英文的好多初学者看很多教程都是一头雾水,本站特地制作了一个相对简单的教程。他能能嵌入汇编语言保留了汇编代码高效,快速的特点。keil c51编译器的功能不断增强,使你可以更加贴近cpu本身,及其它的衍生产品,其效率已经达到了相当搞的程度。c51已被完全集成到uvision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uvision2 ide可为它们提供单一而灵活的开发环境。keil c51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,plm 语言和 c 语言的程序设计,界面友好,易学易用。4.1.3 dave简介dave是英飞凌科技公司的电子芯片模拟开发应用工具软件。 dave会帮助你在你的项目中规划你想使用的英飞凌单片机或dsp,以提供智能向导,那帮你设定芯片来工作的方式和你需要的各功能模块,自动生成c-code驱动功能与适当的单片外围设备和中断的控制。 dave会直接与编译器的ide互动。4.2 软件编辑步骤4.2.1制作工程文件1.打开dave界面 该界面为xc2267单片机整体功能图。图4.1dave界面2.配置引脚 点击port,可以看到下图界面,我用到的是单片机的p2.0,p2.8,p2.10三个引脚,并且为输出型。在相应处进行选择即可完成引脚的配置。如图4.2。图4.2引脚配置图3.iic通讯引脚配置 因为我要运用iic来实现上位机与下位机之间的通讯,所以要运用到p7.3和p7.4两个引脚,波特率为19200。如图4.3图4.3 iic通讯引脚配置图4.点击保存生成.dav文件,然后进行编译,点击生成工程文件。5.用keil打开 bishe.dpt的工程文件。6.进行软件编辑。4.2.2软件编辑1如原理图,该系统工作分为:1) 单片机a:与ds1631z进行通讯,方式为iic。b:对ds1631z进行读写操作。c:与电脑通讯显示单片机读到的温度,方式为串口通讯。2) ds1631za:检测周围温度。b:得到主机命令后,将温度数据传送给主机。3) 电脑a:通过jtag,与温度检测系统相连,运用串口调试助手将温度显示出来。b:保存得到的温度数据,并随时将某个时间的温度打印出来。2.ds1631z与iic时序与编程方法1)ds1631za:ds1631z时序图如图4.4图4.4 ds1631z时序图start:scl一直为高电平,当sda由高电平变为低电平,为开始命令。stop:scl一直为高电平,当sda由低电平变为高电平,为停止命令。b:控制命令 如图4.5图4.5 ds1631z地址格式图a2 a1 a0器件地址输入。每根总线可挂8个ds1631芯片。r/w=1 主机对ds1631z进行读操作。r/w=0 主机对ds1631z进行写操作。c:寄存器格式3.串口通讯我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的gnd、第2脚的rxd、第3脚的txd。这是最简单的连接方法,但是对本设计来说已经足够使用了,电路如上图所示。通信线采用交叉接法,即两者信号线对应成为rt,tr。 具体连接电路如图4.6:162738495j1db9 xc2267162738495j2db9 pcrxdrxdtxdtxd图4.6串口通讯接口图4.程序的实现与验证 如图4.7初始化ds18b20匹配rom命令发一个ds18b20序列号等待1us读当前ds18b20温度开始所有ds18b20都访问完毕?存在一个ds18b20?发搜索rom命令读并存储当前ds18b20序列号跳过rom命令初始化ds

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论