基于单片机的家用定时报警器软件设计答辩稿

上传人:飞*** 文档编号:54328558 上传时间:2018-09-11 格式:PPT 页数:26 大小:2.10MB
返回 下载 相关 举报
基于单片机的家用定时报警器软件设计答辩稿_第1页
第1页 / 共26页
基于单片机的家用定时报警器软件设计答辩稿_第2页
第2页 / 共26页
基于单片机的家用定时报警器软件设计答辩稿_第3页
第3页 / 共26页
基于单片机的家用定时报警器软件设计答辩稿_第4页
第4页 / 共26页
基于单片机的家用定时报警器软件设计答辩稿_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《基于单片机的家用定时报警器软件设计答辩稿》由会员分享,可在线阅读,更多相关《基于单片机的家用定时报警器软件设计答辩稿(26页珍藏版)》请在金锄头文库上搜索。

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

2、定时报警器这一功能。通电后,系统显示默认的定时时间及方式。如使用默认值,可直接按“开始”键,计时开始,定时间到开始报警。如不选择默认值,可进行定时时间设定,定时方式选择, 开始倒计时,定时间到开始报警。定时时间设定从0-99秒,由八段码LED显示。定时间到,可实现灯、声同时报警。,选题意义,论文的结构和主要内容,系统实现的功能 硬件设计 软件设计 致谢,系统实现的功能,1、以AT89C51为主接口部件为单片机最小系统扩展一个具有按键选择和数码管显示的外部功能电路来实现定时报警器功能。 2、具有可调定时时间功能,最高可以定时99秒。 3、利用2个按键开关,控制调时。 4、利用12M晶振为AT89

3、C51提供整机系统时钟信号。,硬件整体框图,1.控制器:本系统以MCS-51系列AT89C51单片机为控制核心。 2.按键:在这个系统中一共有四个按键,一个控制开始运行,一个控制计时“+”,一个控制计时“-”,还有复位按键。,3.八段LED:LED显示器显示倒计时时间。 4.报警器:为了更方便于大众,让一些老年人可以清楚的看到报警,我们连接一个蜂鸣报警和一个LED灯闪烁报警。,硬件模块的简单介绍,在本次设计中我们采用共阳数码管。LED数码管的显示方式:在本次设计我们采用动态显示。,LED显示屏,按键模块,S2为开始停止按键,S3为加键,S4为减键。,倒计时报警的软件设计,程序流程图,否,是,开

4、始初始化,显示器显示99,进行按键扫描,固定时间后,开始计时,计时结束,关闭定时器,开启报警器,结束,void main(void) / 初始化TimerInit();LED = 1;time = 99; / 初始化时间99秒show_time = time;/ 主循环while(1)/ 倒计时时间显示转换Buf0 = show_time % 10;Buf1 = show_time / 10;DisPlay(Buf); / 时间显示KeyScan(); / 按键扫描if(1 = alarm)TR0 = 0; / 关闭定时器0openAlarm(); / 开启报警,elsecloseAlarm(

5、); / 关闭报警return;/ 定时器0中断处理函数 / 预约加热模式使用void Timer0(void) interrupt 1/* 重装初值 */TH0 = (65535 - 50000) / 256; /计数时间50msTL0 = (65535 - 50000) % 256;Count+;if(20 = Count) / 1秒钟刷新一次倒计时Count = 0; / 控制变量置0,show_time-; / 倒计时进行if(0 = show_time)alarm = 1; / 报警标志置一/ 定时器1中断处理函数void Timer1(void) interrupt 3/* 重装初

6、值 */TH1 = 0xfd;TL1 = 0x00;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; / 启动定时器0elsealarm = 0;TR0

7、= 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) TMOD = 0x11; / 配置方式TH0 = (65535 - 50000) / 256; /

8、计数时间TL0 = (65535 - 50000) % 256;TH1 = 0xfe; / 定时器1初始值设定TL1 = 0x00;TR1 = 0; / 关闭定时器1ET1 = 1; / 定时器1中断打开TR0 = 0; / 开启定时器0ET0 = 1; / 定时器0中断打开EA = 1; / 全局中断打开 定时器1控制蜂鸣发生器,定时器0控制秒针。,显示流程图和程序,void DisPlay(uchar *DispBuf) uchar k;for(k=0; k2; k+) P1 = DispBitCodek; / 位选P0 = DispCodeDispBufk;/ 段选Delay(500);

9、 ,综述:开始计时时,先位置选择,然后进行段码选择。,报警流程图和程序,/* 报警函数 */ void openAlarm(void) TR1 = 1; / 开启蜂鸣器LED = 0; / 打开LED /* 关闭报警函数 */ void closeAlarm(void) TR1 = 0; / 关闭蜂鸣器LED = 1; / 关闭LED ,综述:开始计时后,显示时间为0时开启蜂鸣发声器,打开发光二极管,不为0反之。,大学本科的学习生活即将结束。在此,我要感谢所有曾经教导过我的老师和关心过我的同学,他们在我成长过程中给予了我很大的帮助。本文能够顺利完成,要特别感谢我的导师李雪霞老师,感谢各位系的老师的关心和帮助。 最后向所有关心和帮助过我的人表示真心的感谢。,致谢,系统仿真截图,实物图,谢谢老师,祝老师身体健康,事业顺利。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号