ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:450.28KB ,
资源ID:8041484      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8041484.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能仪表课程设计2.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能仪表课程设计2.docx

1、智能仪表课程设计2目录序 言 1第一章 系统方案 21.1课题的意义和目的 21.2主要设计内容 21.3课题的任务要求 2第二章 硬件设计 32.1 系统总体方案 32.1.1系统总体设计框图 32.1.2各模块简介 32.2 系统硬件设计 62.2.1 单片机电路设计 62.2.2 DS18B20温度传感器电路设计 72.2.3 显示电路设计 72.2.4 按键电路设计 82.2.5 报警电路设计 8第三章 软件设计 93.1 DS18B20程序设计 93.1.1 DS18B20传感器操作流程 93.1.2 DS18B20传感器的指令表 103.1.3 DS18B20传感器的初始化时序 1

2、13.1.4 DS18B20传感器的读写时序 113.1.5 DS18B20获取温度程序流程图 113.2 显示程序设计 123.3 按键程序设计 12第四章 系统的软硬件调试 13参考文献 14附 录 15附录一 硬件原理图 15附录二 源程序清单 16附录三 实物图 25序 言本设计采用的主控芯片是ATMEL公司的AT89S52单片机,数字温度传感器是DALLAS公司的DS18B20。本设计用数字传感器DS18B20测量温度,测量精度高,传感器体积小,使用方便。所以本次设计的数字温度计在工业、农业、日常生活中都有广泛的应用。单片机技术已经广泛应用社会生活的各个领域,已经成为一种非常实用的技

3、术。51单片机是最常用的一种单片机,而且在高校中都以51单片机教材为蓝本,这使得51单片机成为初学单片机技术人员的首选。本次设计采用的AT89S52是一种flash型单片机,可以直接在线编程,向单片机中写程序变得更加容易。本次设计的数字温度计采用的是DS18B20数字温度传感器,DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本设计根据设计要求,首先设计了硬件电路,然后绘制软件流程图及编写程序。本设计属于一种多功能温度计,温度测量范围是0到50。温度值的分辨率可以被用户设定为9-12位,可以

4、设置上下限报警温度,当温度不在设定的范围内时,就会启动报警程序报警。本设计的显示模块是用液晶显示屏实现的。在显示实时测量温度的模式下还可以通过查询按键查看设定的上下限报警温度。第1章 系统方案1.1课题的意义和目的在日常生活及工农业生产中经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。由单片集成电路构成的温度传感器的种类越来越多,测量的精度越来越高,响应时间越来越短,使用方便无需变换电路等。近年来,美国DALLAS公司生产DSI8B20为代表的新型单总线数字式温

5、度传感器以其突出优点广泛使用于仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中。DSI8B20集温度测量和A/D转换于一体,直接输出数字量,传输距离远,可以很方便地实现多点测量。温度采集仪增加PC机与单片机之间的通信,可以对实时温度进行远程监测与存储,此仪器可用于蔬菜大棚的监控或者工厂中的锅炉温度的采集等场合应用广泛。1.2主要设计内容通过温度传感器采集温度,并将温度传到单片机进行处理,并通过液晶显示,同时以单片机为核心的主控单元通过对按键的操作,设定上下限报警温度与实测温度进行比较,并判断是否报警,且与PC机通信将监测的温度发送到PC机(温度监测界面可用VB进行编程设计)。1.3课

6、题的任务要求1. 温度测量范围0到+50; 2. 自定义的通信协议可靠,传输误码率低;3. 用液晶显示屏直接显示读数、显示清晰直观;4. 稳定性好。第二章 硬件设计2.1 系统总体方案2.1.1系统总体设计框图由于DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。 温度计电路设计总体设计框图如图2-1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,显示采用液晶显示屏,报警采用蜂鸣器、LED灯实现,键盘用来设定报警上下限温度。图2-1 温度计电路总体

7、设计框图2.1.2各模块简介主控模块:可以选用STC89C系列的单片机,这里采用的STC89C52单片机,价格便宜,使用方便,STC89C52的片内RAM已能满足存放要求。温度传感模块:由于本设计中单片机除了要完成数据采集、处理、控制和显示任务外,还要完成按键值的采集、处理。如果用常规的数字加模拟电路实现就会相对困难一些。本设计选用的数字式集成温度传感器DS18B20。DS18B20是DALLAS半导体公司(现属MAXIM公司)设计生产的单总线数字温度传感器,其测量温度范围为55125,在-10+85时精度为0.5。这个传感器最大的特点就是能够从一根总线直接输出二进制的温度信号,不需要A/D转

8、换和信号放大。这样的选择使得整个电路的硬件设计更为简化,节省了单片机的资源。 显示模块:可以使用数码管或者液晶显示,两者皆可。在本设计中,主要使用液晶,焊接简单且程序调用方便。按键模块:本设计采用三个按键分别用来设定上限、下限温度。 报警模块:就是当设定的温度在门限温度之外,就会报警,蜂鸣器发出响声。 通信模块:RS-232电平与单片机TTL电平之间的转换方式,可以使用分立元件焊接而成,也可以直接使用集成芯片MAX232芯片。从电路使用方便的角度来看直接采用集成芯片,适应性更强,加之其价格适中,硬件接口简单。 DS18B20的主要特性 (1)适应电压范围更宽,电压范围:3.0V5.5V,在寄生

9、电源方式下可由数据线供电。 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 (4)温度范围55125,在-10+85时精度为0.5。 (5)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。 (6)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。 (7)测量结果直接输出数字温度信号,以“一线总线

10、”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。 (8)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 DS18B20采用3脚TO92封装或8脚SO或SOP封装,其其封装形式如图2-2所示。图2-2 DS18B20的封装形式DS18B20的64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EEPR

11、AM。高速暂存RAM的结构为8字节的存储器,结构如图2-3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率,DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值,该字节各位的定义如表2-1所示。表2-1:配置寄存器D7 D6 D5 D4 D3 D2 D1 D0TMR1R011111配置寄存器的低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,“R

12、1R0”为“00”是9位,“01”是10位,“10”是11位,“11”是12位。当DS18B20分辨率越高时,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位s0时,表示测得的温度值

13、为正值,可以直接将二进制位转换为十进制;当符号位s1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。输出的二进制数的高5位是符号位,最后4位是温度小数点位,中间7位是温度整数位。表2-2是一部分温度值对应的二进制温度数据。表2-2 DS18B20输出的温度值温度值二进制输出十六进制输出+1250000 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008h00

14、000 0000 0000 00000000h-0.51111 1111 1111 1000FFF8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FF6Fh-551111 1100 1001 0000FC90hDS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TTH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC

15、值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。4.调节模块介绍调节模块是由四个按键接地后直接接单片机的I/O口完成的。当按键没有按下时单片机管脚相当于悬空,默认下为高电平,当按键按下时相当于把单片机的管脚直接接地,此时为低电平。程序设计为低电平触发。5.报警模块介绍报警模块是由一个PNP型的三极管9012驱动的5V蜂鸣器,和一个加一限流电阻的发光二极管组成的。报警时蜂鸣器间歇性报警,发光二极管闪烁。2.2 系统硬件设计2.2.1 单片机电路设计图2-4 单片机最小系统原理图单片机最小系统是由晶振电路,上电复位、按键复位电路,ISP下载接口和电源指示灯组成。原理

16、图如图2-4所示。2.2.2 DS18B20温度传感器电路设计DS18B20温度传感器是单总线器件与单片机的接口电路采用电源供电方。电源供电方式如图2-7,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。图2-7 DS18B20电源供电方式当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。2.2.3 显示电路设计显示电路是由液晶显示屏进行显示的。显示电路的总体设计如图2-6所示。图2-6 显示电路2.2.4 按键电路设计按键电路是用来实现调节设定

17、报警温度的上下限和查看上下报警温度的功能。图2-7按键电路2.2.5 报警电路设计报警电路是在测量温度大于上限或小于下限时提供报警功能的电路。该电路是由一个蜂鸣器和一个红色的发光二极管组成,具体的电路如图2-7所示。图2-7 报警电路原理图第三章 软件设计3.1 DS18B20程序设计3.1.1 DS18B20传感器操作流程根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤: 每一次读写之前都要对DS18B20进行复位操作 复位成功后发送一条ROM指令 最后发送RAM指令这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500s,然后释

18、放,当DS18B20收到信号后等待1660s左右,后发出60240s的存在低脉冲,主CPU收到此信号表示复位成功。DS18B20的操作流程如图3-1所示。如图3-1 DS18B20的操作流程3.1.2 DS18B20传感器的指令表DS18B20传感器的操作指令如表3-1所示。传感器复位后向传感器写相应的命令才能实现相应的功能。表3-1 DS18B20的指令表指 令指令代码功 能读ROM0x33读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM0x55发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS18

19、20 的读写作准备。搜索 ROM0xF0用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0xCC忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0xEC执行后只有温度超过设定值上限或下限的片子才做出响应。温度变换0x44启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0xBE读内部RAM中9字节的内容写暂存器0x4E发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器

20、0x48将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0xB8将EEPROM中内容恢复到RAM中的第3 、4字节。读供电方式0xB4读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。3.2 显示程序设计显示电路是由液晶显示屏来实现的。由于单片机的I/O口有限,所以数码管采用动态扫描的方式来进行显示。3.3 按键程序设计按键是用来设定上下限报警温度的。具体的程序流程图如图3-3所示。图3-3 按键程序流程图第四章 系统的软硬件调试在做实物时出现了不少问题。比如本来是采用NPN型9013驱动蜂鸣器,但是在实际调试中蜂鸣

21、器驱动不了,经多次试验,在三极管的基极电阻与单片机的接口处接一个1、2k的上拉电阻就能驱动了。但考虑到单片机的I/O口默认状态时为高电平,这样一上电蜂鸣器就会响,所以将NPN型9013换成了PNP型的9012三极管,效果挺好。结束语此次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到实践中去。在大学课堂的学习只是给我们灌输专业知识,而我们应把所学的知识应用到我们现实的生活中去。这次的设计不仅使我们将课堂上学到的理论知识与实际应用结合了起来,而且使我们对电子电路、电子元器件、印制电路板等方面的知识有了更进一步的认识,同时在软件编程、焊板调试、相关调

22、试仪器的使用等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。此次单片机设计也为我们以后进行更复杂的单片机系统设计提供了宝贵的经验。通过此次的综合设计,我们初步掌握了单片机系统设计的基本原理。充分认识到理论学习与实践相结合的重要性,对于书本上的很多知识,不但要学会,更重要的是会运用到实践中去。在以后的学习中,我们会更加注重实践方面的锻炼,多提高自己的动手实践能力。参考文献1 谭浩强.C程序设计(第三版).北京:清华大学出版社,2005.7 2 余发山,王福忠.单片机原理与应用技术.徐州:中国矿业大学出版社,2008.6 3 求是科技.单片机典型模块

23、设计实例导航.北京:人民邮电出版社,2005.5 4 求是科技.8051系列单片机C程序设计完全手册.北京:人民邮电出版社,2006.4 5 于永,戴佳,刘波.51单片机C语言常用模块与综合系统设计实例精讲(第2版).北京:电子工业出版社,2008.10附 录附录一 硬件原理图附录二 源程序清单C程序:#include#include#include #include#define uchar unsigned char#define uint unsigned intuchar teH = 35,teL = 20;sbit DQ=P37;/ds18b20与单片机连接口sbit RS=P25;

24、sbit RW=P26;sbit EN=P27;sbit SET=P10;sbit ADD=P11;sbit SUB=P12;sbit BEEP = P32;sbit busy=P07; /lcd忙标位sbit L = P33;sbit H = P34;uchar s1num = 0, s2num = 0;uchar dis3=0123456789 ;uchar val_sp5=0;uchar fre_sp5=0;uchar code str1=Tem: ;uchar code str2=studentN0: ;uchar code str3= 11314228;uchar code str4

25、=teH:35;uchar code str5=teL:20;uchar data disdata5;uchar data str62;uchar p=0;uint tvalue;/温度值uchar tflag;/温度正负标志/*lcd1602程序*/void delay1ms(uint ms)/延时1毫秒 uint i,j; for(i=0;ims;i+) for(j=0;j0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar

26、wdata)/*写数据*/ uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; read_temp()/*读取温度值并转换*/ uint a,b; ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0x44);/*启动温度转换*/ ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0xbe);/*读取温度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue=8; tvalue=tvalue|a;if(tvalue0x08ff) tflag=0; else tvalue=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1