课程设计单片机(时钟打铃系统)

上传人:第*** 文档编号:57353838 上传时间:2018-10-21 格式:DOC 页数:29 大小:3.17MB
返回 下载 相关 举报
课程设计单片机(时钟打铃系统)_第1页
第1页 / 共29页
课程设计单片机(时钟打铃系统)_第2页
第2页 / 共29页
课程设计单片机(时钟打铃系统)_第3页
第3页 / 共29页
课程设计单片机(时钟打铃系统)_第4页
第4页 / 共29页
课程设计单片机(时钟打铃系统)_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《课程设计单片机(时钟打铃系统)》由会员分享,可在线阅读,更多相关《课程设计单片机(时钟打铃系统)(29页珍藏版)》请在金锄头文库上搜索。

1、目录 第 1 章 概述2 1.1 设计要求.2 1.2 设计目的.2 1.3 设计意义.2 第 2 章 系统总体方案选择与说明3 第 3 章 硬件电路设计4 3.1 按键控制模块.4 3.2 时间显示模块.5 3.3 打铃模块.6 第 4 章 应用软件设计8 4.1系统软件设计思想8 4.2 系统主程序.8 4.3 中断子程序.9 4.4 按键扫描子程序.11 第 5 章 系统仿真调试12 5.1 软件简介.12 5.2 软件仿真12 第 6 章 硬件调试与结果分析15 结束语17 致谢18 参考文献19 附录 A 系统硬件电路原理图20 附录 B 程序清单21 评分表29第第 1 章章 概述

2、概述1.1 设计要求本设计要求设计学校作息时间控制器,其设计实现的功能主要有:使用 4 位七段显示器来显示现在的时间,显示格式为“时分” ,由 LED 闪动作为秒计数表示,到响应时间打铃,可冬夏季切换。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。1.2 设计目的增强对单片机的认识,与理解,提高时间能力与水平。学会使用proteus 仿真软件,充分把所学电路、模数电理论与实践结合,了解和掌握单片机设计软件与硬件设计结合过程、方法和实现,以及掌握单片机的内部模块的应用。1.3 设计意义用单片机及 c 语言编程模拟学校作息时间,到时打铃

3、,以及冬季夏季手动切换打铃时间。第第 2 章章 系统总体方案选择与说明系统总体方案选择与说明由按键控制模块控制单片机最小系统的时间、月份、年以及打铃时间,在有单片机控制数码管显示以及蜂鸣器。本次设计实现的功能主要有:使用 4 位七段显示器来显示现在的时间,显示格式为“时分” ,由LED 小数点闪动作为秒计数表示。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。由按键输入控制设置年月日以及当前时间、并可设置闹钟定时,时间到由蜂鸣器发出响声。按按键键控控制制模模块块单单片片机机最最小小系系统统数数码码管管显显示示模模块块闹闹钟钟模模块块图

4、 2-1第第 3 章章 硬件电路设计硬件电路设计3.1 按键控制模块按键控制模块主要有由五个按键组成:K1、K2、K3、K4、K5。分别接 P1.3-P1.7 口。K1 的功能是模式切换键;K2 的作用是加一;K3 的作用是闹钟使能;K4 的作用是减一;K5 的作用是冬夏季切换。图 3-1当需要设定时间或是校正时间,即可按下模式切换键来进行。校正时间:按第一次 K1 键,进入小时校正状态,通过按 K2、K4 键进行小时校正,按一下 K2 键则加一,按一下 K3 键则减一。按第二次 K1 键,进入分校正状态,通过按 K2、K4 键进行分钟校正。按第三次 K1 键,进入小时设定状态,此时若不需要设

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

6、分钟设定。设定完毕后,按一下 K3 键(闹钟使能) 。继续按 K1 键,若不需要设置,则不操作,以此类推,到按最后一次 K1 键则退出时间设定状态并显示当前时间,当时间与我们设定的时间一致时,通过闹钟电路响声提示。若要关闭闹钟,此时再按一次 K3 键即可停止响声。若 k5=1,执行冬季打铃时间。若 k5=0,则执行夏季打铃时间。3.2 时间显示模块本设计采用四位七段共阳数码管做显示模块,其中前两位做时、月份显示,其余两位作为分、日显示,选取前两位的一个 dp 点作为秒点。单片机 P0.0-P0.7 分别接七段数码管的 abcedfg 和 dp 引脚。P2.0-P2.3分别作为四个七段数码管的片

7、选端。图 3-2时间显示模块主要由四位数码管来显示,配合按键控制模块的校正与设定时间,相应的显示。时间正常显示时,LED 每闪动 60 次,分钟自动加一;每六十分钟小时自动加一;每 24 小时天自动加一。3.3 打铃模块单片机 p3.7 口控制蜂鸣器,若数码管显示时间与设定的学校作息时间相同,蜂鸣器模拟打铃一分钟。图 3-3打钟模块快的主要功能:闹铃。当设定时间与当前时间一致时,则闹钟自动闹铃进行提示,一分钟后,自动退出响铃状态,若按 K3 键,闹钟退出响铃状态。第第 4 章章 应用软件设计应用软件设计4.1系统软件设计思想本系软件设计中,利用单片机定时器设计时间计时处理,采用单片机内部的 T

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

9、是等过了 1s 后,则更新时间数据,将最新的时、分的数据转换为数字数据并显示在七段显示器上。蜂蜂鸣鸣器器初初始始化化定定时时器器初初始始化化按按键键扫扫描描判判断断标标志志位位X设设定定闹闹钟钟显显示示函函数数校校正正时时间间显显示示函函数数日日期期显显示示函函数数时时间间显显示示函函数数年年份份显显示示函函数数X=0X=1、2X=3、4X=5、6X=7图 3-2 主程序流程图4.3 中断子程序中断子程序的主要功能:提供时间基准。当连续中断 20 次时,即为一秒,此时秒加一。当秒值为 60 时,分钟加一,同时秒清零;当分钟值为 60 时,小时加一,同时分钟值清零。当小时为 24 时,天值加一,

10、同时小时清零。由于每月天数不定,1、3、5、7、8、10、12 月为 31 天,当计数到此类月份时,天值为 32 时,月值加一,同时天值为 1;4、6、9、11 月为 30 天,当计数到此类月份时,天值为 31 时,月值加一,同时天值为1。如果是闰年,则 2 月为 29 天,当计数到此类月份时,天值为 30 时,月值加一,同时天值为一。如果不是闰年,则 2 月为 28 天,当计数此类月份时,天值为 29 时,月值加一,同时天值为一。当月值为 13 时,则年值加一,同时月值为一。设设置置定定时时器器初初值值是是否否到到一一秒秒?秒秒变变量量加加一一是是否否到到60秒秒?秒秒值值清清零零、分分值值

11、加加一一是是否否到到60分分?分分值值清清零零、小小时时加加一一是是否否到到24小小时时?小小时时清清零零、天天值值加加一一是是否否到到一一月月?天天值值为为1、月月值值加加一一是是否否到到一一年年?月月值值为为1、年年值值加加一一返返回回主主函函数数YYYYYYNNNNNN图 3-3 定时器中断函数4.4 按键扫描子程序按键扫描子程序是程序计中相当重要的一部分。按键扫描子程序的功能是:扫描是否有按键按下,若有键按下,则执行相应功能。是否有键按下 返回模 式 按 键 切 换 处 理k1相 应 设 定 变 量 加 一打 铃 使 能相 应 设 定 变 量 减 一YNK2K3K4设计中包含了防抖动程

12、序,延时 20ms,判断是否为抖动,若不是抖动则执行相应程序功能。第第 5 章章 系统仿真调试系统仿真调试5.1 软件简介本次课程设计仿真主要采用 proteus。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。5.2 软件仿真启动 Proteus 进行仿真时显示的初始化时间。初始界面仿真图如图:图 5-1时间校正:当我们需要正确的显示时间即可进行时间校正,按一下K1 即进入小时校正状态,通过 K2 加一或 K4 减一来进行小时校正,再按一次

13、 K1 键即可进行分钟校正,校正原理同小时校正相同。其仿真图如图 5-2 所示。图 5-2日期校正:当我们需要与当前日期保持一致时,则可以使用日期校正功能,连续按动五次 K1 键,则进入月份校正状态,通过 K2 加一键或K4 减一键进行校正月份,再按一次 K1 键,则可进行日期校正,校正原理同月份校正原理相同。其仿真图如图 5-3。图 5-3年份校正:当我们需要保持年份与当前年份一一致时,则可以进行年份校正。连续按动七次 K1 键,即进入年份校正状态,通过 K2 加一键或 K4 减一键进行校正。其仿真图如图 5-4 所示。图 5-4到时打铃:当单片机显示时间与设定学校打铃时间相同时,蜂鸣器响。

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

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

16、我由最初的不知所措到后来的获益良多,觉得这两周过得很充实,也积累了一些设计的宝贵经验。这些离不开我的团队对我的帮助,更离不开王老师的悉心指导。参考文献参考文献附录附录 A 系统硬件电路原理图系统硬件电路原理图附录附录 B 程序清单程序清单#include #define uint unsigned int #define uchar unsigned char uchar code a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; sbit K1=P14; sbit K2=P15; sbit K3=P16; sbit K4=P17; sbit sd=P10; sbit BEEP=P37; uchar m=59,h=7,sec=30,cnt=0,x,y,qian,bai,shi,ge; uchar set_h=8; uchar set_m=6; uchar month=6; uchar day=12; uchar th0_f; uchar tl0_f

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

当前位置:首页 > 高等教育 > 大学课件

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