您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > IO接口温度控制器报告
第1页目录一、实验目的及要求……………………………………………21、实验目的…………………………………………………22、设计要求…………………………………………………2二、要求分析……………………………………………………2三、系统框架图…………………………………………………2四、元件明细表…………………………………………………31、单片机……………………………………………………32、显示屏……………………………………………………4五、系统电路总体设计……………………………………………4六、系统电路总体设计……………………………………………51、系统工作原理……………………………………………52、硬件系统设计……………………………………………63、系统程序设计……………………………………………11七、系统总体调试…………………………………………………15八、实验总结………………………………………………………17九、附录参考文献………………………………………………18十、附录程序清单………………………………………………19第2页基于简单I/O口的8LED显示温度控制器设计一、设计要求(1)基本要求:1用18B20或AD590温度传感器作温度探头,采集温度数据并转换成BCD码在数码管上显示。2记录间隔可任意设定(1S到1h,步长1s),能按设定时间存储数据。3通过键回放温度和记录时间参数。(2)发挥部分:1通过DA回放数据(直方图),用模拟示波器显示。2设定温度告警门限。3通过声、光告警显示。(3)动态显示格式:自定注:基于简单IO口是指显示器由74HC373控制二、要求分析根据设计要求,需要利用DS18B20作为温度探头,采集温度数据并转换成BCD码在数码管上显示。当按下键盘的设定步长按键后,可以设定任意长度的步长,能按设定时间存储数据。当按下键盘的读取存储数据按键后,可以通过按键1-9来回放相应的温度和记录时间参数。三、系统框架图第3页四.元件明细表元件名称型号单片机89C51温度探测器DS18B20锁存器74LS373数码显示器7SEG-MPX8-CC-BLUE4*4键盘KEYPAD-SMALLCALC1、单片机单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。51系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列单片机的发展又进入了一个新的阶段。在今后很长一段时间内51系列单片机仍将占据嵌入式系统产品的中低端市场。单片机89C518LED锁存器74HC373DS18B20键盘第4页2、显示屏五、总体方案的确定在温度采集方面,在设计开始时就准备了两种方案:一种是采用热敏电阻式传感器和ADC0809转换器进行数据采集。具体方案如下:温度传感器的模拟信号转换为数字信号后由P0口输入。ADC0809由P3.0启动转换,由P3.1控制输出。信号传输采用无条件输入方式,启动A/D转换后延时100微妙从P0口采集数据。时间延迟由T0实现。另一种是采用单线数字温度传感器DS18B20进行数据采集。DSB18B20S数字第5页温度计提供9到12位温度读数,指示器件的温度信息经过单线接口送入DS18B20送出,因此从中央处理器到DS18B20仅需连接一条线和地,读写和完成温度变换所需的电源可以由数据线本身提供,甚至不需要外部电源。而总体方案和系统电路图方面基本上和热敏式传感器相同,只在数据采集方面有所差别。根据选择传感器的原则,考虑到模拟量输出传感器会带来许多不便,具体体现在接线多、信号处理复杂等,在硬件实现方面比较困难。而且热敏电阻式温度传感器互换性差,非线性严重。而数字温度传感器DS18B20接线简单,数字输出量能直接作为单片机的输入数据,同时考虑到只是在普通环境下测量,无论在灵敏度、线性范围、稳定性,还是在精度方面,DS18B20的强大功能已足够满足设计需要。在本次设计中,温度数据采集用到的传感器是DS18B20。具体电路图如图1所示。第6页图1数字传感器式温度控制器六、系统电路总体设计1、系统工作原理该温度控制系统用到89C51单片机作为系统的CPU进行控制控制,由数字传感器DS18B20进行数据采集,89C51对采集到的数据进行处理,得到各种信第7页号。而这些信号将作为LED数码管显示的信号输入,同时将利用单片机的其它使能端口实现键盘的控制作用。2、硬件系统设计系统的硬件部分主要可分为温度采集电路,信号处理与控制控制,温度显示电路,键盘控制电路四大部分。(1)温度采集电路本系统中采集温度使用的是DS18B20数字温度传感器。DS18B20是Dallas半导体公司生产的世界上第一片支持“一线总线”接口的温度传感器。与之前的传感器相比,DS18B20体积更小、适用电压更宽、更经济。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20“一线总线”数字化温度传感器支持“一线总线”接口,测量温度范围为-55℃到+125℃,在-10到+85℃范围内,精度为±0.5℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V到5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20可以程序设定9到12位的分辨率,精度为±0.5℃。当分辨率为12位时,转换时间为750ms。使得用户可选择更小的封装方式,更宽的电压适用范围和分辨率设定,同时用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20一般为三极管型封装,包括温度传感器、64位激光ROM单线单口、存放中间数据的高速暂存器、用于存储用户设定的温度上下限值、触发器存储与控制逻辑、8位循环冗余校验码发生器等。其引脚图如图2所示。这三个引脚分别为:GND——电源地;QD——数字信号输入/输出端;VDD——外接供电电源(可选5V)。第8页图2DS18B20引脚图在单片机89C51中,输入/输出端口分别P0、P1、P2、P3。其中P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻吧端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被电阻拉低的引脚会输出一个电流。在该系统中,DS18B20的数字信号输入/输出端连接到89C51的P3.7中,作为89C51的数据输入。(2)信号处理与控制电路信号处理与控制采用51单片机基本电路。此电路以51单片机为核心,51的具体引脚图如图3。在该系统中,要使单片机实现信号处理与控制,则要使单片机的18、19脚(XTAL2、XTAL1)接12MHz的晶振和两个电容,组成片内振荡电路,为单片机提供时钟脉冲。9脚(RST)接按键复位电路,提供复位信号给单片机。第9页图389C51引脚图89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。两个电容通常取30pF左右,稳定频率并对震荡频率有微调作用。如图4所示。X1C130pC230p图4晶振电路第10页手动复位是通过接通一按钮开关,使单片机进入复位状态。系统上电运行后,若需要复位,则通过手动复位来实现的。如图5所示。图5手动复位电路(3)温度显示电路本系统中,温度显示硬件由74HC373和八位LED数码管构成。1.八位LED数码管八位数码管引脚图如图6所示。它的1、2、3、4、5、6、7、8脚为位选脚,分别对应从左到右八个数码管,输入低电平选通。剩下的其他引脚为数据输入脚,此电路中数码管的8个数据引脚(a、b、c、d、e、f、g、dp)。第11页图6LED数码管引脚图2、74HC373373为三态输出的八口透明锁存器,共有74HC373和74LS373两种线路结构形式。在本系统中,采用74HC373,因为在PROTUES仿真里,用74LS373会被报错。74HC373的D0-D7脚分别与单片机的P0.0-P0.7脚相连。74HC373引脚图如图7所示:图774HC373引脚图第12页(4)键盘控制电路键盘控制电路的作用是通过按键回放温度和记录时间参数。当所设置的功能键或数字键按下时,单片机系统应该完成该按键所设定的功能,因此,键的输入信息是与软件结构密切相关的。在本系统中采用4*4的键盘,键盘的列线与P1口的低4位相连,行线与P1口的高4位相连。键盘控制电路如图8所示:图8键盘控制电路第13页3、系统程序设计(1)主程序模块(如图9所示)。第14页图9主程序流程图主程序开始读取温度温度转换温度显示键盘按下按键盘要求作处理结束第15页(2)DS18B20的工作流程如图10所示。图11DS18B20的工作流程第16页(3)温度显示流程图如图11所示。图11温度显示流程图第17页(4)键盘控制电路流程图如图12所示图12键盘控制电路流程图完整的程序请详见附录。七、系统的调试1、程序调试过程中遇到的问题和解决办法1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。2)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦DS1820连线未接好,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820软件设计时也要给予一定的重视。3)编程时要注意,在程序开始时,要写入各定时器中断的入口地址。4)编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。是否有键按下执行相应操作显示新设置返回第18页5)程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。6)编程前要加流程图,这样会使思路清晰。2、调试结果(1)温度显示结果DS1820采集温度数据并转换成BCD码在8位LED上显示,结果如图13所示:图13温度显示结果(2)键盘控制显示结果通过键盘回放温度和记录时间参数,结果如图13所示:第19页图13键盘控制显示结果八、实验总结这次的课程设计,我觉得我学到了很多的东西,受益匪浅。首先我了解了proteus软件的基本使用方法,以及利用这个软件用来仿真,对于电路的设计有了一定的理解,懂得了如何利用C语言联系实际来进行编程,同时在编程的过程中,了解一些管脚的使用方法,以及在C语言中使用的代码和一些器件的初始化方法,同时也让我明白了自己的一些不足,认识到仅仅把书本上的知识学好是远远不够的,需要拓宽自己的知识面,来应付未来的挑战。当然在本次课程设计中,我遇到了很多没有遇到过的困难,于是图书馆和第20页INTERNET成了我们很好的助手。在查阅资料的过程中,我们要判断优劣、取舍相关知识,不知不觉中我们查阅资料的能力也得到了很好的锻炼。我们学习的知识是有限的,在以后的工作中我们肯定会遇到许多未知的领域,这方面的能力便会使我们受益非浅。而且在设计过程中,总是遇到这样或那样的问题。有时发现一个问题的时候,需要做大量的工作来进行调试,然后才能解决。自然而然,我分析问题解决问题的能力得到了增强。为以后的工作积累了经验,增强了信心。通过这次的软件设计,我熟悉了单片机开发的每个步骤,它不但检查了我的整个知识面的掌握程度,知道了自己的不足,让我更加牢固的掌握了单片机方面的相关知识!这次的软件设计也让我学会了在遇到问题时,如何冷静的思考问题以及解决问题!更让我懂得了学习贵在坚持。我学到了更多以前没有学到过的知识。在这里,我很感谢指导老师和同学给我的帮助,使我能顺利完成我的软件设计。总之通过本次设计,让我
本文标题:IO接口温度控制器报告
链接地址:https://www.777doc.com/doc-2879075 .html