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

下载本文档

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

文档简介

吉林工业工程职业技术学院 毕业设计(论文)基于单片机的数字温度测量系统系 别: 汽车工程系 学生姓名: 专业班级: 汽车802班 学 号: 指导教师: 2011年 4月 10日独创性声明 本人声明所呈交的毕业论文是我个人在导师指导下进行的研究工作及取得的成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 论文作者签名: 日期: 年 月 日毕业论文版权使用授权书 本毕业论文作者完全了解学校有关保留、使用毕业论文的规定,即:学校有权保留并向有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权郑州职业技术学院要以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文。 保密,在_年解密后适用本授权书. 本论文属于 不保密。(请在以上方框内打“”)毕业论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 摘 要 目前单片机的应用已深入到国民经济的各个的领域,凡是有自动控制要求的地方,都会有单片机的使用。单片机的应用有利于系统的小型化,对各个行业的技术改造和产品的更新换代起到了重要的推动作用。msp430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。温度测量在很多领域应用十分广泛,尤其是在一些对温度指数要求比较高的行业,温度测量占有十分重要的地位。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件tmp100作为温度采集,msp430单片机作为主控芯片,实现了对温度的实时测量。本系统的硬件接口电路相对比较简单,主要就是msp430单片机与数字温度传感器tmp100的连接和程序的设计。关键字:msp430单片机;数字温度传感器tmp100;i2c两线式串行总线 目 录摘 要(i) 单片机概念(1).单片机的定义(1).单片机的组成及特点(1).单片机的分类及应用(3).单片机的历史及发展趋势(5)msp430单片机(9).msp430 单片机的发展(9).msp430 单片机的特点(10).msp430 系列与系列的比较(12)3 基于msp430实现的数字温度测量系统(13).硬件设计(13)3.1.1tmp100芯片(13).软件设计(16)3.2.1tmp100操作(16)3.2.2tmp100操作的实现(18)4总结(24)参考文献(25)致 谢(26)24 单片机概念.单片机的定义 单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。 . 单片机的组成及特点单片机是微型机的一个主要分支,在结构上的最大特点是把cpu、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。单片机的组成单片机内部结构框图如上图为单片机的典型组成框图。由图可见,它通过内部总线把计算机的各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,cpu通过它们将地址输出到存储器或i/o接口;/数据总线的作用是在cpu与存储器或i/o接口之间,或存储器与外设之间交换数据;控制总线包括cpu发出的控制信号线和外部送入cpu的应答信号线等。2. 单片机的特点由于单片机的特殊结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。单片机主要有如下特点:(1)有优异的性能价格比。(2)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。(3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、i/o口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。(4)低功耗、低电压,便于生产便携式产品。(5)外部总线增加了i c(inter-integrated circuit)及spi(serial peripheral interface)等串行总线方式,进一步缩小了体积,简化了结构。(6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统 .单片机的分类及应用单片机的分类单片机作为计算机发展的一个重要领域,应用一个较科学的分类方法。根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。1. 通用型/专用型这是按单片机适用范围来区分的。例如,80c51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成adc接口等功能的温度测量控制电路。2. 总线型/非总线型这是按单片机是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。3. 控制型/家电型这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。显然,上述分类并不是惟一的和严格的。例如,80c51类单片机既是通用型又是总线型,还可以作工控用。单片机的应用 由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:1. 单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。2. 单片机在机电一体化中的应用机电一体化是机械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。3. 单片机在实时控制中的应用单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。4. 单片机在分布式多机系统中的应用在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。5. 单片机在人类生活中的应用自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。 综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。. 单片机的历史及发展趋势 单片机的历史单片机诞生于20世纪70年代末,经历了scm、mcu、soc三大阶段。1.scm即单片微型计算机(single chip microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了scm与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,intel公司功不可没。.mcu即微控制器(micro controller unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展mcu的重任不可避免地落在电气、电子技术厂家。从这一角度来看,intel逐渐淡出mcu的发展也有其客观因素。在发展mcu方面,最著名的厂家当数philips公司。philips公司以其在嵌入式应用方面的巨大优势,将mcs-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记intel和philips的历史功绩。3.单片机是嵌入式系统的独立发展之路,向mcu阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了soc化趋势。随着微电子技术、ic设计、eda工具的发展,基于soc的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段(1)第一阶段(1976-1978):单片机的控索阶段。以intel公司的mcs 48为代表。mcs 48的推出是在工控领域的控索,参与这一控索的公司还有motorola 、zilog等,都取得了满意的效果。这就是scm的诞生年代,“单机片”一词即由此而来。 (2)第二阶段(1978-1982)单片机的完善阶段。intel公司在mcs 48 基础上推出了完善的、典型的单片机系列mcs 51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。 完善的外部总线。mcs-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。 cpu外围功能单元的集中管理模式。 体现工控特性的位地址空间及位操作方式。 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。 (3)第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。intel公司推出的mcs 96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着mcs 51系列的广应用,许多电气厂商竞相使用80c51为内核,将许多测控系统中使用的电路技术、接口技术、多通道a/d转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。(4)第四阶段(1990):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。单片机的发展趋势 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着cmos化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。cmos化 近年,由于chmos技术的进小,大大地促进了单片机的cmos化。cmos芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80c51取代8051为标准mcu芯片的原因。因为单片机芯片多数是采用cmos(金属栅氧化物)半导体工艺生产。cmos电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的ttl电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了hmos(高密度、高速度mos)和chmos工艺。chmos和hmos工艺的结合。目前生产的chmos电路已达到lsttl的速度,传输延迟时间小于2ns,它的综合优势已在于ttl电路。因而,在单片机领域cmos正在逐渐取代ttl电路。低功耗化 单片机的功耗已从ma级,甚至1ua以下;使用电压在36v之间,完全适应电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。低电压化 几乎所有的单片机都有wait、stop等省电运行方式。允许使用的电压范围越来越宽,一般在36v范围内工作。低电压供电的单片机电源下限已可达12v。目前0.8v供电的单片机已经问世。大容量化 以往单片机内的rom为1kb4kb,ram为64128b。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内rom最大可达64kb,ram最大为2kb。高性能化 主要是指进一步改进cpu的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(risc)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高者已达100mips(million instruction per seconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其i/o功能,由此引入了虚拟外设的新概念。小容量、低价格化 与上述相反,以4位、8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。外围电路内装化 这也是单片机发展的主要方向。随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。除了一般必须具有的cpu、rom、ram、定时器/计数器等以外,片内集成的部件还有模/数转换器、dma控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。串行扩展技术 在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位otp(one time programble)及各种类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是i c、spi等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。更多品牌的系列也会迅速产生,更多的新技术也会应用到其中,这样更有利于单片机本身的发展,大规模集成电路的应用必将对单片机的发展有划时代的意义。msp430单片机msp430系列单片机是美国德州仪器 ()1996年开始推向市场的一种16位超低功耗的混合信号处理器(mixed signal processor)。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。.msp430 单片机的发展 msp430系列是一个16 位的、具有精简指令集的、超低功耗的混合型单片机,在 1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆 msp430系列单片机的发展过程,可以看出有这样三个阶段: 开始阶段 从 1996 年推出msp430 系列开始到2000年初,这个阶段首先推出有33x 、32x 、31x 等几个系列,而后于2000 年初又推出了 11x 、11x1系列。 msp430的33x 、32x 、31x等系列具有 lcd 驱动模块,对提高系统的集成度较有利。每一系列有 rom 型(c)、otp 型(p)、和eprom 型(e)等芯片。eprom型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即:用户可以用 eprom 型开发样机;用 otp 型进行小批量生产;而 rom 型适应大批量生产的产品。 这个时期的msp430已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的i/o引脚等,只有 33x系列才具备。33x系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时,33x并不一定是最适合的。而片内高精度a/d转换器又只有 32x 系列才有。 随着 flash 技术的迅速发展,ti 公司也将这一技术引入msp430系列中。在 2000 年7月推出f13x/f14x系列,在2001年7月到 2002 年又相继推出 f41x 、f43x 、f44x 这些全部是 flash 型单片机。 f41x 单片机是目前应用比较广的单片机,它有 48 个 i/o 口,96 段 lcd 驱动。f43x 、f44x 系列是在 13x 、14x 的基础上,增加了液晶驱动器,将驱动 lcd 的段数由 3xx 系列的最多120 段增加到 160 段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。 蓬勃发展阶段 在前一阶段,引进新技术和内部进行调整之后,为 msp430 的功能扩展打下了良好的基础。于是ti公司在2002年底和2003年期间又陆续推出了 f15x 和 f16x 系列的产品。 在这一新的系列中,有了两个方面的发展。一是从存储器方面来说,将ram容量大大增加,如f1611的ram容量增加到了10kb 。这样一来,希望将实时操作系统( rtos )引入 msp430 的,就不会因 ram 不够而发愁了。二是从外围模块来说,增加了 i 2 c 、dma 、dac12 和svs等模块。 在 2003 年中,ti 公司还推出了专门用于电量计量的 msp430fe42x 和用于水表、气表、热表上的具有无磁传感模块的 msp430fw42x 单片机。我们相信由于 msp430 的开放性的基本架构和新技术的应用,新的 msp430 的产品品种必将会不断出现。 .msp430 单片机的特点msp430 系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点。 强大的处理能力msp430 系列单片机是一个 16 位的单片机,采用了精简指令集结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8mhz 晶体驱动下指令周期为 125 ns 。在运算速度方面, msp430 系列单片机能在 8mhz 晶体的驱动下,实现 125ns 的指令周期。16 位的数据宽度、 125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 fft等)。 超低功耗 msp430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。 首先, msp430 系列单片机的电源电压采用的是 1.83.6v 电压。因而可使其在 1mhz 的时钟条件下运行时, 芯片的电流会在 200400ua 左右,时钟关断模式的最低功耗只有 0.1ua 。 其次,独特的时钟系统设计。在 msp430 系列中有两个不同的系统时钟系统:基本时钟系统和锁频环( fll 和 fll+ )时钟系统或 dco 数字振荡器时钟系统。有的使用一个晶体振荡器( 32768hz ) , 有的使用两个晶体振荡器)。由系统时钟系统产生 cpu 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。 系统工作稳定上电复位后,首先由 dcoclk 启动 cpu ,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做 cpu 时钟 mclk 时发生故障, dco 会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。 方便高效的开发环境 目前 msp430 系列有 opt 型、 flash 型和 rom 型三种类型的器件,这些器件的开发手段不同。对于 opt 型和 rom 型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于 flash 型则有十分方便的开发调试环境,因为器件片内有 jtag 调试接口,还有可电擦写的 flash 存储器,因此采用先下载程序到 flash 内,再在器件内通过软件控制程序的运行,由 jtag 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 pc 机和一个 jtag 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 c 语言。 msp430 单片机目前主要以 flash 型为主。 适应工业级运行环境 msp430 系列器件均为工业级的,运行环境温度为 -40+ 85 摄氏度 ,所设计的产品适合用于工业环境下。 . msp430 系列与系列的比较我国的多数读者对89c51系列的单片机是很熟悉的,为了加深对 msp430 系列单片机的认识,我们不妨将两者进行一下比较。 首先,89c51单片机是 8 位单片机。其指令是采用的被称为“ cisc ”的复杂指令集,共具有111条指令。而 msp430 单片机是 16 位的单片机,采用了精简指令集(risc)结构,只有简洁的 27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。 其次,89c51单片机本身的电源电压是 5 伏,有两种低功耗方式:待机方式和掉电方式。正常情况下消耗的电流为 24ma ,在待机状态下,其耗电电流仍为 3ma ;即使在掉电方式下,电源电压可以下降到 2v ,但是为了保存内部 ram 中的数据,还需要提供约 50ua 的电流。而 msp430 系列单片机在低功耗方面的优越之处,则是89c51系列不可比拟的。正因为如此, msp430 更适合应用于使用电池供电的仪器、仪表类产品中。 再者,89c51系列单片机由于其内部总线是 8 位的,其内部功能模块基本上都是 8 位的虽然经过各种努力其内部功能模块有了显著增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。 msp430 系列其基本架构是16位的,同时在其内部的数据总线经过转换还存在 8 位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展 8 位的功能模块,还是16位的功能模块,即使扩展模 / 数转换或数 / 模转换这类的功能模块也是很方便的。这也就是为什么 msp430 系列产品和其中功能部件迅速增加的原因。 最后,就是在开发工具上面。对于89c51来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于 msp430 系列而言,由于引进了 flash 型程序存储器和 jtag 技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。3 基于msp430实现的数字温度测量系统.硬件设计本系统的硬件接口电路相对比较简单,主要就是msp430但单片机与数字温度传感器tmp100的连接。在介绍具体的电路之前,先简要介绍一下数字温度传感器tmp100。3.1.1tmp100芯片 tmp100是ti公司的一款采用i2c接口的数字温度传感器芯片,它具有很小的封装,只有6个管脚。该芯片具有以下特性:l 采用i2c接口方式。l 用户可以设置分辨率为9位到12位。l 功耗很低,工作时电流为45a,处于低功耗是电流仅为0.1a l 单电源供电,并且有较宽的供电范围,供电电压范围为2.7v5.5vl 小封装。只有6个管脚,采用sot-6封装。为了增加对tmp100芯片的认识,下面给出该芯片的框图,如下图如图中给出了tmp100的管脚图,下面对具体的管脚进行介绍。l vcc:电源管脚。l gnd:接地管脚。l add1:地址线1。用来进行器件寻址。l add0:地址线。用来进行器件寻址。l sda:i2c的数据线。l scl:i2c的时钟线。经过对tmp430芯片的介绍,对该款数字温度传感器芯片有了基本的认识,下面介绍硬件电路的具体设计。接口电路设计硬件的接口电路相对简单,主要就是i2c接口的设计。在msp430系列单片机中,msp430f13x和msp430f14x等系列单片机都没有i2c模块,考虑这种情况,将tmp100的i2c口与msp430单片机的一般i口连接就行了。如下图所示为接口电路图。在图中,将add1和add0管脚接地,这意味该器件的地址为“00”。将tmp100的scl管脚与单片机的p12管脚连接,tmp1 00的sda与单片机的p13管脚连接,但需要注意的是i2c两个管脚都需要拉高。由于单片机电路相对比较简单,这就不再给出具体的电路图了。.软件设计本系统的软件设计主要包括i2c总线的实现和tmp100操作的实现。由于篇幅限制i2c总线的实现,这里就不再进行介绍。下面主要介绍tmp100操作的实现3.2.1tmp100操作对tmp100的操作是通过操作内部的寄存器来实现的。如下图所示为tmp100的片内寄存器结构图。如上图所示可以看出,单片机要访问tmp100片内某个寄存器,需要通过指针寄存器来实现。指针的最低两位(p1、p0)用来寻址片内其他寄存器。如下表所示为p1、p0的寻址编码。p1、p0的寻址编码p1p0寄存器00温度寄存器(只读)01设置寄存器(读写)10下限寄存器(读写)11上限寄存器(读写)由表可以看出,单片机要访问tmp100片内的某个寄存器,首先要设置指针寄存器的最低两位的值。为了进一步了解tmp100的操作,下面对寄存器进行简单的介绍。温度寄存器是用来存放温度数据的,占个字节,但是有效的数据只有14位,即低字节的8位和高字节的低4位。上、下限寄存器主要用于存放温度的上限和下限,当温度高于上限寄存器所设置或者读取tmp100的工作状态,该寄存器有位,如下图所示为设置寄存器的示意图。os/alarmr1r0f1f0poltmsd设置寄存器示意图下面对设置寄存器的各个位进行简单介绍。sd:低功耗模式设置位。如果设置该位为,则tmp100进入低功耗模式。tm:比较模式还是中断模式设置位。如果该位为,则为中断模式;如果该位为,则为比较模式。pol:极性位。与os/alarm结合使用。f1、f0:错误队列位。在温度超出了上、下限寄存器所设置的上限和下限时,该位用来确定连续产生多少个错误后就设置报警信息。r1、r0:分辨率位。该两位用来设置采集的分辨率。该两位的值为00时,分辨率为位;该两位的值为01,分辨率为10位;该两位的值为10时,分辨率为11位;该两位的值为11时,分辨率为12位。os/alarm:当处于低功耗状态时,设置该位用来执行单次转换,转换完后继续进入低功耗状态。当tmp100不处于低功耗状态时,该位表示报警状态信息。以上对tmp100的寄存器进行了简单介绍,读者可以参看tmp100数据手册了解更加详细的信息。下面介绍tmp100操作程序的实现。 3.2.2tmp100操作的实现tmp100的操作主要包括读寄存器操作和写寄存器操作。tmp100的读寄存器操作和写寄存器操作函数都是建立在i2c程序基础上的,i2c程序在此不做具体介绍。下面给出i2c的数据收发、读操作和谐操作个部分的具体程序代码。i2c的数据收发函数tmp100的数据收发都是从最高位开始,因此i2c的数据收发也必须是从最高位开始。下面为i2c的收发函数的代码。void i2c_txbyte (int nvalue)int i;int j;for(i=0;i0;j-);i2c_set_sck_high();nvalue0;j-);i2c_set_sck_low();return;int i2c_rxbytehitolow(void)int ntemp=0;int i;int j;i2c_set_sck_high();pldir &=(sda);_nop();_nop();_nop();_nop();for(i=0;i8;i+)i2c_set_sck_high();if(plin&sda)ntemp|=(0x010;j-);i2c_set_sck_low();return ntemp;以上给出了i2c的收发函数,在此基础上,就可以实现tmp100的读写操作。.读操作tmp100的读操作主要是从不同的寄存器里读取数据,下面为具体的程序。int tmp_readdata(char npointer, char pbuf,int nlen)int ntemp=0;int i,j;/启动数据总线i2c_start();/发送写命令i2c_txbyte(0x90);/等待ackntemp=i2c_getack();/发送指针寄存器i2c_txbyte(npointer);/等待ackntemp= i2c_getack();/发送写命令i2c_txbyte(0x91);/读数据for(i=0;i0;j-);/停止总线i2c_stop();return ntemp;以上的函数是严格按照tmp100的读操作时序实现的。在上面的函数入口参数中,“npointer”为指针寄存器的值, “nbuf”表示从tmp100里读出返回给用户的数据,“nlen”表示读出数据的个数。写操作tmp100的写操作主要是

温馨提示

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

最新文档

评论

0/150

提交评论