1、绪论绪论设计内容设计内容确定设计方案确定设计方案硬件设计硬件设计软件设计软件设计系统调试系统调试结过与展望结过与展望1 15 52 23 34 46 67 7 随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。本设计使用单片机作为核心进行控制。单片机具
2、有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。1 1 绪论绪论2 2 设计内容设计内容系统整体设计方框图系统整体设计方框图方案一:方案一:使用热敏电阻之类的器件,利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,用单片机进行数据处理,被测温度就可以在显示电路上显示出来。方案二:方案二:使用温度传感器,结合单片 机 电 路 设 计,采 用 一 只DS18B20温度传感器,直接读取被测温度值,进行转换后就可以满足设计要求。方案确定:方案确定:从以上两种方案很容易看出方案二电路比较简单,
3、软件设计容易实现,故实本设计中采用方案二。方案二可以只用一根线实现信号的双向传输,具有接口简单容易扩展等优点,DS18B20可以直接温度转换为串行数字信号,供单片机进行处理,具有低功耗、商性能、抗干扰能力强等优点。3 3 确定设计方案确定设计方案系统总体结构框图系统总体结构框图 4 4 硬件设计硬件设计图4.1 复位电路图1 复位电路设计复位电路设计 本设计采用的是上电自动复位方式,复位电路如图4.1 所示:硬件选型:硬件选型:单片机:STC89C52;温度传感器:DS18B20;显示器:4位共阴极数码显示管;报警元件:蜂鸣器;本设计还采用了若干电阻、电容、按键和PNP等常用基本元件。2 2
4、晶振电路的设计晶振电路的设计 对于每个系统工程的晶振电路,都是用于单片机工作所需要的时钟信号,单片机只有在时钟信号的控制下,其各部件之间才能协调一致工作,时钟信号控制着计算机的工作节奏。本次设计采用的内部方式的晶振电路,其如图4.2所示:图4.2 晶振电路图3 3 测温电路的设计测温电路的设计 本设计采用的温度传感器是DS18B20,其测温电路如图4.3所示:图4.3 测温电路图 4 4 按键电路设计按键电路设计 利用单片机的I/O口实现按键的中断输入。另外需要一个与门实现与中断端口的连接。按键电路如图4.4所示,期中按键K1为进入/退出设置键;K2为增加键;K3为减小键。5 5 报警电路设计
5、报警电路设计 本设计采用三极管8550来驱动蜂鸣器:报警电路如图4.5所示,三极管Q5来驱动蜂鸣器的。图4.4 按键电路图图4.5 报警电路图 6 显示电路设计显示电路设计 采用四位数码管来显示温度的大小,可以直接读取,温度精确到0.。四位数码管的显示电路如图4.6所示,从左到右依次是百位,十位,个位,十分位。图4.6 显示电路图5 软件设计软件设计 1 1 主程序流程图主程序流程图 主程序的主要功能是读出并处理DS18B20测量的当前温度值和负责温度的实时显示,温度测量每1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图5.1 所示。图5.1 主程序流程图 软件设计主要是系统
6、程序的设计和protues仿真。系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、报警子程序、显示数据刷新子程序和按键扫描处理子程序。2 2 读出温度子程序读出温度子程序 读出温度子程序的主要功能是读出RAM 中的9 字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写。其程序流程图如图5.2示:图5.2 读出温度子程序流程图3 3 温度转换命令子程序温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,在本程序设计中采用1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图如图5.3 所示:图5.3 温度转换命令子程序流程图4 4 报警子
7、程序报警子程序 设置报警标志位beep,当温度大于设置的高限报警值或低于设置的低限报警值是,beep=1报警;当温度值在正常范围内时,beep=0.报警流程图如图5.4所示图5.4 报警子程序流程图5 5 计算温度子程序计算温度子程序 计算温度子程序将RAM 中读取值进行BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图5.5 所示:图5.5 计算温度子程序流程图6 6显示数据刷新子程序显示数据刷新子程序 显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为1时将符号显示位移入第一位。程序流程图如图5.6所示。图5.6 显示数据刷新子程序流程图7 7 按键扫描处
8、理子程序按键扫描处理子程序 按键采用扫描查询方式,设置标志位,当标志位为1 时,显示设置温度,否则显示当前温度。如下图5.7所示。图5.7 按键扫描处理子程序流程图ProuesProues仿真仿真 Protues仿真图如图5.8和5.9所示:图5.9 DS18B20仿真图图5.8 Protues仿真图 如图5.10是第一次按下K1键显示的上限温度报警值,此时按K2或K3键分别对上限温度报警值进行加一或减一;图5.11是第二次按下K1键显示的下限温度报警值,此时按K2或K3键分别对下限温度报警值进行加一或减一;第三次按下K1键时,显示当前测量的温度值。图5.11 下限温度报警值图5.10 上限温
9、度报警值6 系统调试系统调试系统调试系统调试 首先检查电路的焊接是否正确及电路中有没有虚焊等问题,然后用万用表测试电路板上的各个正极和负极是否全部都正确的接在了相应的正极公共端和负极公共端上和检查各元件的引脚是否有接错。经检查一切无误后,温度传感器DS18B20正常工作,测得的现场温度如图6.1所示:图6.1 系统调试图 第一次按下K1键,显示系统的高限报警温度值,按下K2和K3键能对高限报警温度值分别进行加1和减1设置,高限报警温度值如图6.2所示:第二次按下K1键,显示系统的低限报警温度值,按下K2和K3键能对低限报警温度值分别进行加1和减1设置,低限报警温度值如图6.3所示:图6.3 低限温度报警值图6.2 高限温度报警值7 结果和展望结果和展望成果展示:成果展示:结果:结果:经过系统的整体调试,本设计达到了规定的设计要求:能用数码管直接显示、能自由设定温度上下限报警值和实现报警、实现常温及一、两种特殊环境下的温度监测。展望:展望:系统的硬件和软件都还有进一步优化和改进的空间。