基于at89s52的温度报警系统内容摘要:
芯片 24C02 特性: 与 400KHz I2C 总线兼容 到 伏工作电压范围 低功耗 CMOS 技术 写保护功能当 WP 为高电平时进入写保护状态 页写缓冲器 自定时擦 写周期 1,000,000 编程 /擦除周期 可保存数据 100 年 8 脚 DIP SOIC 或 TSSOP 封装 温度范围:商业级工业级和汽车级 I2C 总线接口进行操作有一个专门的写保护功能 管脚配置: 主控电路 主控电路由单片机最小系统组成,包括时钟电路、复位电路和主芯片 AT89S52,另外,为了能储存温度上下限,还加入存储芯片 24C02,存储容量为 256 字节。 24C02 是串行 E2PROM,它是基于 I2CBUS 的存储器件,遵循二线制协议,由于其具有体积小、引脚少、功 耗低、工作电压范围宽、数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。 24C02与单片机的接口非常简单,占用 I/O端口少,芯片扩展方便,读写简单。 如图 33所示, A0、 A A2 为器件地址线,将这些引脚都接地时,器件地址为 0; WP 为写保护引脚,将此引脚接地,允许对器件进行读 /写操作; SCL、 SDA为二线串行接口,符合 I2C总线协议。 单片机的最小系统如下图 33所示: P0是显示器的数据总线。 P1为 4 4键盘矩阵接口。 ~ ,~。 数据采集部分 温度作为一种最基本的环境条件参数,与工业、农业、养殖业的生产以及医学乃至人们的日常生活都是紧密相关的,因此,对于温度的测量方法以及测量装置的研究就凸现的非常重要,由单片机和温度传感器所构成的测温系统可广泛应用于很多领域。 本设计通过对单总线数字集成温度传感器 DS18B20 的特点,工作原理和使用方法的讨论,结合对单片机AT89S52的编程实现温度的采集。 大多单片机接口输入的信号是数字信号,或带有 A/D 转换的高端单片机也可 输入模拟信号。 由单片机获取非电信号的温度信息,必须通过温度传感器。 传统的温度测量多以热敏电阻作为温度传感器。 但是,热敏电阻可靠性较差,测量温度精度低,而且还需 A/D 转换成数字信号才能由单片机进行处理。 因此,使用数字温度传感器可简化硬件设计,方便单片机读取数据,节约成本。 设计单片机数字温度计需要考虑一下 3个方面: 温度传感器芯片的选择; 单片机和温度传感器的接口电路设计; 控制温度传感器实现温度信息采集以及数据传输的软件 DS18B20是美国达拉斯( Dallas)公司的单数字温度传感器芯片,与传统的热 敏电阻不同, DS18B20可直接将被测信号转换为串行数字信号,供单片机处理,通过对 DS18B20编程可以实现 9~ 12位的温度读数,并可分别在 750ms内完成 9位和 12位的数字量。 其测量范围 55℃~ +125℃,最大分辨率为 ℃,在 10℃~ +85℃范围内其测温准确度为177。 ℃。 DS18B20 具有体积小,功耗低,抗干扰能力强的,易于微处理器连接等特点,而且他无需任何外围硬件即可方便的进行温度测量,与单片机交换信息只需一根 I/O口线,其读写及温度转换的功率也可来源于数据总线,而无需额 外电源。 另外,每片 DS18B20都设有唯一的产品序列号,存放在他的内部 ROM中,单片机通过简单的协议就能识别这个序列号。 因此,多个 DS18B20 可以挂接于同一条单线总线上,特别适合构成多点温度测控系统。 DS18B20的主要特性 : 1适应电压范围更宽,电压范围: ~ ,在寄生电源方式下可由数据线供电 2独特的单线接口方式, DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20的双向通讯 3 DS18B20支持多点组网功能,多个 DS18B20可以并联在唯一的三线 上,实现组网多点测温 4 DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 5 温范围- 55℃~+ 125℃,在 10~ +85℃时精度为177。 ℃ 6 可编程的分辨率为 9~ 12 位,对应的可分辨温度分别为 ℃、 ℃、 ℃和℃,可实现高精度测温 7 在 9 位分辨率时最多在 , 12 位分辨率时最多在 750ms内把温度值转换为数字,速度更快 8 测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错能力 9 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 DS18B20的外形和内部结构: DS18B20内部结构主要由四部分组成: 64位光刻 ROM 、温度传感器、非挥发的温度报警触发器 TH和 TL、配置寄存器。 DS18B20引脚定义: (1)DQ为数字信号输入 /输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 键盘电路的设计 键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人干预单片机的主要手段。 下面介绍键盘的工作原理,键盘按键的识别过程及识别方法,键盘与单片机的接口技术。 1 键盘输入的特点 键盘实质上是一组按键开关的集合。 通常,键盘开关利用了机械触点的合、断作用。 一个电压信号通过键盘开关机械触点的断开、闭合,其行线电压输出波形如图 35所示, t1和 t3分别为间的闭合和断开过程中的抖动期,抖动时间长短和开关的机械特性有关,一般为 5~ 10ms, t2为稳定的闭合期,其时间由按 键动作所 确定,一般为十分之几秒, t0、 t4为断开期。 2按键的确认 键盘的闭合与否,反映在行线输出电压上就是呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。 为了确保 CPU对一次按键动作只确认一次按键有效,必须消除抖动期 t1和 t3的影响。 3如何消除按键的抖动 常常采用软件来消除按键抖动,基本思想是:在第一次检测有键按下时,该键所对应的行线为低电平,执行一段延时 10ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认该行确实有 键按下。 当按键松开时,行线的低电平变为高电平,执行一段延时 10ms的子程序后,检测该行线为高电平,说明按键确实已经松开,采取以上措施,躲开了两个抖动期 t1和 t3,从而消除了按键抖动的影响。 本设计使用了 4 4 矩阵式(也称行列式)键盘,如图 36)它由行线和列线组成,按键位于行、列的交叉点上。 与独立键盘相比,矩阵式键盘要节省很多的 I/O口线。 按键设置在行、列线交点上,行、列线分别连接到按键的两端。 行、列线通过上拉电阻接到 +5V上。 无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态由与此行线相连 的列线的电平决定。 这一点是识别矩阵式键盘按键是否按下的关键所在。 所以,必须将行、列线信号配合起来做适当的处理,才能确定闭合键的位置。 在本系统中用到了点阵字符型 LCD 显示器。 液晶显示模块必须有相应的 LCD 控制器、驱动器,来对 LCD 显示器进行扫描、驱动,以及一定空间的 RAM 和 ROM 来存储写入的命令和显示字符的点阵。 现在人们已将 LCD控制器、驱动器、 RAM、 ROM和 LCD显示器用 PCB连接到一起,成为液晶显示模块 LCM( LCD Module)。 使用时只要向 LCM送入相应的指令和数据就可 实现所需要的显示内容,。基于at89s52的温度报警系统
相关推荐
拉高,单片机执行外部程序时,应设置 ALE禁止位无效。 PSEN 程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN信号。 EA/VPP 外部访问允许,欲使 CPU仅访问外部程序存储器(地址 0000HFFFFH)
17 中 2 RE 587 64684 5 SO 1661 65235 2 RE 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 6 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65283 基于 AT98C51 的简易电子琴设计 9 附录二 程序 include define uchar unsigned char
ort2 被用来输出地址的高字节。 ~ :第 10~ 17 脚, 8 位的输入 /输出端口。 称为 Port3,简称 P3, Port3是具有内部上拉电阻器(约 30KΩ)的双向输入 /输出端口,可以驱动 4 个LSTTL 负载,每只引脚均可当作输入脚或输出脚用,若某引脚想要做输入脚用,则须将 1 写入该引脚。 Port3 的引脚可以具有如表的特殊功能。 表 ~ 引脚名称 特殊功能
,所以在显示板电路板上对这 3 个信号进行整形然后再通过光偶 ,以防止数据的错误显示或不显示的现象发生。 如图 6 所 示。 图 MAX7219 接口电路 2. 2. 4 时钟部分 计价器在出租车空车行驶时需要显示实时时钟 ,因为它的时钟是作为白天/晚上单价自动转换的一个基准 ,而且计价器的时钟显示能为司机和乘客提供方便 , 所以选择一个好的时钟芯片对计价器很重要。 DS1302 是美国
合于长距离传输。 其缺点是无法输出轴转动的绝对位置信息。 绝对编码器是直接输出数字量的传感器,在它的圆形码盘上沿径向有若干同心码道,每条道上由透光和不透光的扇形区相间组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数,在码盘的一侧是光源,另一侧对应每一码道有一光敏元件;当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制 数。
成本将是一个很庞大的数字。 因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。 动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如 16 行)的同名列共用一套驱动器。 具体就 16x 16 的点阵来说,把所有同 1行的发光管的阳极连在一起,把所有同 1 列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存