《室内温度控制报警器.doc》由会员分享,可在线阅读,更多相关《室内温度控制报警器.doc(45页珍藏版)》请在三一办公上搜索。
1、中国石油大学(华东)现代远程育毕业设计(论文)题 目: 室内温度控制报警器 学习中心: 重庆信息工程专修学院奥鹏学习中心 年级专业: 0409级 电气工程及自动化学生姓名: 程首 学 号: 0451480042 指导教师: 韩亚军 职 称: 讲师 导师单位: 重庆信息工程专修学院 中国石油大学(华东)远程与继续教育学院论文完成时间: 2007 年 12月 25 日中国石油大学(华东)现代远程教育毕业设计(论文)任务书发给学员 1设计(论文)题目: 室内温度控制报警器 2学生完成设计(论文)期限: 年 月 日至 年 月 日3设计(论文)课题要求:软件(protel 99)的简单介绍以及使用软件进
2、行控制器的设计,220v交流供电。当设定温度值和实际温度值偏差超过最小偏差时,系统工作,每1的偏差要求控制器开启1秒,对温度进行调节,系统开启时间为110秒,当系统开启时间到达后,系统必须关闭5秒钟才能进行下一次的控制动作。设定温度范围为:2080摄氏度。可根据设定的温度通过该温度控制报警器的温度进行控制,使系统工作在设定的温度点,要求最小偏差2% 4实验(上机、调研)部分要求内容:熟练利用PROTEL99SE设计程序,并对程序进行调试。实验结束后,要对实验成果进行总结,分析,尽可能提高程序的正确率与可行性。对实验的心得要多和辅导老师交流.5.文献查阅要求:1 张志良.单片机原理与控制技术.北
3、京: 机械工业出版社 2004.122 严慰敏.数据结构.北京:清华大学出版社2004.013 王闵.计算机组成原理.北京:电子工业出版社2002.104 方敏.操作系统教程.北京:电子科技出版社2003.025 刘坚.数据与计算机通信.北京:高等教育出版社2000.106发 出 日 期: 年 月 日 7学员完成日期: 年 月 日指导教师签名: 学 生 签 名: 摘 要本设计采用直接数字控制(DDC)对加热炉进行控制,使其温度稳定在某一个值上。并且具有键盘输入温度给定值,LED数码管显示温度值和温度达到极限时提醒操作人员注意的功能。温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程
4、都与温度密切相关,因此温度控制是生产自动化的重要任务。一.对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方 二.温度控制系统的组成框图采用典型的反馈式温度控制系统,组成部分见正文图。其中数字控制器的功能由微型机算机实现。三. 温度控制系统结构图及总述图中由 420mA 变送器I , A/D 转换器构成输入通道,用于采集炉内的温度信号。其中,变送器选用 XTR101 ,它将热电偶信号(温度信号)变为 420mA 电流输出,再由高精密电流 / 电压变换器 RCV420 将 420mA 电流信号变为 05V 标准电压信号,以供 A/D 转换用。转换后的数字量与炉温的给定值数字化
5、后进行比较,即可得到实际炉温和给定炉温的偏差。炉温的设定值由键盘输入。由 MC51 构成的数字控制器按最小行运算,计算出所得。关键词:PID控制器,A/D转换器,D/A转换器目 录摘 要i目录ii第1章 前言1第2章 开发平台及工具的选用32.1 PROTEL 99SE 简介32.2 Protel99组成42.3 Protel99主要特色52.4 Protel99的主要特性如下:5第3章 KEIL 8.02简介73.1 8051开发工具73.2 uVision2集成开发环境73.2.1项目管理73.2.2 集成功能83.3 编辑器和调试器83.3.1源代码编辑器83.3.2 C51编译器93.
6、3.3 代码优化103.3.4 RTX51实时核模块113.3.5 RTX51实时核模块123.3.6 测试程序133.3.7 C51V7版增强功能介绍143.4 在系统编程软件SLISP简介14第4章 系统总体设计164.1 元器件基本知识164.1.1 单片机AT89S51164.1.2 模数转换器AD0809214.1.3 温度传感器 AD590244.1.4 数码管LED显示器244.2原理图及功能244.2.1原理图 (图4.2.1-2)244.2.2 功能24第5章 软件详细设计245.1 流程图245.2 源代码24第6章 结论24致 谢24参考文献24第1章 前言控制算法是微机
7、化控制软件系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多种。在生产过程自动的发展历程中,PID控制是历史最久、生命力最强的基本控制方式。它是最早发展起来的控制策略之一,由于其算法简单、优越性好和可靠性高,实际运行经验和理论分析都表明,PID控制能满足相当多工业对象的控制要求,尤其适用于可建立精确模型的确定性控制系统。虽然随着工业现代化的发展和其它各种先进技术的发展,自动化技术将会有更新的发展,但是,PID控制技术仍然不会过时,它还将在今后很长一段时间内占据主导地位。近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自
8、动化等方面获得了广泛的应用。单片机具有体积小、重量轻、耗能省、价格低、可靠性高和通用灵活等优点,因此也广泛应用于卫星定向、汽车火花控制、交通管理和微波炉等专用控制上。近几年来,单片机的发展更为迅速,它已渗透到诸多学科和领域,以及人们生活的各个方面。由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生厂家相继推出了各种类型的单片机。在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。目前可用于MCS-51系列单片机开发的硬件越来越多,与其配套的各类开发系统
9、、各种软件也日趋完善,因此,可以极方便的利用现有资源,开发出用于不同目的的各类应用系统第2章 开发平台及工具的选用2.1 PROTEL 99SE 简介随着计算机业的发展,从80年代中期计算机应用进入各个领域。在这种背景下,87、88年由美国ACCELTechnologiesInc推出了第一个应用于电子线路设计软件包TANGO,这个软件包开创了电子设计自动化(EDA)的先河。这个软件包现在看来比较简陋,但在当时给电子线路设计带来了设计方法和方式的革命,人们纷纷开始用计算机来设计电子线路,直到今天在国内许多科研单位还在使用这个软件包。随着电子业的飞速发展,TANGO日益显示出其不适应时代发展需要的
10、弱点。为了适应科学技术的发展,ProtelTechnology公司以其强大的研发能力推出了ProtelForDos作为TANGO的升级版本,从此Protel这个名字在业内日益响亮。表2-1 开发软件和版本与功能软件名称版本功能PROTEL99SE绘制原理图KEIL8.02原程序的编写、调试以及烧写文件的生成SL ISP1.4.2.3烧写程序八十年代末,Windows系统开始日益流行,许多应用软件也纷纷开始支持Windows操作系统。Protel也不例外,相继推出了ProtelForWindows 1.0、ProtelForWindows1.5等版本。这些版本的可视化功能给用户设计电子线路带来了
11、很大的方便,设计者再也不用记一些繁琐的命令,也让用户体会到资源共享的乐趣。九十年代中,Win95开始出现,Protel也紧跟潮流,推出了基于Win95的3.X版本。3.X版本的Protel加入了新颖的主从式结构,但在自动布线方面却没有什么出众的表现。另外由于3.X版本的Protel是16位和32位的混合型软件不太稳定。98年,Protel公司推出了给人全新感觉的Proel98。Protel98以其出众的自动布线能力获得了业内人士的一直好评。99年,Protel公司又推出了最新一代的电子线路设计系统Protel99。在Protel99中加入了许多全新的特色2.2 Protel99组成1.原理图设
12、计系统原理图设计系统是用于原理图设计的Advanced Schematic系统。这部分包括用于设计原理图的原理图编辑器Sch以及用于修改、生成零件的零件库编辑器SchLib。2.印刷电路板设计系统印刷电路板设计系统是用于电路板设计的Advanced PCB。这部分包括用于设计电路板的电路板编辑器PCB以及用于修改、生成零件封装的零件封装编辑器PCBLib3.信号模拟仿真系统信号模拟仿真系统是用于原理图上进行信号模拟仿真的SPICE3f5系统。4.可编程逻辑设计系统Protel99内置编辑器可编程逻辑设计系统是基于CUPL的集成于原理图设计系统的PLD设计系统。这部分包括用于显示、编辑文本的文本
13、编辑器Text和用于显示、编辑电子表格的电子表格编辑器Spread。2.3 Protel99主要特色Protel99是基于Win95/WinNT/Win98/Win2000的纯32位电路设计制版系统。Protel99提供了一个集成的设计环境,包括了原理图设计和PCB布线工具,集成的设计文档管理,支持通过网络进行工作组协同设计功能。2.4 Protel99的主要特性如下:Protel99系统针对Windows NT4/9X作了纯32位代码优化,使得Protel99设计系统运行稳定而且高效。SmartTool(智能工具)技术将所有的设计工具集成在单一的设计环境中。SmartDoc(智能文档)技术将
14、所有的设计数据文件储存在单一的设计数据库中,用设计管理器来统一管理。设计数据库以.ddb为后缀方式,在设计管理器中统一管理。使用设计管理器 统一管理的文档是在Protel99中新提出来的,以前版本中没有。SmartTeam(智能工作组)技术能让多个设计者通过网络安全地对同一设计进行单独设计,再通过工作组管理功能将各个部分集成到设计管理器中。PCB自动布线规则条件的复合选项极大的方便了布线规则的设计。用在线规则检查功能支持集成的规则驱动PCB布线。继承的PCB自动布线系统最新的使用了人工智能技术,如人工神经网络、模糊专家系统、模糊理论和模糊神经网络等技术,即使对于很复杂的电路板其布线结果也能达到
15、专家级的水平对印刷电路板设计时的自动布局采用两种不同的布局方式,即Cluster Placer(组群式)和基于统计方式(Statistical Placer)。在以前版本中只提供了基于统计方式的布局。Protel99新增加了自动布局规则设计功能,Placement标签页是在Protel99中新增加的,用来设置自动布局规则。增强的交互式布局和布线模式,包括“Push-and-shove”(推挤)。电路板信号完整性规则设计和检查功能可以检测出潜在的阻抗匹配、信号传播延时和信号过载等问题。Signal Integrity标签页也是在Protel99中新增加的,用来进行信号完整性的有关规则设计。零件封
16、装类生成器的引入改进了零件封装的管理功能。广泛的集成向导功能引导设计人员完成复杂的工作。原理图到印刷电路板的更新功能加强了Sch和PCB之间的联系。完全支持制版输出和电路板数控加工代码文件生成。可以通过Protel Library Development Center升级广泛的器件库。可以用标准或者用户自定义模板来生成新的原理图文件。集成的原理图设计系统收集了超过60000元器件。通过完整的SPICE 3f5仿真系统可以在原理图中直接进行信号仿真。可以选择超过60中工业标准计算机电路板布线模板或者用户可以自己生成一个电路板模板Protel99开放的文档功能使得用户通过API调用方式进行三次开发
17、。集成的(Macro)宏编程功能支持使用Client Basic编程语言第3章 KEIL 8.02简介3.1 8051开发工具KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。 C51 V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有
18、兼容的仿真器,同时支持其它第三 方开发工具。因此,C51 V7版本无疑是8051开发用户的最佳选择。3.2 uVision2集成开发环境3.2.1项目管理工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。Vision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data poin
19、ter)或者加速器(math accelerator)的特性。uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。3.2.2 集成功能 uVision2的强大功能有助于用户按期完工。 (1).集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。 (2).文件寻找功能:在特定文件中执行全局文件搜索。 (3).工具菜单:允许在V2集成开发环境下启动用户功能。 (4).可配置SVCS接口:提供对版本控制系统的入口。 (5).PCLINT接口:对应用程序代码进行深层语法分析。 (6).Infineon的EasyCase接口:集成块集代码产生。
20、 (7).Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision2 3.3 编辑器和调试器3.3.1源代码编辑器 uVision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。 2.断点uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。在属性框(attributes column)中可以快
21、速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。3.调试函数语言 uVision2中,你可以编写或使用类似C的数语言进行调试。 (1).内部函数:如printf, memset, rand及其它功能的函数。 (2).信号函数:模拟产生CPU的模拟信号和脉冲信号(simulate analog and digital inputs to CPU)。 (3).用户函数:扩展指令范围,合并重复动作。 4.变量和存储器 用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整: (1).当前函数的局部变量 (2).用户在两个不同watch窗口页面上
22、的自定义变量 (3).堆栈调用(call stack)页面上的调用记录(树)(call tree) (4).不同格式的四个存储区 3.3.2 C51编译器KEIL C51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。1.存储器和特殊功能寄存器的存取 C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字at还能把变量放入固定的存储器存储模式(大,中,小)决定了变量的存储类型。 连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015基础上
23、扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。 2.中断功能 C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。 可再入功能是用关键字来定义的多任务中断或非中断的代码要求必须具备可再入功能。 3.灵活的指针 C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。 特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需12字节,因此,指针存取非常迅速。3.3.3 代码优化 1.通用代码优化 (1).常量重叠(constant fol
24、ding) (2).通用子表达式删除(common subexpression elimination) 7.循环 (loop rotation) (3).长度缩减速(reduction) 8.死码删除(dead code elimination) (4).控制流优化(control flow optimization) 9.通用Tail Merging (5).寄存器变量使用(register variable usage) 10.通用子程序块打包(block subroutine packing) (6).寄存器间参数传递(parameter passing in register) 2.
25、8051特殊优化 (1).孔颈优化(peephole optimization) 4.数字覆盖(overlaying) (2).跳转分支优化(switch-case optimization) 5.扩展入口优化(extended access optimization) (3).中断函数优化(interrupt function optimization) 3.寄存器优化 C51为函数参数和局域变量分配了9个CPU寄存器。寄存器间最多可传递三个参数。P全局寄存器优化可删除不必要代码,优化CPU寄存器设备。 4. C语言实时库 C51实时库含100多种功能,其中大多数是可再入的。库支持所有的AN
26、SI C的程序,与嵌入式应用程序的限制相符。 固有程序为硬件提供特殊指令,如:nop, testbit, rol, ror。 5.A51宏汇编 A51宏汇编支持标准宏和MPL宏。要实现快速产生汇编程序SHELL,就直接使用C51编译器的SRC。在新的A51 V7版本中,允许用户C包含的头文件来定义常量和SFR。如今,一个单一头文件可被应用到X程序和汇编程序中。 3.3.4 RTX51实时核模块RTX51多任务实时内核可以简化那些过程复杂,时间紧迫的软件项目。RTX51是无版税的,完全集成到Keil C51工具链上,支持C语言和汇编语言程序,也完全支持代码区的应用程序。RTX51完全支持: 标准
27、任务(用一个共享寄存器区) 快速任务(用一个专用寄存器区) CAN 邮箱(为内部任务通信) 存储池(memory pools) RTX51 Tiny是简化后的内核,适于单片机系统。 RTX51和RTX51 Tiny都可使用户创建和撤消任务,发送和接收信号,也可执行其它操作系统管理。 1.上下文切换(任务切换) ().轮询方式:(round-robin)每个任务在一个规定的时间段内运行,当一个任务的时间段结束时,另一个任务随之开始。 (2).抢占方式(preemptive):优先级最高的任务最先执行,直到被一个具有更高优先级的任务打断,或是为等待某个事件而主动放弃控制权。 2.事件与中断 RTX
28、 51支持下列事件 (1).Timeouts: 延迟到特定定时点 (2).Intervals: 延迟一段时间间隔 (3).Signals: 协调内部任务操作 (4).Messages: 在任务间互传信息(5).Interrupts: 处理硬件中断 (6).Semaphores: 共享有限资源RTX51同时支持中断功能,可以向任务中发送或从任务中接收信号和信息。 3.3.5 RTX51实时核模块RTX51多任务实时内核可以简化那些过程复杂,时间紧迫的软件项目。RTX51是无版税的,完全集成到Keil C51工具链上,支持C语言和汇编语言程序,也完全支持代码区的应用程序。RTX51完全支持: 标准
29、任务(用一个共享寄存器区)快速任务(用一个专用寄存器区) CAN 邮箱(为内部任务通信) 存储池(memory pools) RTX51 Tiny是简化后的内核,适于单片机系统。 RTX51和RTX51 Tiny都可使用户创建和撤消任务,发送和接收信号,也可执行其它操作系统管理。 1.上下文切换(任务切换) ().轮询方式:(round-robin)每个任务在一个规定的时间段内运行,当一个任务的时间段结束时,另一个任务随之开始。 (2).抢占方式(preemptive):优先级最高的任务最先执行,直到被一个具有更高优先级的任务打断,或是为等待某个事件而主动放弃控制权。 2.事件与中断 RTX
30、51支持下列事件 (1).Timeouts: 延迟到特定定时点 (2).Intervals: 延迟一段时间间隔 (3).Signals: 协调内部任务操作 (4).Messages: 在任务间互传信息(5).Interrupts: 处理硬件中断 (6).Semaphores: 共享有限资源RTX51同时支持中断功能,可以向任务中发送或从任务中接收信号和信息。 3.3.6测试程序uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能DDE界面和shift语言支持自动程序测试 1.CPU和外设模拟装置 uVision2为8051及衍生产品提供了高速模拟功能和
31、片上扩展口在对话框内可直接观察和修改值,也可以用预装的C-LIKE宏指令书写符号函数来提供动态输入。 2.目标监控器 uVision2含一个可配置的监控器,可测试目标器件上的软件体。监控器用uVision2的调试器直接工作,可支持代码区。它要求目标系统具备6字节堆栈空间,6KB的代码和256字节Xdata RAM。 c.MCB517/251启动工具包 在开始一项8051工程时,MCB启动工具会对你有很大帮助。每一个启动工具包括一套2K字节的开发工具和许多可快速运行的举例程序。用户可在检测8051性能的同时,查看开发工具的可行性。 MCB517AC板含高性能Infineon C517A单片机,它
32、提供标准8052外围设备和A/D转换器,PWM,搜索比较,8位数据指针,一个高速运算单元。同时包含对81C90CAN控制器和代码区的支持。 3.3.7 C51V7版增强功能介绍 C51 V7版提供了很多新的和增强的功能,使开发8051嵌入式应用比以前更加简单。C51 V7版新功能包括:新版编译器和连接器更加优化,可以缩短程序的大小;能完全模拟支持的器件更多,如Philips 80C51MX, Dallas 80C390和Analog Devices MicroConverters;新的ISD51系统内调试器,允许在不变的目标硬件上调试程序;可更好地支持Philips 51MX的24位地址;RT
33、X51 Tiny增加了新功能,它比以前更小,但提供的功能更多。若您需要更多的信息,敬请访问。 3.4 在系统编程软件SLISP简介SLISP是由广州天河双龙电子有限公司开发的MCU在系统编程软件。支持的下载线有两种:双龙电子的串行通信下载线SL-AVRL和并行通信下载线AVR-ISP。支持的器件为ATMEL公司的AT89S系列(包含AT89S51/52)和AVR系列。支持的文件格式:INTEL格式的HEX文件、EEP文件,二进制BIN文件。支持缓冲区数据修改和保存,缓冲区中的数据可以保存为二进制BIN文件,INTEL格式的HEX或EEP文件。当用户保存单独的EEPROM数据文件时,应当选择EE
34、P文件。缓冲区中的数据还可以保存为C程序中的char或unsigned char类型数组文件,以方便程序开发者处理某些特殊应用 。软件通过串口和下载线相连接,支持USB转换成的串口通信,适合一些使用没有串口的NOTE BOOK的用户。下载线默认的波特率为19200,用户可以向双龙公司订购波特率较高的下载线,以提高在系统编程的速度。增加了项目管理,在项目文件中可以保存您设置的所有的编程参数,如熔丝设置、FLASH和EEPROM中的数据、以及RC校准、序列号设置等一些参数。缓冲区数据编辑窗口中可以显示校验和。在使用并行下载线编程时,编程速度是可以调节的,分TURBO、FAST、NORMAL和SLO
35、W四档,请根据自己系统的时钟频率进行选择。一般情况下可以参照表3.4-1进行选择表3-2 SL ISP下的模式与时钟对照表模式时钟TURBO没有延时FAST大约100KHZNORMAL大约50KHZSLOW大约5KHZ,适于32.768KHZ超低频系统TURBO SLOW大约1KHZ,支持16KHZ以下的时钟频率注意:1、部分PC机可能不支持TURBO模式,建议选择FAST以下的模式。2、选择TURBO模式可以获得最快的编程速度,但对系统的要求会高,如果出现进入不了编程模式或校验出错,请降低编程速度。第4章 系统总体设计4.1 元器件基本知识4.1.1 单片机AT89S511.主要特性 与MC
36、S-51单片机产品兼容 4K字节在系统可编程Flash存储器 1000次擦写周期 全静态工作:0Hz33MHz 32个可编程I/O口线 2个16位定时器/计数器 6个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 灵活的ISP编程(字或字节模式) 4.0-5.5V电压工作范围2.内部结构图4.1.1-1是单片机AT89S51的内部结构总框图。它可以划分为CPU、存储器、并行口、串行口、定时/计数器和中断逻辑几个部分。CPU由运算器和控制逻辑构成。其中包括若干特殊功能寄存器(SFR)AT89S51时钟有两种方式产生,即内部方式和外部方式。 AT8
37、9S51在物理上有四个存储空间:片内/片外程序存储大路、片内/片外数据存储器。片内有256B数据存储器RAM和4KB的程序存储器ROM。除此之外,还可以在片外扩展RAM和ROM,并且和有64KB的寻址范围。AT89S51内部有一个可编程的、全双工的串行接口。它串行收发存储在特殊功能寄存器SFR的串行数据缓冲器SBUF中的数据。图4-1 AT89S51 内部结构框图AT89S51共有4个(P0、P1、P2、P3口)8位并行I/O端口,共32个引脚。P0口双向I/O口,用于分时传送低8位地址和8位数据信号;P1、P2、P3口均为准双向I/O口;其中P2口还用于传送高8位地址信号;P3口每一引脚还具
38、有特殊功能(图4.1.1-2),用于特殊信号的输入输出和控制信号。AT89S51内部有两个16位可编程定时器/计数器T0、T1。最大计数值为216-1。工作方式和定时器或计数器的选择由指令来确定。图4-2 AT89S51的时钟电路表3.1 P3口引脚的特殊功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断)P3.3INT1(外部中断)0P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD (外部数据存储器写选通)中断系统允许接受5个独立的中断源,即两个外部中断,两个定时器/计数器中断以及一
39、个串行口中断。c.外部特性(引脚功能)AT89S51芯片有40条引脚,双列直插式封装引脚图如4.1.1-3所示:Vcc (40):电源+5V Vss (20): 接地XTAL1(19)和XTAL2(18):图4 -3 AT89S51引脚图使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。P0口(3932):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。P1口(18):准双向通用I/O口。P2口(2128):准双向口,既可作地址总线口输出地址高8位,也可作普通I/O口用。 P3口(1017):多用途口,既可作普通I/O口,也可按每位定义的第二功能操作。A
40、LE/PROG(30):地址锁存信号输出端。在访问片外丰储器时,若ALE为有效高电平,则P0口输出地址低8位,可以用ALE信号作外部地址锁存信号。公式(21)fALE=1/6fOSC ,也可作系统中其它芯片的时钟源。第二功能PROG是对EPROM编程时的编程脉冲输入端。RST/VPD(9):复位信号输入端。AT89S51接通电源后,在时钟电路作用下,该脚上出现两个机器周期以上的高电平,使内部复位。第二功能是VPD,即备用电源输入端。当主电源Vcc发生故障,降低到低电平规定值时,VPD将为RAM提供备用电源,保证存储在RAM中的信号不丢失。EA/Vpp(31):内部和外部程序存储器选择线。EA=
41、0时访问外部ROM 0000HFFFFH;EA=1时,地址0000H0FFFH空间访问内部ROM,地址1000HFFFFH空间访问外部ROM。PSEN(29):片外程序存储器选通信号,低电平有效4.1.2 模数转换器AD08091.主要特性 8路8位AD转换器,即分辨率8位。具有转换起停控制端。 转换时间为100s单个5V电源供电 模拟输入电压范围05V,不需零点和满刻度校准。 工作温度范围为-4085摄氏度低功耗,约15mW。2.内部结构ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构如图4.1.2-1所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次
42、逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。图4-3 ADC0809内部结构框图3.外部特性(引脚功能)ADC0809芯片有28条引脚,采用双列直插式封装,如图4.1.2-2所示。下面说明各引脚功能。图4-4 ADC0809引脚图IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ALE(22):地址锁存允许信号,输入,高电平有效。START(6): AD转换启动信号,输入,高电平有效。EOC(7): AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平
43、(转换期间一直为低电平)。 OE(9):数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK(10):时钟脉冲输入端。典型值为640KHZ。REF(+)、REF(-):参考电压输入端。Vcc(11):电源,5V。GND(13):地。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。表4.1.2-3所示。表4.1.2-3 ADDA、ADDB、ADDC模拟通道地址码ADDCADDBADDA输入通道000IN001IN010IN011IN100IN101IN110IN111IN4.ADC0809的工作过程首先输入
44、3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。4.1.3 温度传感器 AD5901.主要特性AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即: mA/K (4.1.3-1)式中: 流过器
45、件(AD590)的电流,单位为mA;T热力学温度,单位为K。AD590的测温范围为-55+150。AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流 变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏,输出电阻为710MW。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线性误差为0.3。AD590的输出电流值说明:其输出电流是以绝对温度零度(-273)为基准,每增加1,它会增加1A输出电流,因此在室温25时,其输出电流Iout=(273+25)=298A。2.内部结构集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关