单片机作息时间控制器系统设计详解

0 下载量 55 浏览量 更新于2024-06-28 收藏 1.42MB DOC 举报
该文档是一份关于基于单片机的作息时间控制器系统的详细设计报告,由重庆三峡学院电子与信息工程学院的文静同学完成,指导教师为谢辉教授。该设计项目旨在利用8位单片机作为核心,结合石英晶体振荡器和定时器功能,实现一个精确的实时时钟控制设备。 1. 课题背景 (1-2段) - 课题源于对日常生活作息管理的需求,通过单片机技术实现自动化的作息时间控制,提高效率。 - 选题背景考虑了单片机在嵌入式系统中的广泛应用,以及在时间管理设备中的实用性。 2. 设计方案论证 (3-4段) - 设计过程中,研究了两种方案:一是数字电路设计,二是基于单片机的设计。后者由于其灵活性、易编程和成本优势被选定。 - 基本方案中,设计者明确了课题目标,即开发一个具有实时显示时间、按键控制和定时打铃功能的控制器。 3. 硬件电路设计 (5-8段) - 电路设计主要包括主控器STC89C525的选择,其作为系统的核心,提供稳定的时钟信号;DS1302作为实时时钟芯片,提供精确的时间读取;电路还包括显示电路、键盘接口电路和响铃电路,以实现用户交互和报警功能。 4. 软件电路设计 (9-12段) - 软件部分着重于中断服务程序的编写,如定时器中断处理,用于实时更新时间显示;同时设计了显示程序和按键判断与处理程序,确保用户界面的响应性。 - 提供了系统主程序流程图和定期中断流程图,直观展示了程序执行的逻辑结构。 5. 系统程序设计 (13-15段) - 程序设计包括程序设计概要和源程序清单,展示了具体代码实现,确保了单片机的指令执行精确控制时钟和输出功能。 6. 硬件原理图与总结 (16-18段) - 文献引用和附录部分详细罗列了设计过程中的各种图纸和清单,如原理电路图、元件清单和实物图,便于理解和复制该系统。 这份设计样本详细地介绍了如何运用单片机技术构建一个具备精准时间显示、用户交互和定时提醒功能的控制器,体现了单片机在时钟管理领域的实际应用能力。
2023-02-27 上传
单片机原理及系统课程设计 "评语: " " " " " " " " " " " " " "考勤(10)"守纪(10 "过程(30)"设计报告(30"答辩(20 "总成绩(100" " ") " ") ") ") " " " " " " " " 专 业:电气工程及其自动化 班 级: 姓 名: 学 号: 指导教师: 兰州交通大学自动化与电气工程学院 2014 年 1 月 13 日 基于单片机的作息时间控制器设计 1. 课程设计目的 (1)进一步熟悉和掌握单片机的最小系统结构及其工作原理。 (2)掌握单片机的接口技术和键盘扫描、数码管显示的原理及拓展使用方法。 (3)通过课程设计,提高综合运用所学知识的能力,掌握单片机程序设计、调试,应用 电路设计、分析及调试检测。 2. 设计方案及原理 本设计是作息时间控制器,设计其实现的功能主要有:使用4位七段显示器来显示当 前的时间,由LED闪动作为秒计数表示,显示格式为"时分", 并可显示日期,显示格式为"月日",年份单独显示。由4个按键来作功能设置,可以设置 现在的日期、时间及定时设置时间,一旦设置的时间到则作出相应动作:发光二极管闪 亮,同时播放音乐。 图1 系统方框图 3. 硬件设计 3.1单片机 AT89C52提供以下标准功能:8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个 16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时 钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模 式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作 。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬 件复位。 3.2 按键控制模块 按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按键方式,程 序的编制上也采用了简单的扫描方式。按键控制模块主要有由四个按键组成:K1、K2、 K3、K4、。其中K1的功能是模式切换键;K2的作用是加一;K3的作用是闹钟使能;K4的 作用是减一。 图2 按键控制模块 3.3 数码管显示模块 时间显示模块主要由四位七段数码管来显示,配合按键控制模块的校正与设定时间, 相应的显示。时间正常显示时,LED每闪动60次,分钟自动加一;每六十分钟小时自动加 一;每24小时天自动加一。 图3 数码管显示模块 3.4 闹钟模块 闹钟模块快的主要功能即闹铃。当设定时间与当前时间一致时,则闹钟自动闹铃进行 提示,同时二极管闪亮一分钟后,自动退出响铃状态,若按K3键,闹钟退出响铃状态。 图4 闹钟模块 4. 软件设计 单片机作息时间控制的动作利用时间计时处理来做秒计数,当所设置的时间到了,则 发出一阵声响。单片机定时器负责定时的计数,不会因为按键处理而中断时间秒数的增 加,时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,而由显示器扫描程序 中定时扫描而显示出时间。 4.1 主程序设计 在主控程序循环中主要工作为扫描是否有按键,若有按键则应做相应的功能处理,同 时也扫描显示器显示时间数据,并检查所设置的时间是否到了,时间计时处理程序是等 过了1S后,则更新时间数据,将最新的时,分,秒的数据转换为数字数据并显示在七段 显示器上。 程序中是这样判断是否过了1S的:设一旧秒数变量,当新旧秒数变量不一样时,则表 示已过了1S,要做相关程序时间处理了。 图5 主程序流程图 4.2 中断子程序 中断子程序的主要功能:提供时间基准。当连续中断20次时,即为一秒,此时秒加一 ;当秒值为60时,分钟加一,同时秒清零;当分钟值为60时,小时加一,同时分钟值清零 ;当小时为24时,天值加一,同时小时清零;由于每月天数不定,1、3、5、7、8、10、 12月为31天,当计数到此类月份时,天值为32时,月值加一,同时天值为1;4、6、9、 11月为30天,当计数到此类月份时,天值为31时,月值加一,同时天值为1;如果是闰年 ,则2月为29天,当计数到此类月份时,天值为30时,月值加一,同时天值为一;如果不 是闰年,则2月为28天,当计数此类月份时,天值为29时,月值加一,同时天值为一。当 月值为13时,则年值加一,同时月值为一。 图6 中断子程序程序流程图 4.3 按键扫描子程序 按键扫描子程序是程序计中相当重要的一部分。按键扫描子程序的功能是:扫描是否 有按键按下,若有键按下,则执行相应功能。 5. 系统仿真 图6 系统仿真图 6. 总结 本次课程设计是对所学知识的一次综合性运用。在设计的过程中发现了自身知识的不 足。这次课程设计收获很多,体会也很深刻,并且对我们所学的东西也产生了浓厚的兴 趣。在设计过程中,也学会了很多新的东西,比如一些仿真软件的应用,