- 相关推荐
单片机技术下燃气报警器总体设计研究论文
摘 要: 燃气报警器用来检测燃气的泄露浓度值, 超过一定浓度就会产生报警。本文详细介绍了基于AT89C52单片机的存储系统以及燃气报警器如何具体分配单片机的程序存储和数据存储。通过工程设计的过程理解单片机的存储原理, 使理论与实践有机结合, 为同类型的单片机应用系统开发提供方法和实践经验。
关键词:燃气报警; 单片机; 存储器分配;
0、引言
随着计算机技术的发展, 人们对计算机的要求越来越高。在计算机的大家族中, 单片微型计算机发展十分迅速, 渗透到电子设计领域的各个方面, 进入智能控制领域, 因此开创了控制新局面。
在工业控制领域, 人们对计算机提出了控制要求。首先, 能够面向控制对象, 便于进行控制变量的输入/输出, 其次, 体积尽量小, 能够嵌入控制系统内部, 能适应工业现场较为恶劣的工作环境, 并且具有丰富的用于控制的指令系统和I/O接口等。单片机系统能很好地满足这些控制要求, 成为工业测控系统中最为理想的控制系统[1]。
燃气报警器的气体探测器准确性高, 遇到燃气泄漏到一定浓度时, 可以显示燃气泄漏量, 自动切断燃气阀, 发出声光报警, 启动排风扇, 这样可以有效防止因燃气过量泄露造成人员和财产的伤害。当燃气泄漏时, 能够完成以上功能, 燃气报警器通常会有以下功能模块:LED显示模块、声光报警模块、排气扇模块、键盘模块、通信模块等。
1、 燃气报警器的功能
燃气报警器根据传感器探头采集数据, 主要有两方面功能。
(1) 燃气泄露警情的处理。安装在楼宇公寓各防区的燃气泄漏感应器 (探头) , 在有燃气泄漏发生时产生输出脉冲, 该脉冲经过波形整形为矩形波之后经过燃气控制器判断处理, 显示泄漏燃气量, 同时伴有声光报警, 报警器自动关闭燃气阀, 启动排风扇, 同时发送信息给用户或中央监控室。
(2) 燃气表耗用量的读取。安装在楼宇公寓中的燃气表除了用于常规的显示功能之外, 每个表都配备了脉冲输出功能。随着用户对燃气的消费, 按照单位计量比例输出相应的脉冲信号。脉冲信号经过波形整形处理为矩形波后作为计数脉冲, 燃气报警器通过实时采样计数脉冲获得表的消耗量。
2、 燃气报警器总体设计
根据应用系统所要实现的功能, 规划出由硬件和软件实现的功能部分。根据燃气报警器的主要功能, 规划对整体功能的设计。燃气报警器的功能框图如图1所示。
图1 燃气报警器的功能框图Fig.1 Functional block diagram of gas alarm
燃气报警器主要由单片机扩展了两组信号输入:燃气泄漏脉冲采集、燃气消耗量采集;通信接口电路:可以及时发送信息给用户或中控室;键盘:用户可以设置基本功能;LCD显示器:显示泄漏量和消耗量;E2PROM 24C16:掉电保护信息和基本信息的存储等。
(1) 由于燃气表消耗量和燃气泄漏量输出都是脉冲量, 所以燃气控制器直接对燃气表消耗量和燃气 (探头) 泄漏量脉冲输出信号进行采集, 从而避免了在燃气控制器主板上使用A/D转换接口。利用单片机89C52的P1口作为燃气表脉冲和报警脉冲信号的共同输入通道, 燃气表脉冲和燃气泄漏脉冲信号分别通过斯密特触发器波形整形和74LS244缓冲器进入CPU。这里分别用P3.4 (定时器T0的外部输入) 和P3.5 (定时器T1的外部输入) 口线作为分时有效使能端。
(2) 采用虚拟串行总线技术。LCD液晶显示器和8K E2PROM 24C16用单片机I/O口线扩展了串行接口器件, 采用了虚拟串行总线技术。用24C16存放有关初始化信息、燃气表的消耗量和燃气泄漏量以及重要的初始化信息。LCD液晶显示模块, 内置显示RAM和驱动控制器, 通过串行方法与单片机AT89C52相连。
(3) 通过单片机的P0口线串行扩展了简易键盘, 实现人机交互。P0口作为普通的I/O使用时, 输出是漏极开路电路, 故需要外接上拉电阻5~10 KΩ左右才能正常工作。
(4) 通过无线转换完成电平转换与无线通信网络连接。
3、 单片机的存储分配
51系列单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间, 共有4个存储空间:片内程序存储器和片外程序存储器空间, 片内数据存储器和片外数据存储器空间[2]。4个存储空间与其物理地址的对应关系如图2所示。
图2 MSC-51单片机的存储器分配Fig.2 Memory allocation for MSC-51 single-chip computer
AT89C52 (简称89C52) 是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机, 片内含8k bytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器 (RAM) 。
(1) 数据存储器 (RAM) 。数据存储器片内为256个字节, 片外最多可外扩64K字节。
(2) 程序存储器 (Flash) 。程序存储器用来存储程序。89C52片内有8K字节的Flash存储器, 如果片内的程序存储器的容量不够, 片外最多可外扩程序存储器64K字节。
(3) 特殊功能寄存器 (SFR) 。特殊功能寄存器共有21个, 用于CPU对片内各种功能部件进行管理、控制和监视。这些特殊功能寄存器映射在片内RAM区80H-FFH的地址区间内。
程序是给微处理器处理问题的一系列命令, 是由机器码组成的代码串, 设计人员编写的程序就存放在程序存储器中, 俗称只读程序存储器 (ROM) 。相应的数据放到数据存储器中[3]。
4、 燃气报警器数据空间的分配
4.1、 燃气报警器数据存储空间的分配
根据89C52单片机的数据存储空间, 数据区域如果不扩展片外RAM, 则片内RAM能够利用的空间只有:
高128字节的80H~FFH的间接存储空间
低128字节中20H~2FH的位存储区, 30H~7FH字节存储区
根据可以利用的片内RAM, 燃气报警器的存储空间分配如下:
4.1.1、 高128字节间接存储地址分配
高128B数据区和特殊功能寄存器区的地址空间是重叠的, 高128B的直接寻址寄存器被用作特殊功能寄存器区, 只有间接寻址的寄存器能够用来存储数据。在燃气报警器中, 80H—FFH间接存储的数据分配见表1。
表1 80H~0FFH间接存储地址的分配Tab.1 Allocation of indirect storage addresses from 80H to 0FFH
汇编语言定义如下
4.1.2、 20H~2FH位寄存器地址分配
在片内寄存器低128B根据不同的寻址方式又分为00H~FH为工作寄存器区, 20H~2FH为位寻址区, 燃气报警器进行位操作的数据存到20H~2FH位寄存器区, 分配见表2。
表2 20H~2FH位寄存器分配Tab.2 Allocation of 20H~2FH bit registers
汇编语言定义如下:
4.1.3、 30H~7FH通用寄存器地址分配
通用寄存器在燃气报警器中定义见表3。
4.2、 燃气报警器程序存储器的分配
整个程序存储器分为片内和片外两部分, 寻址范围分别为64KB, 燃气报警器只用到了片内程序存储器。程序存储器中除了存储运行程序之外还将常用表格固化到程序存储器中[4]。
4.3、 燃气报警器存储空间的扩展
电可擦除可编程的只读存储器E2PROM 24C16 (ELECTRICALLY ERASABLE PROGRAMMABLE READ-ONLY M EM ORY) 具有如下特点:在线改写数据和自动擦除功能;断电时, 数据不会丢失;输入输出口与TTL兼容;片内编程电压发生器, 可以产生擦除和写入操作时所需的电压;片内控制和定时发生器可控制擦除和写入操作;具有整体编程允许和截止功能, 以增强数据的保护能力;具有二线串行接口, 可以在I2C上做从器件使用[5]。
5、 结束语
燃气报警器数据采集监控系统采用AT89C52设计, 通过项目更好理解燃气报警器存储分配的原理和开发过程。基于单片机设计的燃气报警器, 在面向控制方面, 具有功能完善、稳定可靠、体积小、价格低廉等优点, 被楼宇和住宅等地方采用, 已达到良好的效果。
参考文献:
[1]赵建领, 薛园园. 51单片机开发与应用技术详解[M].北京:电子工业出版社, 2009.
[2]吴险峰.51单片机项目教程 (C语言版) [M].北京:人民邮电出版社, 2016.
[3]王元一, 石永生, 赵金龙.单片机接口技术与应用 (C51编程) [M].北京:清华大学出版社, 2014.
[4]唐继贤.51单片机应用系统开发实例精解 (C语言) [M].上海:上海科学技术出版社, 2012.
[5]李朝青.单片机原理及串行外设接口技术[M].北京:北京航空航天大学出版社, 2008.
【单片机技术下燃气报警器总体设计研究论文】相关文章:
关于城镇燃气用量及供需的平衡研究论文04-30
基于单片机的交流源转换直流源研究的论文04-27
航空燃气涡轮叶片造型技术研究05-03
多媒体技术课题研究论文03-02
紫穗槐的特性及栽培技术的研究论文04-29
训练模拟器总体设计技术及应用04-26
现代教育技术下计算机教学模式研究论文(通用10篇)09-28
电除尘器总体设计优化的研究04-26
石油工程技术钻井技术研究论文04-27