基于单片机的作息时间打铃系统设计.doc

上传人:文****钱 文档编号:43744 上传时间:2018-05-10 格式:DOC 页数:29 大小:3.22MB
下载 相关 举报
基于单片机的作息时间打铃系统设计.doc_第1页
第1页 / 共29页
基于单片机的作息时间打铃系统设计.doc_第2页
第2页 / 共29页
基于单片机的作息时间打铃系统设计.doc_第3页
第3页 / 共29页
基于单片机的作息时间打铃系统设计.doc_第4页
第4页 / 共29页
基于单片机的作息时间打铃系统设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、目录第1章概述211设计要求212设计目的213设计意义2第2章系统总体方案选择与说明3第3章硬件电路设计431按键控制模块432时间显示模块533打铃模块6第4章应用软件设计841系统软件设计思想842系统主程序843中断子程序944按键扫描子程序11第5章系统仿真调试1251软件简介1252软件仿真12第6章硬件调试与结果分析15结束语17致谢18参考文献19附录A系统硬件电路原理图20附录B程序清单21评分表29第1章概述11设计要求本设计要求设计学校作息时间控制器,其设计实现的功能主要有使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED闪动作为秒计数表示,到响应时间打铃,

2、可冬夏季切换。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。12设计目的增强对单片机的认识,与理解,提高时间能力与水平。学会使用PROTEUS仿真软件,充分把所学电路、模数电理论与实践结合,了解和掌握单片机设计软件与硬件设计结合过程、方法和实现,以及掌握单片机的内部模块的应用。13设计意义用单片机及C语言编程模拟学校作息时间,到时打铃,以及冬季夏季手动切换打铃时间。第2章系统总体方案选择与说明由按键控制模块控制单片机最小系统的时间、月份、年以及打铃时间,在有单片机控制数码管显示以及蜂鸣器。本次设计实现的功能主要有使用4位七段显示器来

3、显示现在的时间,显示格式为“时分”,由LED小数点闪动作为秒计数表示。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。由按键输入控制设置年月日以及当前时间、并可设置闹钟定时,时间到由蜂鸣器发出响声。按键控制模块单片机最小系统数码管显示模块闹钟模块图21第3章硬件电路设计31按键控制模块按键控制模块主要有由五个按键组成K1、K2、K3、K4、K5。分别接P13P17口。K1的功能是模式切换键;K2的作用是加一;K3的作用是闹钟使能;K4的作用是减一;K5的作用是冬夏季切换。图31当需要设定时间或是校正时间,即可按下模式切换键来进行。校正

4、时间按第一次K1键,进入小时校正状态,通过按K2、K4键进行小时校正,按一下K2键则加一,按一下K3键则减一。按第二次K1键,进入分校正状态,通过按K2、K4键进行分钟校正。按第三次K1键,进入小时设定状态,此时若不需要设置则不操作。按第四次K1键,进入分钟设定状态,若此时不需要设置则不操作。按第五次K1键进入月份校正状态,通过按K2、K4键进行月份校正。按第六次K1键,进入日校正状态,通过按K2、K4键进行日校正。按下第七次K1键进入年份校正状态,通过按K2、K4键来进行年份校正。校正完毕后,再按一次K1键,则退出时间校正状态,并显示当前校正后的准确时间。设定时间按第一次K1键进入小时校正状

5、态,此时若不需要设置,则不操作以此类推。第三次按下K1键,进入小时设定状态,通过按K2、K4键进行小时设定。按下第四次K1键,进入分钟设定状态,通过按K2、K4键进行分钟设定。设定完毕后,按一下K3键(闹钟使能)。继续按K1键,若不需要设置,则不操作,以此类推,到按最后一次K1键则退出时间设定状态并显示当前时间,当时间与我们设定的时间一致时,通过闹钟电路响声提示。若要关闭闹钟,此时再按一次K3键即可停止响声。若K51,执行冬季打铃时间。若K50,则执行夏季打铃时间。32时间显示模块本设计采用四位七段共阳数码管做显示模块,其中前两位做时、月份显示,其余两位作为分、日显示,选取前两位的一个DP点作

6、为秒点。单片机P00P07分别接七段数码管的ABCEDFG和DP引脚。P20P23分别作为四个七段数码管的片选端。图32时间显示模块主要由四位数码管来显示,配合按键控制模块的校正与设定时间,相应的显示。时间正常显示时,LED每闪动60次,分钟自动加一;每六十分钟小时自动加一;每24小时天自动加一。33打铃模块单片机P37口控制蜂鸣器,若数码管显示时间与设定的学校作息时间相同,蜂鸣器模拟打铃一分钟。图33打钟模块快的主要功能闹铃。当设定时间与当前时间一致时,则闹钟自动闹铃进行提示,一分钟后,自动退出响铃状态,若按K3键,闹钟退出响铃状态。第4章应用软件设计41系统软件设计思想本系软件设计中,利用

7、单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时50微妙,则连续中断20次即为一秒,得到了我们所需时间的最小单位。该设计用C51编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活。许多子函数都可以直接移植过去。在程序中除了有主函数外还包含许多子函数,如延时函数、按键扫描函数、初始化函数、时间显示函数、设定闹钟显示函数、设定日期显示函数、设定年份显示函数、月份选择函数、年份显示辅助函数、冬夏季作息时间切换函数。42系统主程序在主控程序循环中主要工作为扫描是否有按键,若有按健则做相应的功能处理,同时也扫描显示器显示时间数据,并检查所设置的时间是否

8、到了。时间计时处理程序是等过了1S后,则更新时间数据,将最新的时、分的数据转换为数字数据并显示在七段显示器上。蜂鸣器初始化定时器初始化按键扫描判断标志位X设定闹钟显示函数校正时间显示函数日期显示函数时间显示函数年份显示函数X0X1、2X3、4X5、6X7图32主程序流程图43中断子程序中断子程序的主要功能提供时间基准。当连续中断20次时,即为一秒,此时秒加一。当秒值为60时,分钟加一,同时秒清零当分钟值为60时,小时加一,同时分钟值清零。当小时为24时,天值加一,同时小时清零。由于每月天数不定,1、3、5、7、8、10、12月为31天,当计数到此类月份时,天值为32时,月值加一,同时天值为1;

9、4、6、9、11月为30天,当计数到此类月份时,天值为31时,月值加一,同时天值为1。如果是闰年,则2月为29天,当计数到此类月份时,天值为30时,月值加一,同时天值为一。如果不是闰年,则2月为28天,当计数此类月份时,天值为29时,月值加一,同时天值为一。当月值为13时,则年值加一,同时月值为一。设置定时器初值是否到一秒秒变量加一是否到60秒秒值清零、分值加一是否到60分分值清零、小时加一是否到24小时小时清零、天值加一是否到一月天值为1、月值加一是否到一年月值为1、年值加一返回主函数YYYYYYNNNNNN图33定时器中断函数44按键扫描子程序按键扫描子程序是程序计中相当重要的一部分。按键

10、扫描子程序的功能是扫描是否有按键按下,若有键按下,则执行相应功能。设计中包含了防抖动程序,延时20MS,判断是否为抖动,若不是抖动则执行相应程序功能。是否有键按下返回模式按键切换处理K1相应设定变量加一打铃使能相应设定变量减一YNK2K3K4第5章系统仿真调试51软件简介本次课程设计仿真主要采用PROTEUS。PROTEUS与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。52软件仿真启动PROTEUS进行仿真时显示的初始化时间。初始界面仿真图如图图51时间校正

11、当我们需要正确的显示时间即可进行时间校正,按一下K1即进入小时校正状态,通过K2加一或K4减一来进行小时校正,再按一次K1键即可进行分钟校正,校正原理同小时校正相同。其仿真图如图52所示。图52日期校正当我们需要与当前日期保持一致时,则可以使用日期校正功能,连续按动五次K1键,则进入月份校正状态,通过K2加一键或K4减一键进行校正月份,再按一次K1键,则可进行日期校正,校正原理同月份校正原理相同。其仿真图如图53。图53年份校正当我们需要保持年份与当前年份一一致时,则可以进行年份校正。连续按动七次K1键,即进入年份校正状态,通过K2加一键或K4减一键进行校正。其仿真图如图54所示。图54到时打

12、铃当单片机显示时间与设定学校打铃时间相同时,蜂鸣器响。如图55所示。图55第6章硬件调试与结果分析结束语此次课程设计为期两个星期,围绕着利用最小单片机系统设计模拟学校作息时间打铃系统,实现了时间计时,时间调整,时间暂停,到点响铃和冬夏季切换等功能。使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED小数点闪动作为秒计数表示。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。由按键输入控制设置年、月、日以及当前时间并可设置闹钟定时,显示时间与设计作息时间相同时由蜂鸣器发出响声。设计之初,由于忽略了数码管共阴与共阳的问题,导致在

13、硬件调试的时候未能成功,修改后,导致秒点不能闪烁,一直未能找出原因,最后发现是忽略了与、或之间没转换。在设计冬夏季切换时,对主函数初始化问题理解不透彻,致使一开始不能切换。在设计打铃时间表时,还可以采用查表法,此方法相比可以节约程序空间。致谢通过两周的课程设计,利用单片机把复位电路,显示电路,电源电路,继电器电路,电铃电路连接起来,在通过单片机的编程实现设计要求。单片机作息时间控制系统是利用定时器计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制收音机开启或者关闭。时,分,秒数据是存在变量内并写入七段显示管的缓冲区内,由显示管扫描中定时时扫描而显示出时间。我由

14、最初的不知所措到后来的获益良多,觉得这两周过得很充实,也积累了一些设计的宝贵经验。这些离不开我的团队对我的帮助,更离不开王老师的悉心指导。参考文献附录A系统硬件电路原理图附录B程序清单INCLUDEDEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARUCHARCODEA100XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90SBITK1P14SBITK2P15SBITK3P16SBITK4P17SBITSDP10SBITBEEPP37UCHARM59,H7,SEC30,CNT0,X,Y,QIAN,BAI,SHI,

15、GEUCHARSET_H8UCHARSET_M6UCHARMONTH6UCHARDAY12UCHARTH0_FUCHARTL0_FUINTYEAR2013VOIDDELAYUCHARTVOIDSCANKEYVOIDVOIDINITVOIDVOIDDISPLAYVOIDVOIDSET_TIMEVOIDVOIDSET_DAYVOIDVOIDM_CHOOSEVOIDVOIDBIANHUANVOIDVOIDBIANHUAN1VOIDVOIDTIME0VOIDINTERRUPT1TH00X3CTL00XB0CNTIFY1ELSESD1IFY1ELSESD1IFCNT20SECCNT0IFSEC60SEC

16、0MIFM60M0HIFH24H0DAYSWITCHMONTHCASE1IFDAY32MONTHDAY1BREAKCASE2IFYEAR40IFDAY30MONTHDAY1ELSEIFDAY29MONTHDAY1BREAKCASE3IFDAY32MONTHDAY1BREAKCASE4IFDAY31MONTHDAY1BREAKCASE5IFDAY32MONTHDAY1BREAKCASE6IFDAY31MONTHDAY1BREAKCASE7IFDAY32MONTHDAY1BREAKCASE8IFDAY32MONTHDAY1BREAKCASE9IFDAY31MONTHDAY1BREAKCASE10I

17、FDAY32MONTHDAY1BREAKCASE11IFDAY31MONTHDAY1BREAKCASE12IFDAY32MONTHDAY1BREAKIFMONTH13MONTH1YEARIFX0BIANHUAN1TIMER1INTERRUPT3BEEPBEEPVOIDMAINVOIDINITWHILE1IFK50VARY1IFK51VARY2VOIDVARY1DISPLAYSCANKEYIFY1ELSEBEEP1IFY1ELSEBEEP1IFY1ELSEBEEP1VOIDVARY2DISPLAYSCANKEYIFY1ELSEBEEP1IFY1ELSEBEEP1IFY1ELSEBEEP1VOID

18、INITVOIDBEEP0TMOD0X11TH00X3CTL00XB0ET01TR01ET11TR10EA1VOIDDISPLAYVOIDP20XFEP0AQIANIFX21DELAY20P20XFDP0ABAIIFX21ELSEIFX0DELAY20P20XFBP0ASHIIFX20DELAY20P20XF7P0AGEIFX20DELAY20VOIDM_CHOOSEVOIDSWITCHMONTHCASE1IFDAY32MONTHDAY1BREAKCASE2IFYEAR40IFDAY30MONTHDAY1ELSEIFDAY29MONTHDAY1BREAKCASE3IFDAY32MONTHDAY

19、1BREAKCASE4IFDAY31MONTHDAY1BREAKCASE5IFDAY32MONTHDAY1BREAKCASE6IFDAY31MONTHDAY1BREAKCASE7IFDAY32MONTHDAY1BREAKCASE8IFDAY32MONTHDAY1BREAKCASE9IFDAY31MONTHDAY1BREAKCASE10IFDAY32MONTHDAY1BREAKCASE11IFDAY31MONTHDAY1BREAKCASE12IFDAY32MONTHDAY1BREAKVOIDSET_TIMEVOIDQIANSET_H/10BAISET_H10SHISET_M/10GESET_M1

20、0VOIDSET_DAYVOIDQIANMONTH/10BAIMONTH10SHIDAY/10GEDAY10VOIDBIANHUANVOIDQIANYEAR/1000BAIYEAR1000/100SHIYEAR100/10GEYEAR10VOIDBIANHUAN1VOIDQIANH/10BAIH10SHIM/10GEM10VOIDSCANKEYVOIDIFK10DELAY20IFK10WHILEK10XIFX3SET_TIMEELSEIFX5SET_DAYELSEIFX7BIANHUANELSEIFX8X0BIANHUAN1IFK20DELAY20IFK20WHILEK20SWITCHXCAS

21、E0BREAKCASE1HIFH24H0BIANHUAN1BREAKCASE2MIFM60M0BIANHUAN1BREAKCASE3SET_HIFSET_H24SET_H0SET_TIMEBREAKCASE4SET_MIFSET_M60SET_M0SET_TIMEBREAKCASE5DAYM_CHOOSESET_DAYBREAKCASE6MONTHIFMONTH13MONTH1SET_DAYBREAKCASE7YEARBIANHUANBREAKIFK30DELAY20IFK30WHILEK30YIFY2Y0IFK40DELAY20IFK40WHILEK40SWITCHXCASE0BREAKCASE1HIFH255H23BIANHUAN1BREAKCASE2MIFM255M59BIANHUAN1BREAKCASE3SET_HIFSET_H255SET_H23SET_TIMEBREAKCASE4SET_MIFSET_M255SET_M59SET_TIMEBREAKCASE5DAYM_CHOOSESET_DAYBREAKCASE6MONTHIFMONTH0MONTH12SET_DAYBREAKCASE7YEARBIANHUANBREAKVOIDDELAYUCHARTUCHARIDOFORI0I23IWHILET评分表

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

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。