基于单片机的作息时间控制器设计
基于单片机的作息时间控制器系统设计

XX三峡学院《基于单片机的作息时间控制器系统设计》学院(系):电子与信息工程学院年级专业:2011级电信(仪器仪表)学号:0112110332学生XX:文静指导教师:谢辉教师职称:教授成绩:制作日期2014年10月29日目录摘要1关键词1第一章引言21.1 课题背景21.1.1 选题背景2第二章设计方案论证22.1 设计要求22.2设计方案选择32.2.1 方案一:数字电路设计的作息时间控制器系统32.2.2 方案二:基于单片机的作息时间控制器系统设计32.2.3 方案确定32.3 基本方案42.3.1 设计课题简要概述42.3.2 系统软硬件划分42.3.3 单片机选型42.4 总体设计框图4第三章硬件电路设计53.1 基本原理概述53.2 主要原件参数及功能简介53.2.1 主控器STC89C5253.2.2 DS130263.3 单元电路的设计73.3.1显示电路设计73.3.2 键盘接口电路设计83.3.3 响铃电路设计83.4 总体运行进程9第四章软件电路设计及流程图94.1 基本原理概述94.1.1 中断服务程序设计104.1.2 显示程序设计和按键判断与按键处理程序设计104.2 流程图114.2.1 系统主程序流程图114.2.2 系统定时中断流程图12第五章系统程序设计135.1 程序设计概要135.2 源程序清单13第六章作息时间器硬件原理图60第七章实训总结61参考文献62附录63附录1 原理电路图63附录2元件清单64附录3 实物图64基于单片机的作息时间控制器系统设计XX三峡学院电子与信息工程学院文静摘要基于单片机的作息时间器系统,是以一片8位单片机为核心的实时时钟及控制系统。
我们知道单片机的外接石英晶体振荡器能提供稳定、准确的基准频率,并经12分频后向内部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,便可得秒信号,再对秒信号进行计数便可得到分、时等实时时钟信息。
作息时间控制器(基于51单片机和DS1302的时钟).

课程设计(论文)题目:作息时间控制器院(系):电子工程与自动化学院专业:测控技术与仪器学生姓名:吉哲学号: 0900820413指导教师:徐翠锋职称:讲师2012年12月27日摘要本次作息时间控制器设计是采用AT89S52单片机作为系统的核心元件,在其最小系统基础上与DS1302时钟芯片配合,四个独立按键控制,六位七段数码管显示,无源蜂鸣器发声。
单片机最小系统作为核心处理和控制单元;时钟芯片用来实现实时时间的精准输出和闹钟信息的存储,并可用纽扣电池供电以保持时间的连续运行;独立按键用于进行时间及闹钟的设定;数码管用于显示时间及闹钟信息;蜂鸣器用于在达到设定的时间后进行及时提醒。
关键词:时间控制;AT89S52;单片机;DS1302;时钟芯片;闹铃;定时报警AbstractThis work and rest time controller design is to use AT89S52 SCM as the core of the system components, in its minimum system with DS1302 clock chip based on coordination, four independent key control, six seven period of digital tube display, passive buzzer sound. Single chip microcomputer minimum system as the core processing and control unit; Clock chip to realize real-time time accurate output and alarm information storage, and use button batteries to keep continuous operation time, Independent key for time and alarm clock Settings; Digital tube is used to display the time and alarm information; Buzzer to reach a set time for timely remind.Key words:Time control; AT89S52 devices; SCM; DS1302; Clock chip; Alarm; Timing alarm目录引言 (1)1 课程设计任务及要求 (1)2 硬件设计 (1)2.1 总体设计思路及系统框图 (1)2.2 中央处理控制器 (2)2.3 晶振电路 (3)2.4 时钟信号产生电路 (3)2.5 显示电路 (4)2.6 控制电路 (6)2.7 闹铃电路 (8)2.8 电源及下载电路 (8)3 程序设计 (9)3.1 主程序流程图 (9)3.2 按键扫描程序流程图 (9)3.3 响铃扫描程序 (10)4 制板、组装与调试 (11)4.1 PCB制作 (11)4.2 制作PCB板流程 (11)4.3 调试 (11)5 方案总结 (11)心得体会 (12)谢辞 (13)参考文献 (14)附录 (15)引言时间是人类生活必不可少的重要元素,从古至今它都扮演着一个非常重要的角色。
基于单片机的作息时间控制器设计参考文献

基于单片机的作息时间控制器设计参考文献作息时间控制器是一种能够根据人们的作息时间需求自动控制开关的设备,通常用于智能家居系统或办公环境。
在这篇文章中,我将根据您提供的主题——基于单片机的作息时间控制器设计参考文献,从理论和实践两个方面进行全面评估,并撰写一篇有价值的中文文章。
一、引言基于单片机的作息时间控制器设计是智能家居系统中的重要组成部分,它能够根据人们的作息时间需求自动控制照明、电器等设备的开关,提高生活的便利性和舒适度。
本文将从单片机技术、作息时间控制理论与实践等方面进行探讨,旨在为相关领域的设计和研究提供参考。
二、单片机技术在作息时间控制器设计中的应用1. 单片机概述单片机是一种集成了微处理器、存储器和输入输出设备的微型计算机系统,其小巧灵活的特点使其在作息时间控制器设计中得到了广泛的应用。
通过编程控制单片机的输入输出口,可以实现对作息时间控制器的精准控制。
2. 单片机在作息时间控制器设计中的优势(1)精确控制:单片机具有精准的计时和控制功能,能够准确地实现根据时间设定的开关控制。
(2)灵活性:单片机可以根据用户的需求进行编程,实现各种复杂的时间控制模式,满足不同场景下的作息时间需求。
(3)节能环保:通过单片机控制作息时间器,可以有效地节约能源,降低能源浪费。
三、作息时间控制理论与实践1. 作息时间控制理论作息时间控制理论是基于人体生理和心理特点,结合现代生活的节奏和需求,制定出的时间管理原则和方法。
在作息时间控制器设计中,理论的指导作用不可忽视。
2. 作息时间控制器实践案例(1)基于单片机的作息时间控制器硬件设计:通过对各种传感器和执行器的选择与搭配,实现对照明、空调等设备的自动控制;(2)基于单片机的作息时间控制器软件设计:利用单片机的编程功能,实现对时间的准确监测和控制,创建各种时间控制模式。
四、个人观点和总结回顾基于单片机的作息时间控制器设计是一项将理论与实践相结合的工程项目,需要综合考虑单片机技术、作息时间控制理论与实践等多方面的知识。
基于单片机的作息时间控制系的设计与实现毕业设计论文

湖南化工职业技术学院毕业设计说明书题目:基于单片机的作息时间控制系的设计与实现毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:目录一、引言-----------------------------------------------------------------31.1单片机的作息时间控制系统设计的目的和意义------------------------31.2方案比较--------------------------------------------------------3二、整体设计方框图-------------------------------------------------------4三、模块电路设计---------------------------------------------------------53.1.单片机核心控制模块---------------------------------------------53.2键盘模块--------------------------------------------------------73.3实时时钟模块---------------------------------------------------123.4数据存储模块---------------------------------------------------143.5温度传感器模块------------------------------------------------3.6红外模块------------------------------------------------------3.7电机模块------------------------------------------------------3.8显示模块------------------------------------------------------3.9外围驱动模块--------------------------------------------------四、单片机软件系统设计--------------------------------------------------154.1系统实现工作流程-----------------------------------------------4.2系统流程图-----------------------------------------------------4.3系统源程序-----------------------------------------------------五、元件明细表----------------------------------------------------------16六、整机电路图----------------------------------------------------------196.1 整体原理图-----------------------------------------------------196.2 整体PCB图-----------------------------------------------------206.3整体PCB 3D图--------------------------------------------------七、总结与致谢----------------------------------------------------------24八、参考文献------------------------------------------------------------24一、引言1.1单片机作息时间控制系统设计的目的和意义随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。
基于单片机的作息时间钟的设计

内容摘要单片机是为了实现控制功能而设计的一种微型计算机。
由于单片机是在一块芯片上集成了一台微型计算机所需要的CPU、输入/输出部件和时钟电路等,因此,它具有体积小,使用灵活、成本低、易于产品化和抗干扰能力强,可以在恶劣的环境下实现可靠工作的特点。
设计的作息时间系统硬件上采用了AT89C52单片机,并且采用了单片机可以直接驱动的LM016L液晶显示屏,比市场上大部分LED数码显示管提供更多显示内容。
此外系统还设置了5个按钮可以随时调整当前时间,以保证与标准时间相吻合。
在软件设计方面,系统最大的创新点是不仅能够实现显示年、月、日信息外,而且可以自动识别闰年、闰月及每月的天数。
还可以根据学校、工厂等单位的作息时间表按时打铃、播放音乐、广播体操和其他节目等。
以单片机控制作为设计的创新点让整个系统结构简单、体积小巧、可靠性高、操作简单、扩展性强。
关键词作息时间控制;51单片机;LM016L显示屏;供电电路Design Time Clock Based on MCU091307326 Wu Ning tutor Professor Zhou PengAbstractA single-chip microcomputer is designed in order to realize the control function. Because the microcontroller is CPU, memory, input / integrated on a single chip of a microcomputer required output components and clock circuit, therefore, it has the advantages of small volume, flexible use, low cost, easy production and strong anti-interference ability, features can achieve reliable operation in harsh environments.Hardware schedule system design using AT89C52 single chip, LM016L LCD screen and innovation by the single chip can be directly driven, provides more display contents than the market most of the LED digital display. In addition the system also set up 5 buttons can be adjusted at any time to coincide with the current time, to ensure the standard time. In the aspect of software design, innovation system is the biggest can display year, month, day of information, and can automatically identify the leap year, month and monthly. Also according to the schools, factories and other units schedule on time bell, playing music, broadcast gymnastics and other programs.SCM control as a design innovation so that the whole system is simple in structure, small volume, high reliability, simple operation, expansion and strong.KeywordsTime schedule control; 51 microcontroller; LM016Ldisplay;The power supply circuit目录第一章绪论 (1)1.1课题研究意义 (1)1.2 国内外研究现状 (1)1.3 研究内容 (2)第二章核心芯片及元件介绍 (3)2.1 A T89C52简介 (3)2.1.1AT89C52芯片的引脚 (4)2.1.2AT89C52特点 (7)2.2 LM016L显示屏 (8)2.2.1显示屏主要技术参数: (9)2.2.2引脚功能说明 (9)2.2.3显示屏的指令说明及时序 (11)2.2.4显示屏的RAM地址映射 (13)第三章硬件电路设计 (15)3.1总体电路设计: (15)3.2硬件系统各部分电路设计 (15)3.2.1系统复位电路的设计 (15)3.2.2系统时钟电路的设计: (16)3.2.3闹铃电路设计: (17)3.2.4显示电路设计: (18)3.2.5定时调试按键电路设计 (19)3.2.6电源电路设计 (20)第四章软件设计 (21)4.1主模块设计 (21)4.2显示模块设计 (22)4.3时间设定模块设计 (22)4.4闹铃功能的实现 (23)第五章软件仿真及结果分析 (25)5.1单片机仿真图 (25)5.2电源仿真图 (26)5.3响铃实现仿真图 (26)5.4性能及结果误差分析 (27)第六章结论与展望 (28)6.1结论 (28)6.2展望 (28)致谢 (30)参考文献 (31)附录 (32)基于单片机的作息时间钟的设计091307326 伍宁指导老师周鹏教授第一章绪论1.1课题研究意义科技的进步需要技术不断的提升。
基于单片机的校园作息时间系统控制

基于单片机的校园作息时间系统控制
校园作息时间系统控制可以使用单片机来实现。
具体步骤如下:
1. 设计电路:设计一个电路,通过单片机控制要显示的时间、
切换时间区间、自动切换时间、亮度等功能。
2. 编写程序:使用C、Assembly等编程语言编写单片机程序,
实现校园作息时间系统控制功能。
3. 烧录程序:将编写好的程序通过编程器烧录到单片机芯片中。
4. 测试验证:将芯片插入到实验板中,将开发板与电脑连接,
通过串口调试工具测试程序是否运行正常,验证控制功能是否正确。
5. 改进优化:对程序中出现的问题进行调试和优化,达到更好
的控制效果。
总结:基于单片机的校园作息时间系统控制可以实现自动切换
时间、显示当前时间等功能,是一种便捷、高效的控制方式。
基于单片机的作息时间系统 精品

毕业设计(论文)题目:基于单片机的作息时钟系统专业:电子测量技术与仪器班级:09251班学号:19号**:******:**成都电子机械高等专科学校二〇一二年六月论文摘要本设计是作息时钟系统设计,由单片机最小系统、按键模块、数码管显示模块、闹钟模块组成。
采用单片机AT89C52与12MHZ晶振相连;通过按键K1、K2、K3、K4、K5控制时间的显示、校正、闹钟时间设定。
数码管显示模块用来显示时间,显示格式为“时分”,并能够根据需要显示年、月、日,由数码管小数点闪动作为秒计数;闹钟模块进行到时提醒并作出相应动作:发光二极管闪亮,同时播放一段音乐。
本设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时50微妙,则连续中断20次即为一秒,得到了我们所需时间的最小单位秒,60秒为一分,60分为一小时,24小时为一天,1、3、5、7、8、10、12月为31天,4、6、9、11月为30天,闰年二月为29天,非闰年二月为28天,12个月为一年。
采用这种时间设计思想来进行时间设置。
在整个系统的设计中,单片机的P0口输出显示信号;P1口按键输入控制;P2口用来扫描,为动态显示;P3口闹钟模块。
该设计用C51编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活。
许多子函数都可以直接移植过去。
关键词:单片机 AT89C52 C语言作息时间系统AbstractThe design of the rest of the clock system design, from the smallest single-chip system, key module, digital tube display module, alarm ing single-chip AT89C52 and 12MHZ crystal connected through keys; K1, K2, K3, K4, K5 control time display, correction, alarm time setting.Digital tube display module to display the time, the display format for "time", and according to the needs of display year, month, day, by the digital tube decimal point flashing counts as a second alarm module; then remind and make corresponding action: the LED flashes, while playing a piece of music.This design, use single chip timer design time processing, using SCM internal timer to achieve T0, working in T1 mode, timing 50 subtle, continuously interrupted 20 times a second, is what we need the smallest unit of time in seconds, 60 seconds for a branch, is divided into a 60 hours, 24 hours a day, 1, 3, 5, 7, 8, 10, December for 31 days, 4, 6, 9, November for 30 days, a leap year in February for 29 days, a leap year in February for 28 days, 12 months for a year.By this time design ideas to set up time.In the design of the entire system, SCM P0 port output display signal; P1 export key input control; P2 port used to scan, dynamic display; P3 alarm module.The design using C51 programming, due to the less portable assembly language, C language is more flexible.Many functions can be transplanted directly past.Key Words:SCM AT89C52 language C schedule system目录论文摘要 (I)Abstract (II)目录........................................................................................................................................... I II 第一章引言........................................................................................................................ - 1 - 第二章概述........................................................................................................................ - 2 -2.1 51单片机简介............................................................................................................ - 2 -2.2 4位数码管的驱动方式.............................................................................................. - 3 -2.3 设计要求..................................................................................................................... - 4 -2.4 本设计实现的功能..................................................................................................... - 4 - 第三章系统总体方案及硬件设计........................................................................................ - 5 -3.1 系统总体方案框图..................................................................................................... - 5 -3.2 单片机最小系统......................................................................................................... - 5 -3.3 按键控制模块............................................................................................................. - 6 -3.4 时间显示模块............................................................................................................. - 7 -3.5 闹钟模块.................................................................................................................... - 8 - 第四章软件设计.................................................................................................................. - 10 -4.1 keil软件介绍............................................................................................................ - 10 -4.2 系统软件设计思想................................................................................................... - 11 -4.3 系统主程序............................................................................................................... - 11 -4.4 中断子程序............................................................................................................... - 12 -4.5 按键扫描子程序....................................................................................................... - 13 -4.6 系统程序(见附录3).............................................................................................. - 14 - 第五章Proteus软件仿真....................................................................................................... - 15 -5.1 Proteus软件简介...................................................................................................... - 15 -5.2 Proteus软件仿真.................................................................................................... - 16 -5.3 系统原理图(见附录1).......................................................................................... - 20 -5.4硬件实物图(见附录2)........................................................................................... - 20 -5.5原件清单...................................................................................................................... - 20 - 第六章硬件调试.................................................................................................................... - 21 -6.1 STC-ISP软件介绍................................................................................................... - 21 -6.2 焊接及程序下载...................................................................................................... - 23 -6.3 硬件调试................................................................................................................... - 23 - 第七章毕业设计体会.......................................................................................................... - 26 - 第八章致谢............................................................................................................................ - 27 - 参考文献.................................................................................................................................... - 28 - 附录1......................................................................................................................................... - 29 - 附录2......................................................................................................................................... - 30 - 附录3......................................................................................................................................... - 31 -第一章引言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
毕业设计(论文)-基于单片机的作息控制系统

内部资料注意保存基于单片机的作息控制系统姓名:队别:07402队专业:电子工程指导教员:职称:讲师解放军理工大学训练部制表二〇一一年六月目录摘要 (2)关键字: (2)一、引言: (2)(一)作息时间控制钟概述 (2)(二)单片机概述 (3)1、单片机简介 (3)2、MCS-89C51单片机的特点及功能: (4)二、系统设计 (4)(一)基本设计要求和主要实现功能 (4)(二)设计思路与实现方法 (6)1、设计总体框图 (6)2、主程序流程图: (6)3、设计子模块 (7)(1)计时中断和时间转换模块 (7)(2)显示模块 (8)(3)键盘模块 (10)(4)打铃模块 (11)三、程序运行截图 (11)四、设计体会 (13)五、参考文献 (14)基于单片机的作息控制系统摘要:本文是基于单片机的作息控制系统进行的实验设计, 作品具有实时显示和闹铃定时的功能,同时也具有时钟校准和打铃时间表转换的附加功能。
可以执行不同的时间表(冬季和夏季不同的作息时间)的打铃,可以任意进行实时时间校准。
本设计实现的这些功能,可以给学校及其他机关企业的日常作息安排带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。
关键字:单片机;数字钟;作息;定时;一、引言:(一)作息时间控制钟概述科技的进步需要技术不断的提升。
一块大而复杂的模拟电路也许会花费了您巨大的精力,繁多的元器件增加了您的成本。
而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。
相信您在使用并掌握了单片机技术后,不管在今后开发或是工作上,一定会带来意想不到的惊喜。
本文是以MCS-89C51单片机为核心控制器件的作息时间控制钟,由键盘、开关、LED数码管灯模块和数码指示灯模块四部分组成。
它利用MCS-89C51单片机的11.0592MHz时基计时,进行时钟计算,并利用实验平台的显示模块进行输出显示。
MCS-89C51单片机是整个设计的核心控制器件,根据从键盘接受的数据控制整个系统的工作流程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及系统课程设计专业:电气工程及其自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2014 年1 月13 日单片机原理及系统课程设计报告基于单片机的作息时间控制器设计1. 课程设计目的(1)进一步熟悉和掌握单片机的最小系统结构及其工作原理。
(2)掌握单片机的接口技术和键盘扫描、数码管显示的原理及拓展使用方法。
(3)通过课程设计,提高综合运用所学知识的能力,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。
2. 设计方案及原理本设计是作息时间控制器,设计其实现的功能主要有:使用4位七段显示器来显示当前的时间,由LED闪动作为秒计数表示,显示格式为“时分”,并可显示日期,显示格式为“月日”,年份单独显示。
由4个按键来作功能设置,可以设置现在的日期、时间及定时设置时间,一旦设置的时间到则作出相应动作:发光二极管闪亮,同时播放音乐。
单数码管显示模块片机最按键控制模块小系闹钟模块统系统方框图图13. 硬件设计3.1单片机AT89C52提供以下标准功能:8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
3.2 按键控制模块按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式。
按键控制模块主要有由四个按键1单片机原理及系统课程设计报告组成:K1、K2、K3、K4、。
其中K1的功能是模式切换键;K2的作用是加一;K3的作用是闹钟使能;K4的作用是减一。
K1KKK按键控制模23.3 数码管显示模块时间显示模块主要由四位七段数码管来显示,配合按键控制模块的校正与设定时间,相应的显示。
时间正常显示时,LED每闪动60次,分钟自动加一;每六十分钟小时自动加一;每24小时天自动加一。
数码管显示模块图33.4 闹钟模块闹钟模块快的主要功能即闹铃。
当设定时间与当前时间一致时,则闹钟自动闹铃进行提示,同时二极管闪亮一分钟后,自动退出响铃状态,若按K3键,闹钟退出响铃状态。
2单片机原理及系统课程设计报告闹钟模块图4软件设计4.当所设置的时间单片机作息时间控制的动作利用时间计时处理来做秒计数,不会因为按键处理而中单片机定时器负责定时的计数,到了,则发出一阵声响。
秒数据是存在变量内并写入七段显示器的缓冲区内,时,分,断时间秒数的增加,而由显示器扫描程序中定时扫描而显示出时间。
4.1 主程序设计若有按键则应做相应的功能在主控程序循环中主要工作为扫描是否有按键,时间计并检查所设置的时间是否到了,处理,同时也扫描显示器显示时间数据,后,则更新时间数据,将最新的时,分,秒的数据转换时处理程序是等过了1S 为数字数据并显示在七段显示器上。
的:设一旧秒数变量,当新旧秒数变量不一1S程序中是这样判断是否过了,要做相关程序时间处理了。
样时,则表示已过了1S3单片机原理及系统课程设计报告开始蜂鸣器初始化定时器初始按键扫显判断标志X=X=X=1,2时间显示X=3,4校正时间示函X=5,6设定闹钟示函X=7日期显示年份显示数主程序流程图图5中断子程序4.2次时,即为一秒,20中断子程序的主要功能:提供时间基准。
当连续中断时,小时当分钟值为60时,分钟加一,同时秒清零此时秒加一;当秒值为60;时,天值加一,同时小时清零;由于每月加一,同时分钟值清零;当小时为24天,当计数到此类月份时,天值为31、12月为、5、78、10、天数不定,1、3天,当计数到此类月份月为30、69、11;32时,月值加一,同时天值为14、天,当29;如果是闰年,则2月为31时,天值为时,月值加一,同时天值为1时,月值加一,同时天值为一;如果不是闰年,计数到此类月份时,天值为30时,月值加一,同时天值为一。
29月为28天,当计数此类月份时,天值为2则时,则年值加一,同时月值为一。
当月值为134单片机原理及系统课程设计报告开始设置定时器初值N返回主程序是否到下一秒秒变量加是否6秒值清零、分值加是否6分值清零、小时加小2是否小时清零、天值加是否到一天值为一、月值加是否为一月值为一、年值加结束6 中断子程序程序流程图图按键扫描子程序4.3按键扫描子程序是程序计中相当重要的一部分。
按键扫描子程序的功能是:扫描是否有按键按下,若有键按下,则执行相应功能。
系统仿真5.5单片机原理及系统课程设计报告6 系统仿真图图6. 总结在设计的过程中发现了自身本次课程设计是对所学知识的一次综合性运用。
并且对我们所学的东西也体会也很深刻,知识的不足。
这次课程设计收获很多,比如一些仿真软件也学会了很多新的东西,产生了浓厚的兴趣。
在设计过程中,软件的联合使用。
KEIL的应用,最典型的就是PROTEUS 软件的应用,以及与我觉得在除此之外,当然最重要的是学到了关于基本电子设计的一些基本方法。
只有虚心请教别人才能有效的解这次设计的过程中,很多自己解决不了的问题,这样不仅能帮助大家很快的解决问题,我觉得人与人之间的相互帮助很有必要,决问题,还能提高我们每个人的实际水平。
给予了我极在本次设计过程中遇到不少问题,老师在我们做设计的过程中,在人生观上也给了我不仅从知识方面引导了我们的设计思路,同时,大的帮助,们不少的启示。
在此,我对老师表示深深的谢意。
参考文献,2012科学出版社年[M].[1] 王思明,张金敏,苟军年等.单片机原理及应用系统设计北京: 年清华大学出版社北京单片机实践与应用吴金[2] .8051[M].:,20026单片机原理及系统课程设计报告[3] 杨子文.单片机原理及应用[M].西安:西安电子科技大学出版社,2006 年附1 源程序代码#include<reg52.h>#define uint unsigned int7单片机原理及系统课程设计报告#define uchar unsigned charuchar code a[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//******************************************************************** *****************sbit K1=P1^4;sbit K2=P1^5;sbit K3=P1^6;sbit K4=P1^7;sbit sd=P3^6;sbit BEEP=P3^7;uchar m=0,h=0,sec=0,cnt=0,x,y,qian,bai,shi,ge;uchar set_h=0;uchar set_m=0;uchar month=1;uchar day=5;uchar th0_f;uchar tl0_f;uint year=2014;void delay(uchar t);//延时函数void scankey(void); //按键扫描函数void init(void); //初始化函数void display(void);//显示函数void set_time(void);//设定时间显示辅助函数void set_day(void); //设定日期显示辅助函数void m_choose(void); //月份选择函数void bianhuan(void); //年份显示辅助函数void bianhuan1(void);//时间显示辅助函数changedata(uchar *song,uchar *diao,uchar *jie);//音乐符号串解释函数void play(uchar *songdata);//奏乐函数//虫儿飞uchar code chongerfei[]={_3_45|3-2-|11_1_23|3.,7_,7_-,632-,632-,6321_1-uchar code freq[36*2]={0xA9,0xEF,//00220HZ ,1 //00x93,0xF0,//00233HZ ,1#0x73,0xF1,//00247HZ ,20x49,0xF2,//00262HZ ,2#0x07,0xF3,//00277HZ ,30xC8,0xF3,//00294HZ ,40x73,0xF4,//00311HZ ,4#0x1E,0xF5,//00330HZ ,50xB6,0xF5,//00349HZ ,5#8单片机原理及系统课程设计报告0x4C,0xF6,//00370HZ ,60xD7,0xF6,//00392HZ ,6#0x5A,0xF7,//00415HZ ,70xD8,0xF7,//00440HZ 1 //120x4D,0xF8,//00466HZ 1# //130xBD,0xF8,//00494HZ 2 //140x24,0xF9,//00523HZ 2# //150x87,0xF9,//00554HZ 3 //160xE4,0xF9,//00587HZ 4 //170x3D,0xFA,//00622HZ 4# //180x90,0xFA,//00659HZ 5 //190xDE,0xFA,//00698HZ 5# //200x29,0xFB,//00740HZ 6 //210x6F,0xFB,//00784HZ 6# //220xB1,0xFB,//00831HZ 7 //230xEF,0xFB,//00880HZ `10x2A,0xFC,//00932HZ `1#0x62,0xFC,//00988HZ `20x95,0xFC,//01046HZ `2#0xC7,0xFC,//01109HZ `30xF6,0xFC,//01175HZ `40x22,0xFD,//01244HZ `4#0x4B,0xFD,//01318HZ `50x73,0xFD,//01397HZ `5#0x98,0xFD,//01480HZ `60xBB,0xFD,//01568HZ `6#0xDC,0xFD,//01661HZ `7 //35};//******************************//音乐符号串解释函数changedata(uchar *song,uchar *diao,uchar *jie){uchar i,i1,j;char gaodi;uchar banyin;uchar yinchang;uchar code jie7[8]={0,12,14,16,17,19,21,23};*diao=*song;for(i=0,i1=0;;){gaodi=0;banyin=0;yinchang=4;if((*(song+i)=='|') || (*(song+i)==' ')) i++;switch(*(song+i))9单片机原理及系统课程设计报告{case ',': gaodi=-12;i++;break;case '`': gaodi=12;i++;break;}if(*(song+i)==0){*(diao+i1)=0;*(jie+i1)=0;return;}j=*(song+i)-0x30; i++;j=jie7[j]+gaodi;yinc: switch(*(song+i)){case '#':i++;j++;goto yinc;case '-':yinchang+=4;i++;goto yinc;case '_':yinchang/=2;i++;goto yinc;case '.':yinchang=yinchang+yinchang/2;i++;goto yinc;}*(diao+i1)=j;*(jie+i1)=yinchang;i1++;}}//****************************************** 10单片机原理及系统课程设计报告//奏乐函数void play(uchar *songdata){uchar i,c,j=0;uint n;uchar diaodata[40];uchar jiedata[40];changedata(songdata,diaodata,jiedata);TR1=1;for(i=0;diaodata[i]!=0;i++){tl0_f=freq[diaodata[i]*2];th0_f=freq[diaodata[i]*2+1];for(c=0;c<jiedata[i];c++){for(n=0;n<24;n++){scankey();if(y==0){TR1=0;return;}display();}}TR1=0;for(n=0;n<500;n++);TR1=1;}TR1=0;}void time0(void) interrupt 1{TH0=0x3c;TL0=0xb0;cnt++;if(y==1&&(set_h==h&&set_m==m))sd=~sd;else sd=1;if(cnt==20){sec++;cnt=0;if(sec==60){sec=0;11单片机原理及系统课程设计报告m++;if(m==60){m=0;h++;if(h==24){h=0;day++;switch(month){case 1:if(day==32){month++;day=1;}break;case 2:if(year%4==0){if(day==30){month++;day=1;}} else{if(day==29){month++;day=1;}}break;case 3:if(day==32){month++;day=1;}break;case 4:if(day==31){month++;day=1;}break;case 5:if(day==32){month++;day=1;}break;case 6:if(day==31){month++;day=1;}break;case 7:if(day==32){month++;day=1;}break;case 8:if(day==32){month++;day=1;}break;case 9:if(day==31){month++;day=1;}break;case 10:if(day==32){month++;day=1;}break;case 11:if(day==31){month++;day=1;}break;case 12:if(day==32){month++;day=1;}break;}if(month==13){month=1;year++;}}}}if(x==0)bianhuan1();}}timer1() interrupt 3{TL1=tl0_f;TH1=th0_f; //调入预定值BEEP=~BEEP; //取反音乐输出IO}void main(void){12单片机原理及系统课程设计报告init();while(1){display();scankey();if(y==1&&(set_h==h&&set_m==m))play(chongerfei);else BEEP=0;}}void init(void){BEEP=0;TMOD=0x11;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;ET1=1;TR1=0;}void display(void){P2=0xfe;P0=a[qian];if(x%2==1&&cnt>=10)P0&=0x00;delay(20);P2=0xfd;P0=a[bai];if(x%2==1&&cnt>=10)P0&=0x00;else if(x==0&&cnt>=10)P0|=0x80;delay(20);P2=0xfb;P0=a[shi];if(((x%2==0&&x!=0)||x==7)&&cnt>=10)P0&=0x00; delay(20);P2=0xf7;P0=a[ge];if(((x%2==0&&x!=0)||x==7)&&cnt>=10)P0&=0x00;delay(20);}13单片机原理及系统课程设计报告void m_choose(void){switch(month){case 1:if(day==32)day=1;else if(day==0)day=31;break;case 2:if(year%4==0){if(day==30)day=1;elseif(day==0)day=29;}else{if(day==29)day=1;elseif(day==0)day=28;}break;case 3:if(day==32)day=1;else if(day==0)day=31;break;case 4:if(day==31)day=1;else if(day==0)day=30;break;case 5:if(day==32)day=1;else if(day==0)day=31;break;case 6:if(day==31)day=1;else if(day==0)day=30;break;case 7:if(day==32)day=1;else if(day==0)day=31;break;case 8:if(day==32)day=1;else if(day==0)day=31;break;case 9:if(day==31)day=1;else if(day==0)day=30;break;case 10:if(day==32)day=1;else if(day==0)day=31;break;case 11:if(day==31)day=1;else if(day==0)day=30;break;case 12:if(day==32)day=1;else if(day==0)day=31;break;}}void set_time(void){qian=set_h/10;bai=set_h_x0010_;shi=set_m/10;ge=set_m_x0010_;}void set_day(void){qian=month/10;bai=month_x0010_;shi=day/10;ge=day_x0010_;}void bianhuan(void){qian=year/1000;bai=year_x0010_00/100;shi=year_x0010_0/10;ge=year_x0010_;}14单片机原理及系统课程设计报告void bianhuan1(void){qian=h/10;bai=h_x0010_;shi=m/10;ge=m_x0010_;}void scankey(void){if(K1==0){delay(20);if(K1==0){while(K1==0);x++;if(x==3)set_time();else if(x==5)set_day();else if(x==7)bianhuan();else if(x==8){x=0;bianhuan1();}}}if(K2==0){delay(20);if(K2==0){while(K2==0);switch(x){case 0:break;case 1:h++;if(h==24)h=0;bianhuan1();break;case 2:m++;if(m==60)m=0;bianhuan1();break;case 3:set_h++;if(set_h==24)set_h=0;set_time();break;case 4:set_m++;if(set_m==60)set_m=0;set_time();break;case 6:day++;m_choose();set_day();break;case 5:month++;if(month==13)month=1;set_day();break;case 7:year++;bianhuan();break;}}}if(K3==0){delay(20);if(K3==0)15单片机原理及系统课程设计报告{while(K3==0);y++;if(y==2)y=0;}}if(K4==0){delay(20);if(K4==0){while(K4==0);switch(x){case 0:break;case 1:h--;if(h==255)h=23;bianhuan1();break;case 2:m--;if(m==255)m=59;bianhuan1();break;case 3:set_h--;if(set_h==255)set_h=23;set_time();break;case 4:set_m--;if(set_m==255)set_m=59;set_time();break;case 6:day--;m_choose();set_day();break;case 5:month--;if(month==0)month=12;set_day();break;case 7:year--;bianhuan();break;}}}}void delay(uchar t) //延时0.1毫秒{uchar i;do{for(i=0;i<23;i++) ;}while(t--);}16。