- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计
题 目:自动电话报警防盗器
姓 名:吴振生
班 级:13级自动化3班
学 号:1314010326
学 校:淮南师范学院
时 间:2015年10月18日
目 录
1 引言 1
1.1 防盗报警控制器研究背景 1
1.1.1 防盗报警器概述 1
2 系统结构及硬件电路设计 2
2.1 系统的结构框图及工作原理 2
2.2 电源模块 2
2.3 AT89S52单片机最小系统 3
2.4 键盘模块 3
2.5 显示模块 4
3 程序设计 5
3.1 主程序流程 5
3.2 键盘输入模块的程序设计 6
3.3 数码管显示模块的程序设计 7
3.4 EEPROM的驱动程序设计 8
4 Proteus仿真 9
附录(程序) 11
1 引言
本文详细介绍了一种基于单片机和EEPROM的防盗报警控制器的设计。1.1 防盗报警控制器研究背景
随着社会的不断发展,人们对室内财产的安全要求也越来越高,而比较普遍的防盗措施是安装防盗报警装置,而防盗报警器的控制电路和控制程序在整个防盗报警装置中处于重要地位。
1.1.1 防盗报警器概述
防盗报警系统是用物理方法或电子技术,自动探测发生在布防监测区域内的侵入行为,产生报警信号,并提示值班人员发生报警的区域部位,显示可能采取对策的系统。防盗报警系统是预防抢劫、盗窃等意外事件的重要设施。一旦发生突发事件,就能通过声光报警信号在安保控制中心准确显示出事地点,使于迅速采取应急措施。防盗报警系统与出入口控制系统、闭路电视监控系统、访客对讲系统和电子巡更系统等一起构成了安全防范系统。
防盗报警系统通常由:探测器传输通道报警控制器三部分构成。报警探测器是由传感器和信号处理组成的,用来探测入侵者入侵行为的,由电子和机械部件组成的装置。传输通道报警控制器随着科学技术的进步,为对付不断升级的段,人们研制开发了不同方式结构的防盗器。第一代是机械式防盗器第二代是电子式防盗器
第三代是芯片式数码防盗器
第四代是网络防盗系统
采用不同原理的探测器可以构成不同种类、不同用途、达到不同探测目的的报警探测装置探测器2 系统结构 系统结构框图
本系统采用单片机AT89S52为控制核心,系统主要四个模块构成。。
.2 电源模块
本系统中芯片的工作电压有5V。
5V电源模块图
D1为电源指示灯,用以指示电源正常工作。图中C1电源滤波电容.3 AT89S52单片机最小系统
本设计的的单片机采用Atmel公司的AT89S52。
AT89S52单片机最小系统
2.4 键盘模块
考虑到本设计中按键不多,且单片机的接口较多,本设计采用由软件消抖的非编码方式独立键盘电路,如图所示。
键盘输入模块
在图的电路中,按键输入都采用低电平有效,上拉电阻保证了按键断开时I/O口由确定的高电平。
2.5 显示模块
在本设计中采用共阴极连接方式,原理图如图所示。
数码管显示器连接电路
在图所示的数码管显示器连接电路中,考虑到单片机的输出电流有限,所以在P0端口与数码管之间接入一个上拉电阻到+5V,确使在P0口输出高电平时,VCC与P0口同时给数码管供电,这样可以减小P0口的输出电流保护端口。上拉电阻是用来限制电流的。
LED指示电路
3 程序设计
本系统的单片机程序利用Keil uVision V4.02进行程序设计,以下介绍整个系统的程序流程,具体程序参见附录。
主程序流程
主程序流程图
所示图所示为key_input=0时代表输号sbit key_input =P1^0; //输号
sbit key_find =P1^1; //查号
sbit key_reset =P1^2; //复位
sbit key_jingbao=P1^6; //警报信号uchar state(void)子程序,其返回值为键盘的当前状态,其定义如下:
#define state_null 0 //无按键状态
#define state_input 1 //输号键按下
#define state_find 2 //查询键按下
#define state_reset 3 //复位键按下
#define state_jingbao 4 //报警键按下
在uchar state(void)子程序中本设计利用变量keycount的条件自加来实现消抖和长短按键的识别过程。每次进入子程序时keycount清零,然后进入循环,keycount自加,同时查询按键状态:当keycount自加到N1时,表示长按,则返回状态值,退出子程序;当无按键按下时,退出按键查询循环,并判断keycount是否小于于N2,即
文档评论(0)