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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机的温度报警系统的设计毕业设计论文.docx

1、基于单片机的温度报警系统的设计毕业设计论文 毕 业 设 计基于单片机的温度报警系统的设计2013 年 月 日摘要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集系统与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本设计论述了一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC89C52单片机最小系统,18B20测温电路,温度显示电路,报警电路等。系统程序主要包括主程序,读温度子程序,计算温度子程序,按键处理

2、子程序,LED显示子程序等。【关键字】STC89C52单片机;DS18B20;显示电路AbstractAlong with the computer measurement and control technology of the rapid development and wide application,based on singlechip temperature gathering and control system .The control system can real-time storage temperature data and record related to th

3、e current time.System design related hardware circuit and related applications. Hardware circuit include STC89C52 microcontroller smallest system,18B20 temperature detection circuit, temperature display circuit,alarm circuit,etc.System programming mainly include main program,read temperature subrout

4、ine,the calculation of temperature subroutines,key processing procedures,LED display procedures,etc.【keyword】STC89C52 microcontroller; DS18B20; display circuit基于单片机的温度采集系统的设计 -软件设计1绪论随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时还有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下

5、,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。本文主要介绍了一个基于STC89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20 开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20 的数据采集过程。对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它

6、系统中,作为其他主系统的辅助扩展。DS18B20与STC89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。2 系统总设计方案2.1数字温度计设计方案论证2.1.1方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。2.1.2 方案二考

7、虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。2.2系统总体框图 图2.3-12.3系统的功能温度测量功能:利用DS18B20数字温度传感器实现对温度进行准确的测量,使温度值显示到数码管上。2.4本系统优点2.4.1线路简单DS18B20与单片机之间一根导线进行数据传输,不需

8、要对数据进行转换,接线简单。2.4.2温度测量准确DS18B20的温度分辨率为0.0625,所以对温度值可以进行准确的温度转换。3 主要硬件模块介绍3.1 STC单片机介绍3.1.1 STC单片机功能介绍单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算(single chipmicrocomputer).它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果

9、.单片机应用系统可以分为:(1)最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。片内ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机.片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用.(2)最小功耗应用系统是指为了保证正常运行,系统的功耗最小.(3)典型应用系统是指单片机要完成工业测控功能所必须的硬件结构系统。STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有8K在系统可编

10、程 Flash 存储器。使用 STC 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52 具以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2个数据指针,三个 16 位定时器/计数器一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至 0Hz 静态逻辑操作

11、,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.1.2 STC89C52 单片机引脚结构与功能 图3.1.2-1VCC :电源GND:地P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0

12、口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体如下表所示。在 flash 编程和校验时,P1 口接收低 8 位地址字。P2 口:P2 口是一个具有内部上拉电阻

13、的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电

14、阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口亦作为 STC89C52 特殊功能(第二功能)使用,如下表所示。在 flash 编程和校验时,P3 口也接收一些控制信号。RST: 复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下

15、,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第 0 位置 “1”,ALE 操作将无效。这一位置“1”,ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于

16、外部执行模式下无效。PSEN:外部程序存储器选通信号PSEN是外部程序存储器选通信号。当 STC89C52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.2系统模块系统由单片机最小系统、显示电路、按键、18B20温度传感器、蜂鸣器报警电路组成。3.2.1系统原理图图3.2.1-13.2.2主控制器晶振电路采用12MHZ,复位电路采用上电加按键复位图3.2.2-1 晶振电路图3.2.2-2复位电路3.2.3显示电路显示电路采用4

17、 位共阴极LED 数码管,P0 口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描的方式显示。 图3.2.3-1显示电路3.2.4报警温度调整按键电路本系统设计三个按键,一个用于选择设定,另外两个分别用于设置报警温度的加和减。图3.2.4-1按键电路3.2.5温度传感电路图3.2.5-1温度传感电路3.2.6报警电路图3.2.6-1报警电路3.3 DS18B20数字温度传感器介绍3.3.1特性介绍 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55+125,以0.5递增。

18、华氏器件-67+2570F,以0.90F 递增 温度以9 或12位数字量读出 温度数字量转换时间200ms(典型值) 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统说明:DS1820 数字温度计以9 位或12位数字量的形式反映器件的温度值。DS1820 通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820 之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。因为每个 DS1820 都有一个独特的片序列号,所以多只DS1820 可以同时连

19、在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC 环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。3.3.2引脚介绍3.3.3访问18B20的协议通过单线总线端口访问 DS1820 的协议如下: 初始化 ROM 操作命令 存储器操作命令 执行/数据1初始化通过单线总线的所有执行(处理)都从一个初始化序列开始。初始化序列包括一个由总线控制器发出的复位脉冲和跟有其后由从机发出的存在脉冲。存在脉冲让总线控制器知道 DS1820 在总线上且已准备好操作。2 ROM 操作命令一旦总线控制器探测到一个存在脉冲,它就可以发出 5 个ROM 命令中的任一个

20、。所有ROM 操作命令都8 位长度。下面是这些命令Read ROM 33h这个命令允许总线控制器读到DS1820 的8 位系列编码、唯一的序列号和8 位CRC 码。只有在总线上存在单只DS1820 的时候才能使用这个命令。如果总上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起开成相与的效果)。Match ROM 55h匹配ROM 命令,后跟64 位ROM 序列,让总线控制器在多点总线上定位一只特定的DS1820。只有和64 位ROM 序列完全匹配的DS1820 才能响应随后的存储器操作命令。所有和64 位ROM序列不匹配的从机都将等待复位脉冲。这条命令在总线上有

21、单个或多个器件时都可以使用。Skip ROM CCh这条命令允许总线控制器不用提供64 位ROM 编码就使用存储器操作命令,在单点总线情况下右以节省时间。如果总线上不止一个从机,在Skip ROM 命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲突(漏极开路下拉效果相当于相与)。Search ROM F0h当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的64 位ROM编码。搜索ROM 命令允许总线控制器用排除法识别总线上的所有从机的64 位编码。Alarm Search ECh这条命令的流程图和Search ROM 相同。然而,只有在最近一次测温

22、后遇到符合报警条件的情况,DS1820 才会响应这条命令。报警条件定义为温度高于TH 或低于TL。只要DS1820 不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。3.3.4 DS18B20命令设置3.3.5 DS18B20内部温度表现形式1 DS18B20用9位存贮温值度最高位为符号位,下图为18B20的温度存储方式。负温度S=1 正温度S=0 如:00AAH 为+85 ,0032H 为25 FF92H 为552 DS18B20用12位存贮温值度最高位为符号位,下图为18B20的温度存储方式。负温度S=1 正温度S=0 如:0550H 为+85 ,0191H 为25.062

23、5 ,FC90H 为-55 3 DS18B20温度转换形式(12位存储形式)实际温度值数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.0625

24、1111 1110 0110 1111FE6EH-551111 1100 1001 0000FC90H4 18B20时序图及相应的软件设计4.1复位时序void Init_DS18B20(void) uchar x=0; DQ = 1; /DQ复位 DS18B20_delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 DS18B20_delay(80); /精确延时 大于 480 us DQ = 1; /拉高总线 DS18B20_delay(10); x=DQ; /稍做延时后 如果 x=0 则初始化成功 x=1 则初始化失败 DS18B20_delay(5); 4.2 读/写时序

25、 /*/* 读一个字节 */*/uchar DS18B20_ReadOneChar(void) uchar i=0; uchar dat = 0; for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat |= 0x80; DS18B20_delay(5); return(dat);/*/* 写一个字节 */*/void DS18B20_WriteOneChar(uchar dat) uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; DS18B20_delay(5);

26、 DQ = 1; dat=1; DS18B20_delay(5);5 程序框图及C语言设计5.1温度采集系统流程图见图5-1 图 5-1温度采集系统5.2读取温度流程图见图5-25.3温度显示流程图见图5-3图5-2 读取温度图图5-3 温度显示5.4温度设置流程图见图5-4图5-4温度设置5.5温度采集系统C语言设计#include #include #include #define uchar unsigned char#define uint unsigned int#define SMGIO P0sbit SET=P10;sbit ADD=P11;sbit DEC=P12;sbit H

27、I_LED=P14;sbit LO_LED=P15;sbit BJ=P17;sbit SMG1=P20;sbit SMG2=P21;sbit SMG3=P22;sbit SMG4=P23;sbit BEEP=P17;uint tempValue;uint HI_Alarm=32;uint LO_Alarm=20;uchar SMG_CC=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共阴极数码管0-9编码uchar SMG_CC_DOT=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;

28、 /共阴极数码管0-9编码 带小数点/*/* 1ms延时 */*/void delayms(uint x)uchar i;while(x-) for(i=150;i0;i-); 代码未完待续兰若科技原创淘宝店文档+仿真+代码+实物+全方位服务淘宝店铺搜索:兰若科技服务中心结论随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。由于单片机具有功能强、体积小、可靠性好、和价格低廉等独特优点,因此,在智能仪器仪表、工业自动控制、计算机智能终端、家用电器、儿童玩具等许多方面

29、,都已得到了很好的应用,因而受到人们高度重视,取得了一系列科研成果,成为传统工业技术改造和新产品更新换代的理想机种,具有广阔的发展前景。本次用单片机设计的温度采集系统终于完成了,在本次设计中,从采集元件,软件设计,硬件设计与焊接到论文的编写都是先查阅大量的资料后确定的,在经过老师指导,最后经过长时间的不断努力才完成的。在本次设计中,我切身感受到了动手实践以及团队合作的重要性,这对我以后的学习工作将产生深远的影响。 在本次设计研究和撰写论文的过程中,我查阅了许多文献资料,从中学到了很多关于系统开发和程序调试等发面的知识。在软件开发过程中掌握了一些技术难题的解决方法和技巧,巩固和加深了对所学知识的理解,能够把所学的知识和实践相结合,培养了认真谨慎的学习态度,为以后的学习与工作积累了大量的经验,提高了分析问题和解决问题的能力,但是由于认识上的片面与不足,本设计还有待经一部的完善与优化,这在以后的学习

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

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