




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
选题: 基于单片机的数字温度计设计姓 名:学 号:01专 业:电器自动化指导教师:完成时间:2012.3.19摘要本文提出了基于mcs-51系列单片机的数字温度计的制作电路和编程思想。该数字温度计以宏晶公司的stc89c52 单片机为主控,配以达拉斯公司的ds18b20数字温度传感器,采用1602双行英文字符液晶作显示。实现了对温度的测量,显示,和报警等功能。关键词: stc89c52单片机;数字传感器ds18b20;显示器lcd;目 录摘要iabstractii1 绪论21.1 选题的背景21.2 数字温度计简介21.2.1 数字温度计的特征21.2.2 设计实现的目标32 数字温度计的方案设计42.1 设计方案论证与比较42.1.1 显示电路方案42.1.2 测温电路方案42.2 系统总体方案43 数字温度计的硬件电路设计53.1 控制电路53.1.1 mcu简介53.2.2 最小系统模块63.3 温度传感器设计73.3.1 ds18b20简介73.3.2 温度传感器与单片机的连接93.3.3 复位信号及外部复位电路103.4 单片机与报警电路103.5 显示电路104 软件设计124.1 ds18b20的读操作124.2 ds18b20的温度数据处理134.3 1602显示部分145 数据测试16参考文献18附录1 程序源代码191 绪论1.1 选题的背景随着现代信息技术的飞速发展和传统工业改造的逐步实现能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用stc89c52单片机作为主控制器件,dsl8b20作为测温传感器通过lcd1602并行传送数据,实现温度显示。通过dsl8b20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在-55125最大线性偏差小于0.1。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。1.2 数字温度计简介1.2.1 数字温度计的特征温度是我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。数字温度计采用进口芯片组装精度高、高稳定性,误差0.5%, 内电源、微功耗、不锈钢外壳,防护坚固,美观精致。数字温度计采用进口高精度、低温漂、超低功耗集成电路和宽温型液晶显示器,内置高能量电池连续工作5年无需敷设供电电缆,是一种精度高、稳定性好、适用性极强的新型现场温度显示仪。是传统现场指针双金属温度计的理想替代产品,广泛应用于各类工矿企业,大专院校,科研院所。数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即ad转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者pc机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如led,lcd或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温功能。数字温度计根据使用的传感器的不同,ad转换电路,及处理单元的不同,它的精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格的数字温度计。1.2.2 设计实现的目标1) 测温基本范围-55125。2) 测温精度误差小于或等于0.5。3) 超温报警。4) lcd屏幕显示实时温度。2 数字温度计的方案设计2.1 设计方案论证与比较2.1.1 显示电路方案方案一:采用数码管动态显示使用七段led数码管,采用动态显示的方法来显示各项指标,此方法虽然价格成本低,但是显示单一,且功耗较大。方案二:采用lcd液晶显示采用1602 lcd液晶显示,此方案显示内容相对丰富,且价格不高。综合上述原因,采用方案二,使用lcd液晶作显示电路。2.1.2 测温电路方案方案一:采用模拟温度传感器测温由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行a/d转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到a/d转换电路,感温电路比较麻烦。方案二:采用数字温度传感器进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器ds18b20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。综合考虑,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2.2 系统总体方案根据上述方案比较,结合题目要可以将系统分为主控模块,显示模块,温度采集模块和报警模块,其框图如下:驱动显示报警电路看门狗 mcu ds18b20温度数据采集图2-1 系统总体设计框图3 数字温度计的硬件电路设计3.1 控制电路3.1.1 mcu简介cpu是整个控制部分的核心。在考虑经济性和满足需求的前提下,本系统选用宏晶公司生产的8位stc89c52单片机作为整个系统的控制中心。stc89c52是宏晶公司生产的低功耗,高性能cmos8位单片机,片内含4k bytes的可系统编程的flash只读程序存储器,器件采用宏晶公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚,它集flash存储器既可在线编辑(isp)也可用传统方法进行编辑及通用8位微处理器于单片芯片中,功能强大stc89c52单片机可为您提供许多高性价比的应用场合。器管脚图如图3-2:图3-1 stc89c52管脚图在本系统中,stc89c52单片机内部的功能单元已经能够满足系统设计需要,不需要系统扩展。stc89c52具有以下的特点: 8031 cpu与mcs-51 兼容 寿命:1000写/擦循环 4k字节可编程flash存储器 全静态工作:0-24mhz 三级程序存储器保密锁定 128*8位内部ram 32条可编程i/o线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟除此之外,stc89c52rc单片机还具有看门狗内部外设。在工业控制/汽车电子/航空航天等需要高可靠性的系统中,为了防止“系统在异常情况下,受到干扰,mcu/cpu程序跑飞,导致系统长时间异常工作” ,通常是引进看门狗,如果mcu/cpu 不在规定的时间内按要求访问看门狗,就认为mcu/cpu处于异常状态,看门狗就会强迫mcu/cpu复位,使系统重新从头开始按规律执行用户程序。系统中单片机stc89c52rc中自带看门狗电路。其寄存器设置相关信息如下:表3-1 stc89c52看门狗寄存器stc89c52单片机看门狗复位时间是可以自行选择和设置的,其设置方法是:表3-2 看门狗定时器预分频值3.2.2 最小系统模块本次设计中,选用宏晶公司的51系列单片机stc89c52芯片作为电子密码电源开关的数据处理及操作控制芯片。只有单片机芯片无法完成数据处理及控制功能,必须有附加的电路,使单片机芯片组成一个可运行的系统才能实现其功能。本次设计中,由stc89c52芯片连同附加电路构成的单片机最小系统作为数据处理及控制模块,其中,使用p0口作为1602液晶的数据传输口,p2口作1602的命令数据控制、时钟、读写控制、和使能控制接口,p3口作按键扫描接口,p1.4作ds18b20的总线接口。p1.3作报警控制接口。其电路连接图3-3如下:图3-2 数据处理及控制模块3.3 温度传感器设计3.3.1 ds18b20简介ds18b20可以程序设定912位的分辨率,精度为0.5c。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在eprom中,掉电后依然保存。温度传感器ds18b20引脚如图3-4所示。图3-3 ds18b20to92封装温度传感器引脚功能说明:vdd :可选电源脚,电源电压范围35.5v。当工作于寄生电源时,此引脚必须接地。dq :数据输入/输出脚。漏极开路,常态下高电平。gnd :为电源地图3-4 ds18b20内部结构图ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码。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 r1 r0 1 1 1 1 1低五位一直都是1 ,tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式。在ds18b20出厂时该位被设置为0,用户不要去改动。r1和r0用来设置分辨率,如表1所示:(ds18b20出厂时被设置为12位)表3-3 ds18b20温度转换时间表r1r0分辨率/位温度最大转向时间00993.750110187.510113751112750根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500微秒,然后释放,ds18b20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主cpu收到此信号表示复位成功。3.3.2 温度传感器与单片机的连接温度传感器的单总线(1-wire)与单片机的p20连接,p20是单片机的高位地址线a8。p2端口是一个带内部上拉电阻的8位双向io,其输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时。如执行movx dptr指令,则表示p2端口送出高8位的地址数据。在访问8位地址的外部数据存储器时,可执行movx ri指令,p2端口内容即为特殊功能寄存器(sfr)区中r2寄存器内容,整个访问期间不改变。在flash编程和程序校验时,p2端口也接收高位地址和其他控制信号。图3-5为dsl8820内部结构。图3-6为dsl8820与单片机的接口电路。图3-5 ds18b20和单片机的接口连接3.3.3 复位信号及外部复位电路单片机的p1.6端口是max813看门狗电路中喂狗信号的输入端,即单片机每执行一次程序就设置一次喂狗信号,清零看门狗器件。若程序出现异常,单片机引脚rst将出现两个机器周期以上的高电平,使其复位。该复位信号高电平有效,其有效时间应持续24个振荡脉冲周期即两个机器周期以上。若使用频率为12 mhz的晶体振荡器,则复位信号持续时间应超过2s才完成复位操作。图3-6 复位电路3.4 单片机与报警电路系统中的报警电路是由发光二极管和限流电阻组成,并与单片机的p1.2端口连接。p1端口的作用和接法与p2端口相同,不同的是在flash编程和程序校验期间,p1接收低8位地址数据。3.5 显示电路采用技术成熟的74hcl64实现串并转换。lcd显示分为静态显示和动态显示。这里采用静态显示,系统通过单片机的串行口来实现静态显示。串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的1/12。当器件执行任何一条将sbuf作为目的寄存器的命令时,数据便开始从rxd端发送。在写信号有效时,相隔一个机器周期后发送控制端send有效,即允许rxd发送数据,同时允许从txd端输出移位脉冲。图3-7为显示电路的连接图。图3-7 显示电路的连接图4 软件设计4.1 ds18b20的读操作dsl8b20的主要数据元件有:64位激光lasered rom,温度灵敏元件和非易失性温度告警触发器th和tl。dsl8b20可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。此外,还可外接5 v电源,给dsl8b20供电。dsl8b20的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。ds18b20读写时序如图4-14-3:图4-1 ds18b20的复位时序图图4-2 ds18b20的写数据时序图图4-3 ds18b20的读数据时序图由时序图可知,ds18b20在复位时需要480us的低电平,等待15us后mcu将总线拉高,等待ds18b20的响应信号;ds18b20在写数据时分为写“0”和写“1”操作,写“0”操作时,ds18b20需要至少60us的总线被拉低,然后在60us内将“0”写入ds18b20中,持续时间至少1us,写“1”操作是只需将写入的“0”改为“1”即可;ds18b20读操作也分为读“0”和读“1”操作,读“0”操作时,总线需要15us被拉低,再拉高45us,然后再15us内将数据读走,读“1”操作同读“0”操作。程序流程图如图4-4:开始ds18b20的初始化启动温度转换读取温度寄存器跳过读序列号的操作跳过读序列号的操作ds18b20的初始化retlow-低八位 high-高八位图4-4 ds18b20读取温度的流程图4.2 ds18b20的温度数据处理读出温度数据后,low的低四位为温度的小数部分,可以精确到0.0625,low的高四位和high的低四位为温度的整数部分,high的高四位全部为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于0.5的话,向个位进1;小于0.5的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为ds18b20最低温度只能为-55,所以可以将整数部分的最高位换成一个“-”,表示为负数。图4-2为温度数据处理程序的流程图。开始提取整数部分存入ht
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年开关插座行业当前市场规模及未来五到十年发展趋势报告
- 2025年塑料助剂行业当前发展现状及增长策略研究报告
- 支气管镜图谱课件
- 操作工安全管理培训课件
- 2025年职业技能(农产品质量安全检测员)资格知识考试题库与答案
- 2025年社会工作者之初级社会综合能力题库附答案(典型题)
- 2025全国普法知识考试题库与答案
- 2025年河南省濮阳市考研专业综合预测试题含答案
- 摩托车新手安全知识培训课件
- (2025年)河北省邢台市中级会计职称经济法预测试题含答案
- GB/T 276-2013滚动轴承深沟球轴承外形尺寸
- GB/T 17737.105-2018同轴通信电缆第1-105部分:电气试验方法电缆介质的耐电压试验
- GB 9959.1-2001鲜、冻片猪肉
- 关于创新开发区管理体制机制的思考
- 北京理工大学应用光学课件(大全)李林
- 院前急救120出诊流程图
- 残疾人基本康复服务目录(2021年版)
- 全员安全生产责任制度
- 工作桌面pad相关gec3000通讯协议v2
- 正压式呼吸器使用与管理规范
- GB∕T 37004-2018 国家物品编码通用导则
评论
0/150
提交评论