版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕 业 设 计(论 文)基于ds18b20温度传感器的数字温度计设计学生姓名:学 号:0815012220 所在系部:电气信息系专业班级:电气工程及其自动化指导教师:石刚 讲师日 期:二一二年五月the design of temperature sensor based on ds18b20 digital thermometerbyzhu weimay 2012学位论文原创性声明本人郑重声明:所呈交的学位论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。
2、作者签名: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学院有关保管、使用学位论文的规定,同意学院保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于 1、保密 ,在 年解密后适用本授权书。 2、不保密 。 作者签名: 年 月 日 导师签名: 年 月 日摘 要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对
3、它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展本文介绍了一种基于ds18b20的数字温度计设计方案。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用方案。利用at89s52单片机控制ds18b20进行数据采集并由hs1602液晶显示模块显示结果,另外,采集结果可由rs-232-c接口送入计算机显示并存储。按键控制实现过界报警温度设定和实时监控,利用at24c08芯片进行存储,实现温度测量存储与再现。关键字:温
4、度采集 存储再现 过界报警 串行通信abstractwith the continuous improvement of peoples living standard, single-chip control is undoubtedly one of the people to pursue the goal, it brings the convenience is undeniable, which is a typical example of the digital thermometer is required of it, but it is increasingly the
5、higher is the modern, scientific research, life and provide better more convenient facilities will need to start from several single-chip technology, all toward the digital control, intelligent control of the direction. in this page we introduced a conception of the numerical thermometer based on ds
6、18b20. digital thermometer as described in this design compared with traditional thermometer readings, temperature range and accurate temperature measurement, the output temperature with digital display for accurate temperature place, or research laboratories .the conception makes use of at89s52 con
7、trol ds18b20 to carry on the data collection and displays the result use the hs1602 liquid crystal display module. moreover, the result can be sent into the computer by the interface of rs-232- c to display and store. the key control carries out the temperature setting of over the boundary to alarm
8、and real-time monitoring, and makes use of the chip of at24c08 carries on the storage, and carrying out the temperature measurement storage and reappearing.keywords: temperature collection storing to reappear over the boundary to alarm serial communication.ii目 录摘 要iabstractii1 引言11.1选题目的和意义11.2国内外目前
9、的研究进展和成果11.3本课题研究的内容22 总体设计32.1 方案论证32.1.1 温度传感器32.1.2 单片机系统32.1.3 电源模块42.1.4 显示模块42.1.5 确定方案42.2 总体设计53 硬件设计63.1 单片机系统63.2 温度传感器模块63.2.1 ds18b20原理73.2.2 ds18b20电路连接113.3 液晶显示模块113.4存储模块143.4.1 at24c08结构143.4.2 at24c08工作原理163.4.3 at24c08的连接电路163.5 串口通信模块173.6 电源模块184 软件设计194.1 主程序流程194.2 ds18b20模块程序
10、设计194.2.1 程序流程194.2.2 程序源码204.3 hs1602驱动程序设计204.3.1 程序流程204.3.2 程序源码214.4 at24c08存储模块程序设计214.4.1 程序流程214.4.2 程序源码214.5 单片机端通信程序设计214.5.1 程序流程214.5.2 程序源码224.6 pc端通信程序设计224.6.1 程序流程224.6.2 程序源码235 测试及结果分析24结 论25致 谢26参考文献27附录a 程序源码28附录b总体完全电路图411 引言1.1选题目的和意义随着电子技术的发展,人们的生活日趋数字化,多功能的数字温度计可以给我们的生活带来很大的
11、方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本;以美国maxim/dallas半导体公司的单总线温度传感器ds18b20为核心,以atmel公司的at89s52为控制器设计的ds18b20温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器。那么,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。1.2国内外目前的研究进展和成果测量温度的关键是温度传感器,温度传感器
12、的发展经历了3个阶段:传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化、网络化的方向发展。在这个信息技术的飞速发展和传统工业改造的逐步实现的时代。能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用at89c52型单片机作为主控制器件,dsl8b20作为测温传感器通过hs1602
13、液晶显示模块显示结果,实现温度显示。通过dsl8b20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0100最大线性偏差小于0.1。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。1.3本课题研究的内容本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用8086系统at89s52,测温传感器使用ds18b20,由hs1602液晶显示模块显示结果,能准确达到以上要求。2 总体
14、设计2.1 方案论证2.1.1 温度传感器方案一:采用热敏电阻可满足测温要求,但热敏电阻精度低,重复性和可靠性较差,对于精度要求较高的测温不适用,而且采用热敏电阻要求复杂的电路和算法,增加了设计复杂度。方案二:采用专用的集成温度传感器(如ad590、lm35/lm45)和数字化温度传感器(ds18b20、ds1620)测温,数字化温度传感器具有接口简单、直接数字量输出、精确度高等优点。ds18b20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有ltm8877,ltm8874等等。主要根据应用场合的不同而改变其外观。封装后的ds18
15、b20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。ds18b20是dallas公司的最新单线数字温度传感器,它是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,它的测量温度范围为55125,在1085范围内,精度为0.5,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等,ds18b20支持3
16、5.5v的电压范围,使系统设计更灵活、更方便、更便宜、体积更小。ds18b20可以程序设定912位的分辨率,精度为0.5,分辨率设定及用户设定的报警温度存储在e2prom中,掉电后依然保存。因此,本方案选用ds18b20作为温度测量传感器。2.1.2 单片机系统目前比较流行51系列单片机和凌阳单片机。 at89c51单片机需要用仿真器来实现软硬件的调试,较为繁琐;at89s52是一种低功耗、高性能cmos 8位微控制器,具有8k 在系统可编程flash 存储器。使用atmel 公司高密度非易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,
17、亦适于常规编程器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得at89s52在众多嵌入式控制应用系统中得到广泛应用。 at89s52八位单片机除具有at89c51单片机所有的优点外,具有更大的程序存储空间,可在线仿真的功能,方便调试。凌阳十六位单片机虽然可以更好的完成控制功能,但较at89s52八位单片机价格昂贵,而且编程以及外围功能电路的设计都不及at89s52成熟。因此,选用at89s52八位单片机作为温度采集的控部分。2.1.3 电源模块采用普通的直流电源实现电路简单,而且采用集成电源芯片设计的直流电源电压比较稳定,完全满足系统各模块的供电要求,但是普通直流电源体积
18、比较大,变压器的散热对测温精度也有影响,所以,选用锂离子手机充电电池和配套的锂电池充电器作为系统的供电模块。手机用的锂电池电压范围是3.6v到4.2v,限定充电电压是4.25v,完全满足at89s52和ds18b20等各模块的工作电压范围。2.1.4 显示模块由于系统要求实现测量环境温度、测量体温、过界报警设置、温度存储再现等多种功能,要显示的信息不仅仅是温度值,所以采用数码管显示几乎不可能。另外,手机电池电量有限,而数码管耗电较大,不符合设计要求。因此,选用常见的hs1602液晶显示模块显示测温结果。2.1.5 确定方案 为了不失通用性和智能性,本方案采用at89s52单片机作为控制器,单总
19、线温度传感器ds18b20进行温度采集。电源部分没有采用普通的直流电源而利用锂离子手机充电电池和配套的锂电池充电器,手机用的锂电池电压范围是3.6v到4.2v,限定充电电压是4.25v,完全满足at89s52和ds18b20等各模块的工作电压范围。由于手机电池电量有限,所以显示模块使用hs1602液晶显示模块而没有使用数码管。2.2 总体设计本方案设计的系统由按键控制模块、单片机系统、温度传感器模块、液晶显示模块、存储模块、串口通信模块和电源模块组成,其总体架构如图2-1。 电源模块液晶显示模块 单片机系统 储存模块 程序控制 按键模块 温度传感器模块 串口通信模块 图2-1 系统总体设计3
20、硬件设计3.1 单片机系统该方案采用at89s52单片机作为控制器,完成所有的控制功能,包括: 温度传感器ds18b20的初始化和读取温度值 hs1602液晶模块驱动 按键识别和控制 温度存储及读取 和pc机的串口通信单片机系统的电路如图3-1。图3-1 单片机系统电路3.2 温度传感器模块温度传感器模块如下图,使用外部电源,可以减少程序复杂程度。ds18b20特性:l 独特的单线接口仅需一个端口进行通讯l 简单的多点分布应用l 无需外部器件l 可通过数据线供电l 零待机功耗l 测温范围-55+125l 温度以12位数字量读出l 温度数字量转换时间750ms(12位)l 用户可定义的非易失性温
21、度警报设置l 报警搜索命令识别并超过程序限定温度(温度报警条件)的器件l 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统3.2.1 ds18b20原理ds18b20 采用3 脚pr-35 封装或8 脚soic 封装,管脚排列如图3-2所示。图中gnd 为地,dq 为数据输入/输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平,vcc 是外部+5v 电源端,不用时应接地,nc 为空脚。图3-2 ds18b20的外部结构ds18b20内部主要包括寄生电源、温度传感器、64 位激光rom 单线接口、存放中间数据的高速暂存器(内含便笺式ram),用于存储用户设定的温度上下限值的th
22、和tl 解发器存储与控制逻辑、8 位循环冗余校验码(crc)发生器等七部分,内部结构如图3-3。图3-3 ds18b20内部结构寄生电源由二极管vd1、vd2 和寄生电容c 组成,电源检测电路用于判定供电方式,寄生电源供电时,vdd 端接地,器件从单线总线上获取电源,在dq 线呈低电平时,改由c上的电压vc继续向器件供电。该寄生电源有两个优点:第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读rom。若采用外部电源vdd,则通过vd2 向器件供电。光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码,如图3-4所示。图3-4 64 位rom 的结构开
23、始8位(28h)是产品类型标号,接着的48位是ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码(crc=x8+x5+x4+1)。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。主机操作rom 的命令有五种,如表3-1 所示。表3-1 ds18b20的rom命令指令说明读rom(33h)读ds1820的序列号匹配rom(55h)继读完64位序列号的一个命令,用于多个ds1820时定位跳过rom(cch)此命令执行后的存储器操作将针对在线的所有ds1820搜rom(f0h)识别总线上各器件的编码,为操作各器件作好准备报警搜索
24、(ech)仅温度越限的器件对此命令作出响应 ds18b20 测量温度时使用特有的温度测量技术。其内部的低温度系数振荡器能产生稳定的频率信号f0,高温度系数振荡器则将被测温度转换成频率信号f。当计数门打开时,ds18b20 对f0 计数,计数门开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性予以被偿。测量结果存入温度寄存器中。一般情况下的温度值应为9 位(符号点1位),但因符号位扩展成高8 位,故以16 位被码形式读出,表3-2 给出了温度和数字量的关系。表3-2 ds18b20 温度数字对应关系表ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的
25、可电擦除的e2ram,后者存放高温度和低温度触发器th、tl和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低8位,第二个字节是温度的高8位,第三个和第四个字节是th、tl的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新,第六、七、八个字节用于内部计算,第九个字节是冗余检验字节,如表3-3所示。表3-3 ds18b20暂存器分布寄存器内容字节地址温度最低数字位0温度最高数字位1高温限制2低温限制3保留4保留5计数剩余值6每度计数值7crc校验8该字节各位的意义为tm r1 r0 1 1 1 1 1 ,低五
26、位一直都是1 ,tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式,在ds18b20出厂时该位被设置为0,用户不用改动,r1和r0用来设置分辨率,ds18b20出厂时被设置为12位,分辨率设置如表3-4所示。 表3-4 分辨率设置表r1r0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据
27、线下拉500微秒,然后释放,ds18b20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主cpu收到此信号表示复位成功。rom命令令和暂存器的命令如表3-1和表3-5。表3-5 ds18b20暂存器的命令指令说明温度转换(44h)启动在线ds1820做温度a/d转换读数据(beh)从高速暂存器读9bits温度值和crc值写数据(4eh)将数据写入高速暂存器的第2和第3字节中复制(48h)将高速暂存器中第2和第3字节复制到eeram读eeram(b8h)将eeram内容写入高速暂存器中第2和第3字节读电源供电方式(b4h)了解ds1820的供电方式3.2.2 ds18b20电
28、路连接 由于ds18b20 工作在单总线方式,其硬件接口非常简单,仅需利用系统的一条i/ o线与ds18b20的数据总线相连即可,如图3-5所示。图3-5 ds18b20电路3.3 液晶显示模块hs1602采用标准的16脚接口,其引脚如表3-6所示,其中vss为地电源,vdd接5v正电源,v0为液晶显示模块对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,可以通过一个10k的电位器调整对比度。rs为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。rw为读写信号线,高电平时进行读操作,低电平时进行写操作,当rs和rw共同为低电平时可以写入指令或者显示地址,当rs为低电平rw为
29、高电平时可以读忙信号,当rs为高电平rw为低电平时可以写入数据。e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。leda和ledk为背光电源,leda接5v正电源,ledk接gnd。d0d7为8位双向数据线。表3-6 接口信号说明编号符号引脚说明编号符号引脚说明1vss电源地9d2data i/o2vdd电源正极10d3data i/o3vl液晶显示偏压信号11d4data i/o4rs数据/命令选择端(h/l)12d5data i/o5r/w读/写选择端(h/l)13d6data i/o6e使能信号14d7data i/o7d0data i/o15bla背光源正极8d1data
30、 i/o16blk背光源负极用hs1602液晶显示模块显示字符或字符串之前必须对其进行初始化,hs1602液晶显示模块的初始化流程如下: 5.0 初始化过程(复位过程) 5.1 延时15ms 5.2 写指令38h(不检测忙信号) 5.3 延时5ms 5.4 写指令38h(不检测忙信号) 5.5 延时5ms 5.6 写指令38h(不检测忙信号) 5.7(以后每次写指令、读/写数据之前均需检测忙信号) 5.8 写指令38h:显示模式设置 5.9 写指令38h:显示关闭 5.10 写指令01h:显示清屏 5.11 写指令06h:显示光标移动设置 5.12 写指令0ch:显示开关及光标位置hs1602
31、液晶模块内部的字符发生存储器(cgrom)已经存储了128个不同的点阵字符图形,如表3-7所示。 表3-7 cgrom 中的字符代码与图形对应关系 高低00000010001101000101011001110000cgram0pp0001!1aqaq0010”2brbr0011#3cscs0100$4dtdt0101%5eueu0110&6fvfv01117gwgw1000(8hxhx1001)9iyiy1010*:jzjz1011+;kk1100,nn1111/?o_ohs1602液晶模块内部的控制器共有11条控制指令,如表3-8所示。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的
32、。表3-8 hs1602液晶模块内部的控制器控制指令指令指令码 说明 rs r/w d0 d1 d2 d3 d4 d5 d6 d7 清屏 0000000001清显示,光标回位 光标返回 000000001*add=0时,回原位 输入方式 00000001i/ds决定是否移动以及移动方向 显示开关 0000001dcbd-显示,c-光标,b-光标闪烁 移位 000001s/cr/l*移动光标及整体显示 功能设置 00001dlnf*dl-数据位数,l-行数,f-字体cgram地址设置 0001a5 a4 a3 a2 a1 a0设置cgram的地址ddram地址设置 001a6 a5 a4 a3
33、a2 a1 a0设置ddram的地址忙标志/读地址计数器 01bfac6 ac5 ac4 ac3 ac2 ac1 ac0读出忙标志位(bf)及ac值cgram/ddram数据写 10写数据将内容写入ram中cgram/ddram数据读 11读数据将内容从ram中读出hs1602液晶显示模块可以和单片机at89c51直接接口,电路如图3-6所示。图3-6 at89s52和hs1602液晶模块连接电路液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表3-9是hs1602的内
34、部显示地址。即第1行的显示地址应为80h+显示位置,第2行的显示地址应为c0h+显示位置。表3-9 hs1602的内部显示地址显示位置12345678910111213141516第1行808182838485868788898a8b8c8d8e8f第2行c0c1c2c3c4c5c6c7c8c9cacbcccdcecf3.4存储模块3.4.1 at24c08结构本方案利用at24c08芯片进行存储,实现温度测量存储与再现。at24c08是atmel公司生产的串行eeprom(8k,10248),直接通过i2c总线的sda中的器件地址码变更来变换读写功能,当从串行时钟线scl输入正边缘时钟信号时
35、,数据进入每一个eeprom器件,在负边缘时数据从每个器件中输出,串行数据线sda双向输送时,该脚用漏极开路驱动,1、2、3脚作器件地址输入。其外部引脚及引脚功能如图3-7所示。 a0to a2地址输入sda系列数据scl系列时钟输入wp读写保护nc无连接 图3-7 at24c08外部引脚及引脚功能at24c08内部主要由eeprom存储阵列及其行和列译码电路、电源泵/定时、串行多路调制器、数据寄存器、i2c总线控制逻辑电路组成,如图3-8所示。电源泵的设置免除外设置的写入高压电源;数据寄存器保证了页写数据的装载空间;器件地址比较器用于辩识自己的从地址。图3-8 at24c08内部结构图3.4
36、.2 at24c08工作原理从地址选择at24c08片内的存储空间地址采用了一个字地址(wordadr)字节的寻址,故片内寻址范围为256字节。页写功能eeprom写入时,总需要一定的写入时间(515ms),因此,在写入时无法连续写入多个数据字节,在e2prom器件中设有一定容量的数据寄存器,用户一次写入eeprom的数据字节不大于页写字节数时可按通常ram的写入速度装载至eeprom中的数据寄存器中,随后启动自动写入定时控制逻辑,经过510ms自动将数据寄存器中的数据同步写入eeprom的指定单元中。at24c08的页写字节数为16。页地址空间的“翻卷”对应于页写字节数,数据寄存器分别有2、
37、3、4位页地址,为字地址的低位部分。在写入时,写入数据按照字地址(wordadr)的最低部分,定为在数据寄存器的页地址空间、数据寄存器地址的低位部分,溢出时不会向字地址的高位部分进位,这就造成写入数据在地址的“翻卷”。eeprom的写周期时序由于页写功能的设置,i2c总线对at24c08的操作只体现在对其数据寄存器的装载,在数据装载完毕,e2prom接收到i2c总线发送的停止位后,自动启动一个内部同步的写周期,将数据寄存器中的数据写入eeprom阵列中,在这个内部写入周期中所有输入皆无效。写周期结束后at24c08才允许对总线响应。3.4.3 at24c08的连接电路at24co8连接电路如图
38、3-9 图3-9 at24c08连接电路3.5 串口通信模块rs-232c标准(协议)的全称是eia-rs-232c标准,其中eia(electronic industry association)代表美国电子工业协会,rs(recommended standard)代表推荐标准,232是标识号,c代表rs232的最新一次修改,在这之前,有rs232b、rs232a,它规定连接电缆和机械、电气特性、信号功能及传送过程。rs-232c适合于数据传输速率在020000b/s范围内的通信。pc机常用db-9连接器作为提供多功能i/o卡或主板上com1和com2两个串行接口的连接器,它只提供异步通信的
39、9个信号,9针串口功能见表3-10,并且对电缆长度也有要求: rs-232c标准规定,若不使用modem,在码元畸变小于4%的情况下,dte和dce之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的,为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pf。 表3-10 9针串口功能一览表针脚功能针脚功能1载波检测6数据准备完成2接收数据7发送请求3发送数据8发送清除4数据终端准备完成9振铃指示5信号地线本方案对rs-232-c接口采用3线制(rxd、txd、gnd)软握手的零modem方式进行单片机和pc之间的数据通
40、信,即pc机和单片机的发送数据线(txd)与接收数据(rxd)交叉连接,二者的地线(gnd)直接相连,其它信号线如握手信号线均不用,而采用软件握手。但由于rs-232-c的逻辑电对地是对称的,与ttl、mos 逻辑电平完全不同,逻辑0电平规定为+5 +15v之间,逻辑1是电平为-5 -15v之间,因此利用max232芯片进行电平转换,电路连接如图3-10。图3-10 rs-232-c通信连接电路3.6 电源模块本方案采用锂离子手机充电电池和配套的锂电池充电器作为电源,手机用的锂电池电压范围是3.6v到4.2v,限定充电电压是4.25v,完全满足各模块的工作电压范围。充电器在作为电源的同时也可以
41、对锂电池进行充电,所以系统在离开市电时可正常工作。充电器电路如图3-11所示。图3-11 充电电路4 软件设计4.1 主程序流程 软件部分包括五个部分,对应着系统的五种模式,程序流程如图4-1所示。初始化读最新温度读最新温度设定温度值保存/删除数据读出数据刷新显示缓冲区数据判断是否刷新显示缓冲区数据刷新显示缓冲区数据保存数据并刷新显示缓冲区数据刷新显示缓冲区数据显示模式选择改状态指示改状态指示改状态指示改状态指示改状态指示state=0环境温度模式模式state=1体温计模式state=2设定模式state=4读出数据state=3保存/删除数据图4-1程序流程图4.2 ds18b20模块程序
42、设计4.2.1 程序流程ds18b20模块程序主要完成ds18b20的初始化和温度的读去操作,程序流程如图4-2所示。图4-2 ds18b20模块程序流程图4.2.2 程序源码见附录a ds18b20程序源码4.3 hs1602驱动程序设计4.3.1 程序流程 hs1602液晶驱动主要完成hs1602的初始化以及字符和字符串的显示,程序流程如图4-3所示。1602液晶模块初始化开始显示图4-3 hs1602液晶驱动程序流程图4.3.2 程序源码见附录a hs1602程序源码4.4 at24c08存储模块程序设计4.4.1 程序流程程序流程如图4-4所示。选择存模式选择保存或删除数据再现模式(5
43、)选择再现数据调用保存或删除模块 调用显示模块存储模式(4)图4-4 at24c08存储模块程序流程图4.4.2 程序源码见附录a at24c08程序源码4.5 单片机端通信程序设计4.5.1 程序流程at89s52单片机串行口是全双工串行通信口,有4 种工作方式:方式0作移位寄存器使用;方式1是波特率可变的8位uart;方式2是波特率固定为两种的9位uart;方式3是波特率可变的9位uart。在与pc机通信时我们选用方式1来循环向pc机发送数据,程序流程如图4-5所示。图4-5 单片机串口通信程序流程图4.5.2 程序源码见附录a 单片机通信模块源码4.6 pc端通信程序设计4.6.1 程序
44、流程pc机端串口通信程序主要完成串口的设置、数据的接收和显示,用microsoft 的visual basic 6.0编写,本方案采用microsoft的activex组件,microsoft推出的activex技术提供了另外一种实现串行通信的方法,这种方法不仅相对较为简单,而且非常实用。程序流程如图4-6所示。 图4-6 pc端串口接收程序流程图4.6.2 程序源码 见附录a pc通信模块源码5 测试及结果分析ds18b20在12位转化时每一位的精度为0.0625度,我们取小数点后两位进行显示,即两位整数温度和两位小数温度数据,这样已经达到了很高的精度。在测试过程中,我们将家庭用的寒暑表和设
45、计完成的数字温度计做比较发现,寒暑表反应速度比较快,但经过读数后的结果存在较大的误差,而我们设计完成的数字温度计测温然后显示的反应不及寒暑表,但是测温的精度远比寒暑表高,因为ds18b20测温精度可达0.0625度,并且经电子器件显示只存在取舍误差。结 论ds18b20本身就是一种数字温度传感器,它会把温度转换成数字量以后存贮在自身内部,由单片机把ds18b20里面存贮的数字量读出来,然后在数码管上显示出来,当四位数码管显示的温度超过上限值时,ds18b20可以实现报警功能;ds18b20与传统的热敏电阻相比,它能够直接读出被测量温度,并且可跟就实际需要要求通过简单的编程实现912位的数字值读
46、数方法。可以分别在93.75ms和750ms内完成9位和12位的数字量,且从ds18b20读出的信息或写入ds18b20的信息只需要一根口线读写;温度变换功率来源于数据总线,总线本身也可以向所挂接的ds18b20供电。而无需额外电源,因而使用ds18b20可使系统结构更趋简单,可靠性高。致 谢本课题的研究是在我的导师石老师的悉心指导下完成的,石老师学识渊博、治学态度严谨、工作一丝不苟,更有诲人不倦的师者风范,在此谨向石老师致以诚挚的谢意和崇高的敬意!此外,衷心感谢给予我帮助的同学,若是没有他们,也就不会有这篇论文的产生。毕业在即,衷心感谢指导过我的各位老师,四年的成长离不开他们的谆谆教诲;感谢
47、湖北工业大学工程技术学院,大学生涯是人生中的一笔宝贵财富;感谢我们08电气班的祝老师,四年的大学生活对我们关怀备至;感谢相伴度过四年的舍友、感谢同窗四年的同学、感谢帮助关心过我的学长,感谢默默关心我支持我的朋友们,祝大家在今后的生活中幸福快乐!最后感谢家人,感谢他们多年来的支持与付出!参考文献1张洪润等,电子线路与电子技术m,北京:清华大学出版社,2005.2王松武等,电子创新设计与实践m,北京:国防工业出版社,2005.3李建忠,单片机原理及应用m,西安:西安电子科技大学出版社,2002.4黄智伟等,全国大学生电子设计竞赛训练教程m,北京:电子工业出版社,2004.5樊昌信等.通信原理m.北
48、京:国防工业出版社,2001.6何希才,新型集成电路及应用实例j,北京:科学出版社,2002.7李朝青单片机原理及接口技术m杭州:北京航空航天大学出版社,1998.8李广弟单片机基础m北京:北京航空航天大学出版社,1994.9阎石数字电子技术基础m北京:高等教育出版社,1989.10廖常初现场总线概述j电工技术,1999.11楼然苗.颖电子模块应用手册j. 北京:机械工业出版社,2005.12楼然苗李光飞.单片机课程设计指导m. 北京:北京航空航天大学出版社,2007.13赖寿宏.微型计算机控制技术m. 北京:机械工业出版社.2003.14马忠梅.单片机的c语言应用程序设计m.北京:北京航空航
49、天大学出版社,1998.15金凯鹏,胡即明.基于模糊pid 算法远程温度控制系统的实现j.微计算机信息,2006.16石锦松,贺丽萍,白亮等.基于arm 的远程控制温控系统的设计j.现代电子技术,2007.17求是科技.单片机典型模块设计实例导航m.人民邮电出版社,2004.18何力民系列单片机应用系统设计系统配置与接口技术m.北京:北京航空航天大学出版社,2000.19周航慈.单片机应用程序设计技术”(修订版)m.北京航空航天大学出版社.20李华等.单片机实用接口技术m. 北京:北京航空航天大学出版社,2002.附录a 程序源码函数变量名void lcd_init(void); /液晶模块初
50、始化void dis_now_t(void); /环境温度测量模式void dis_body_t(void); /体温模式测量模式void dis_set_t(void); /温度上限void dis_set_k(void); /温度下限void dis_save_data(void); /数据保存void dele_data(void); /数据删除void datashow(unsigned char ddh , unsigned char ddl); /数据显示void lcd_write_command(unsigned char command,unsigned char wait_en); void lcd_write_data(unsigned char char_data);void wait_enable(void); /使能程序void display_a_char(unsigned char position,unsigned char
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西壮族自治区桂林市2025-2026学年上学期期末高二物理试卷(无答案)
- 安徽省宣城市旌德县2025-2026学年八年级上学期期末质量检测语文试卷(含答案)
- 韦达定理题目及答案
- 肺胀诊疗相关知识考试试题及答案
- 过山车中的物理知识课件
- 钢结构BIM应用技术要领
- 地板辐射采暖技术要领
- 建筑设备安装工艺与识图复习要点及部分答案模板
- 上海高一集合试题及答案
- 汽修专业知识试题及答案
- 书馆数据管理制度规范
- 2025年延安市市直事业单位选聘(76人)考试参考试题及答案解析
- 2025-2026年人教版二年级上册语文期末考试卷及答案
- 档案管理操作规程及实施细则
- 寒假班安全协议书
- 精神科医生精神科医疗质量控制方案
- 2026年高考语文专题复习:文学类文本散文阅读 讲义(含练习题及答案)
- 2025广东省南粤交通投资建设有限公司招聘笔试历年参考题库附带答案详解
- 2025年人工智能在电力调度中的应用项目可行性研究报告及总结分析
- DB1310T 370-2025 化学分析实验室玻璃仪器清洗规范
- GB/T 46738-2025家用和类似用途电器的安全使用年限房间空气调节器的特殊要求
评论
0/150
提交评论