题 目 基于单片机的电话报警装置
专 业 电气自动化技术 班 级 学生姓名 指导教师 答辩日期
摘 要
本系统设计一个基于51单片机的电话防盗报警装置,使用ATMEL公司的8位单片机AT89S51作为中央控制器,结合红外传感技术、芯片CD4066、74LS154、74LS04,HT9200B等,通过单片机对4-16的74LS154译码器输出相应的编码,然后经过74LS04六反相缓冲器对模拟开关相应的控制引脚输出高电平,以达到对电话机输入相应的按键信号,以驱动电话机拔号。或通过双音多频(DTMF)信号发生器HT9200B产生DTMF音频信号拔号。使用传感技术,对不同的范围进行防盗,当盗贼进入到传感监测范围,传感器接收并发出信号,系统响应报警。系统采用拔号装置与电话线连接自动报警,操作简单,快捷,且系统的精度和稳定性高。
关键字:单片机 红外传感技术 STC89S51RC 74LS04
目 录
第一章 绪论............................................................ 1 第二章 防盗器简介..................................................... 2
2.1自动报警装置特点 ........................................................ 2 2.2 系统结构 ................................................................. 2
第三章 硬件系统 ....................................................... 3
3.1 主控制器方案设计与论证 ............................................... 3 3.2报警传感器 ................................................................ 3 3.2.1 红外对管传感器 ...................................................... 3 3.2.2 红外热释电传感器 .................................................... 4 3.3 传感器电路 ............................................................... 6 3.4 电话拨号.................................................................. 7 3.5 显示器 ................................................................... 11 3.6键盘接口电路 ............................................................. 11
第四章 软件设计 .............................................................. 14
4.1主程序流程图 .............................................................. 14 4.2 号码设置子程序流程图 ..................................................... 14 4.3 存储器分配 ................................................................ 16 4.4 系统主程序 ................................................................ 16 4.5内部
EEPROM的应该程序 .................................................... 17
4.6 读取内部数据程序 ...................................................... 17
4.7 写入数据程序 ........................................................... 17 4.8 扇区擦除子程序......................................................... 18 4.9 行列式键盘输入程序 ................................................... 18 4.10 显示程序 ................................................................ 19 结论 ......................................................................................................................................................................................... 21 参考文献 ................................................................................................................................................................................ 22 致谢 ......................................................................................................................................................................................... 23
第一章 绪论
随着社会的发展,人的活动、居住区域越来越大,偷窃、火灾、煤气中毒等安全问题越来越受到人们关注。家庭报警系统已经成为家庭需求,办公楼以及商店等也把安全问题作为重点来抓。目前,市场上虽已售有多种自动拨号报警器,但质量参差不齐,高端产品价格非常昂贵,而低端产品质量和性能很难得到保证。本系统研究的方向是智能化、可扩展、性价比高的智能语音报警系统。本系统立足于人性化的交互管理,个性化的保密设置,以及应用语音频谱分析技术,具有极高的安全性能。
第 1 页 共 23页
基于单片机的电话报警系统
第二章 防盗器简介
2.1自动报警装置特点
本系统是一个基于公共电话网络,以微处理器为控制器的红外报警系统,可分为核心控制台和报警传感外设两部分。控制台的核心部分由一片51单片机组成。使用ATMEL公司的8位单片机AT89S51作为中央控制器,结合红外传感技术、芯片CD4066、74LS154、74LS04,HT9200B等,通过单片机对4-16的74LS154译码器输出相应的编码,然后经过74LS04六反相缓冲器对模拟开关相应的控制引脚输出高电平,以达到对电话机输入相应的按键信号,以驱动电话机拔号。或通过双音多频(DTMF)信号发生器HT9200B产生DTMF音频信号拔号。报警传感外设可以应用不同的传感器,比如气体传感器、红外传感器、磁感应装置、烟雾传感器、温度传感器、热敏传感器等,以适应不同的用户需求。公共电话网络是整个系统的通讯平台,保证了监控系统与用户间的实时信息交互。本系统实时性好、误报率低、抗干扰能力强,基本达到了产品化的要求。因此应用范围非常广泛,具有广阔的市场开发前景。 2.2 系统结构
本系统采用51单片机作为控制核心,可以扩展各种报警传感器。如本系统采用了红外传感器,当有物体出现红外对管的检测范围内,系统响应警报,本系统预留接口,可连接例如超声波、激光等传感器达到各种报警需要。
单片机内预先存储需报警的电话号码,拨号装置可由电话机改装而来,或使用专用拔号芯片,当响应警报时,系统自动调用拨号程序,通过电话线向外拨号。系统结构图如图1.1。
报警传感器 模块 CPU LCD显示 模块 键盘输入 模块 EEPROM 电话拨号 模块 图2.1 自动报警装置系统结构图
第 2 页 共 23页
第三章 硬件系统
3.1 主控制器方案设计与论证
方案1:采用通用的51单片机(如AT89S51或STC89C51RC)作为主控制器,完成数据处理,号码的储存、拔号及液晶显示器的显示控制等。
方案2:采用凌阳公司的16位单片机SPCE061A作为主控制器。该芯片内集成有并行的I/O端口,模数转换ADC ,数模转换DAC ,定时器/ 计数器,RAM ,FLASH 等器件。
比较:如采用凌阳公司的16位单片机SPCE061A作为主控制器,由于SPCE061A内置有2K的SRAM和32K的内存FLASH,实现本系统的数据处理及液晶显示所需的资源虽然都能满足,但是模数转换ADC ,数模转换DAC ,定时器/ 计数器,RAM ,FLASH 等器件在本系统中都用不上。
采用通用51单片机,51系列单片机是目前使用时间最长、最为成熟的单片机系列,由于51单片机内部有256B的RAM和4K的ROM,考虑到实现本系统不需要大量的数据处理及液晶显示也不需占用大量的ROM资源等,用51单片机就能满足本系统需要的RAM和ROM,其I/O资源相当丰富,ROM用于程序存放及存储预存号码,另外可扩展EEPROM,或者使用内部有EEPROM的STC89C51,为精简硬件系统带来了极大的方便,一片廉价的89S51单片机就可以完成整个系统的主要功能,不仅体积小而且可靠性高。
基于此,本系统采用STC89S51RC单片机作为主控制器。
3.2报警传感器
3.2.1 红外对管传感器
红外传感器可采用红外发射-接收对管,这类对管体积小,隐蔽性好,工作原理主要是由发射管发出红外线信号,当有物体遮挡,接收管的光敏二极管(或光敏基极三极管)接收到反射信号,从而改变物理参数。具体应用电路如图2.1,电路中,调整发射管的限流电阻(200R),可以调整灵敏度,但是注意不能让电流超过50mA,以免烧毁发射管。
图3.1红外对管原理图
第 3 页 共 23页
基于单片机的电话报警系统
红外对管的优缺点
优点:体积小,器件功耗小,安装简单,接线容易,隐蔽性好,价格低廉。 缺点: 1、容易受较强列光源干扰。2、检测距离较短,较远的物体不易被探头接收。 红外对管的接法灵活,可根据自身设计的电平需求,接成不同形式。为了红外对管可以接收更大范围的信号,输出侧的11K上拉电阻在没有输入信号时使输出端保持高电平,如果电路里已经有信号输入上拉电阻,则可以省略本处的10K电阻。此电阻不能太小阻值,否则信号输入时低电平可能会达不到单片机的低电平要求。 如图:
图3.2红外对管接线图
只要在红外线发射-接收对管的正上方有对红外光有反射作用的物质,图示的输出端口“P3.2”的电平立即从高变成低。
3.2.2 红外热释电传感器
人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。
下图为红外热释电传感器结构图,可采用市面上常见的LHI778。
第 4 页 共 23页
图3.3红外热释电传感
1、这种探头是以探测人体辐射为目标的。所以热释电元件对波长为10UM左右的红外器 辐射必须非常敏感。 2、为了仅仅对人体的红外辐射敏感,在它的辐射照面通常覆盖有特殊的菲泥尔滤光片,使环境的干扰受到明显的控制作用。 3、被动红外探头,其传感器包含两个互相串联或并联的热释电元。而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。 4、一旦人侵入探测区域内,人体红外辐射通过部分镜面聚焦,并被热释电元接收,但是两片热释电元接收到的热量不同,热释电也不同,不能抵消,经信号处理而报警。 5、菲泥尔滤光片根据性能要求不同,具有不同的焦距(感应距离),从而产生不同的监控视场,视场越多,控制越严密。 被动式热释电红外探头的优缺点
优点:本身不发任何类型的辐射,器件功耗很小,隐蔽性好。价格低廉。 缺点: 1、容易受各种热源、光源干扰。2、被动红外穿透力差,人体的红外辐射容易被遮挡,不易被探头接收。3、易受射频辐射的干扰。 4、环境温度和人体温度接近时,探测和灵敏度明显下降,有时造成短时失灵。 抗干扰性能
1、防小动物干扰:探测器安装在推荐地使用高度,对探测范围内地面上地小动物,一般不产生报警。
2、抗电磁干扰:探测器的抗电磁波干扰性能符合GB10408中4.6.1要求,一般手机电磁干扰不会引起误报。
3、抗灯光干扰:探测器在正常灵敏度的范围内,受3米外H4卤素灯透过玻璃照射,不产生报警。
红外线热释电传感器的安装要求
红外线热释电人体传感器只能安装在室内,其误报率与安装的位置和方式有极大的关系.。正确的安装应满足下列条件:
1、红外线热释电传感器应离地面2.0-2.2米。
2、红外线热释电传感器远离空调, 冰箱,火炉等空气温度变化敏感的地方。 3、红外线热释电传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。 4、红外线热释电传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。红外线热释电传感器也不要安装在有强气流活动的地方。
第 5 页 共 23页
基于单片机的电话报警系统
3.3 传感器电路
如下图所示,电路由单调解码器LM567自身产生的振荡信号转化为红外信号,然后形成一个闭环回路,再通过人体靠近使闭环回路的信号发生变化而触发单片机发出报警信号。
LM567的5、6脚形成振荡,振荡频率由R7、C3决定。振荡信号一路从5脚输出经C5耦合到运算放大器A1隔离、缓冲,输出经VT1放大后驱动红外线发射管VD1发射出红外线。VD1、VD2分别为红外线发射、接收对管。当人体靠近红外对管时,VD1发射的红外光经人体反射到VD2上,VD2接收到红外红经C1耦合到运算放大器A2放大,再经C2输入到LM567的3脚。因为3脚输入信号的频率是LM567自身的振荡频率,频率完全相等,所以LM567对输入频率进行比较后8脚输出低电平,将钳位二极管VD3的负端拉低,使单片机的P3.2引脚的电位为被钳制在二极管的管压降(0.7V)左右,单片机将会读到P3.2引脚出现负脉冲,发出报警信号。
人体离开后,VD2红外线消失,LM567的3脚无输入,8脚输出为高电平,VD3的负端因变为高电平而截止,单片机的P3.2经上拉电阻R8而重新输入为高电平。
图3.4传感器电路器
下图与上图原理相似,LM567的5脚输出信号用反相器a放大,当人体靠近时,VD2接收到VD1发射过来的红外信号,经非门b、c两级放大,由C4耦合到LM567的3脚。8脚输出低电平。
人体离开后,VD2红外线消失,LM567的3脚无输入,8脚输出为高电平,VD3的负端因变为高电平而截止,单片机的P3.2经上拉电阻R8而重新输入为高电平。
第 6 页 共 23页
图3.5传感器电路器
基于单片机的电源电压为5V,因LM567的电压范围较宽(4.75-9V),LM324的电压范围更宽,可达3.0-32V,为了避免输出信号过高,接口电路采用钳位二极管电路,如下图所示,当输入高电平时,二极管VD3反向截止,由5V电源经电阻R11输入高电平,避免因为电压过高而损坏单片机,当输入低电平时,二极管导通,即可把单片机引脚的电位拉低。
这两种电路原理接近,电路设计新颖,利用解码器自身产生振荡信号,使振荡信号形成闭环回路,再重新输入到音调解码器LM567。这样,不仅简化了电路,而且又免去了较麻烦的调试步骤。因为音调解码器通过比较输出与输入信号的频率,所以可以很好地避免了日光与灯光以及电磁波等辐射的干扰,准确性很高。
图3.6 接口电路
3.4电话拨号:
通过单片机控制采用双音多频(DTMF)发生器(如HT8200B)产生音频拔号信号,通
第 7 页 共 23页
基于单片机的电话报警系统
过三极管8550和音频变压器耦合到电话线上,此法拔号方便快捷,因为直接采用拔号芯片而不需改将电话机,故硬件电路简单,稳定性相对方案一更高,专用性更高,成本更低,更便于批量生产,但亦因其拔号及专用性高的特点,故此产品只能用作报警之用,不能当一般的家用电话使用,因为此芯片只有拔号功能,并不能用作接听及通话等用途,不过可以与家用电话共用同一条电话线,不必专门申请一条电话线。 芯片简介
HT9200A/B双音多频信号发生器被可由指令控制产生16种双音多频信号和8种单频信号,并由DTMF引脚输出。HT9200A提供一种串行模式,而HT9200B可能选择为串行或并行模式,该芯片可以有多种应用,如安全系统、家庭自动化、通过电话线进行远程控制、通讯系统等。
图3.15拨号芯片
串行模式下(HT9200A/HT9200B) 在串行模式下,HTA9200A/B通过DATA引脚输入的一个5bit的代码来控制不同的DTMF信号输出,这5位代码按照D0到D4的顺序来传,并且数据要在CLK引脚下降沿到来之前放到输出锁存中。因不本设计采用的是并行模式,固串行模式不再详述。 并行模式下(只适用于HT9200B)
HT9200B除了能用于串行模式,还能用于并行模式,当s/p引脚为高电平时,HT9200B工作在并行模式。在并行模式下,HT9200B通过D0~D3引脚输入的代码来控制不同的DTMF信号输出。HT9200B是在CE信号由高电平变为低电平时接收数据的。在CE下降沿和DTMF产生信号输出之间会有一个延时(大约为6ms)
控制代码与频率输出对应关系(并行模式):
图3.16拨号时序图
第 8 页 共 23页
应用范例如下 串行模式:
图3.17代码图
并行模式:
图3.18串行接线图
第 9 页 共 23页
基于单片机的电话报警系统
3.5 显示器
图3.19串并行接线图
为了让用户更加清楚程序运行状态,本系统加入了LCD液晶显示器,LCD的种类繁多,有能用的,也有专用的,基于本系统所以显示的内容不多,故选用能用显示器1602
如图所示,1602LCD的用法简单,从左边起是三个引脚分别是电源地、电源正极、对比度调节,接着三个的控制端,右边八个是数据输入引脚。若数据端接在单片机的P0口,由于P0口输出驱动电路为开漏电路,所以要外接上拉电阻,才有高电平输出,若接到P1~P3口,由于其输出驱动电路内部已有上拉电阻,所以无需外接上拉电阻。
图3.20显示器接线图
3.6 键盘接口电路
键盘是单片机系统中最常用的人机对话输入设备,用户通过键盘向单片机输入数据或指令。键盘控制程序需完成的任务有:监测是否有键按下,有键按下时,在无硬件去抖动电路时,应用软件延时方法消除按键抖动影响;当有多个按键同时按下时,只处理一个按键,不管一次按键持续多长时间,仅执行一次按键功能程序。
第 10 页 共 23页
行列式键盘的结构及工作原理:
图3.21行列式键盘电路图
本设计中用到的键盘是与P2口连接的,在上图中,键盘是与P1口连接的,两者原理上是一样的,现在就以P1口的接口电路加以说明。P1口的8位P1.0~P1.7为键盘口线,组成4行4列共16个按键的行列式键盘矩阵,其中行线P1.0~P1.3为键盘扫描输出线,列线P1.4~P1.7为键盘扫描输入线,通过4个上拉电阻接到电源。在行列线的交叉点上为按键,行线和列线分别接到按键开关的两端。
当键盘上没有键闭合时,行线和列线之间是断开的,所有列线输入全部为高点平。当键盘上某个按键按下时,则对应的行线和列线短接,行线输出即为列线输入。当键盘初始化时所有行线输出低电平,则通过读取的列线值状态是否全为1,即可判断有无键按下。但究竟是哪个键按下的,此时并判断不出来,还必须通过键盘扫描才能判断。在键盘扫描时,先让第一行P1.0输出低电平0,其余行(即P1.1行)输出高电平1,检查各列(P1.4~P1.7列)的输入状态值,如某列的输入电平为0,则第一行线和对应列线相交的键按下,否则可判断在P1.0行的键没有被按下。如P1.0行无键按下,则继续扫描下一行(P1.1行),让P1.1行输出低电平0,其余行(即P1.0行)输出高电平1,同样检查各列(P1.4~P1.7列)的输入状态值,如某列的输入电平为0,则第二行和对应列线相交的键按下,否则P1.1行无键按下。三四行亦如此,当四行均扫描完,仍未检查到列线输入值有0的情况,则表示此次并无键按下。这种工作方式称为键盘扫描。 行列式键盘控制程序需完成的任务
键盘的工作方式有循环扫描方式和中断扫描方式两种。在CPU完成其他任务的空余时间,调用键盘子程序,来响应按键的输入。在执行按键功能程序时,CPU不再响应按键输入要求。键盘扫描子程序一般完成如下任务。 判断键盘有无按键按下
其方法是在键盘输出线(行线P1.0和P1.3输出全为0,读取键盘输入(列线P1.4~P1.7)的状态,若输入线的状态全为1,则无键按下;若不全为1,则有键按下。 按键去抖动处理
在有键按下时,调用一延时时间为10ms左右的延时子程序,以消除按键抖动部分的影
第 11 页 共 23页
基于单片机的电话报警系统
响,再次读取键盘输入线的状态,判断是否有键按下,如果判断仍为有键按下,则认为有一确定的键按下,否则认为是干扰引起的误读键。 键盘扫描
在确认有键按下时,依次扫描键盘各条输出线。即先让第一条输出线输出0,然后读取各条输入线的状态,如不全为1则表明是该条输出线所接按键中的某一按键被按下,否则不是该条输出线所接按键按下的。如扫描第一条输出线所接按键无键按下,则继续扫描下一条输出线同样读取各条输入县的状态,判断是否为该条输出线所接按键按下的。如所有输出线均扫描完,还没检查到有按下键,则表明是由于干扰引起的误读键操作。 计算按键值
当有多个键同时按下时,按程序确定的顺序逻辑只处理第一个按键。本论文中的顺序逻辑为:P1.0为第一行,P1.1为第二行,1.2第三行,P1.3第四行;P1.7第一列,P1.6第二列,P1.5第三列,P1.4第四列;即上面为第一行,依次为第二行、第三行,右边为第四行。,左边为第一列,依次为第二列、第三列,右边为第四列。即有多个键同时按下时,按行列序号的顺序处理最有限的一个按键。各按键的键值为:第一行从左边开始为0、1、2、3,第二行从左边开始为4、5、6、7,各按键键值与其对应的功能如下图所示。第一行的起始按键的键值为FFH,第二行的起始按键的键值为3,各按键的键值为起始键值加上对应的列号即为该键的键值。
第 12 页 共 23页
第四章 软件设计
4.1主程序流程图
开始 初始化 读取号码 显示欢迎词 号码设置 子程序
Y 号码设置 N 号码显示 子程序
Y 号码显示 N 拔号 子程序
Y N 报警触发 图4.1主程序流程图
4.2 号码设置子程序流程图:
第 13 页 共 23页
基于单片机的电话报警系统
按键释放 号码个数清零 有键按下 Y 按键释放 Y N N Y 按键为 “退出”键 返回 N Y 按键为 “确定”键 号码及个数写入EEPROM N 号码写入RAM RAM地址加1 号码个数加1 返回 显示输入的号码
图4.1号码设置子程序员
第 14 页 共 23页
4.3 存储器分配
00H为拔号用的号码个数
01H-0FH为拔号用的号码存放区域 10H为修改号码个数
11H-1FH为修改号码存放区域 R0为号码缓存区
R1为地址低字节缓存区 R2为号码个数缓存区
4.4 系统主程序
st1602: ; RS EQU P3.4 RW EQU P3.5 E EQU P3.6 ORG 0000H AJMP START ORG 0033H
START:MOV SP,#60H MAIN:LCALL DELAY MOV P1,#01H LCALL ENABLE MOV P1,#38H LCALL ENABLE MOV P1,#0FH LCALL ENABLE MOV P1,#06H LCALL ENABLE MOV P1,#80H LCALL ENABLE
MOV DPTR,#TABLE1 LCALL DISP MOV P1,#0C0H LCALL ENABLE
MOV DPTR,#TABLE2 LCALL DISP AJMP MAIN
ENABLE:CLR RS CLR RW CLR E
LCALL DELAY SETB E RET
DISP:MOV R1,#16
第 15 页 共 23页
基于单片机的电话报警系统
LOOP:MOV A,#00H MOVC A,@A+DPTR LCALL DISP1 INC DPTR
DJNZ R1,LOOP RET
DISP1:MOV P1,A SETB RS CLR RW CLR E
LCALL DELAY SETB E RET
DELAY:MOV R7,#255 D1:MOV R6,#255 D2:DJNZ R6,D2 DJNZ R7,D1 RET
TABLE1: DB \"WELCOME\" TABLE2: DB\"5223137\" END
Lcall write1 ;读键盘 READ_KEY:
MOV P2,#0BFH MOV A,P2
CJNE A,#0B7H,RK1 ;号码显示? LCAll PRINT_NUM RK1:CJNE A,#0BBH,RK2 ;号码设置? LCAll SET_NUM
RK2:JB P3.0, READ_KEY;报警触发? LCALL BAOJING_BOHAO
SJMP READ_KEY ;返回到读键盘
4.5内部EEPROM的应该程序
EEPROM寄存器地址声明: ISP_DATA EQU 0E2H ISP_ADDRH EQU 0E3H ISP_ADDRL EQU 0E4H ISP_CMD EQU 0E5H ISP_TRIG EQU 0E6H ISP_CONTR EQU 0E7H
;定义ISP/IAP命令及等待时间 ISP_IAP_BYTE_READ EQU 1H
;字节读
第 16 页 共 23页
ISP_IAP_BYTE_PROGRAM EQU 2H ISP_IAP_SECTOR_ERASE EQU 3H WAIT_TIME EQU 0H
;字节编程,前提是该字节为空,0FFH ;扇区擦除,要某字节为空,要擦一扇区
4.6 读取内部数据程序
BYTE_READ:;字节读
MOV ISP_ADDRH,#20H ;送地址高字节 MOV ISP_ADDRL,R0 ;送地址低字节 CLR EA ;关中断 MOV ISP_CONTR,#WAIT_TIME ORL ISP_CONTR,#10000000B
MOV ISP_CMD,#ISP_IAP_BYTE_READ MOV ISP_TRIG,#46H MOV ISP_TRIG,#0B9H NOP
MOV A,ISP_DATA ;将读出的数据送往ACC ;以下语句可不用,只是出于安全考虑而已 MOV ISP_CONTR,#00H MOV ISP_CMD,#00H MOV ISP_TRIG,#00H MOV ISP_ADDRH,#00H MOV ISP_ADDRL,#00H SETB EA RET
4.7 写入数据程序
BYTE_WRITE: ;字节写
MOV ISP_DATA,A ;将ACC的数据送到 ISP_DATA MOV ISP_ADDRH,#20H ;送地址高字节 MOV ISP_ADDRL,R0 ;送地址低字节 CLR EA ;关中断 MOV ISP_CONTR,#WAIT_TIME ORL ISP_CONTR,#10000000B
MOV ISP_CMD,#ISP_IAP_BYTE_PROGRAM MOV ISP_TRIG,#46H MOV ISP_TRIG,#0B9H NOP
;以下语句可不用,只是出于安全考虑而已 MOV ISP_CONTR,#00000000B MOV ISP_CMD,#00000000B MOV ISP_TRIG,#00000000B MOV ISP_ADDRH,#00H MOV ISP_ADDRL,#00H SETB EA
第 17 页 共 23页
基于单片机的电话报警系统
RET
4.8 扇区擦除子程序
因STC单片机内部的EEPROM无法一个字节擦除,只能一个扇区擦除,因此要调用扇区擦除子程序:
ALL_REMOVE: ;扇区擦除
MOV ISP_DATA,A ;将ACC的数据送到 ISP_DATA MOV ISP_ADDRH,#20H ;送地址高字节
MOV ISP_ADDRL,#00H ;送地址低字节,扇区擦除无需求首地址 CLR EA ;关中断 MOV ISP_CONTR,#WAIT_TIME ORL ISP_CONTR,#10000000B
MOV ISP_CMD,#ISP_IAP_SECTOR_ERASE MOV ISP_TRIG,#46H MOV ISP_TRIG,#0B9H NOP
;以下语句可不用,只是出于安全考虑而已 MOV ISP_CONTR,#00000000B MOV ISP_CMD,#00000000B MOV ISP_TRIG,#00000000B MOV ISP_ADDRH,#00H MOV ISP_ADDRL,#00H SETB EA RET
4.9 行列式键盘输入程序
KEY:MOV P2,#0FH MOV A,P2 ANL A,#0FH
CJNE A,#0FH,KEY1 SJMP KEY
KEY1:MOV P1,#0FFH LCALL DEL12 MOV A,#0EFH KEY2:MOV R2,A MOV P2,A MOV A,P2 ANL A,#0FH
CJNE A,#0FH,KEY3 MOV A,R2 SETB C RLC A JC KEY2 SJMP KEY
第 18 页 共 23页
KEY3:MOV B,#0FBH KEY4:RRC A INC B JC KEY4 MOV A,R2 SWAP A KEY5:RRC A INC B INC B INC B INC B JC KEY5 KEY6:MOV A,P2 ANL A,#0FH
CJNE A,#0FH,KEY6 LJMP KEY
4.10 显示程序
1602LCD的控制程序范例如下: RS EQU P3.4 RW EQU P3.5 E EQU P3.6 ORG 0000H AJMP START ORG 0033H
START:MOV SP,#60H MAIN:LCALL DELAY MOV P1,#01H LCALL ENABLE MOV P1,#38H LCALL ENABLE MOV P1,#0FH LCALL ENABLE MOV P1,#06H LCALL ENABLE MOV P1,#80H LCALL ENABLE
MOV DPTR,#TABLE1 LCALL DISP MOV P1,#0C0H LCALL ENABLE
MOV DPTR,#TABLE2
第 19 页 共 23页
基于单片机的电话报警系统
LCALL DISP AJMP MAIN
ENABLE:CLR RS CLR RW CLR E
LCALL DELAY SETB E RET
DISP:MOV R1,#16 LOOP:MOV A,#00H MOVC A,@A+DPTR LCALL DISP1 INC DPTR
DJNZ R1,LOOP RET
DISP1:MOV P1,A SETB RS CLR RW CLR E
LCALL DELAY SETB E RET
DELAY:MOV R7,#255 D1:MOV R6,#255 D2:DJNZ R6,D2 DJNZ R7,D1 RET
TABLE1: DB \"WELCOME\" TABLE2: DB\"5223137\" CALL write1 RET
第 20 页 共 23页
结论
本设计整个系统由一片STC89S51RC单片机控制,内部含2KEEPRM,使用方便,加设1602LCD,使系统更加人性化,便于用户修改号码红外触发电路抗一无干扰能力强,性能稳定,本系统除了用红外触发以外,还能根据用户需要扩展触发电路,如如气体传感器、红外传感器、磁感应装置、烟雾传感器、温度传感器、热敏传感器等,以适应不同的用户需求,使其用途可延伸到安全监控以及其它领域。
第 21 页 共 23页
基于单片机的电话报警系统
参考文献
[1]李秀忠主编,单片机应用技术(汇编语言),北京:中国劳动社会保障出版社,2006年7月第一版 [2]卿太全,李萧,郭明琼,常用数字集成电路原理与应用,北京:人民邮电出版社,2006.1月第一版
[3]付植桐主编,尹常永副主编,电子技术,北京:高等教育出版社,2004年6用第二版 [4]宏晶科技(深圳),STC89S51RC/RD+系列单片机器件手册 [5]邱关源主编,电路,北京:高等教育出版社,1999年6月第4版
[6]张义和、陈敌北编著,刘丹改编,例说8051,人民邮电出版社,2006年1月1号第一版
第 22 页 共 23页
致谢
本论文是在我的导师老师的亲切关怀和悉心指导下完成的。他严肃的教学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到论文的最终完成,刘志远老师都始终给予我细心的指导和不懈的支持。在此谨向所有科任老师尤其是我的指导老师刘志远老师致以诚挚的谢意和崇高的敬意!
在此,我还要感谢在一起愉快的度过大学生活的同学们,正是由于他们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本论文的顺利完成。
第 23 页 共 23页
因篇幅问题不能全部显示,请点此查看更多更全内容