基于单片机的家用定时报警器软件设计答辩稿_第1页
基于单片机的家用定时报警器软件设计答辩稿_第2页
基于单片机的家用定时报警器软件设计答辩稿_第3页
基于单片机的家用定时报警器软件设计答辩稿_第4页
基于单片机的家用定时报警器软件设计答辩稿_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、logo基于单片机的家用定时报警基于单片机的家用定时报警器软件设计器软件设计n班班级级:191002n学学生:王成生:王成n指指导导老老师师:李雪霞:李雪霞n随着我国经济和人民的生活水平不断的提高,人们的安防意识也逐渐提高,我们现在家庭中常常用到的家电都有时间的限制,如果超出时间则会发生严重的后果,如:火灾,触电等。所以通过一个简易的定时报警可以避免这些事情的发生。 n它体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。单片机种类系列很多,但无论是从世界范围或是从全国范围来看,使用最为广泛的应用属于mcs-51系列单片机。mcs-51 单片机是单片机中最为典型和最有代表性的一种。n基于

2、这一事实,本次设计应用mcs-51系列的8位单片机89c51为主芯片来实现定时报警器这一功能。通电后,系统显示默认的定时时间及方式。如使用默认值,可直接按“开始”键,计时开始,定时间到开始报警。如不选择默认值,可进行定时时间设定,定时方式选择, 开始倒计时,定时间到开始报警。定时时间设定从0-99秒,由八段码led显示。定时间到,可实现灯、声同时报警。 选题意义选题意义论文的结构和主要内容论文的结构和主要内容u系统实现的功能系统实现的功能u硬件设计硬件设计u软件设计软件设计u致谢致谢系统实现的功能系统实现的功能u1、以、以at89c51为主接口部件为单片机为主接口部件为单片机最小系统扩展一个具

3、有按键选择和数码管最小系统扩展一个具有按键选择和数码管显示的外部功能电路来实现定时报警器功显示的外部功能电路来实现定时报警器功能。能。u2、具有可调定时时间功能,最高可以定、具有可调定时时间功能,最高可以定时时99秒。秒。u3、利用、利用2个按键开关,控制调时。个按键开关,控制调时。u4、利用、利用12m晶振为晶振为at89c51提供整机提供整机系统时钟信号。系统时钟信号。硬件整体框图硬件整体框图1.控制器:本系统以mcs-51系列at89c51单片机为控制核心。2.按键:在这个系统中一共有四个按键,一个控制开始运行,一个控制计时“+”,一个控制计时“-”,还有复位按键。3.八段led:led

4、显示器显示倒计时时间。4.报警器:为了更方便于大众,让一些老年人可以清楚的看到报警,我们连接一个蜂鸣报警和一个led灯闪烁报警。硬件模块的简单介绍硬件模块的简单介绍在本次设计中我们采用共阳数码管。led数码管的显示方式:在本次设计我们采用动态显示。led显示屏按键模块按键模块s2为开始停止按键,s3为加键,s4为减键。倒计时报警的软件设计倒计时报警的软件设计程序流程图开始初始化,显示器显示99,进行按键扫描,固定时间后,开始计时,计时结束,关闭定时器,开启报警器,结束void main(void) / 初始化初始化timerinit();led = 1;time = 99; / 初始化时间初始

5、化时间99秒秒show_time = time;/ 主循环主循环while(1)/ 倒计时时间显示转换倒计时时间显示转换buf0 = show_time % 10;buf1 = show_time / 10;display(buf); / 时间显示时间显示keyscan(); / 按键扫描按键扫描if(1 = alarm)tr0 = 0; / 关闭定时器关闭定时器0openalarm(); / 开启报警开启报警elseclosealarm(); / 关闭报警关闭报警return;/ 定时器定时器0中断处理函数中断处理函数 / 预约加热模式使用预约加热模式使用void timer0(void)

6、interrupt 1/* 重装初值重装初值 */th0 = (65535 - 50000) / 256; /计数时间计数时间50mstl0 = (65535 - 50000) % 256;count+;if(20 = count) / 1秒钟刷新秒钟刷新一次倒计时一次倒计时count = 0; / 控制变量置控制变量置0show_time-; / 倒计时进行倒计时进行if(0 = show_time)alarm = 1; / 报警标志置一报警标志置一/ 定时器定时器1中断处理函数中断处理函数void timer1(void) interrupt 3/* 重装初值重装初值 */th1 = 0

7、xfd;tl1 = 0 x00;spk = spk; / 蜂鸣器鸣响报警蜂鸣器鸣响报警综述:开始运行程序,led显示屏初始化显示99。加减按键确定定时时间,开始按键按下,按键扫描确定任务,开始倒计时,时间到0则关闭定时器,开启报警。按键程序流程图按键程序流程图void keyscan(void)/ 按键按键1开始或停止倒计时开始或停止倒计时if(key1 = 0)delay(15); / 去抖去抖if(key1 = 0)start = start; / 开始倒计时或停止开始倒计时或停止show_time = time;if(1 = start)tr0 = 1; / 启动定时器启动定时器0els

8、ealarm = 0;tr0 = 0;count = 0;while(!key1);/ 等待按键释放等待按键释放/ 按键按键2按下倒计时时间加一按下倒计时时间加一if(key2 = 0)delay(15); / 去抖去抖if(key2 = 0)if(start = 0) / 当未启动倒计时时有效当未启动倒计时时有效if(time 0)time-;elsetime = 99;show_time = time;while(!key3);综述:加减按键确定定时时间,开始按键按下,按键扫描确定任务。定时程序定时程序/ 定时器定时器0,1初始化函数初始化函数void timerinit(void)tmo

9、d = 0 x11; / 配置方式配置方式th0 = (65535 - 50000) / 256; / 计数时间计数时间tl0 = (65535 - 50000) % 256;th1 = 0 xfe; / 定时器定时器1初始值设定初始值设定tl1 = 0 x00;tr1 = 0;/ 关闭定时器关闭定时器1et1 = 1;/ 定时器定时器1中断打开中断打开tr0 = 0; / 开启定时器开启定时器0et0 = 1; / 定时器定时器0中断打开中断打开ea = 1; / 全局中断打开全局中断打开定时器定时器1控制蜂鸣发生器,定时器控制蜂鸣发生器,定时器0控制秒针。控制秒针。显示流程图和程序显示流程

10、图和程序void display(uchar *dispbuf)uchar k;for(k=0; k2; k+) p1 = dispbitcodek; / 位选位选 p0 = dispcodedispbufk;/ 段选段选delay(500);综述:开始计时时,先位置选择,然后进行段码选择。报警流程图和程序报警流程图和程序/* 报警函数报警函数 */void openalarm(void)tr1 = 1;/ 开启蜂鸣器开启蜂鸣器led = 0;/ 打开打开led/* 关闭报警函数关闭报警函数 */void closealarm(void)tr1 = 0; / 关闭蜂鸣器关闭蜂鸣器led = 1; / 关闭关闭led综述:开始计时后,显示时间为0时开启蜂鸣发声器,打开发光二极管,不为0反之。u大学本科的学习生活即将结束。在此,我大学本科的学习生活即将结束。在此,我要感谢所有曾经教导过我的老师和关心过要感谢所有曾经教导过我的老师和关心过我的同学,他们在我成长过程中给予了我我的同学,他们在我成长过程中给予了我很大的帮助。本文能够顺利完成,要特别很大的帮助。本文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论