单片机原理及应用课程设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2016-2017学年第二学期 单片机原理及应用期末考试 班级: 15网络1班 学号:2015220240125 姓名: 荣瑞乾 考试 题目 家居防盗报警器 一、系统设计(10分) 1、设计思路 本设计包括硬件和软件设计两个部分。模块划分为数据采集、键盘控制、报警等子模块。电路结构可划分为:热释电红外传感器、报警器、单片机控制电路、LED控制电路及相关的控制管理软件组成。用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。 2、组成框图 AT89 C52 复位电路 信号检测电路 报警执行电路 LED发光显示 放大 驱动 驱动 二、硬件设计(20分) 1、设计方案 设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,经放大电路、比较电路送至门限开关,打开门限阀门送出TTL 电平至AT89C51单片机。在单片机内,经软件查询、识别判决等环节实时发出入侵报警状态控制信号。驱动电路将控制信号放大并推动声光报警设备完成相应动作。当报警延迟10s一段时间后自动解除,也可人工手动解除报警信号,当警情消除后复位电路使系统复位,或者是在声光报警10s钟后有定时器实现自动消除报警。 1、主机有三个控制按键,一个按键布防,一个按键是遇到紧急情况紧急报警(或是测试键),一个是撤防。另一个为单片机的上电复位按键。 2、按下布防按键后, 30秒后进入监控状态(此时有人靠近不报警),当有人靠近时,热释红外感应到信号,传回给单片机,单片机马上进行报警。按下撤防按键解除布防。 3、当遇到特殊紧急情况时,可按下紧急报警键(测试键),蜂鸣器进行报警。(是在布放状态下) 4、布防时数码管显示“b”,撤防时数码管显示“c”,测试时或报警时数码管显示“-” 完成功能:开机等待布防键按下,数码管熄灭; 等待状态:按下布防键后数码管显示字母 “b” 30秒,之后数码管显示熄灭,进入布防状态; (从按下按键到30秒计时到,可以重复按下布防键延长计时时间,不累计,指示重新计时 30秒。也可按下撤防键取消布防); 布防状态:感应模块有信号时,数码管显示数字 “-” 蜂鸣器报警; 报警状态:按下撤防键,数码管显示字母 “c” ,蜂鸣器停止鸣响,系统进入等待布防状态; 紧急状态:当系统处于布防状态时,可以按下SOS键开启报警,此时蜂鸣器鸣响,数码管显示数字 “-” 2、硬件电路图 三、软件设计(20分) 1、软件设计思路(可画流程图) 系统初始化 系统初始化 声光报警结束 检测外部有 无信号输入 声光报警是否持续10秒 开始 启动声光报警电路开始报警 是否还有检测信号等待下次报警 结束 Y N N Y Y N 2、源程序(代码) #include reg52.h #define uc unsigned char #define ui unsigned int sbit SOS = P1^0;//布防 sbit bufang = P1^1;//报警按键 sbit chefang= P1^2;//撤防 sbit baojing= P1^3;//蜂鸣器 bit bdata flag,flag1;//flag布防标志,flag1布防倒计时标志 uc t,t1; //定时器专用变量 void delay(ui x) //延时函数1ms { ui i,j; for(i=0;ix;i++) for(j=0;j110;j++); } void kongzhi() //控制函数 { if((bufang==1)(flag==0)) //在报警等待时按下布防键 { delay(10); if((bufang==1)(flag==0)) { t=0; t1=0; //清零计时器 TR0=1; //打开计时器 P2=0x85; //显示字母b } } if((flag==1)(SOS==1)) //报警按键按下 { flag1=1; //蜂鸣器鸣响 P2=0xbf; //显示- TR0=1; //开启定时器 } if(chefang==1) //撤防键按下 { delay(10); if(chefang==1) { { flag1=0; baojing=1; //关闭蜂鸣器 flag=0; //停止计时器计时 TR0=0; //关闭计时器 P2=0xa7; //显示字母c delay(1000);//延时1s P2=0xff;

文档评论(0)

菜心 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档