单片机课程设计之自动打铃系统
- 格式:docx
- 大小:123.93 KB
- 文档页数:16
自动打铃系统----学校上下课自动打铃设计设计人:要求:(1)实现上下课的打铃,并通过语音提示上下课;(2)按下开机键,显示当前年月日时间,在LCD液晶屏显示年,月,日,星期,时,分,秒,年-月-日-星期显示在第一行,格式xx-xx-xx-星期x;时分秒显示在第二行,格式xx-xx-xx(24小时格式);(3)能够设置当前时间;(4)使用语音芯片提示上下课,上课时提示:“亲爱的同学们,上课了”,重复2遍,下课时提示:“亲爱的同学们,下课了“,重复2遍。
(5)允许使用时钟芯片。
《摘要》单片机的外接石英晶体振荡器能提供稳定、准确的基准频率,并经12分频后向部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,便可得秒信号,再对秒信号进行计数便可得到分、时等实时时钟信息。
如果石英晶体振荡器的频率信号为6MHZ,设定定时器定时工作方式1下,定时器为3CBOH,则定时器每100ms产生1次中断,在定时器的中断定时处理程序中,每10次中断,则向秒计数器加1,秒计数器计数到60则向分计数器进位(并建立分进位标志),分计数器计数自动打铃系统,是以一片8位单片机为核心的实时时钟及控制系统。
我们知道到60,则向时计数器进位,如此周而复始的连续计数,便可获得时、分、秒的信号,建立一个实时时钟。
接下来便可以进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间(小时与分、存放在RAM中)与信息时间表上的作息时间(小时与分,存放在ROM)是否相同,如有相同者,则进行报时处理并控制打铃,如有不相同则返回主程序,如此便实现了报时控制的要求。
《关键词》单片机;时间设置电路;计时电路;显示电路;定时打铃控制电路《引言》始的无人问津到现在的随处可见,红绿灯,记分牌,电子秒表,遥控器,电饭煲,电视等只要是电子产随着科技的不断发展,各种芯片都得到了很好的发展,80C51 同样如此,从开品,都会和芯片有关,其实芯片并不是什么神秘的高科技,它只是里面装了一些己编好的程序而己.而这里要介绍的是用汇编语言来编程的一个系统,它能够让一个学校或企业集团实现打铃自动化,总之,一个需要时间系统的机构实现自动提醒功能。
基于单片机的打铃系统一、系统简介打铃系统是一种用于管理学校、工厂、办公室等场所时间的设施,它可以自动地、准确地实现时间的管理。
本文所介绍的打铃系统基于单片机开发,通过编程实现各种铃声的播放,实现按时响铃的功能。
二、系统硬件组成打铃系统基于AT89S52单片机实现。
除了单片机之外,还需要以下硬件:1.时钟电路:用于提供准确的时钟信号。
2.按键:用于设定铃声和时间,以及启动和停止铃声。
3.位选器:用于选择哪个七段数码管进行显示。
4.七段数码管:用于显示当前时间和设定的时间。
5.蜂鸣器:用于播放铃声。
6.电源模块:用于提供系统所需的电源。
三、系统程序实现1.时钟模块时钟模块是整个打铃系统的核心模块,它通过内部定时器实现时钟计时。
定时器的具体参数需要根据外部晶体振荡器的频率进行设置。
在计时过程中,将当前时间实时显示在七段数码管上,并提供按键设置时间的功能。
2.铃声模块铃声模块主要负责蜂鸣器的控制,通过控制蜂鸣器的高低电平来实现各种铃声的播放。
在设定的时间到达时,蜂鸣器会自动响起预先设置好的铃声。
当按下停止键时,蜂鸣器会停止响铃。
四、系统优化设计为了提高打铃系统的稳定性和可靠性,需要进行一些优化设计。
其中的一些优化设计包括:1.电源管理:系统的电源管理非常重要,可以通过使用稳压器等组件来提高系统的抗噪声性能和稳定性。
2.按键处理:按键可以使用中断或轮询的方式进行处理,使用中断方式可以提高系统的实时性。
3.时钟精度:系统的时钟精度非常关键,需要使用高精度的外部晶体振荡器并进行一定的校准以提高时钟的准确性。
四、系统应用本文所介绍的打铃系统可以广泛应用于学校、工厂、办公室等场所。
它可以帮助管理者准确地掌握各个时间点,提高管理效率和准确性。
同时,通过优化设计可以大大提高系统的性能和稳定性。
五、总结打铃系统是一种非常实用的设施,通过单片机等电子技术的应用,可以实现自动化、智能化的时间管理。
本文介绍了基于单片机的打铃系统的硬件组成和程序实现,以及针对性的优化设计,以期为相关领域的读者提供一些借鉴和参考。
单片机自动控制打铃系统,是以一片8位单片机为核心的实时时钟及控制系统.我们知道单片机的外接石英晶体震荡器能提供稳定、准确的基准频率,并经12分频后向内部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,便可得到秒信号,再对秒信号进行计数便可得到分、时等实时时钟信息.如果石英晶体震荡器的频率信号为6MHZ,设定定时器定时器工作在方式1下,定时器为3CB0H,则定时器每100ms产生1次中断,在定时器的中断定时处理程序中,每10次中断,则向秒计数器加1,秒计数器计数到60则向分计数器进位(并建立分进位标志),分计数器计数到60,则向时计数器进位,如此周而复始的连续技术,便可获得时、分、秒的信号,建立一个实时时钟.接下来便可以进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间(小时与分、存放在RAM中)与信息时间表上的作息时间(小时与分,存放在ROM)是否相同,如有相同者,则进行报时处理并控制打铃,如有不相同则返回主程序,如此便实现了报时控制的要求.2.2 ISP下载电缆的电路及程序设计简介能实现ISP功能的硬件电路,通常被称为“下载电缆”。
ATMEL公司推出的AT89S51/52单片机就具有ISP功能。
用计算机并行口实现ISP功能,在电路设计上非常灵活。
(1)下载电缆的电路设计:计算机并行接口共有25个口线,主要包括数据端口D0~D7(端口地址为378H,用于数据输出);状态端口Busy、nAck、PE、Select、nError(端口地址为379H,用于数据输入);控制端口nSelin、nlnit、nStrobe(端口地址为37AH,用于输出控制)。
从中选出4个口线来模拟ISP所需的引脚,就非常灵活,只需考虑数据的输入、输出方向及操作方便即可。
但要注意同一端口的数据方向必须一致,例如数据端口是8位同时操作的,只能全部作为输入或输出,而不能将一部分做输入,另一部分做输出。
单片机系统课程设计课程设计名称:自动打铃器设计专业班级:XXXX学生姓名:XXXX学号:XXXXXXXX指导教师:XXX课程设计地点:XXXX课程设计时间:XXXXXXXXXX单片机系统课程设计任务书学生姓名专业班级自动化学号题目自动打铃器设计课题性质工程设计课题来源老师拟定指导老师XXX主要内容(参数)基于89c51单片机可以实现以下功能:1、根据自己需要设计打铃时间,到定时时间自动打铃。
2、8位LED动态显示,实现表24小时制计时和显示功能。
3、能设置当前时间4、可以随时更改打铃时间任务要求(进度)1、查阅有关资料,熟悉设计任务要求,确定设计方案,大概需要1——2天。
2、按照确定的方案设计单元电路,画出单元电路图,元件及元件参数的选择有依据,大概需要1——2天的时间3、软件设计及编写程序,大概需要1——2天的时间。
4、实验室调试,需要1——2天。
5、撰写课程设计报告。
要求内容完整、图表清晰、文理流畅、格式规范、方案合理设计正确。
主要参考资料[1]张迎新.单片机原理、应用及接口技术[M].北京:国防工业出版社,2004[2]李光飞.单片机课程设计实例[M].北京:北京航天航空大学出版社,2004[3]周润景,袁伟婷,景晓松.Proteus在MCS-51系统中的应用[M].北京:电子工业出版社,2006[4] 邓兴成.单片机原理与实践指导.北京:机械工业出版社,2010[5] 阎石.数字电子技术基础.北京:高等教育出版社,2009审查意见系(教研室)主任签字:年月日目录1概述 (5)1.1研究背景 (5)1.2设计思想及基本功能 (5)2总体设计 (5)2.1模块设计 (5)2.2程序流程图 (5)3硬件单元设计 (6)3.1电路设计总原理图 (7)3.2各模块电路设计 (7)3.2.1键盘扫描模块 (7)3.2.2时钟与复位模块 (8)3.2.3显示模块 (8)3.2.4响铃模块 (9)4软件设计 (9)4.1键盘扫描程序 (9)4.2主程序 (10)4.3显示程序 (13)4.4响铃程序 (14)5 总结 (17)6参考文献 (17)7附录 (18)1 概述1.1研究背景现代社会的发展越来越快,人们的时间观念也越来越强。
单片机课程设计之自动打铃系统这是我们本学期的单片机课程设计题目,程序就是在昨天的数字钟的根底上增加了一些容,不想继续做了,还有一门考试要复习。
设计一台自动打铃系统一、设计任务用单片机器件为主体,设计一台自动打铃系统。
〔1〕按照设计标准,画出系统框图和系统硬件电路图。
〔2〕完成该课题的程序设计,提交程序设计框图及程序设计清单。
〔3〕提交课程设计报告二、设计要求〔一〕根本要求〔1〕根本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示。
〔2〕能设置当前时间(含上、下午,时,分)〔3〕能实现根本打铃功能,规定:上午6:00起床铃:打铃5秒、停2秒、再打铃5秒。
下午10:30熄灯铃:打铃5秒、停2秒、再打铃5秒。
铃声可用小喇叭播放,但凡用到铃声功能的均按此处理〔二〕发挥局部〔1〕增加整点报时功能,整点时响铃5秒,要求有控制启动和关闭功能。
〔2〕增加调整起床铃、熄灯铃时间的功能。
〔3〕增设上午4节课的上下课打铃功能,规定如下:7.30 上课,8.20下课:8.30上课,9.20下课;9.40 上课,10.30下课;10.40上课,11.30下课;每次铃声5秒。
〔4〕特色和创新自选。
三、设计步骤〔1〕设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏;〔2〕进展软件设计,利用单片机系统时钟先设计一个高精度的部时钟系统,最小准确时间为期1秒;〔3〕在秒计数器的根底上设计一个24小时时钟,并设计假设干定时功能;〔4〕设计打铃执行机构,完成自动打铃功能。
四、课程设计说明书要求后面略......公开我的主要设计资料:主程序流程图:汇编程序清单:/***************************************************************程序名称:51单片机自动打铃系统简要说明:实现24小时制电子钟,8位数码管显示,显示时分秒显示格式:23-59-59〔小时十位如果为0那么不显示〕到预定时间启动蜂鸣器模拟打铃,蜂鸣器BEEP:P3.7 打铃方式分起床、熄灯铃和上、下课铃两种系统使用4只按键,3只按键用来调整时间,fpc连接器,防水连接器,连接器论坛,供给.ljqw./sell另一只为强制打铃按钮调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁增加键ADD_KEY:P1.1;按一次使选中位加1 减少键DEC_KEY;P1.2;按一次使选中位减1 如果长按ADD_KEY或D EC_KEY,识别后那么进展调时快进,此时停顿闪烁如果选中位是秒,那么按增加键或减少键都是将秒清零强制打铃键DALING_KEY:P1.3;用来强制打铃或强制关闭铃声P0口输出数码管段选信号,P2口输出数码管位选信号。
目录一、设计任务和性能指标 (2)1.1设计任务 (2)1.2性能指标 (2)二、设计方案 (2)三、系统硬件设置 (3)3.1、单片机最小系统 (3)3.2时钟电路DS1302 (4)3.3、显示电路的设计 (5)3.4、键盘接口的设计 (5)3.5打铃电路的设计 (6)四、系统软件设计 (7)4.1程序流程图 (7)4.2主程序设计 (10)4.3显示子程序的设计 (11)五、调试及性能分析 (12)5.1调试步骤 (12)5.2性能分析 (12)六、心得体会 (12)参考文献 (13)附录1 系统硬件电路图 (14)附录2 程序清单 (15)一、设计任务和性能指标1.1设计任务用单片机器件为主体,设计一台自动打铃系统。
(一)基本要求1、基本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示。
2、能设置当前时间(含上、下午,时,分)。
3、能实现基本打铃功能,规定:上午6:00起床铃:打铃5秒、停2秒、再打铃5秒。
下午10:30熄灯铃:打铃5秒、停2秒、再打铃5秒。
铃声可用小喇叭播放,凡是用到铃声功能的均按此处理。
(二)发挥部分1、增加整点报时功能,整点时响铃5秒,要求有控制启动和关闭功能。
2、增加调整起床铃、熄灯铃时间的功能。
3、增设上午4节课的上下课打铃功能,规定如下:7.30 上课,8.20下课:8.30上课,9.20下课;9.40 上课,10.30下课;10.40上课,11.30下课;每次铃声5秒。
4、特色和创新自选。
1.2性能指标1.时钟:上下午(1位)、时(2位) 、分(2位)2.校对键:确认键/设置键、右移键/灭铃键、加键、减键3.响铃:蜂鸣器二.设计方案二、设计方案按照系统设计的功能的要求,初步确定设计系统由主控模块、时钟模块、显示模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示通过内部定时产生中断,从而驱动电铃打铃。
电路系统构成框图如图1.1所示。
1.任务
单片机实现按照下面表格的时刻设定各个时间节点,到一个时间节点就打铃。
通过键盘实现对时间节点的设定,设定的时间数值保存到内存当中。
利用定时器实现对当前时刻的累加,并通过数码管不断显示。
打铃通过蜂鸣器来实现。
当然,为简化自己的程序,不必完全实现下表中所有的时间节点。
打铃情况设计
2.思路
单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。
建立完一个实时时钟后接下来进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间与信息时间表上的作息时间是否相同,相同者,则进行报时处理并控制打铃,不相同则返回主程序。
其余请参考《基于单片机的电子时钟的设计》文档。
目录前言................................................................... . (1)第1章方案比较与选择 (2)1.1系统的比较与选................... ..... .... ......... (2)1.2显示器的比较与选择 (2)1.3时钟芯片的比较与选择................... . (2)第2章系统框图 (3)2.1系统框图 (3)第3章原理分析 (4)3.189C52简介 (4)3.2键盘控制模块 (7)3.3时钟电路模块............. ............. ............. ........... . (7)3.4复位电路模块........... ........ ........... ................ .. (7)3.5系统电源模块........ ........ ........... ................ ....... (8)3.6液晶显示模块........ ........ ........... ................ ......... .. (8)3.7打铃模块....... ........ . ......... .......... ................ .. (9)3.8 ISP下载线接口....... ........ .......... .......... ............ . (9)第4章系统软件设计 (10)4.1软件调试 (11)结论..................................................... .............13 致谢.................... .... .... .... .... ...................... (24)参考文献....................... ..... ..... ..... .. (26)单片机打铃系统设计前言随着现代科技的发展,管理水平的完善,具有自动提示功能的打铃器能够为企业节省人力资源,减少开支,对做到一体化管理具有很大的帮助。
定时闹钟单片机课程设计一、课程设计概述本次课程设计的主要目的是通过学习单片机的基本原理和应用,掌握单片机的编程技术和应用能力,完成一个定时闹钟的设计。
二、课程设计内容1. 硬件设计(1)电源模块:使用稳压电源芯片LM7805实现5V直流电源输出。
(2)时钟模块:使用DS1302实时时钟芯片,实现时间显示和闹钟功能。
(3)数码管模块:使用共阳数码管,通过74HC595芯片驱动。
(4)按键模块:使用矩阵按键模块,实现对时间设置和闹钟设置等操作。
2. 软件设计(1)初始化程序:对各个模块进行初始化设置。
(2)显示程序:将当前时间和闹钟时间显示在数码管上。
(3)设置程序:通过按键输入,实现对时间和闹钟时间的设置。
(4)闹铃程序:在设定的闹钟时间到达时,触发蜂鸣器响铃。
三、课程设计步骤1. 硬件设计首先进行硬件电路图的绘制,并进行元器件选型。
根据电路图进行焊接和调试。
其中需要注意以下几点:(1)稳压电源芯片的输入电压需要在7V以上。
(2)DS1302时钟芯片的接线需要按照电路图进行,同时需要设置时钟芯片的时间和闹钟时间。
(3)数码管模块需要进行74HC595芯片的驱动设置,同时需要设置数码管显示的位数和显示内容。
(4)矩阵按键模块需要进行按键扫描程序设计,并设置对应的操作功能。
2. 软件设计根据硬件设计完成后,进行软件程序设计。
主要包括以下几个部分:(1)初始化程序:对各个模块进行初始化设置,如时钟芯片、数码管、矩阵按键等。
(2)显示程序:将当前时间和闹钟时间显示在数码管上。
可以通过时钟芯片获取当前时间,并将其转换为数码管可以显示的格式。
(3)设置程序:通过矩阵按键输入,实现对时间和闹钟时间的设置。
可以通过编写按键扫描函数来实现对按键输入的检测,并根据不同的按键操作来实现对应的功能。
(4)闹铃程序:在设定的闹钟时间到达时,触发蜂鸣器响铃。
可以通过判断当前时间是否等于设定闹钟时间来触发蜂鸣器响铃,并在屏幕上显示提示信息。
摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
简易自动打铃系统的出现,使学校上下课铃声得以有效管制,对于减轻学校管理人员工作量、提高学校各工作效率,减少管理人员因忘记打铃,从而导致老师拖延课程时间起到明显效果。
本系统采用单片机STC89C52为中心器件来设计简易自动打铃控制器,系统实用性强、操作简单、扩展性强。
关键词:单片机;8255扩张芯片;数码管显示时钟模块;键盘调时钟模块;定时蜂鸣器鸣叫模块。
目录简易自动打铃系统 (1)设计要求 (1)1方案论证与对比 (1)1.1方案一 (1)1.2方案二 (1)1.3方案对比与选择 (1)2单元电路设计与计算 (2)2.1复位电路 (2)2.2时钟电路 (2)2.3按键电路 (3)2.4数码显示功能说明 (4)2.5蜂鸣器电路 (4)3系统软件工作流程 (5)3.1系统软件设计流程图 (5)3.2按键处理流程图 (5)3.3定时器中断流程图 (6)3.4响铃流程图 (7)4系统功能测试与整体指标 (8)4.1系统各功能模块的性能调试与测试 (8)4.2系统功能测试 (9)4.3系统误差原因分析 (9)4.4系统整体指标测试 (9)5详细仪器清单 (10)6总结与思考致谢 (10)7参考文献 (11)附录一:总设计原理图 (11)附录二:总设计PCB板图 (12)附录三:程序 (13)简易自动打铃系统设计要求利用单片机作为控制核心,完成一个简易自动打铃系统。
具体功能要求如下:(1)基本计时和显示功能(12小时制)。
可设置当前时间(包括上下午标志,时、分的数字显示)。
(2)能实现基本打铃功能,规定:上午7:30早自习:打铃5秒、停2秒、再打铃5秒。
课程设计任务书2013—2014学年第二学期专业:电子信息工程学号:姓名:课程设计名称:单片机原理及应用课程设计设计题目:自动打铃电路设计完成期限:自2014 年 5 月19 日至2014 年 6 月 1 日共 2 周一、设计依据提示作息时间的打铃器在各学校、企业等单位经常被使用,其中智能程控打铃器应运最广泛。
智能程控打铃器不但解除了作息管理的麻烦,它还可以控制电器设备自动的周期性工作。
因此设计作息时间自动打铃电路对于使用和维护这类设备有着触类旁通的现实意义。
熟悉所学的单片机知识设计出理论框图。
设计出符合要求的整体硬件电路图,包括时间显示电路、响铃电路、校时电路等。
编写软件程序,使电路具备时间显示,按预定时间响铃及校正时、分、秒的功能。
该设计应根据预定的响铃时间不同给出相应不同的电路设计和软件程序,对器件选择、线路连接要有较深入地分析探讨,对软件设计要求应有一定的软件流程和程序;同时写出合格的课程设计说明书。
二、要求及主要内容1.按照设计要求,画出系统框图和系统硬件电路图。
2. 有基本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示。
3.能设置当前时间,且具有校时功能,能实现基本打铃功能,铃声可用小喇叭播放。
4. 编写软件程序。
要求最终正确无误地完成全部软件设计,并具有一定先进性,给出进一步提高性能的深入分析,对电路设计也应提出建设性意见并写出合格的课程设计说明书,圆满完成各项任务。
三、途径和方法1.硬件电路及软件程序设计设计一个能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏;先画流程图再根据流程图写程序,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒;在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能;设计打铃执行机构,完成自动打铃功能。
2.选芯片, 元件按设计连线3.调试(1)输入程序;(2)编译、连接,用连续方式运行程序;四、时间安排1.课题讲解:2小时。
湖南人文科技学院课程设计报告课程设计:单片机课程设计设计题目:自动打铃系统系别:通信与操纵工程系专业:电子信息工程班级:学生姓名:学号:起止日期:指导教师:教研室主任:摘要单片机确实是微操纵器,是面向应用对象设计、突出操纵功能的芯片。
单片机接上晶振、复位电路和相应的接口电路,装载软件后就能够够组成单片机应用系统。
将它嵌入到形形色色的应用系统中,就组成了众多产品、设备的智能化核心。
本设计确实是应用单片机壮大的操纵功能制作而成的闪烁的LED小灯,该设计包括以下几点功能:实现24小时制电子钟,6为数码管显示,显示时分,显示格式为A/P 12—00,打铃时刻为早:7:30 ,晚:10:30;系统利用2只按键,一个用于调整分钟,一个为小时调整。
本设计采纳的是STC89C52单片机,该单片机采纳的MCU51内核,因此具有专门好的兼容性,内部带有8KB的ROM,能够存储大量的程序,最突出特点是具有ISP在系统烧写功能,使得烧写程序加倍方便。
显示器件采纳通用型七段共阴极数码管;键盘调整部份采纳的是独立键盘。
通过这次设计能够加倍牢固的把握单片机的应用技术,增强动手能力、硬件设计能力和软件设计能力。
关键字:单片机;电子钟;打铃;晶振;数码管;按键目录第一章方案论证设计................................................................ 错误!未定义书签。
1.1 设计的应用意义........................................................... 错误!未定义书签。
1.2 设计方案选择............................................................... 错误!未定义书签。
1.3 整体设计框图............................................................... 错误!未定义书签。
目录第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章概述1.1 设计要求本设计要求设计学校作息时间控制器,其设计实现的功能主要有:使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED闪动作为秒计数表示,到响应时间打铃,可冬夏季切换。
可以设定作息时间,并进行到时提示。
能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。
1.2 设计目的增强对单片机的认识,与理解,提高时间能力与水平。
学会使用proteus仿真软件,充分把所学电路、模数电理论与实践结合,了解和掌握单片机设计软件与硬件设计结合过程、方法和实现,以及掌握单片机的内部模块的应用。
1.3 设计意义用单片机及c语言编程模拟学校作息时间,到时打铃,以及冬季夏季手动切换打铃时间。
第2章系统总体方案选择与说明由按键控制模块控制单片机最小系统的时间、月份、年以及打铃时间,在有单片机控制数码管显示以及蜂鸣器。
本次设计实现的功能主要有:使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED小数点闪动作为秒计数表示。
可以设定作息时间,并进行到时提示。
能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。
由按键输入控制设置年月日以及当前时间、并可设置闹钟定时,时间到由蜂鸣器发出响声。
《微机原理与接口技术》课程设计任务书(一)
题目:自动打铃系统设计
一、课程设计任务
本课题要求应用以51单片机为核心设计一自动打铃系统,能完成基本计时和显示功能,用LCD显示时间、铃声可用蜂鸣器发出。
二、课程设计目的
通过本次课程设计使学生掌握:1)掌握以单片机为核心的控制系统的分析和设计的基本方法;2)控制程序的设计及实现方法;3)提高学生对单片机实时控制系统的设计和调试能力。
三、课程设计要求
基本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示,并能设置当前时间(含上、下午,时,分)。
能实现基本打铃功能,规定:
上午8:00上课铃:打铃10秒、停2秒、再打铃10秒。
下午5:30下课铃:打铃10秒、停2秒、再打铃10秒。
四、课程设计内容
1、人机对话“界面”的设计;
2、内存端口及外设的设置;
3、硬件电路原理图、软件清单。
五、课程设计报告要求
报告中提供如下内容:
1、目录
2、正文
(1)课程设计任务书;
(2)总体设计方案
(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;
(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);
(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序的名称及其功能);
(6)调试、运行及其结果;
3、收获、体会
4、参考文献
六、课程设计进度安排
七、课程设计考核办法
本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%。
基于单片机的教学打铃控制器设计随着社会的快速发展和教育的变革,学校的管理也越来越智能化。
其中,教学打铃系统尤其是一项必需的管理手段。
然而,在传统的打铃系统中,存在诸多问题,例如频繁出现的故障、安装和维护成本高昂以及难以满足不同场合的多样化需求等。
因此,基于单片机的教学打铃控制器应运而生,成为教学管理的重要工具。
基于单片机的教学打铃控制器是一种高效可靠、精度高、注册应用广泛的数字化打铃系统。
与传统打铃系统相比,它使用单片机作为核心控制器,实现程序控制,程序实时性好,可靠性高。
同时,该系统具有更多的功能,如定时功能、周计划功能、多语言查询等,能够满足各种不同的场合与需求。
该系统的硬件主要包括打铃控制器、时钟电路、显示器、键盘等部分。
打铃控制器采用单片机,通过输入、处理、输出的方式实现了控制信号的转换与传递。
时钟电路则可精确地控制打铃时间,增强了系统的稳定性。
显示器和键盘则起到人机交互的作用,在更方便且人性化的操作中发挥了至关重要的作用。
在软件方面,该控制器系统主要设计功能包括实时时钟、计时计划、语音提示、多级权限等。
实时时钟功能可根据自行设定的时间表档案精确设置铃声播放时间。
计时计划则可以通过统计不同的节次和课程时间来实现不同的课程的铃声控制。
在语音提示功能中,您可以将语音文件录入系统,并实现系统的语音提示功能。
多级权限功能可以有效地实现不同权限的用户对铃声的控制,从而避免了教学管理中出现的非法操作和误操作等。
在教学管理中,基于单片机的教学打铃控制器有着广泛的应用,特别是在学校、科研机构、实验室等场所。
其优越的性能和丰富的功能使其成为教学管理的不可或缺的一部分。
通过该系统,学校教育管理人员可以更好地实现对铃声的管理和控制,有效地提高学校的学习效率。
总之,基于单片机的教学打铃控制器是一种高效、精准且具备广泛应用前景的数字化打铃系统。
它的应用为学校教学管理提供了较好的解决方案,不仅便捷高效,而且成本低廉、维护简单。
单片机课程设计之自动打铃系统这是我们本学期的单片机课程设计题目,程序就是在昨天的数字钟的基础上增加了一些内容,不想继续做了,还有一门考试要复习。
设计一台自动打铃系统一、设计任务用单片机器件为主体,设计一台自动打铃系统。
(1)按照设计标准,画出系统框图和系统硬件电路图。
(2)完成该课题的程序设计,提交程序设计框图及程序设计清单。
(3)提交课程设计报告二、设计要求(一)基本要求(1)基本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示。
(2)能设置当前时间(含上、下午,时,分)(3)能实现基本打铃功能,规定:上午6:00起床铃:打铃5秒、停2秒、再打铃5秒。
下午10:30熄灯铃:打铃5秒、停2秒、再打铃5秒。
铃声可用小喇叭播放,凡是用到铃声功能的均按此处理(二)发挥部分(1)增加整点报时功能,整点时响铃5秒,要求有控制启动和关闭功能。
(2)增加调整起床铃、熄灯铃时间的功能。
(3)增设上午4节课的上下课打铃功能,规定如下:7.30 上课,8.20下课:8.30上课,9.20下课;9.40 上课,10.30下课;10.40上课,11.30下课;每次铃声5秒。
(4)特色和创新自选。
三、设计步骤(1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏;(2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒;(3)在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能;(4)设计打铃执行机构,完成自动打铃功能。
四、课程设计说明书要求后面略......公开我的主要设计资料:主程序流程图:汇编程序清单:/***************************************************************程序名称:51单片机自动打铃系统简要说明:实现24小时制电子钟,8位数码管显示,显示时分秒显示格式:23-59-59(小时十位如果为0则不显示)到预定时间启动蜂鸣器模拟打铃,蜂鸣器BEEP:P3.7打铃方式分起床、熄灯铃和上、下课铃两种系统使用4只按键,3只按键用来调整时间,fpc连接器,防水连接器,连接器论坛,供应另一只为强制打铃按钮调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁增加键ADD_KEY:P1.1;按一次使选中位加1减少键DEC_KEY;P1.2;按一次使选中位减1如果长按ADD_KEY或DEC_KEY,识别后则进行调时快进,此时停止闪烁如果选中位是秒,则按增加键或减少键都是将秒清零强制打铃键DALING_KEY:P1.3;用来强制打铃或强制关闭铃声P0口输出数码管段选信号,P2口输出数码管位选信号。
晶振12M编写:最后更新:09/1/2晚***************************************************************/ BEEP EQU P3.7;定义蜂鸣器(电铃)控制信号输出口ORG 0000H;程序入口地址LJMP STARTORG 000BH;定时器0中断入口地址LJMP TIMER_0ORG 0300H/*****程序开始,初始化*****/START:SETB BEEP;关闭蜂鸣器(电铃)SETB 48H;使用一个bit位用于调时闪烁标志SETB 47H;使用一个bit位用于产生脉冲用于调时快进时基CLR 45H;关闭响铃方式1标志CLR 44H;关闭响铃方式2标志MOV R1,#0;调整选择键功能标志:0正常走时、1调时、2调分、3调秒MOV 20H,#00H;用于控制秒基准时钟源的产生MOV 21H,#00H;清零秒寄存器MOV 22H,#00H;清零分寄存器MOV 23H,#00H;清零时寄存器MOV 24H,#00H;用于控制调时闪烁的基准时钟的产生MOV IP,#02H;IP,IE初始化MOV IE,#82HMOV TMOD,#01H;设定定时器0工作方式1MOV TH0,#3CHMOV TL0,#0B0H;赋定时初值,定时50msSETB TR0;启动定时器0MOV SP,#40H;重设堆栈指针/*****主程序*****/MAIN:CJNE R1,#00H,MAIN1;是否为正常走时状态LCALL BIJIAO1;调用起床、熄灯打铃比较子程序LCALL BIJIAO2;调用上、下课打铃比较子程序LCALL DALING1;调用响铃方式1执行子程序LCALL DALING2;调用响铃方式2执行子程序MAIN1:LCALL DISPLAY ;调用显示子程序LCALL KEY_SCAN ;调用按键检测子程序JZ MAIN;无键按下则返回重新循环LCALL SET_KEY ;调用选择键处理子程序JB 46H,MAIN;如果已进行长按调整(调时快进),则不再执行下面的单步调整LCALL ADD_KEY;调用增加键处理子程序LCALL DEC_KEY;调用减少键处理子程序LCALL DALING_KEY;处理强制打铃/强制关闭铃声键LJMP MAIN ;重新循环/*****定时中断服务程序*****/TIMER_0:PUSH ACCPUSH PSW ;保护现场MOV TH0,#3CHMOV TL0,#0B0H ;重新赋定时初值CPL 47H;产生脉冲用于调时快进时基INC 24HMOV A,24HCJNE A,#10,ADD_TIME;产生0.5秒基准时钟,用于调时闪烁CPL 48H;取反调时闪烁标志位MOV 24H,#00HADD_TIME:INC 20HMOV A,20HCJNE A,#20,RETI1;产生1秒基准时钟MOV 20H,#00H ;一秒钟时间到,清零20H MOV A,21HADD A,#01HDA A ;作十进制调整MOV 21H,ACJNE A,#60H,RETI1MOV 21H,#00H ;一分钟到MOV A,22HADD A,#01HDA AMOV 22H,ACJNE A,#60H,RETI1MOV 22H,#00H ;一小时到MOV A,23HADD A,#01HDA AMOV 23H,ACJNE A,#24H,RETI1MOV 23H,#00H ;到24点,清零小时RETI1:POP PSWPOP ACC ;恢复现场RETI ;中断返回/*****显示处理*****/DISPLAY:MOV A,21H ;秒ANL A,#0FHMOV 2FH,A;转换出秒个位,存入2FH MOV A,21HANL A,#0F0HSWAP AMOV 2EH,A;转换出秒十位,存入2EHJB 46H,MIN;如果长按按键(调时快进),则跳过闪烁处理CJNE R1,#3,MIN;如果R1为3,闪烁秒位待调整JB 48H,MINMOV 2FH,#0AH;使该位为10,查表得到使该位不显示的输出MOV 2EH,#0AHMIN:MOV A,22H ;分ANL A,#0FHMOV 2DH,A;转换出分个位,存入2DHMOV A,22HANL A,#0F0HSWAP AMOV 2CH,A;转换出分十位,存入2CHJB 46H,HOUR;如果长按按键(调时快进),则跳过闪烁处理CJNE R1,#2,HOUR;如果R1为2,闪烁分位待调整JB 48H,HOURMOV 2DH,#0AH;使该位为10,查表得到使该位不显示的输出MOV 2CH,#0AHHOUR:MOV A,23H ;时ANL A,#0FHMOV 2BH,A;转换出时个位,存入2BHMOV A,23HANL A,#0F0HSWAP AMOV 2AH,A;转换出时十位,存入2AHJB 46H,DISP;如果长按按键(调时快进),则跳过闪烁处理CJNE R1,#1,DISP;如果R1为1,闪烁时位待调整JB 48H,DISPMOV 2BH,#0AH;使该位为10,查表得到使该位不显示的输出MOV 2AH,#0AH/*****数码管动态扫描显示*****/ DISP:MOV DPTR,#TABLEMOV A,2FHMOVC A,@A+DPTRMOV P0,ACLR P2.7LCALL DELAYSETB P2.7;显示秒个位MOV A,2EHMOVC A,@A+DPTRMOV P0,ACLR P2.6LCALL DELAYSETB P2.6;显示秒十位MOV A,#0BFHMOV P0,ACLR P2.5LCALL DELAYSETB P2.5;显示“-”MOV A,2DHMOVC A,@A+DPTRMOV P0,ACLR P2.4LCALL DELAYSETB P2.4;显示分个位MOV A,2CHMOVC A,@A+DPTRMOV P0,ACLR P2.3LCALL DELAYSETB P2.3;显示分十位MOV A,#0BFHMOV P0,ACLR P2.2LCALL DELAYSETB P2.2;显示“-”MOV A,2BHMOVC A,@A+DPTRMOV P0,ACLR P2.1LCALL DELAYSETB P2.1;显示时个位MOV DPTR,#TABLE1;该位使用TABLE1以消除前置0 MOV A,2AHMOVC A,@A+DPTRMOV P0,ACLR P2.0LCALL DELAYSETB P2.0;显示时十位RET/*****按键检测子程序*****/KEY_SCAN:CLR 46H;关闭长按调整(调时快进)标志MOV P1,#0FFH ;将P1口设置成输入状态MOV A,P1CPL AANL A,#0FH ;P1口低4位连接4个按键,只判断该4位JZ EXIT_KEY ;无键按下则返回LCALL DELAY;延时去抖动MOV A,P1;重新判断CPL AANL A,#0FHJZ EXIT_KEY ;键盘去抖动MOV R5,A ;临时将键值存入R5MOV R4,#00H;用于控制调时快进速度;设置为00H是为了在进入长按处理前加长延时区分用户的长按与短按,防止误快进LOOP:;进入长按处理LCALL DISPLAY;使长按时显示正常MOV A,P1CPL AANL A,#0FHJB 47H,LOOP1INC R4;调时快进间隔时间基准加1LOOP1:CJNE R1,#03H,LOOP2;如果调秒时长按,则不处理LJMP LOOP3LOOP2:CJNE R4,#99H,LOOP3MOV R4,#70H;确认用户长按后,重新设定起始值,加快调时快进速度SETB 46H;长按调整(调时快进)标志LCALL ADD_KEYLCALL DEC_KEYLOOP3:JNZ LOOP ;等待键释放MOV A,R5;输出键值RETEXIT_KEY:RET/*****延时子程序*****/DELAY:MOV R7,#150DJNZ R7,$RETSET_KEY:CJNE R5,#01H,EXIT;选择键键值INC R1;调整选择功能标志加一SETB BEEPCJNE R1,#4,EXITMOV R1,#0MOV 24H,#00H;调时闪烁基准清零RET/*****增加键处理子程序*****/ADD_KEY:CJNE R5,#02H,EXIT;增加键键值CJNE R1,#01H,NEXT1;选择键功能标志为1,调时,否则跳出MOV A,23HADD A,#01HDA AMOV 23H,ACJNE A,#24H,EXITMOV 23H,#00HNEXT1:CJNE R1,#02H,NEXT2;选择键功能标志为2,调分,否则跳出MOV A,22HADD A,#01HDA AMOV 22H,ACJNE A,#60H,EXITMOV 22H,#00HNEXT2:CJNE R1,#03H,EXIT;选择键功能标志为3,调秒,否则跳出MOV 21H,#00H;如增加键按下直接清零秒RETDEC_KEY:CJNE R5,#04H,EXIT;减少键键值CJNE R1,#01H,NEXT3;选择键功能标志为1,调时,否则跳出MOV A,23HADD A,#99HDA AMOV 23H,ACJNE A,#99H,EXITMOV 23H,#23HNEXT3:CJNE R1,#02H,NEXT4;选择键功能标志为2,调分,否则跳出MOV A,22HADD A,#99HDA AMOV 22H,ACJNE A,#99H,EXITMOV 22H,#59HNEXT4:CJNE R1,#03H,EXIT;选择键功能标志为3,调秒,否则跳出MOV 21H,#00H;如较少键按下直接清零秒RET/*****强制响铃键处理子程序*****/DALING_KEY:CJNE R5,#08H,EXIT;选择键键值CPL BEEPRET/*****万用返回程序*****/EXIT:RET/*****数码管字形编码表*****/TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;字形显示编码TABLE1:DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;小时位的十位数编码,该位如果为0则不显示/*****打铃时间对比程序(起床、熄灯)*****/BIJIAO1:MOV A,23HCJNE A,#06H,B0MOV A,22HCJNE A,#00H,B0;6:00到SETB 45H;开启响铃方式1RETB0:MOV A,23HCJNE A,#22H,EXIT_1MOV A,22HCJNE A,#30H,EXIT_1;22:30到SETB 45H;开启响铃方式1RETEXIT_1:CLR 45HRET/*****打铃时间对比程序(上、下课)*****/BIJIAO2:MOV A,23HCJNE A,#07H,B1MOV A,22HCJNE A,#30H,B1;7:30SETB 44H;开启响铃方式2RETB1:MOV A,23HCJNE A,#08H,B2MOV A,22HCJNE A,#20H,B2;8:20 SETB 44HRETB2:MOV A,23HCJNE A,#08H,B3MOV A,22HCJNE A,#30H,B3;8:30 SETB 44HRETB3:MOV A,23HCJNE A,#09H,B4MOV A,22HCJNE A,#20H,B4;9:20 SETB 44HRETB4:MOV A,23HCJNE A,#09H,B5MOV A,22HCJNE A,#40H,B5;9:40 SETB 44HRETB5:MOV A,23HCJNE A,#10H,B6MOV A,22HCJNE A,#30H,B6;10:30 SETB 44HRETB6:MOV A,23HCJNE A,#10H,B7MOV A,22HCJNE A,#40H,B7;10:40 SETB 44HRETB7:MOV A,23HCJNE A,#11H,EXIT_2MOV A,22HCJNE A,#30H,EXIT_2;11:30SETB 44HRETEXIT_2:CLR 44HRET/*****响铃方式1程序(响5秒停2秒再响5秒)*****/ DALING1:JNB 45H,EXIT_DALINGMOV A,21H;响铃起始时间由秒实时控制CJNE A,#00H,L1CLR BEEPL1:MOV A,21HCJNE A,#05H,L2SETB BEEPL2:CJNE A,#07H,L3CLR BEEPL3:CJNE A,#12H,EXIT_DALINGSETB BEEPRET/*****响铃方式2程序(响5秒)*****/DALING2:JNB 44H,EXIT_DALINGMOV A,21H;响铃起始时间由秒实时控制CJNE A,#00H,L4CLR BEEPL4:MOV A,21HCJNE A,#05H,EXIT_DALING SETB BEEPRETEXIT_DALING:RETEND;程序结束。