基于单片机的作息时间控制器设计.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
单片机原理及系统课程设计 "评语: " " " " " " " " " " " " " "考勤(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. 总结 本次课程设计是对所学知识的一次综合性运用。在设计的过程中发现了自身知识的不 足。这次课程设计收获很多,体会也很深刻,并且对我们所学的东西也产生了浓厚的兴 趣。在设计过程中,也学会了很多新的东西,比如一些仿真软件的应用, 【基于单片机的作息时间控制器设计】 课程设计的核心目标在于深入理解和应用单片机的原理及系统,包括单片机最小系统结构、接口技术、键盘扫描和数码管显示等。设计的作息时间控制器旨在通过4位七段显示器显示当前时间(时分格式)、日期(月日格式)以及实现定时功能,当设定时间到达时,触发特定响应,如LED闪烁和音乐播放。 硬件设计部分主要包括以下几个关键模块: 1. **单片机** - 使用的是AT89C52,具备8K字节的FLASH存储、256字节内部RAM、32个I/O端口、3个16位定时器/计数器、两级中断结构和全双工串行通信口。该单片机支持低功耗工作模式,如空闲模式和掉电模式,以适应不同应用场景。 2. **按键控制模块** - 采用独立按键方式,包括四个按键(K1、K2、K3、K4),分别用于模式切换、数值增加、闹钟设置和数值减少。K1用于在不同功能间切换,K2和K4用于数值增减,K3作为闹钟开关。 3. **数码管显示模块** - 四位七段数码管显示时间,每60次LED闪烁代表分钟增加,每60分钟小时增加,每天24小时天数增加。时间显示格式符合日常习惯。 4. **闹钟模块** - 当设定时间与当前时间匹配时,系统启动闹钟功能,LED闪烁一分钟,随后自动停止,也可以通过K3键手动关闭。 软件设计方面,主要涉及主程序和中断子程序: 1. **主程序** - 主程序不断扫描按键输入,处理对应功能,并检查时间是否需要更新。时间更新通过检测秒数变化实现,每过1秒,更新时间数据并在数码管上显示。 2. **中断子程序** - 中断子程序提供时间基准,每连续中断20次代表1秒。此程序还负责管理日期和时间的递增,考虑了月份的天数差异和闰年情况,确保时间的正确推进。 3. **按键扫描子程序** - 关键在于检测按键是否被按下,并根据按键状态执行相应功能,如时间设置、闹钟开启等。 整个设计过程强调了单片机编程、硬件电路设计与调试的综合能力,为电气工程及其自动化专业的学生提供了实践和理论结合的平台。通过这个设计,学生不仅能够深入理解单片机工作原理,还能提升对实际问题的解决能力。同时,课程设计的评分标准涵盖考勤、纪律、设计报告、答辩等方面,全面评估学生的参与度和成果质量。
剩余15页未读,继续阅读
- 粉丝: 192
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助