基于MCS51单片机的智能热水器的设计与实现毕业设计学位论文范文模板参考资料.doc
1 引言1.1 绪论单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的1。1.2 课题研究的背景及意义近年来,品种繁多的小家电产品已开始成为现代家庭生活中的必需品,“小家电、大市场”的趋势也越加明朗。作为小家电家族中的一员,热水器也顺应了市场的趋势,发展势头良好。家电产品陆续进入了“智能化”时代。同样,电热水器产品也纷纷走上了智能化的道路。如海尔的“智能专家”A6系列,它独特的断电自动记忆功能,让众多消费者爱不释手。其他品牌也纷纷随之推出多种智能产品,在越来越讲求生活质量的今天,智能化的产品不仅方便了人们的生活,更提升了生活的品质。2005年电热水器市场可谓是智能化领跑时尚。新型电热水器表现较为突出的是即热式电热水器,其五六年前开始进入市场,但受使用环境和产品技术的影响,几年来一直处于比较缓慢的发展状态中。温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好地利用起来。对于热水器的水温控制在工业及日常生活中应用广泛,分类较多,单片机控制部分采用AT89C51单片机为核心,用PSB型负温热敏电阻作为温度传感器,采用软件编程,以达到温度控制目的21.3 单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途3 目前,很多人对汇编语言并不认可。可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。不过初学者如果不了解一下单片机的汇编语言,在单片机领域是比较致命的。如果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!可以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者因为单片机的C语言虽然是高级语言,但是它不同于台式机个人电脑上的VC+什么的单片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在台式PC上写程序毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题4。1.4 发展阶段第一阶段(1976-1978):单片机的探索阶段。以Intel公司的MCS48为代表第二阶段(1978-1982):单片机的完善阶段。Intel公司在MCS48基础上推出了完善的典型的单片机系列MCS51。第三阶段(1982-1990):单片机向微控制器发展阶段,也是8位单片机的巩固发展及16位单片机的推出阶段。Intel公司推出的MCS96系列单片机第四阶段(1990-):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机5。2 概述利用AT89C51单片机为核心,配合温度传感器,AD转换器,显示电路,输出控制电路组成,软件选用汇编语言编程。单片机可将温度传感器检测到的水温模拟量转换成数字量,显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。2.1 单片机及单片机应用系统 单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU、随机存取存储器RAM、只读存储器ROM、基本输入输出接口电路、定时器/计数器等部件制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。单片机内部结构示意图如图2-1。图2-1 单片机内部结构示意图单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或者多种功能的实用系统,单片机应用系统是由硬件和软件组成的,硬件是应用系统的基础,软件是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可,单片机应用系统的组成如图2-2。图2-2 单片机系统的组成可见,单片机应用系统的设计必须从硬件和软件两个角度来深入了解单片机,并能够讲二者有机的结合起来,才能形成具有特定功能的应用系统6。本课题用的是AT89C51单片机,用PROTUES和KEIL进行仿真。2.2 单片机的性能单片机通常按其微处理器字长的位数来分类,如4、8、16、32、64位单片机。221 4位机1971年Intel首先推出了4位微处理器芯片4004。此后各厂家相继推出4位机产品。因4位机每次只能处理一位BCD码数据,故只适于简单控制场合。但因其价廉,在家电等消费类产品中仍有广泛应用。近年来 ,为了抵御8位机的侵蚀,4位机在结构和性能上有了很大发展。主要有: 采用1m CMOS工艺,使指令执行速度达到1sROM为3264kB,RAM为4k×4位。这些增强性能已与8位机相当; ·将LED、LCD、VFD等显示驱动集成在单片中。这种增强的IO功能甚至比一般的8位机还强; ·降低功耗。低于22V电压和A级电流也能运行。这比一般8位机还低一些; ·采用类似于RISC的结构。使4位机的性能大幅度提高; ·针对特定的应用加入特定的功能。如AD、DA、过零检测、比较器、计数器、定时器、图形显示、遥控等。 但即使如此,4位机的市场占有率仍然较小。性能如表1(篇幅所限,仅举数种说明)所列。222 8位机由于8位机可以一次处理一个ASCII字符,因而用途十分广泛。如显示、终端键盘、打印、字处理、工业控制等。市场占有率70以上。功能丰富,品种齐全,通用性强。1972年Intel首先推出了8位微处理器8008,随后于1976年率先推出8位机MCS48系列。1980年又推出MCS51系列产品,其性能大大超过48系列产品。如计算速度为48系列的10倍,时钟12MHz时指令周期可为1s等。Motorola到78年才推出第一个单片机MC6801系列,不过,功能已相当丰富,如嵌入有EEPROM、AD、LED驱动、PWM输出等,成为功能很强的工业控制器。Zilog也在78年推出Z8系列单片机,它一开始就以一种新面貌出现,不单可用作单片机,还可作为微处理器用于微计算机系统中。值得特别提出的是,Atmel公司推出的89C系列单片机4,其内核与工业标准的80C51同,即指令集与管脚分布与MCS51产品兼容。它的特点是时钟频率更高 ,可达33MHz,最高可达40MHz,因而运算速度更快。我国单片机主要应用领域之一为工业测控 ,用于此领域的单片机多为8位机,而以MCS51系列和AT89C5系列用得最多。不少高校的微机原理或单片机原理课程都以这种机型为背景机。 生产8位机的厂家相当多,品种型号很多。在我国,主流则是上述几家公司的派系产品。而每一派系又有多个厂家及其多种型号产品。如属于Intel派系的有PhilipsSignetics,Siemens,AMD,OKI,MARTRAMHS等公司型号的产品。属于Motorola派系的有Hitachi,Mitsubish,Rockwell,WDC等公司型号产品。属于Zilog派系的有NEC,Hitachi,SGSThomson等公司型号的产品。在这几个派系中以Intel的市场占有率最高,Motorola居中,Zilog最低。为了占领市场,Motorola还研制了680468HC04芯片,它是介于4位机与8位机之间的系列,CPU处理8位数据,运行8位指令,但数据则是每次串行输出一位,设计目标是4位机的价格,很适于质高价廉的场合。223 16位机1978年Intel最先推出16位微处理器868系列,与随后Motorola的M68000,Zilog的Z8000成为当时的三大系列16位微处理器。由于8位机应用广泛而且能解决问题,使16位单片机进入市场较晚,到1988年Inte l才推出MCS96系列机。此机具有高速运算及高速处理和控制能力,具有16位的CPU,8位的外部总线( 因此又称准16位机),丰富高效的指令系统,性能价格比优异,其售价只比8位机稍微高一些。片内有A D、PWM、Watchdog及灵活的中断系统。在工作频率12MHz时指令执行时间为12s。由于性能功能均良好,一出现便引起工业界广泛注意 。在我国,早年以MCS96应用最多,近年来,Intel80C196、80C25 1、80C51XA等有广泛的应用 。生产16位机的厂家还有Motorola,MATRAMHS,Mostek(Thomson),NEC ,OKI,Phil ips/Signetic,Sieme ns等。但到目前总产量仍不大,远低于8位机。不过由于采取了增强功能、提高性能、品种多样化和不断降低价格等措施,近年来发展迅速,估计90年代末期可望赶上8位机。所采取的措施主要有: ·增强运算能力,加大容量。片内有健全的乘除指令,RAM容量加大到2k,ROM到64k,可直接支持C和Forth语言; ·提高数据处理与传输能力。一般都增加了DMA传输和快速IO功能; ·提高速度。如80C51XA工作频率达30MHz,HPC系列达40MHz。指令周期降至数s。 ·采用RISC结构。如Waterscale的PSC1000,Harris的RTX2000等均采用RISC结构。 现今16位机以Intel的8096系列的产量最大,准16位机8098已停产。CMOS工艺的单片机以国家半导体的HPC系列的性能价格比最高,Hitachi的H8500则是目前综合性能最好的单片机。224 32位机随着高技术在智能机器人、光盘、激光打印机、图像与数据实时处理、复杂实时控制、网络服务器等领域的应用发展,16位机已显得无能为力,需要32位机才能满足要求。80年代末推出了多种32位机产品。如Motorola推出的产品68300、Intel的80960都是1989年出品。其共同特点是: ·寻址能力在GB级以上(存储、处理彩色图像需要特大存储器); ·高指令执行速度。每秒M级条指令。如Intel的i960A速度为66MIPS; ·快速运算能力。有的嵌入浮点运算部件,运算能力大为增强; ·直接支持高级语言和实时多任务执行。如支持C、Forth语言。嵌入实时多任务操作系统。大多数采用RISC结构。除Motorola的MC68332、国家半导体的NS32CG160等仍用CISC外,均用RISC。 225 64位机64位机在引擎控制、智能机器人控制、磁盘控制、语音图像通信、算法密集的实时控制等场合使用。但国内仍未见有应用。下面给出一个产品例子。 英国Inmos公司的Transputer T800是64位高性能机。它集成有处理器、高速缓存、64位浮点运算器、存储控制器、串行接口,适用于超高速并行处理。 中央处理器为32位,其浮点运算速度达12亿次秒。RAM 4k,IO链接通道4组20Mbits,时钟频率25MHz,数据传输率100MBs,可寻址外部存储空间4GB。外存储器传输率33MBs7。 2.3 MSC-51单片机结构原理2.3.1 89C51单片机的基本组成图2-3 单片机的基本构成2.3.2 MSC-51MSC-51是标准的40引脚双列直插(DIP)式集成电路芯片,引脚排列见图2-4。图2-4 MCS-51的引脚排列主要特性:·与MCS-51 兼容 ·4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路 管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。内部振荡电路 外部振荡电路 图2-5震荡电路.芯片擦除: 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止8。3 基于单片机AT89C51的智能热水器水温控制设计3.1 设计任务构建了一个以AT89C51单片机为控制核心的温度自动控制系统,该系统用PSB型负温热敏电阻作为温度传感器,测量热水器内的实时温度,用实时温度和实际温度进行比较进行温度控制。主要性能指标1)温度设定范围:60-99,最小区分度为1。2)控制精度:温度控制的静态误差1。3)用十进制数码显示实际水温3.2 工作原理系统根据PSB负热敏电阻完成温度采集并转换成模拟电压信号,经A/D转换器TLC1543转换成数字电压信号送到单片机AT89C51中,单片机将采集的温度值和设定的温度值进行比较,根据比较结果控制加热器的开关,同时将温度值同时显示在LED显示器上。3.3 硬件设计 系统的硬件设计即构件一个以AT89C51单片机为控制核心的温度自动控制系统,由单片机,PSB型负热敏电阻,AD转换器,显示电路等组成 图3-1 整体的原理框图根据题目的要求,我提出了以下的两种方案: 方案1:此方案是采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度值比较后,决定加热或者不加热。由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做得较高。 方案2:采用单片机AT89C51为核心。采用了负热敏电阻采集温度变化信号,A/D转换器TLC1543将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。比较上述两种方案,方案2明显的改善了方案1的不足及缺点,并具有控制简单、控制温度精度高的特点,因此本设计电路采用方案2。 3.4 软件设计 比较采集的热水器温度和设定的温度,低于设定温度时,使P3.2输出低电平,电热器加热,高于设定温度时,使P3.1输出高电平,使电热器停止加热。根据要求画出程序流程图如下图所示:图3-2 主程序的流程图当温度达到100度时P3.0输出低电平。信号2亮,当温度低于60度时信号1亮,加热电源亮。主程序如下:void main() unsigned char i,dis1,dis2,dis3,dis4; while(1) ad=read1543(1);/ad转化 handle_ad(); dis1=temperature/1000; dis2=temperature/100%10; dis3=temperature/10%10; dis4=temperature%10; for(i=0;i<100;i+) handle_dianyuan(); display(tabl1,dis1,1); display(tabl1,dis2,2);/显示open display(tabl1,dis3,3);/ display(tabl1,dis4,4);/ display(tabl1,flag1,6); void handle_dianyuan() if(temperature>=99) flag1=1; P3=0x01; else if(temperature<60) flag1=0; P3=0X06; else flag1=0x0a; P3=0x00; 3.5 主芯片介绍3.5.1 PSB热敏电阻NTC是Negative Temperature Coefficient 的缩写,意思是负的温度系数,泛指负温度系数很大的半导体材料或元器件,所谓NTC热敏电阻器就是负温度系数热敏电阻器。它是以锰、钴、镍和铜等金属氧化物为主要材料,采用陶瓷工艺制造而成的。这些金属氧化物材料都具有半导体性质,因为在导电方式上完全类似锗、硅等半导体材料。温度低时,这些氧化物材料的载流子(电子和孔穴)数目少,所以其电阻值较高;随着温度的升高,载流子数目增加,所以电阻值降低。NTC热敏电阻器在室温下的变化范围在10O1000000欧姆,温度系数-2%-6.5%。NTC热敏电阻器可广泛应用于温度测量、温度补偿、抑制浪涌电流等场合。电阻值和温度变化的关系式为: RT = RN expB(1/T 1/TN) RT :在温度 T ( K )时的 NTC 热敏电阻阻值。 RN :在额定温度 TN ( K )时的 NTC 热敏电阻阻值。 T :规定温度( K )。 B : NTC 热敏电阻的材料常数,又叫热敏指数。 exp :以自然数 e 为底的指数( e = 2.71828 )。PSB型负温热敏电阻,产品由Co、Mn、Ni等过渡金属元素的氧化物组成,经高温烧成半陶瓷,利用半导体毫微米的精密加工工艺, 采用玻璃管封装耐温性好,高稳定,可靠性高10。 特点 ·反应速度快、灵敏度高。·采用轴向型结构、便于安装、能承受更高温度。·玻璃封装,耐高低温(-50-350)图3-3 PSB型负热敏电阻3.5.2 TLC1543在这个设计中,我选用TLC1543作为AD转换器,因为TLC1543是10位AD转换器,比较精确,他的控制口试串行的,需要单片机的控制引脚比较少。图3-4 TLC1543的管脚说明TLC1543的特点1.10位A/D分辨率转换器;2.11个模拟输入通道;3.3路内置自光测试方式;4.总不可调整误差+/-1LSBMax;5.固有的采样保持功能;6.片内系统时钟;7.转换结束输出;8.采用CMOS技术11。 表3-1 管脚的功能说明引脚号名称I/O说明19,11,12A0-A10I模拟输入端,这11个模拟输入由内部多路器选择,输入信号源阻抗应该小于1K15/CSI片选端。该引脚的一个由高到低的变化将复位内部计数器并控制和使能DATA OUT,ADDRESS,I/O CLOCK。一个由低到高的变化将在一个设置时间和两个内部时钟下降沿内禁止ADDRESS和I/O CLOCK。 17ADDRESSI串行数据输入端。一个四位的串行地址选择下一个即将被转换的所需模拟或测试电压。串行数据以MSB为前导在I/O CLOCK的前四个上升沿被移入。在四个地址位被读入地址寄存器后,这个输入端对后续的信号无效。 16DATAOUTO用于A/D转换结果输出的二态串行输出端。DATA OUT在/CS为高时处于高阻抗状态,当/CS为低时处于激活状态。/CS一旦有效,按照前一次转换结果的MSB值将DATA OUT从高阻抗状态转变为相应的逻辑电平。I/O CLOCK的下一个下降沿将根据MSB的下一位将DATA OUT驱动成相应的逻辑电平,剩下的各位一次移出,而LSB在I/O CLOCK的第九个下降沿出现。在I/O CLOCK的第十个下降沿,DATA OUT端被驱动为逻辑电平,因此多于十个时钟时串行接口传送的是一些“零”。19EOCO转换结束端。在第十个I/OCLOCK该输出端从逻辑高电平变为低电平并保持低直到转换完成及数据准备输出。10GND地18I/O CLOCKI输入/输出时钟端。I/OCLOCK接收串行输入完成以下四个功能:1. 在I/O CLOCK的前四个上升沿,它将四个输入地址位键入地址寄存器。在第四个上升沿之后多路地址有效。2. 在I/O CLOCK的第四个下降沿,在选定的多路器输入端上的模拟电容充电并继续到I/O CLOCK第十个下降沿。3. 它将前一次转换的数据其余9位出DATA OUT端。4. 在I/O CLOCK的第十个下降沿它将转换的控制信号传送到内部的状态控制器。14REF+I正基准电压端。基准电压的正端(通常为VCC)被加到REF+.最大的输入电压范围取决于REF+对REF-端的电压差。13负基准电压端。基准电压的低端(通常为地)被加到REF-。20正电源端。本器件可以用6种基本的串行接口时序方式。这些方式取决于I/O CLOCK的速度与/CS的工作,这六种方式是:(1)具有10时钟和/CS在转换周期无效的快速转换方式;(2)具有10时钟和/CS连续有效(低)的快速转换方式;(3)具有11至16时钟和/CS在转换周期无效(高)的快速转换方式;(4)具有16时钟和/CS连续有效(低)的快速转换方式;(5)具有11至16时钟和/CS在转换周期无效的慢速转换方式;(6)具有16时钟和/CS连续有效(低)的慢速转换方式12。方式(1):在这种方式中,串行I/CLOCK传送之间/CS无效(高),并且每次传送10个时钟。/CS的下降沿使DATA OUT引脚脱离高阻抗状态并启动一次I/O CLOCK的工作过程。/CS的上升沿将终止这个过程并在规定的延迟时间内使DATA OUT回到高阻抗状态。同时,/CS的上升沿经过一个设置时间加两个内部系统时钟的下降沿后禁止I/OCLOCK和ADDRESS端。图3-5时序关系图在I/O CLOCK的前四个上升沿将ADRESS端呈现的下一个转换周期的4位模拟通道选择为(MSB在前)输入地址寄存器。这个地址选择14个输入(11路模拟输入,3路内部测试电压)中的一个。下表为输入通道对应的地址: 表3-2输入通道对应地址(1)模拟输入通道选择送入地址寄存器的值二进制十六进制A00000 0A100011A200102A300113A401004A501015A601106A701117A810008A910019A101010A 表3-3输入通道对应地址(2)内部自测试电压选择送入数据输入寄存器的值单极性输出的结果二进制十六进制十六进制(Vref+ Vref_)/21011B200Vref1100C000Vref+1101D3FF知道PSB负热敏电阻以及LTC1543的以上特性,根据本次设计的实际情况,经计算验证后得出下列连接图: 图3-6TLC1543连接图3.6 软件介绍1.protues软件的介绍Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。其功能特点如下: Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真革命性的特点(1)互动的电路仿真(2)仿真处理器及其外围电路 具有3大功能模块:(1)个易用而又功能强大的ISIS原理布图工具;(2)PROSPICE混合模型SPICE仿真;(3) ARES PCB设计. PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台 。随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用13。2.keil软件的介绍1. 系统概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。2. Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、