基于51单片机温度报警器的设计内容摘要:
或由于 ( VCC 加入并超过复位门限电压 ) 引起系统正常复位。 11 图 复位电路图 报警与控制电路设计 在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。 其方法就是把计算机采集的数据或记过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。 同样室内的温度低高设定的温度范围内时当 输出高电平“ 1”时,晶体管导通,压电蜂鸣器两端获得约 +5V 电压而鸣叫,出报警声音;单片机的 电平,此时红色指示灯亮起并接通风降温设备,直到低于设定的最低温度时, 输出低电平时,三极管截止,蜂鸣器停止发声, 出高电平片机的 为 1,此时绿色指示灯灭并停止加温设备;外的警电路与控制电路如图 所示 12 图 报警与控制电路与单片机的连接 LED 显示电路设计 LED 数码管是一种半导体发光器件,其基本单元是发光二极管 , 通过对其不同的管脚输入相对的电流 , 会使其发亮 , 从而显示出数字。 可以显示 : 时间 、 日期 、 温度等可以用数字代替的参数。 数码管按段数分为七段数码管和 八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个 “8”可分为 1 位、 2 位、 4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。 共阳 极 数码管是指将所有发光二极管的阳极接到一起形成公共阳极 (COM)的数码管。 共阳 极 数码管在应用时应将公共极 COM 接到 +5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。 当某一字段的阴极为高电平时,相应字段就不亮。 13 动态驱动是将所有数码管的 8 个显示笔划 a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个 数码管的公共极 COM 增加位选通控制电路,通过 由各自独立的 I/O 线控制,当单片机 的 P0口 输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对 位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。 通过分时轮流控制各个数码管的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。 在本设计中采用了三位七段数码管,用动态驱动来显示温度的值,如图 所示。 14 图 显示电路图 温 度检测电路设计 本次设计所采用的温度传感器为 Dallas半导体公司的数字化温度传感器DS18B20,它是世界上第一片支持 “ 一线总线 ” 接口的温度传感器。 “ 一线器件 ” 体积更小、适用电压更宽、更经济。 全部传感元件及转换电路集成在形如一只三极管的集成电路内。 DS18B20 可以程序设定 9- 12位的分辨率,精度为 177。 ℃。 可选更小的封装方式,更宽的电压适用范围。 分辨率设定,及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。 DS18B20 与 AT89S52 单片机接口电路的设计 DSl8B20 数字温度计提供 9 位 (二进制 )温度读数 , 指示器件的温度信息经过单线接口送入 DSl8B20 或从 DSl8B20 送出,因此从主机 CPU 到 DSl8B20 仅需一条线, 当 DS18B20 接收到温度转换命令后,开始启动转换。 转换完成后的温度值就以 16位带符号扩展的二进制补码形式存储在高速暂存存储器的第 2字节。 单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 ℃/ LSB 形式表示。 当符号位 S= 0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S= 1时,表示测得的温度值为负值,要先将补码变成 原码,再计算十进制数值。 表 2是一部分温度值对应的二进制温度数据 [6]。 15 图 DS18B20 与 AT89S52 单片机的连接 DS18B20 支持“一线总线”接口,测量温度范围为 55176。 C+125176。 C,在10+85176。 C范围内 ,精度为177。 176。 C。 现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。 适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 产品的特点 ( 1)只要求一个端口即可实现通信。 ( 2)在 DS18B20 中的每个器件上都有独一无二的序列号。 ( 3)实际应用中不需要外部任何元器件即可实现测温。 ( 4)测量温度范围在 55176。 C +125176。 C之间。 ( 5)数字温度计的分辨率用户可以从 9位到 12 位选择。 ( 6)内部有温度上、下限设置。 的引脚介绍 TO- 92 封装的 DS18B20 引脚功能描述见表 1。 16 表 1 DS18B20 详细引脚功能描述 序号 名称 引脚功能描述 1 GND 地信号 2 DQ 数据输入 /输出引脚。 开漏单总线接口引脚。 当被用着在寄生电源下,也可以向器件提供电源。 3 VDD 可选择的 VDD 引脚。 当工作于寄生电源时,此引脚必须接地。 因为一线通信接口,必须在先完成 ROM 设定,否则记忆和控制功能将无法使用。 主要首先 DS18B20 提供以下功能命令之一:读 ROM, ROM 匹配,搜索 ROM,跳过 ROM,报警检查。 若指令成功地使 DS18B20 完成温度测量,数据存储在 DS18B20 的存储器。 一个控制功能指挥指示 DS18B20 的演出测温。 测量结果将被放置在 DS18B20 内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。 温度报警触发器 TH和 TL 都有一字节 EEPROM 的数据。 如果 DS18B20 不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。 在片上还载有配置字节以理想的解决温度数字转换。 写 TH,TL 指令以及配置字节利用一个记忆功能的指令完成。 所有的数据的读、写都是从最低位开始。 按键 电路设计 键盘共有三个键,判断 K3~K5 键是否按下,可采用软件查询和中断的方法,当某个键按下时,低电平有效。 3个键 K3~K5 的功能定义如表所示。 K3~K5 键的定义 按键 键名 功能 K3 功能转换键 此键按下,显示温度设定值,按键松开,显示当前温度 K4 加 1键 设定温度值加 1 17 K5 减 1键 设置温度值减 1 图 按键电路 第四章 软件设计 主程序方案 首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关 系。 本部分详细介绍了基于 AT89S52单片机的多路温度采集控制系统的软件设计。 根据系统功能,可以将系统设计分为若干个子程序进行设计,如温度采集子程序,数据处理子程序、显示子程序、执行子程序。 采用 Kiel uVision3集成编译环境和汇编语言来进行系统软件的设计。 本章从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一分析各模块程序算法的实现,最 18 终编写出满足任务需求的程序。 并对温度进行实时显示。 采用 C语言编写代码 , 鉴于篇幅限制及 DS18B20 的应用已经规范和成熟 , 本文仅就主程序流程图和显示子程 序流程图及其代码进行说明。 通过定时器 T0 , 在此不再赘述。 主程序流程图 主程序通过调用温度采集子程序完成温度数据采集 , 然后调用温度转换子程序转换读取温度数据 ,调用显示子程序进行温度显示和判断温度数据。 主程序(见附录 2)调用四个子程序,分别是温度采集程序、数码管显示程序、温度处理程序和数据存储程序。 温度采集程序:对温度芯片送过来的数据进行处理,进行判断和显示。 数码管显示程序:向数码的显示送数,控制系统的显示部分。 温度处理程序:对采集到的温度和设置的上、下限进行比较,做出判断,向 继电器输出。 数据存储程序:对键盘的设置的数据进行存储。 19 图 系统流程图 显示当前温度 判断当前温度值 超过设定 温度上限 红灯亮 设定温度上、下限 是 否 低于设定 温度下限 是 红灯亮 否 20 各个模块子程序设计 温度采集程序 温度采集子程序流程图如下: 图 温度采集子程序流程图 程序代码如下: void dsreset(void) //DS18b20 复位, 初始化函数 { uint i。 ds=0。 i=103。 //延时最短 480us 21 while(i0) i。 ds=1。 //等待 1660us,收到低电平一个约 60240us 则复位成功 i=4。 while(i0) i。 } bit tempreadbit(void) //读 1 位数据函数 { uint i。 bit dat。 ds=0。 i++。 ds=1。 i++。 i++。 //i++起到延时作用 dat=ds。 i=8。 while(i0)i。基于51单片机温度报警器的设计
相关推荐
液晶显示屏看到相关的开关信息,为使用者提供准确的信息。 国内外的研究现状及发展趋势 截止目前为止 , 基于 51 单片机电子密码锁 已经 开始投入使用,但是,由于使用 基于 51 单片机电子密码锁 的技术尚且不够成熟,相应的加工成本也较高,因此, 基于 51 单片机电子密码锁 还没有全面的普及到我国的所有区域。 西南科技 大学 高等教育 自学考试毕业 论文 2 第 2 章 设计 整体框架
I/O 口, P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,
跳沿时,所有内部寄存器清零;下跳沿时,开始进行 A/D 转换;在转换期间, ST 应保持低电平。 EOC 为转换结束信号。 当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。 OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。 OE= 1,输出转换得到的数据; OE= 0,输出数据线呈高阻状态。 D7- D0 为数字量输出线。 CLK 为时钟输入信号线
登录按钮事件处理 private void btnLogin_Click(object sender, EventArgs e) { bool error = false。 // 标志在执行数据库操作的过程中是否出错 // 如果输入验证成功,就验证身份,并转到相应的窗体 if (ValidateInput()) { int num = 0。 // 数据库操作结果 try { // 查询用的
们的问题 [7]。 C是一种安全的、稳定的、简单的、优雅的 语言。 它在继承 C 和 C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。 C综合了 VB 简单的可视化操作和 C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为 .NET 开发的首选语言。 并且 C成为 ECMA 与 ISO 标准规范。 C看似基于
ils表中写信人和 收信人的用户名,如果发送信件中有与登录用户姓名相符合的信件,则更新信件的标志位,并添加到登录用户的收件箱中,用户可以直接查阅,如果邮件包含附件或图片就从数据库中读取附件或图片的信息,并在页面上显示出来。 如果没有相符合的,则该用户没有新邮件。 (流程图 7 所示) Y数据库查询判断是否与登录用户相符放入收件箱N用 户登 录结 束 图 7 收信模块功能图 删除邮件 功能