当前位置:文档之家› 基于单片机的数字温度计课程设计

基于单片机的数字温度计课程设计

河南理工大学《单片机应用与仿真训练》设计报告基于单片机得数字温度计设计姓名:学号:专业班级:指导老师:所在学院:电气工程与自动化系2011年6月26日基于单片机得数字温度计设计摘要随着现代信息技术得飞速发展与传统工业改造得逐步实现.能够独立工作得温度检测与显示系统应用于诸多领域。

传统得温度检测以热敏电阻为温度敏感元件。

热敏电阻得成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定得误差。

与传统得温度计相比,这里设计得数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。

选用AT89S52型单片机作为主控制器件,DSl8B20作为测温传感器通过4位共阳极LED数码管串口传送数据,实现温度显示。

通过DSl8B20直接读取被测温度值,进行数据转换,该器件得物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0、1℃。

该器件可直接向单片机传输数字信号,便于单片机处理及控制。

另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。

目录1 概述 (4)1、1课题名称 (4)1、2课题要求 (4)1、3设计得目得意义 (4)2系统总体方案及硬件设计 (5)2、1单片机得选择 (5)2、2温度传感器得介绍 (6)2、3温度传感器与单片机得连接 (8)2、4复位信号及外部复位电路 (8)2、5单片机与报警电路 (9)2、6显示电路 (9)3 软件设计………………………………………………………………………104 Proteus软件仿真 (12)4、1 仿真图 (12)4、2仿真结果分析 (1)35 总结体会.................................................................................14 参考文献 (15)附录1程序源代码 (15)附录 2 系统原理图 (23)1概述1、1课题名称基于单片机得数字温度计得设计1、2课题要求1)基本范围-50℃~110℃2)精度误差小于0、5℃3)LED数码直读显示4)可以设定温度得上下限报警功能1、3设计目得与意义温度数我们日常生产与生活中实时在接触到得物理量,但就是它就是瞧不到得,仅凭感觉只能感觉到大概得温度值,传统得指针式得温度计虽然能指示温度,但就是精度低,使用不够方便,显示不够直观,数字温度计得出现可以让人们直观得了解自己想知道得温度到底就是多少度。

数字温度计采用温度敏感元件也就就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度得变化转换成电信号得变化,如电压与电流得变化,温度变化与电信号得变化有一定得关系,如线性关系,一定得曲线关系等,这个电信号可以使用模数转换得电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部得软件计算将这个数字信号与温度联系起来,成为可以显示出来得温度数值,如25、0摄氏度,然后通过显示单元,如LED,LCD或者电脑屏幕等显示出来给人观察。

这样就完成了数字温度计得基本测温功能。

数字温度计根据使用得传感器得不同,AD转换电路,及处理单元得不同,它得精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格得数字温度计.数字温度计有手持式,盘装式,及医用得小体积得等等。

另外作为电气工程及其自动化得学生,通过基于单片机数字温度计得设计可以提高自己理论联系实际得能力,可以更好得掌握所学得专业理论只就是,也培养了自己得动手能力,同时,也培养了信息搜集能力与分析问题解决问题得能力2系统总体设计方案及硬件设计作为对专业理论知识学习后得实践环节,我选择了自行设计基于AT89S52单片机得数字温度计.设计原理框图如,图1。

图 1 数字温度计原理框图2、1单片机得选择AT89S52就是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令与引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧得8 位CPU 与在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

Protues仿真软件中用AT89C51代替AT89S52,单片机小系统得电路图如图2所示。

图2 单片机小系统电路AT89S52主要性能1、与MCS—51单片机产品兼容;2、8K字节在系统可编程Flash存储器;3、1000次擦写周期;4、全静态操作:0Hz—33MHz;5、三级加密程序存储器;6、32个可编程I/O口线;7、三个16位定时器/计数器;8、六个中断源;9、全双工UART串行通道;10、低功耗空闲与掉电模式;11、掉电后中断可唤醒;12、瞧门狗定时器;13、双数据指针;14、掉电标识符。

2、2 温度传感器介绍DS18B20可以程序设定9~12位得分辨率,精度为±0、5°C.可选更小得封装方式,更宽得电压适用范围.分辨率设定,及用户设定得报警温度存储在EPROM中,掉电后依然保存。

图3 温度传感器引脚功能说明:NC :空引脚,悬空不使用;VDD :可选电源脚,电源电压范围3~5、5V.当工作于寄生电源时,此引脚必须接地。

DQ :数据输入/输出脚。

漏极开路,常态下高电平。

GND:为电源地DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发得温度报警触发器TH与TL、配置寄存器。

光刻ROM中得64位序列号就是出厂前被光刻好得,它可以瞧作就是该D S18B20得地址序列码。

64位光刻ROM得排列就是:开始8位(28H)就是产品类型标号,接着得48位就是该DS18B20自身得序列号,最后8位就是前面56位得循环冗余校验码(CRC=X8+X5+X4+1)。

光刻ROM得作用就是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20得目得。

DS18B20中得温度传感器可完成对温度得测量,以12位转化为例:用16位符号扩展得二进制补码读数形式提供,以0、0625℃/LSB形式表达,其中S为符号位.这就是12位转化后得到得12位数据,存储在18B20得两个8比特得RAM中,二进制中得前面5位就是符号位,如果测得得温度大于0,这5位为0,只要将测到得数值乘于0、0625即可得到实际温度;如果温度小于0,这5位为1,测到得数值需要取反加1再乘于0、0625即可得到实际温度。

例如+125℃得数字输出为07D0H,+25、0625℃得数字输出为0191H,—25、0625℃得数字输出为FF6FH,—55℃得数字输出为FC90H。

DS18B20温度传感器得内部存储器包括一个高速暂存RAM与一个非易失性得可电擦除得E2RAM,后者存放高温度与低温度触发器TH、TL与结构寄存器.暂存存储器包含了8个连续字节,前两个字节就是测得得温度信息,第一个字节得内容就是温度得低八位,第二个字节就是温度得高八位。

第三个与第四个字节就是TH、TL得易失性拷贝,第五个字节就是结构寄存器得易失性拷贝,这三个字节得内容在每一次上电复位时被刷新.第六、七、八个字节用于内部计算.第九个字节就是冗余检验字节.该字节各位得意义如下:TM R1R0 1 1 11 1低五位一直都就是1,TM就是测试模式位,用于设置DS18B20在工作模式还就是在测试模式。

在DS18B20出厂时该位被设置为0,用户不要去改动.R1与R0用来设置分辨率,如表1所示:(DS18B20出厂时被设置为12位)表1DS18B20温度转换时间表根据DS18B20得通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定得操作。

复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒得存在低脉冲,主CPU收到此信号表示复位成功。

2、3 温度传感器与单片机得连接DS18B20采用外部电源供电方式,在外部电源供电方式下,DS18B20工作电源由VCC引脚接入,此时I/O线不需要强上拉,不存在电源电流不足得问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统.注意:在外部供电得方式下,DS18B20得GND引脚不能悬空,否则不能转换温度,读取得温度总就是85℃。

图4DS18B20接线2、4 复位信号及外部复位电路该复位信号高电平有效,其有效时间应持续24个振荡脉冲周期即两个机器周期以上。

若使用频率为12 MHz得晶体振荡器,则复位信号持续时间应超过2μs 才完成复位操作。

图5 复位电路2、5 单片机与报警电路报警电路分为两部分,一部分就是蜂鸣器声音报警,另一部分就是发光二极管放光报警。

具体情况如下:接通电源,两个(红色,黄色)发光二极管都不亮,当温度超过上线设定值(如38摄氏度)时,红色二极管亮,同时蜂鸣器也报警;当温度低于下限设定值时(如5摄氏度)时,黄色二极管亮,同时蜂鸣器也开始报警.图6蜂鸣器报警图7发光二极管报警2、6 显示电路采用技术成熟得5461AS共阴4位数码管0、56英寸红色.LED显示分为静态显示与动态显示.这里采用静态显示,系统通过单片机得串行口来实现静态显示.串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率得1/12。

当器件执行任何一条将SBUF作为目得寄存器得命令时,数据便开始从RXD端发送。

在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD 发送数据,同时允许从TXD端输出移位脉冲.图8为显示电路得连接图.图8数码显示连接图3 软件设计DSl8820得主要数据元件有:64位激光Lasered ROM,温度灵敏元件与非易失性温度告警触发器TH与TL。

DSBl820可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。

此外,还可外接5V 电源,给DSl8820供电.DSl8820得供电方式灵活,利用外接电源还可增加系统得稳定性与可靠性。

图9为读取数据流程图。

图9读取数据得流程图读出温度数据后,LOW得低四位为温度得小数部分,可以精确到0、0625℃,LOW得高四位与HIGH得低四位为温度得整数部分,HIGH得高四位全部为1表示负数,全为0表示正数.所以先将数据提取出来,分为三个部分:小数部分、整数部分与符号部分。

相关主题