《于基单片机技术电话拨号防盗报警器的设计.doc--大学毕设论文.doc》由会员分享,可在线阅读,更多相关《于基单片机技术电话拨号防盗报警器的设计.doc--大学毕设论文.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 毕业设计毕业综合实践课题名称:基于单片机技术电话拨号防盗报警器的设计系 部: 电子工程系 班 级: 电信09C2班 姓 名: 学 号: 指导教师: 论文/设计/报告原创性声明本人郑重声明:所呈交的论文/设计/报告是本人在导师的指导下进行研究所取得的研究成果。除了论文/设计/报告中特别加以标注引用的内容外,本论文/设计/报告不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 2012 年 3月 15 日 论文/设计/报告版权使用授权书本论文/设计/报告作者完全了解学校有关保障、使用学位论文/设计/报告的规定,同意学校保留并向有关论文/设计/报
2、告管理部门或机构送交论文/设计/报告的复印件和电子版,允许论文/设计/报告被查阅和借阅。本人授权省级优秀论文/设计/报告评选机构将本论文/设计/报告的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文/设计/报告。本论文/设计/报告属于1、保密 ,在_年解密后适用本授权书。2、不保密 。(请在以上相应方框内打“”)作者本人签名: 2012 年 3 月15 日 指导教师签名: 年 月 日 摘要本设计由单片机控制器、键盘输入、数码管显示、触发电路、拨号电路、及电源等6个部分组成,单片机控制器是整个系统的核心,负责控制检测输入/输出显示、模拟摘机、拨号报警、挂机
3、等一系列的程序动作,并采用小引脚,高性能,低价位的AT89C2051。 键盘输入电路负责输入单片机中一系列工作参数及功能设定。发光二极管数码管显示器在整个系统工作过程中充当一个简单的人机界面,用以显示工作状况及输入/输出的数据等。电话拨号防盗报警器的触发电路用磁性开关,简单可靠,报警器采用隐蔽安装,防止小偷发现。拨号及报警电路来完成模拟摘机、拨号、发出报警音、挂机等工作过程,由单片机控制。电源部分负责整个系统供电。设计目标要求实现对盗情的感知,并在一定的时间范围内,向手机或者电话发送报警。对方接通电话后,即可听到报警音,达到拨号报警的目的。关键词 :单片机,电话拨号,防盗报警,自动报警系统Ab
4、stractThis design by single-chip microcomputer controller, keyboard input, digital tube display, trigger circuit, dial-up circuit, and power supply, six parts, microcomputer controller is the core of the whole system, is responsible for the control test input/output display, simulation pick machine,
5、 dial-up alarm, hang machine, and a series of procedures movement, and the XiaoYin feet, high performance, low price of AT89C2051. The keyboard input circuit is responsible for a series of working parameters input single chip microcomputer and function setting. Leds digital tube display in the syste
6、m in the process of work as a simple interface to show work situation and input/output data etc. Dialing and alarm system of trigger circuit with magnetic switch, simple, reliable and alarm the hidden installation, prevent the thief found. Dial-up and alarm circuit to complete simulation pick machin
7、e, dial, alarm sound, hang up and work process, from single chip microcomputer control. The power is in charge of the whole system of power supply. Design goals to achieve the perception of the stolen feeling, and in certain time range, mobile phone or phone to send the police. Connect each other, c
8、an be heard the alarm sound, to achieve the purpose of dial-up alarm. Key words: a single-chip microcomputer, dialing, anti-theft alarm, automatic alarm system目录摘要31课题分析1.1方案提出及准备41.2方案的选择52 系统的设计 2.1设计思路6 2.2系统方案73 单片机介绍 3.1单片机的发展简介7 3.2 AT89C2051单片机简介84 电路设计4.1电路设计原理9 4.2脉冲拨号原理10 4.3键盘输入11 4.4显示电路
9、12 4.5 脉冲拨号实现过程135 程序设计 5.1 主程序设计14 5.2 变量定义及初始化模块15 5.3 启动报警器子程序模块16 5.4 脉冲拨号子程序模块17 5.5 关机子程序模块186 电路的安装调试 6.1 电路的总调试19 6.2 调试过程中出现的问题207 系统性能及社会经济效益分析 7.1系统的性能20 7.2 安装及使用说明21 7.3 社会经济效益分析228 结束语239 致谢2410参考文献资料2411物品清单24 1课题分析1.1方案提出及准备预设计一个通过电话线传输报警器信息的装置,首先应考虑该装置的应用平台及媒体。本装置是通过向电话发射脉冲拨号,以完成拨号报
10、警的目标。所谓脉冲拨号,就是指电话机上拨入的电话号码以脉冲的个数的形式发出去,也就是在已经通以直流电路的回路上,利用拨号盘及发号电路将回路断开、再接通而形成的脉冲信号,来完成输入电话号码的发送。在硬件的选用上,要注意可靠性,兼顾实用性。对所涉及到的低频、高频、脉冲及其他相关知识,应予以熟练掌握和灵活应用。争取用更低的成本,更高的质量完成设计目标。1.2 方案的选择 方案一:整体设计由语言处理器T6668,忙音解调电路。脉冲鉴别电路,电话自动拨号电路组成。电路原理方框图如图1。T666语言处理器电话机信号放大调节电路电话输入脉冲鉴别电路自动拨号电路传感器图1 方案一原理图 1. 电话自动拨号电路
11、:电话拨号电控制电话模拟摘机,电话号码发送和报警完毕挂机。当传感器接成短路报警状态时,报警信号输入,若对方电话忙音,经忙音电路判断后,进行重复拨号,直至拨通。当报警信号输入,电话线与报警器的继电器接通,完成电话信号和语言信号的发送。2. 忙音解调器:准确的判别忙音信号是电话自动拨通的关键。采用两级解调器 ,判别忙音信号。第一级解调输出450HZ拨号音,第二级解调输出0.35HZ信号,当电话信号为忙音时,第二级8管脚输出低电平,控制拨号。3. 脉冲鉴别电路:增加系统的可靠性和抗干扰能力。解调器输出后,信号输入脉冲鉴别电路。t1为预先设置基准脉冲宽度,t2用来控制输出脉冲宽度t1。电话线有忙音时,
12、在对输入信号宽度进行比较后,使重拨继电器工作,达到重新拨号的目的。4. T6668语言处理器:采用T6668的最小系统。内设一片存储器41258,采样比特率为最高档32K,选用640kHz晶振,可以降低量化噪声,提高语音音质。评析:该电路能很好的完成各项性能指标,特别是在抗干扰能力和可靠性方面,由于有脉冲鉴别电路,是的该电路的抗干扰能力大大增强,各部分工作的时间也有了比较准确的保证。但必须使用多功能脉冲按键电话机,且带有免提通话和号码存储功能,不利于推广。其次T6668不易焊接调试且芯片的市场价格比较贵,大大提高了设计价格。方案二:整个设计由单片机控制器、键盘输入、数码管显示、触发电路、拨号电
13、路、及电源等6个部分组成,如图2。键盘单片机电源触发开关拨号电路电源线图2 方案二原理图 1. 单片机控制器是整个系统的核心,负责控制检测输入/输出显示、模拟摘机、拨号报警、挂机等一系列的程序动作,并采用小引脚,高性能,低价位的AT89C2051。2. 键盘输入电路负责输入单片机中一系列工作参数及功能设定。3. 发光二极管数码管显示器在整个系统工作过程中充当一个简单的人机界面,用以显示工作状况及输入/输出的数据等。4. 电话拨号防盗报警器的触发电路用磁性开关,简单可靠,报警器采用隐蔽安装,防止小偷发现。5. 拨号及报警电路来完成模拟摘机、拨号、发出报警音、挂机等工作过程,由单片机控制。6. 电
14、源部分负责整个系统供电。评析:电路设计简单,布局合理,设计和生产成本低,易于推广。建立与维护简单,用户使用方便,并可以充分利用现有的电话资源提高电话报警器的利用率。综合上述,经过对性能指标、实用性、可靠性和经济效益等诸多因素的综合考虑。第二种方案实践性很强,能够完成任务,所以选择方案二。2系统设计2.1设计思路设计目标要求实现对盗情的感知,并在一定的时间范围内,向手机或者电话发送报警。对方接通电话后,即可听到报警音,达到拨号报警的目的。根据上述要求,为了是整个装置在遇到报警时能够迅速,准确的反应,且方便安装,该设计的警情探盗电路由磁性开关控制。无警情时,磁性开关处于断开状态,无信号输出;反之开
15、关闭合,出发报警电路,启动后面的电路工作。当然,在把预先存储的号码发送出去之前,要有一个自动控制摘挂机的电路,实现对摘挂机状态的自动调整,采用两个级联的三极管和一个用于判定工作状态的LED完成上述功能。由于该装置直接与电话连接,电源部分启用电话线上的60V直流电压,通过极性保护稳压管稳压后,向各部分电路提供合适的工作电压。既简化了设计又节省了电能。设计中还要考虑系统的抗干扰性和可靠性。为了避免交换机的误判,必须将频率的偏差控制在1.8%,频率电平的偏差也不得超过高频区-7土3dB低频区-9土3dB的标准。设计使用了单片机,单片机由微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总
16、线、定时器/计数器,输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上的微型计算器。单片机的主要特点:可靠性高,便于扩展,控制功能强,低电压、低消耗,片内存储容量较小,除此之外还有集成度高,体积小,性价比高,应用广泛,已于产品化等特点。2.2系统方案 图2.1为电话拨号报警器的系统构成方框图,由单片机控制器、键盘输入、数码管显示、触发电路、拨号电路、及电源等6个部分组成,如图3。键盘单片机电源触发开关显示电路拨号电路图3 系统构成框图电话线 1. 单片机控制器是整个系统的核心,负责控制检测输入/输出显示、模拟摘机、拨号报警、挂机等一系列的程序动作,并采用小引脚,高性能,低价位的AT8
17、9C2051。2. 键盘输入电路负责输入单片机中一系列工作参数及功能设定。共有4个按键,即rst,ok,up,set。Rst:系统复位键。Ok:输入数据确认键。Up:显示的数字增加键。Set:工作模拟设定键,即设定关机、工作、输入时间t1、输入时间t2输入电话号码5种模式(t1,t2为报警时间)。3. LED显示器在整个系统工作过程中充当一个简单的人机界面,用以显示工作状况及输入/输出的数据等。4. 电话拨号防盗报警器的触发电路采用磁性开关,即为装于们或窗口的防盗感应开关,门关闭时常开,门打开时闭合接通,简单可靠。报警器采用隐蔽安装,防止小偷发现,为了防止磁性开关离控制器较远而产生引入干扰,使
18、用了光耦信号传递,效果良好。5. 拨号及报警器电路来完成模拟摘机、拨号、发出报警音、挂机等工作过程,他的工作有单片机控制。L1、L2接电话线,ZND位击穿电压120V的压敏二极管,防止电路受雷电干扰。三极管T1、T2及电阻R1、R2构成拨号及报警电路。该机除了防盗报警外,对软件进行修改课通过电话进行远程数据传递。6. 电源部分负责整个系统供电。平时系统处于低功耗待机状态(此时耗电2mA左右),有电话线上取电工作,并对3.6V/60mA镍铬电池充电。由于有镍铬电池后备供电,计时电话线断电也不会使数据丢失。平时由电话线上取得工作电流并对后备电池充电,拨号报警时由后备电池供电。3单片机介绍3.1单片
19、机的发展第一阶段(1974-1976年):制作工艺落后,集成度低,而且采用了双片形成。典型的代表产品有Fairchild公司的F8系列。其特点是:内片包括了8位CPU,64B的RAM和两个并行口,需外加一块3851芯片组成一块完整的单片机。 第二阶段(1977-1978年):在单片芯片内集成CPU、并行口、定时器/计数器、RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广。典型的产品有Intel公司的MCS-48系列。其特点是:片内集成有8位的CPU,1KB或2KB的ROM,64B或128B的RAM,只有并行接口,无串行接口,有1个8位的定时器/计数器,中断源有2个。片外寻址范围4
20、KB,芯片引脚为40个。第三阶段(1979-1982年):8位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行I/O口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。在指令系统方面增设了乘除法、位操作和比较指令。其特点是:片内集成有8位的CPU,4KB或8KB的ROM,128B或256B的RAM,只有并行接口,具有串/并行接口,2个或3个16位的定时器/计数器,5-7中断源。片外寻址范围64KB,芯片引脚为40个。MCS-51系列,Intel公司的高性能8位单片机,该系列有8051、8031、8751。80C51系列是其兼容性单片机,与8051系列结构相同,
21、但采用CMOS工艺,对8051做了一些扩充,更有特点,功能更强。这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,8031是我国最流行的单片机。 第四阶段(1983年至今):16位单片机和8位高性能单片机并行发展的时代。16位机的工艺先进,集成度高,内部功能强,运算速度快,而且允许用户采用面向工业控制的专业语言,其特点是:片内集成有16位的CPU,8KB的ROM,232B的RAM, 具有串/并行接口,4个16位的定时器/计数器,8个中断源芯片引脚为40个,具有看门狗,总线控制部件,增加了D/A和A/D转换电路,片外寻址
22、范围可达64KB。近年来出现的32位单片机,是单片机的顶级产品,具有较高的运算速度。代表产品有Motorola公司的M68300系列和Hitachi(日立)公司的SH系列、ARM的等。3.2 AT89C2051单片机简介电话拨号防盗报警器的核心控制是单片机AT89C2051如图4所示。AT89C2051是美国ATMEL半导体公司生产的一种高性能单片机。该单片机以与MCS-51系列单片机高度兼容、低消耗、可以在接近零频率下工作等诸多优点,而广泛应用于各类计算机系统、工业控制,电信设备、消费类产品中。AT89C2051是AT89系列单片机中的一种精简产品。指令与MCS-51完全兼容;内带2KB可编
23、程闪速储存器可重复擦写1000次;数据保留10年;工作电压范围2.7-6V;工作频率0-24MHz;两级程序加密锁定;123B内部RAM;15条可编程双向I/O口线;2个16位定时器/计数器;5个中断;可编程串行UART通路;输出口可直接驱动LED;片内含模拟比较器;低功耗的闲置和掉电模式。它是将AT89C51的P0口、P2口、EA/Vpp、ALE/PROG、PSEN口线省去后,形成的一种仅20个引脚的单片机,相当于早期INTEL8031的最小应用系统。这对于一些不太复杂的控制场合,仅用一片AT89C2051就足够了,是真正意义上的“单片机”。由于将功能8位CPU和2KB的闪速储存器集成在单个
24、芯片内,使其中为一种高效的微控制器。AT89C2051的出现为很多规模不大的嵌入式控制系提供了一种极佳的选择方案,是传统的51系列单片机的体积大、功耗大、可选模式少等诸多因绕设计工程师的致命弱点不复存在。图4 AT89C2051引脚图4电路设计4.1电路设计原理为了发挥单片机强大的计算、控制能力,充分发挥软件的优势,这里极大的简化了电路,但可实现以前需要几片甚至几十片中小规模数字电路才能完成的任务。电路原理图如5所示,共有四个按键,即rst,ok,up,set。Rst:系统复位键。Ok:输入数据确认键。Up:显示的数字增加键。Set:工作模拟设定键,即设定关机、工作、输入时间t1、输入时间t2
25、输入电话号码5种模式(t1,t2为报警时间)。图5电话拨号防盗报警器电路图图6 PCB原理电路图4.2 脉冲拨号原理脉冲拨号是目前电话机两种拨号方式中的一种,另一种为双音多频拨号方式。脉冲拨号就是指在电话机上拨入的电话号码以脉冲个数的形式发出,也就是说,在已经通以直流电流的回路上,利用拨号盘及发号电路将回路断开,再接通而形成的脉冲信号,来完成输入电话号码的发送。在操作中,若用户拨1,则送出1个脉冲,回路中断一次,接通一次;拨2,则发出2个脉冲,回路断路一次,接通一次,再断一次,再接通一次;而拨0时,则发出10个脉冲,回路断,接通轮流10次。只要取一半时间即可。显然脉冲周期等于脉冲中断时间的脉冲
26、接通时间之和,每一个周期的时间为100ms左右。快速拨号时,在50ms左右。2位号码(即2组脉冲串)之间的最小时间间隔,通常为800ms左右;而快速拨号时,其值减半,为400 ms左右。我国目前采用的电话脉冲拨号的速率是10 PPS(每秒的脉冲数),即每秒发出10个脉冲,因此上述各参数不存在快速拨号时的值。图8 脉冲拨号原理为了提高拨号的可靠性及稳定性,这里设计时选定更低的脉冲拨号速率:1个脉冲代表拨出1,2个脉冲代表拨出2,,10个脉冲代表拨出0,每个脉冲的宽度和间隔均为100 Ms.工作时首先进行模拟摘机,然后开始脉冲拨号,拨出1位号码后停顿500 ms(保持接通)再拨下一位,直至全部拨完
27、后再发报警音,最后挂机。4.3 键盘输入按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。按键按照接口原理可分为编码键盘与非编码键盘两种,这两类键盘灯的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去斗动和多键、窜键保护电路。这种键盘使用方便,但需要较多的硬件,价格便宜,一般的单片机应用系统较少采用。非编码
28、键盘只简单地提供行和列的矩阵,其他工作均由软件完成。由于经济实用,较多的应用于单片机系统中。本次设计只需要几个简单的功能键,可采用独立式按键结构。图9为实物轻触开关,在运用此开关是需要注意去抖动,否则程序设计出来的效果不是很明显,不容易观察。 图9为实物轻触开关4.4显示电路LED显示是集光电子技术,微电子技术,计算机技术和视频技术为一体的高科技产品。它的发光部分由LED拼成组成的,其优点是耗电量少,亮度高,工作电压低,驱动简单,寿命长,性能稳定。显示屏面积可以根据需要由单元模块任意拼装,响应速度快。LED显示屏的出现弥补了以往磁翻板,霓虹灯等信息发布媒体效果的缺陷,以其变化丰富的色彩,图案,
29、实时动态的显示模式,完美的多媒体效果和强大的视觉冲击力,将信息、文字、图片、动画视频等多种方式显示出来,成为信息传播的划时代产品,在铁路、名航、体育场馆、会议厅高速公路、广场以及多种监控调度中得到了广泛的应用。LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,它利用发光二级管构成的点阵模块或像素单元组成在面积显示屏幕,以可靠性高、使用寿命长、环境适应能力强、价格性价比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。发光二极管(LED)是六十年代末发展起来的一种半导体显示器件,七十年代,随着半导体材料合成技术、单晶制造技术和P-
30、N结形成技术的研究进展,发光二级管在发光颜色、亮度等性能得以提高并迅速进入批量化和实用化。进入八十年代后,LED在发光波长范围和性能方面大大提高,并开始形成平板显示产品即LED显示屏。1.1990年以前LED显示屏的成长形成时期。一方面,受LED材料器件的限制,LED显示屏的应用领域没有广泛展开,另一方面,显示屏控制技术基本上通讯控制方式,客观上影响了显示效果。这一时期的LED显示屏在国外应用广泛,国内很少,产品以红、绿双基色为主,控制方式为通讯控制,灰度等级为单位4级调灰,产品的成本比较高。2.1990-1995年,这一阶段是LED显示屏迅速发展的时期。进入九十年代,全球信息产业高速增长,信
31、息技术各个领域不断突破,LED显示屏在LED材料和控制技术方面也不断出现新的成果。蓝色LED晶片研制成功,全彩色LED显示屏进入市场;电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术。显示屏灰度等级实现16级灰度和64级灰度调灰,显示屏的动态显示效果大大提高。这一阶段,LED显示屏在我国发展速度非常迅速,从初期的几家企业,年产值几千万发展到几十家企业、年产值几亿元,产品应用领域涉及诸多的领域,特别实在1993年证券股票业的发展引发了LED显示屏市场的大幅度增长。LED显示屏在平板显示领域的主流产品局面基本形成,LED显示屏产业成为新兴的高科技产业。3.1995年以来,L
32、ED显示屏的发展进入一个总体稳步提高产业格局调整完善的时期。1995年以来,LED显示屏产业内部竞争加剧,形成了许多中小型企业,产品价格大幅度回落,应用领域更为广泛,产品在质量、标准化等方面出现了一系列的新的问题,有关部门对LED显示屏的发展予以重视并进行了适当的规范和引导,目前这方面的工作还在逐步深化。我国的LED显示屏产业经过几年的发展,基本形成了一批具有一定规模的骨干企业,全国从事LED显示屏的各类企业有100余家,从业人员近6000人,行业年度销售总额近8亿元人民币,1996年、1997年的增长速度均保持40%左右,198年略有回落。在国内市场上,国产LED显示屏的市场占有率近100%
33、,国外同类产品基本没有市场。本系统使用的LED数码管是利用单个发光二极管组合而成的显示设备,可以显示0-9等10个数字,它的使用范围非常的广泛,这类数码管可以分为共阳极和共阴极两种,本设计采用共阳极LED数码管,共阳极就是把所有的LED的阳极连接到共同接点com,而每个LED的阴极分别为a,b,c,d,e,f,g。图10位实物数码管引脚对应码段。图11为共阳极的接法,图12为共阴极的接法。图10 LED数码管实物图 图11共阳的接法图12共阴的接法4.5 脉冲拨号实现过程平时电话线上的电压约为5060 V左右。未拨号时单片机的P3. 0,P3. 1均输出低电平。 拨号过程如下:1)单片机的P3
34、. 0输出高电平,使TRl导通,由于电话线路上接人了负载R:,这样电话线的电压下降,模拟摘机。 2)单片机的P3. 0开始输出拨号脉冲,使电话线的电压(电平)也呈高、低变化。1个脉冲代表拨出1,2个脉冲代表拨出2,10个脉冲代表拨出。,每个脉冲的宽度和间隔均为100 MS.拨出1位号码后停顿500 ms(保持P3. 0高电平)再拨下一位,直至全部拨完。 3)P3. 0保持高电平(保持电话线路接通),P3. 1输出1 kHz的报警音脉冲驱动TR2,以2 Hz进行调制(即接通1 kHz信号。5 s.断开1 kHz信号0.5 s),这样从接听方的电话中就会听到“嘟、嘟”的报警声。报警音的时间根据设计
35、定为60 so 4)605后P3. 1输出低电平TR2截止,停止报警。随后P冬0也输出低电平,模拟挂机。完成一次报警过程。图13 脉冲拨号实现电路5 程序设计 5.1 主程序设计主程序的工作过程为:先进行初始化工作,随后根据输人的键值分别散转至对应的子程序(关机、警戒工作、输人时间t,、输人时间t2、输人电话号码)循环工作。TO为100 ms定时中断服务子程序,它实现精确的拨号脉冲时序。INT0外中断服务子函数用于实现功能选译;而INT1外中断服务子函数则检测防盗触发开关的状态。主程序状态如图所示。INT0外中断服务子函数状态流程图及INT1外中断服务子函数的状态流程图分别如图所示。开始定时器
36、T0初始化输入号码关闭拨号、报警线路根据Set键值散转输入t2输入t1工作关机图14主程序状态图5.2 变量定义及初始化模块程序设计时需设立3个数组DATA20,X3,Y3。DATA20用于存放电话号码(最长20位),X3用于存放时间t1(000-999s),Y3用于存放时间t2(000-999s)。另外还要设计3个软件计数器data_flag,t1_flag,t2_flag。Data_flag用于统计输入的电话号码为长,t1_flag用于统计输入的时间t1为长,t2_flag用于统计输入的时间t2为长。uchar DATA20;/*存放号码的数组*/uchar x3; /*存放时间t1数组*
37、/uchar y3; /*存放时间t2数组*/uchar flag; /*RAM区防干扰标志*/uchar data_flag=0; /*输入电话号码计数器(最长20位)*/uchar set=0; /*功能键值*/uchar m=0; /全局变量uchar n=0;unit f;uchar t1_flag=0; /*输入时间t1计数器(最长3位)*/uchar t2_flag=0; /*输入时间t2计数器(最长3位)*/uchar cnt_1=0; /*时间t1单元数学运算后暂存单元*/uchar cnt_2=0l/*时间t2单元数学运算后暂存单元*/*定时器T0初始化*/void init
38、_timer()TMOD=0x01;/定时器T0方式1TH0=-(50000/256);/装在100ms定时初值TL0=-(50000%256);IE=0x82;/开中断INT0外中断服务子函数开始如set键按下,则set键值加1如键值大于等于5,则键值回0系统进入低功耗待机状态INT0外中断服务子函数结束图15 INT0外中断服务子函数状态流程图 INT1外中断服务子函数开始查询门控开关共十次INT1外中断服务子函数结束图16INT1外中断服务子函数的状态流程5.3 启动报警器子程序模块/*-启动报警器进入警戒-*/void work() uchar h;P1=0xdf; /*数码管左上角显
39、示“1”*/delay(1);if(set =1) /*进入时间1循环*/while(cnt_1=x0*100+x1*10+x2)EX1=1;cnt_1=0; /*时间1到,打开外中断1,计数器归零*/*进入待机。若有1s以上开关动作,退出待机*/while(1)PCON=0x01;if(f=5)PCON=0x00;break;EX1=0; /*进入外中断1*/If(set=1) /*进入时间2循环*/while(cnt_2=y0*100+y1*10+y2)delay(1000);cnt_2+;/*计数器cnt_2累加*/if(set!=1)cnt_2=0;break; /*如按下set键,则
40、退出此循环*/If(set=1)bh();/*时间2到,调用拨号子程序*/delay(3000);P3_7=0;/控制输出端为低,可驱动蜂鸣器等for(h=0;h60;h+;)/*发出60S警音*/ for(f=0;f500;f+) f+; P3_1=!P3_1;P1=0x5f; delay(1); P3_1=0;P1=0x7f;delay(5000);P3_7=1; /控制输出恢复高cnt_1=0;cnt_2=0; /*有关计数器、端口回到初始状态*/P3_0=0;P3_1=0;P1_7=1;For(f=0;f3;f+)delay(60000); /*关闭3min,让接警人进行手机或电话座机
41、进行报警*/ 5.4 脉冲拨号子程序模块/*-拨号-*/Void bh()data_flag=0;/*电话号码计数器(20位)归零*/P3_0=1; /*接通线路*/P1_7=0; /*数码管小数点亮*/delay(1000);while(DATAdata_flag0) /*若号码0但10*/TR0=1; /*启动T0定时器*/if(n=(DATAdata_flag)*2) /*进行号码x2次中断,产生号码个脉冲*/data_flag+;n=0;TR0=0;P3_0=1;P1_7=0;delay(500); TR0=05.5 关机子程序模块关机子程序模块用以完成电话号码拨号防盗报警器进入待机工作状态的任务(退出警戒),以实现主人回家后使其不再进行警戒。void stop()/关机子程序if(flag=0x55)P1=0xfb;/若标志为55H,说明内存未受到干扰,数码管右下角显示“1” elseP1=0x86;/否则显示“E”delay(1);/延时1ms再判if(flag=0x55)PCON=0x01;/进入低耗节电待机状态delay(1);/进入1ms延时6 电路的安装调试6.1 电路的总调试通电前应检查焊接质量,确认无短路,焊接等故障,将拨号开关J2指向下侧,即断开3.6v镍镉电池与系统的连接。将
限制150内