基于单片机控制的教学打铃系统的设计与实现
- 格式:doc
- 大小:372.00 KB
- 文档页数:24
基于单片机的打铃系统一、系统简介打铃系统是一种用于管理学校、工厂、办公室等场所时间的设施,它可以自动地、准确地实现时间的管理。
本文所介绍的打铃系统基于单片机开发,通过编程实现各种铃声的播放,实现按时响铃的功能。
二、系统硬件组成打铃系统基于AT89S52单片机实现。
除了单片机之外,还需要以下硬件:1.时钟电路:用于提供准确的时钟信号。
2.按键:用于设定铃声和时间,以及启动和停止铃声。
3.位选器:用于选择哪个七段数码管进行显示。
4.七段数码管:用于显示当前时间和设定的时间。
5.蜂鸣器:用于播放铃声。
6.电源模块:用于提供系统所需的电源。
三、系统程序实现1.时钟模块时钟模块是整个打铃系统的核心模块,它通过内部定时器实现时钟计时。
定时器的具体参数需要根据外部晶体振荡器的频率进行设置。
在计时过程中,将当前时间实时显示在七段数码管上,并提供按键设置时间的功能。
2.铃声模块铃声模块主要负责蜂鸣器的控制,通过控制蜂鸣器的高低电平来实现各种铃声的播放。
在设定的时间到达时,蜂鸣器会自动响起预先设置好的铃声。
当按下停止键时,蜂鸣器会停止响铃。
四、系统优化设计为了提高打铃系统的稳定性和可靠性,需要进行一些优化设计。
其中的一些优化设计包括:1.电源管理:系统的电源管理非常重要,可以通过使用稳压器等组件来提高系统的抗噪声性能和稳定性。
2.按键处理:按键可以使用中断或轮询的方式进行处理,使用中断方式可以提高系统的实时性。
3.时钟精度:系统的时钟精度非常关键,需要使用高精度的外部晶体振荡器并进行一定的校准以提高时钟的准确性。
四、系统应用本文所介绍的打铃系统可以广泛应用于学校、工厂、办公室等场所。
它可以帮助管理者准确地掌握各个时间点,提高管理效率和准确性。
同时,通过优化设计可以大大提高系统的性能和稳定性。
五、总结打铃系统是一种非常实用的设施,通过单片机等电子技术的应用,可以实现自动化、智能化的时间管理。
本文介绍了基于单片机的打铃系统的硬件组成和程序实现,以及针对性的优化设计,以期为相关领域的读者提供一些借鉴和参考。
微机控制系统应用方向学年设计任务书基于单片机控制的教学打铃系统的设计与实现设计说明书(封面)学院名称:滁州学院班级名称:计算机科学与技术专业10级(2)班学生姓名:方纪锋、贝兴芝、陈文君、陈丹丹、陈竞学号:2010211081、2010211066、2010211073、2010211068、2010211070 题目:基于单片机控制的教学打铃系统的设计与实现指导教师姓名:姚光顺起止日期: 2013年7月3日—2013年8月29日目录第一部分:正文部分 (1)一、绪论 (1)1 设计背景 (1)2 主要工作和方法 (1)3 本文结构 (1)二、相关知识 (2)1 单片机介绍 (2)2 显示器简介 (4)3 蜂鸣器简介 (4)三、系统设计 (5)1 需求分析 (5)2 系统硬件电路设计 (5)3 软件设计流程图 (9)4 显示程序设计 (9)5 按键设定程序设计 (10)四、系统实现 (11)1 功能模块 (11)五、系统测试与数据分析 (17)1 元件清单 (17)2 调试过程 (17)六、结论 (18)第二部分:参考文献 (19)第三部分:指导教师评语 (20)第四部分:成绩评定 (20)附录 (21)基于单片机控制的教学打铃系统的设计与实现第一部分:正文部分一、绪论1 设计背景目前自动打铃系统广泛应用于生活、工作等方方面面,在人们的日常生活中起到重要作用。
例如,在学校生活中,每天上下课都离不开打铃器的使用。
打铃器可以为上下课的学生和老师们提供时间提醒,同时,也可作为一个提醒学生们作息时间的时间表,让大家有一个时间意识,形成规律的生物钟,对自身的健康也有很大的好处的。
对于那些上课精力过于集中、知识面拓展比较广的老师的拖堂现象也给了一个下课时间提醒,以免耽误学生们下一节课的上课时间。
最原始的打铃器是人工根据时间通过敲钟来提醒,随着技术的发展,开始有了机械式打铃器。
随着二十世纪电子技术的发展和二十一世纪半导体技术和集成电路的发展,电子技术开始渗入到各行各业,打铃器也更多的向着智能型转变。
摘要在人们的日常生活中,控制系统已经走入了千家万户,对于学校生活来说,按时打铃提醒学生上下课是一件必不可少的事情,遗忘的打铃工作军都是依靠人为进行计时,按时打铃,第一打铃的时间并不精确,同时也浪费较多的人力,造成了很大的浪费,论文以此为切入点,结合已经学习的51单片机的知识,设计了一种自动打铃的自动化系统,改善了学校打铃工作的现状,节约了人力、物力、财力。
关键词:定时打铃;DS1302时钟;LCD1602液晶显示ABSTRACTWith the improvement of social life, a variety of automatic control system quickly into people's lives, for school life, the bell on time to remind students to attend classes is an essential thing, forgotten bell work The military relies on man-made timing, the bell on time, the first ringing time is not precise, but also a waste of more manpower, resulting in a great waste of paper as a starting point for the design of a 51-based microcontroller Automatic school timely bell system, while using LCD1602 LCD real-time display time to improve the status of the bell work. Improve the automation of this work.Key words:timing bell; DS1302 clock; LCD1602 liquid crystal display目录摘要 (1)ABSTRACT (2)第1章绪论 (5)1.1选题背景及研究意义 (5)1.2课题设计的主要内容 (5)第2章方案的总体设计 (7)2.1主控芯片的选择 (7)2.2显示模块 (7)2.3时钟模块的选择 (8)第3章系统硬件设计 (9)3.1各个主要模块功能介绍 (9)3.1.1系统主要芯片和元器件的介绍及应用 (9)3.1.2 DS1302 时钟模块介绍 (9)3.1.3 LCD液晶显示模块介绍 (13)3.1.4 蜂鸣器模块 (15)3.2单片机最小系统的设计 (16)3.2.1 时钟脉冲电路 (16)3.2.2复位电路 (16)3.3硬件设计总图 (17)第4章软件程序设计 (19)4.1软件程序整体设计 (19)4.1.1程序流程图 (19)4.2程序模块设计 (20)4.2.1 DS1302时钟显示与调节程序设计 (20)4.2.2 LCD1602显示程序设计 (21)4.2.3蜂鸣器程序设计 (22)第5章系统仿真 (23)5.1 PROTEUS软件简介 (23)5.2仿真结果 (23)参考文献 (25)致谢 (26)第1章绪论1.1 选题背景及研究意义随着社会的发展和自动化水平的提高,各种物品都在向着自动化方向运行和进展,本片的论文也是如此,为了解决学校日常生活中的打铃问题,开展了自动打铃系统的研制毕业课程设计,充分发挥了所学知识,将其用于学生的日常生活中,方便了老师的同时也方便了学生的日常生活,基于当前已经有较多产品投入了日常的生活中去,论文将以一些常见的自动打铃产品为依托进行仿造设计,从而完成整体的毕业设计任务。
校园自动打铃器作息时钟摘要本文介绍了以AT89S51单片机为控制核心的自动打铃器产品,该电路具有时钟功能,可通过产品的上的设置键对要报警的时间点逐个的设置进去,打玲器只要走到设置好的时间就能报警。
输出效果由报警模块与显示模块组成,显示模块主要采用数码管来显示时间,让人们可以看到自动打铃器的时间是否与我们生活的时间一致,如果有误差则可以通过按键对时间进行调整。
该打铃器是一种电路比较简单,功能完善,且比较实用的自动打铃器。
它不但可以适用于学校及企业工厂等场所。
关键字:单片机自动控制数码显示调整目录一.引言 (3)二.方案比较 (4)2.1方案一基于数模电路的自动打铃器 (4)2.2方案二基于A T89S51控制的自动打铃器 (5)三.硬件电路设计 (5)3.1微控制器 (5)3.2振荡电路 (6)3.3复位电路 (6)3.4控键电路 (7)3.5显示电路 (8)3.6报警电路 (9)四.软件系统设计 (10)4.1主程序设计 (10)4.2定时1mS子程序设计 (10)4.3显示子程序设计 (10)4.4软件抗干扰设计 (11)五.系统调试与测试 (13)5.1软件仿真 (13)5.2硬件电路安装 (14)5.2.1单片机振荡电路安装 (14)5.2.2单片机复位电路安装 (14)5.2.3单片机控键电路安装 (14)5.2.4单片机显示电路安装 (15)5.2.5单片机报警电路安装 (15)5.2.6整机电路安装与调试 (15)结束语............................................................................................................. 错误!未定义书签。
参考文献.. (16)附录1:总设计原理图 (17)附录2:源程序 (18)一.引言打铃器是一种广泛应用于企业和学校单位。
就以对学校单位而言,自动打铃器是为了对了广大师生的作息时间做更好的管理,它一种学校必备电子设备,也是一种逐渐成型的电子产品,打铃器多为小规模集成电路构成,其性能单一,工作起来不够理想。
微机控制系统应用方向学年设计任务书基于单片机控制的教学打铃系统的设计与实现设计说明书(封面)学院名称:学院班级名称:计算机科学与技术专业10级(2)班学生:方纪锋、贝兴芝、文君、丹丹、竞学号:2010211081、2010211066、2010211073、2010211068、2010211070 题目:基于单片机控制的教学打铃系统的设计与实现指导教师姓名:光顺起止日期: 2013年7月3日—2013年8月29日目录第一部分:正文部分 (1)一、绪论 (1)1 设计背景 (1)2 主要工作和方法 (1)3 本文结构 (2)二、相关知识 (2)1 单片机介绍 (2)2 显示器简介 (4)3 蜂鸣器简介 (5)三、系统设计 (5)1 需求分析 (5)2 系统硬件电路设计 (6)3 软件设计流程图 (9)4 显示程序设计 (10)5 按键设定程序设计 (10)四、系统实现 (11)1 功能模块 (11)五、系统测试与数据分析 (18)1 元件清单 (18)2 调试过程 (18)六、结论 (19)第二部分:参考文献 (20)第三部分:指导教师评语 (21)第四部分:成绩评定 (21)附录 (22)基于单片机控制的教学打铃系统的设计与实现第一部分:正文部分一、绪论1 设计背景目前自动打铃系统广泛应用于生活、工作等方方面面,在人们的日常生活中起到重要作用。
例如,在学校生活中,每天上下课都离不开打铃器的使用。
打铃器可以为上下课的学生和老师们提供时间提醒,同时,也可作为一个提醒学生们作息时间的时间表,让大家有一个时间意识,形成规律的生物钟,对自身的健康也有很大的好处的。
对于那些上课精力过于集中、知识面拓展比较广的老师的拖堂现象也给了一个下课时间提醒,以免耽误学生们下一节课的上课时间。
最原始的打铃器是人工根据时间通过敲钟来提醒,随着技术的发展,开始有了机械式打铃器。
随着二十世纪电子技术的发展和二十一世纪半导体技术和集成电路的发展,电子技术开始渗入到各行各业,打铃器也更多的向着智能型转变。
单片机系统课程设计课程设计名称:自动打铃器设计专业班级: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.1 课题的提出及意义单片机作息时间控制系统是在数字电子钟的基础上,添加了电铃控制电路和音响控制电路,使其具有时钟、定闹等多重功能的一个小型的智能化系统。
此系统可以实现对时间的智能化控制,摆脱了传统的由人来控制时间的长短的不便,可广泛应用在学校、工厂和机关的自动打铃、计时、路灯及室照明和其他对象控制,因此具有广阔的市场和良好的经济效益。
通过此次设计,我们要掌握以下方面的知识:(l)单片机的原理及应用。
(2)Protel 软件的使用。
(3)作息时间控制系统的原理和实现方法。
此外,通过该课题的设计,要达到提高我们综合能力的目的,如综合应用所学知识能力、资料查询能力、计算机应用能力、语言表达能力、论文撰写能力等,尤其是要提高我们单片机应用技术的实践操作技能和利用单片机进行科技革新、开发和创新的基本能力,同时使我们初步掌握单片机应用系统设计、研制的方法。
特别是如果我们毕业以后从事与单片机相关的工作,这就可以大大缩短我们在未来工作岗位上的适应期,使我们尽快在工作中担当主角,发挥我们的作用。
1.2 设计要求1.2.1 基本要求(1)基本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示。
(2)能设置当前时间(含上、下午,时,分)(3)能实现基本打铃功能,规定:(4)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD 或LED的显示器;上午6:00起床铃:打铃5秒、停2秒、再打铃 5 秒。
下午10:30熄灯铃:打铃 5 秒、停 2 秒、再打铃 5 秒。
铃声可用小喇叭播放,凡是用到铃声功能的均按此处理1.2.2 发挥部分(1)增加整点报时功能,整点时响铃 5 秒,要求有控制启动和关闭功能。
(2)增加调整起床铃、熄灯铃时间的功能。
(3)增设上午 4 节课的上下课打铃功能,规定如下:7.30 上课,8.20 下课:8.30上课,9.20 下课;9.40 上课,10.30 下课;10.40 上课,11.30下课;每次铃声5 秒。
摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
简易自动打铃系统的出现,使学校上下课铃声得以有效管制,对于减轻学校管理人员工作量、提高学校各工作效率,减少管理人员因忘记打铃,从而导致老师拖延课程时间起到明显效果。
本系统采用单片机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秒。
微机控制系统应用方向学年设计任务书基于单片机控制的教学打铃系统的设计与实现设计说明书(封面)学院名称:滁州学院班级名称:计算机科学与技术专业10级(2)班学生姓名:方纪锋、贝兴芝、陈文君、陈丹丹、陈竞学号:2010211081、2010211066、2010211073、2010211068、2010211070 题目:基于单片机控制的教学打铃系统的设计与实现指导教师姓名:姚光顺起止日期: 2013年7月3日—2013年8月29日目录第一部分:正文部分 (1)一、绪论 (1)1 设计背景 (1)2 主要工作和方法 (1)3 本文结构 (1)二、相关知识 (2)1 单片机介绍 (2)2 显示器简介 (4)3 蜂鸣器简介 (4)三、系统设计 (5)1 需求分析 (5)2 系统硬件电路设计 (5)3 软件设计流程图 (9)4 显示程序设计 (9)5 按键设定程序设计 (10)四、系统实现 (11)1 功能模块 (11)五、系统测试与数据分析 (17)1 元件清单 (17)2 调试过程 (17)六、结论 (18)第二部分:参考文献 (19)第三部分:指导教师评语 (20)第四部分:成绩评定 (20)附录 (21)基于单片机控制的教学打铃系统的设计与实现第一部分:正文部分一、绪论1 设计背景目前自动打铃系统广泛应用于生活、工作等方方面面,在人们的日常生活中起到重要作用。
例如,在学校生活中,每天上下课都离不开打铃器的使用。
打铃器可以为上下课的学生和老师们提供时间提醒,同时,也可作为一个提醒学生们作息时间的时间表,让大家有一个时间意识,形成规律的生物钟,对自身的健康也有很大的好处的。
对于那些上课精力过于集中、知识面拓展比较广的老师的拖堂现象也给了一个下课时间提醒,以免耽误学生们下一节课的上课时间。
最原始的打铃器是人工根据时间通过敲钟来提醒,随着技术的发展,开始有了机械式打铃器。
随着二十世纪电子技术的发展和二十一世纪半导体技术和集成电路的发展,电子技术开始渗入到各行各业,打铃器也更多的向着智能型转变。
信息职业技术学院毕业设计说明书(论文)设计题目: 基于单片机的校园打铃系统设计专业: 应用电子技术班级: 应电08-2学号:姓名:指导教师:二〇一〇年九月十日目录摘要 (1)第1章绪论 (2)第2章方案设计与论证 (3)2.1系统方案选择与比较 (3)2.1.1 控制模块方案选择 (3)2.1.2 显示模块方案选择 (4)2.2.3 存储模块方案选择 (4)2.2总体方案设计思想 (5)第3章硬件电路设计 (6)3.1控制模块设计 (6)3.1.1 单片机AT89C51简介 (6)3.1.2 单片机时钟电路复位电路介绍 (7)3.2打铃模块 (8)3.3存储模块 (8)3.3.1 实时时钟DS1302简介 (8)3.3.2 存储器24C02C (10)3.4键控模块 (12)3.4.1 独立式键盘介绍 (12)3.4.2 键盘接口及键位的功能介绍 (13)3.5显示模块 (13)3.5.1 数码管的组成及工作原理 (14)3.5.2 数码管的显示 (14)第4章整机原理 (16)4.1整机原理图 (16)4.2整机电路原理 (16)第5章软件设计 (18)5.1打铃系统流程图 (18)5.2读时间日期显示流程图 (18)5.3LED显示流程图 (19)5.4主程序流程图 (20)第6章仿真和调试 (21)6.1调试软件的介绍 (21)6.2调试的操作步骤 (21)6.3仿真软件对于本设计的仿真 (22)结论 (25)参考文献 (26)附录1 整机原理图 (27)附录2 元件明细表 (28)附录3 源程序 (29)摘要本设计以单片机AT89C51为控制核心,与DS1302、24C02C和LED等组成校园打铃系统,运用实时时钟芯片DS1302实现时间控制,同时运用LED七段数码管完成当前的年、月、日、时、分、秒和星期以及打铃时间的显示,再利用键盘可以对系统当前时间以及打铃时间进行调节、存储、清空操作,并且使用外部存储器24C02C完成打铃时间的存储。
题目基于单片机的教学楼打铃器的设计1、本课题的研究意义,国内外研究现状、水平和发展趋势当今时代是一个新技术快速更新的时代,在电子领域尤其是电子智能控制领域,传统的分立元件或者数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点。
单片机又称单片微控器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件,这些都离不开单片机。
在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。
这样产品的体积变小了,成本也降低了,长期使用也不用担心精度达不到了。
所以,在将来将会有更多的人来接受它,使用它。
所以,学习单片机在我国是有着广阔前景的。
打铃器是一种目前广泛应用于企业和学校单位的设备。
就以对学校单位而言,自动打铃器是为了对广大师生的作息时间更好的管理,它是一种学校必备的电子设备。
随着集成技术和电子计算机技术的发展,单片机成为当今的主流。
为此,设计了一种无线式校园时间显示/精确自动响铃系统,将数字电子钟与自动打铃系统结合起来,从而有效地解决了这些问题。
该产品以单片机为核心来控制各个功能模块,用户可以随时对实时时间、作息时间表进行修改,可以很方便地任意设定作息时间方案。
本设计还具有普通的数字钟时间设定、显示功能,是集时间设置、显示和打铃一体的多功能打铃计时系统,通过简单的设置,可以适合任何学校、企事业单位。
2、本课题的基本内容,预计可能遇到的困难,提出解决问题的方法和措施系统设计主要包括硬件和软件两大部分,根据电子系统的工作原理和技术性能,将硬件和软件分开设计。
硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行仿真,达到设计要求。
教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校单片机教学打铃控制器程序设计-课程设计单片机教学打铃控制器程序设计一、课程设计题:单片机教学打铃控制器程序设计二、设计要求:用LED数码管显示时、分、秒时间,尽量减少时间积累误差,具有秒闪功能。
最多能设置40个打铃时间点,打铃时间点数据用非易失存储器存储,防止掉电丢失数据;能逐个检查、修改、删除已设置的打铃时间点和增加打铃时间点。
对时、打铃时间点用键盘设置,键盘设计简单、易于操作。
具有强电驱动功能,便于控制220V的电铃。
三、设计报告要求:说明设计作品的功能、特点、应用范围;方案对比,确定方案。
电路工作原理、操作方法;编程方法、程序框图及关键程序清单。
课程设计总结。
附件:参考电路图24C02芯片资料及参考程序课程设计元器件清单元器件名规格/型号单板数量购买数量备注电阻510Ω、1/4W210K、1/4W21K、1/4W1电阻排510Ω*81瓷片电容30pF2独石电容0.1µF4电解电容220µF/16V1二极管1N40071发光二极管Ф3MM、红光4三极管90131晶体12MHz(矮封装)1集成块78051AT89S52124C02174071IC插座40PIN18PIN114PIN1数码管2位动态、红光、共阴极(FJ5202AH)3继电器5V、AC220V/5A(HRS4H-S-DC5V)1接插件IDC101套按键国产欧姆龙轻触按键,带透明帽8套-------------------------------------------------------------------------------- 程序:;**************教学打铃控制器程序*********;CPU: AT89S52, Fosc=12MHz;++++++++++++++++++变量定义+++++++++++++++SET_TIME BIT P1.0 ;时间设定SET_ALARM BIT P1.1 ;打铃设定LEFT BIT P1.2 ;左移位UP BIT P1.3 ;上翻/加1DOWN BIT P1.4 ;下翻/减1RIGHT BIT P1.5 ;右移位ESC BIT P1.6 ;取消/退出ENTER BIT P1.7 ;确认KEY_BUF EQU 30H ;原按键状态KEY_ST EQU 31H ;键闭合标志,ON:0FFH,OFF:00HSCL BIT P3.3 ;IIC时钟线SDA BIT P3.2 ;IIC数据线FLASH_S BIT P3.1 ;秒闪CONTREL BIT P3.4 ;控制;1=ONH_MEM EQU 10H ;时M_MEM EQU 11H ;分S_MEM EQU 12H ;秒CT_50MS EQU 13H ;50mS计数器NEW_TIME EQU 14H ;时间更新标志,0FFH更新DIS_MEM1 EQU 15H ;显示数据存储器1DIS_MEM2 EQU 16H ;显示数据存储器2DIS_MEM3 EQU 17H ;显示数据存储器3DIS_BUF1 EQU 20H ;显示缓冲器1(段码,左)DIS_BUF2 EQU 21H ;显示缓冲器2(段码)DIS_BUF3 EQU 22H ;显示缓冲器3(段码)DIS_BUF4 EQU 23H ;显示缓冲器4(段码)DIS_BUF5 EQU 24H ;显示缓冲器5(段码)DIS_BUF6 EQU 25H ;显示缓冲器6(段码,右)AL_NUMBER EQU 26H ;打铃序号AL_TOTA EQU 27H ;打铃点总数ALARM_ST EQU 28H ;打铃状态,0FFH正在打铃TIME_OVER EQU 29H ;按键返回时间计数器TOTA_ADDR EQU 60H ;打铃点总数在24C02中的存储地址ORG 0000HAJMP STARTORG 0002BHAJMP INT_T0 ;T2中断向量ORG 0030HSTART: MOV SP,#60HCLR CONTRELCLR FLASH_SMOV H_MEM,#12MOV S_MEM,#0MOV CT_50MS,#20MOV NEW_TIME,#0MOV KEY_ST,#0MOV R4,#TOTA_ADDR ;从24C02读打铃时间点总数MOV R0,#AL_TOTAMOV R3,#1ACALL RD_EEROMMOV A,AL_TOTA ;总数大于0,小于、等于40判断JZ JMP_RDCLR CSUBB A,#40JC RD_AL_LISTMOV AL_TOTA,#0MOV R4,#TOTA_ADDRMOV R3,#1MOV R0,#AL_TOTAACALL WR_EEROMSJMP JMP_RDRD_AL_LIST:MOV A,AL_TOTA ;从24C02读打铃时间表RL AMOV R3,A;R0:RAM地址指针,R2:8位移位计数器;R3:数据字节计数器;R4:24C02 存储地址MOV R0,#80HMOV R4,#00HACALL RD_EEROMJMP_RD: MOV TH2,#3CH ;T2工作方式、时间常数MOV TL2 , #0ABHMOV RCAP2H, #3CHMOV RCAP2L, #0ABHMOV T2CON , #04HSETB ET2 ;开中断SETB EAWAITE: ACALL DISPLAYACALL KEY_CHECKMOV A,KEY_STCJNE A,#00H,KEY_MAINMOV A,NEW_TIMECJNE A,#0FFH,WAITENEW_DIS:MOV A,H_MEMACALL HBCDMOV DIS_MEM1,AMOV A,M_MEMACALL HBCDMOV DIS_MEM2,AMOV A,S_MEMACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEMOV A,ALARM_STJNZ CHEK_OFFMOV A,S_MEMJNZ WAITEACALL CHEK_AL ;打铃检测CHEK_OFF: MOV A,S_MEMCLR CSUBB A,#20JC WAITECLR CONTRELMOV ALARM_ST,#0SJMP WAITE;SJMP $;********打铃控制子程序*************** CHEK_AL:MOV A,AL_TOTAJZ CHEK_ENDMOV R0,#80HMOV R6,AL_TOTACHK_LOOP: MOV A,@R0CJNE A,H_MEM,NEXT_AL_1INC R0MOV A,@R0CJNE A,M_MEM,NEXT_AL_2SETB CONTRELMOV ALARM_ST,#0FFHSJMP CHEK_ENDNEXT_AL_1:INC R0NEXT_AL_2:INC R0DJNZ R6,CHK_LOOPCLR CONTRELMOV ALARM_ST,#0CHEK_END:RET;********键盘处理程序段*************** KEY_MAIN:MOV KEY_ST,#0JNB SET_TIME,TIME_SETJNB SET_ALARM,JMP_SET_ASJMP NEW_DISJMP_SET_A:AJMP ALARM_SET;========时间设置===================== TIME_SET:MOV TIME_OVER,#30MOV R5,H_MEMMOV R6,M_MEMMOV R7,S_MEMSET_H: JNB FLASH_S,GATE_HMOV DIS_MEM1,#0AAHSJMP CLS_HGATE_H: MOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_H: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_1MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_1AJMP WAITEJMP_1: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_HMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,H_UPJNB DOWN,H_DOWNJNB LEFT,JMP_SET_SJNB RIGHT,SET_MJNB ESC,JMP_ESCJNB ENTER,JMP_OKSJMP SET_HJMP_ESC:AJMP TIME_SET_ESCJMP_OK: AJMP TIME_SET_OKJMP_SET_S:AJMP SET_SH_UP: CJNE R5,#23,INC_HMOV R5,#0FFHINC_H: INC R5AJMP GATE_HH_DOWN: CJNE R5,#0,DEC_HMOV R5,#24DEC_H: DEC R5AJMP GATE_H;===========分钟设置=============== SET_M: JNB FLASH_S,GATE_MMOV DIS_MEM2,#0AAHSJMP CLS_MGATE_M: MOV A,R6ACALL HBCDMOV DIS_MEM2,AMOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_M: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_2MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_2AJMP WAITEJMP_2: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_MMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,M_UPJNB DOWN,M_DOWNJNB LEFT,JMP_SET_HJNB RIGHT,SET_SJNB ESC,TIME_SET_ESCJNB ENTER,TIME_SET_OKSJMP SET_MM_UP: CJNE R6,#59,INC_MMOV R6,#0FFHINC_M: INC R6AJMP GATE_MM_DOWN: CJNE R6,#0,DEC_MMOV R6,#60DEC_M: DEC R6AJMP GATE_MJMP_SET_H:AJMP SET_H;============秒设置================= SET_S: JNB FLASH_S,GATE_SMOV DIS_MEM3,#0AAHSJMP CLS_SGATE_S: MOV A,R7ACALL HBCDMOV DIS_MEM3,AMOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,ACLS_S: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_3MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_3AJMP WAITEJMP_3: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_SMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,S_UPJNB DOWN,S_DOWNJNB LEFT,JMP_SET_S_MJNB RIGHT,JMP_S_HJNB ESC,TIME_SET_ESCJNB ENTER,TIME_SET_OKSJMP SET_SJMP_S_H:AJMP SET_HS_UP: CJNE R7,#59,INC_SMOV R7,#0FFHINC_S: INC R7AJMP GATE_SS_DOWN: CJNE R7,#0,DEC_SMOV R7,#60DEC_S: DEC R7AJMP GATE_SJMP_SET_S_M:AJMP SET_M;====================================== TIME_SET_ESC:AJMP NEW_DIS ;时间设置取消/返回TIME_SET_OK:MOV S_MEM,R7 ;时间设置确认/返回MOV M_MEM,R6MOV H_MEM,R5AJMP NEW_DIS;=========打铃设置程序段=============== ALARM_SET:MOV TIME_OVER,#20MOV AL_NUMBER,AL_TOTAAL_LIST:MOV A,AL_NUMBERJNZ NUMBER_NMOV DIS_MEM1,#0MOV DIS_MEM2,#0AAHMOV DIS_MEM3,#0AAHACALL DIS_TIMEAJMP WAITE_ANUMBER_N:DEC ARL AADD A,#80HMOV R0,AMOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,@R0ACALL HBCDMOV DIS_MEM2,AINC R0MOV A,@R0ACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEWAITE_A:ACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_4MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_4AJMP WAITEJMP_4: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,WAITE_AMOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,NUM_UPJNB DOWN,NUM_DOWNJNB ESC,JMP_ESC_ALJNB ENTER,JMP_OK_ALJNB SET_ALARM,JMP_DEL_ALJNB SET_TIME,CHANGE_ALSJMP WAITE_AJMP_DEL_AL:AJMP DEL_AL;-------------------------------------NUM_UP: MOV A,AL_NUMBERCJNE A,AL_TOTA,INC_NUMMOV AL_NUMBER,#0FFHINC_NUM:INC AL_NUMBERAJMP AL_LIST;-------------------------------------NUM_DOWN:MOV A,AL_NUMBERCJNE A,#0,DEC_NUMMOV AL_NUMBER,AL_TOTASJMP J_DECNUMDEC_NUM:DEC AL_NUMBERJ_DECNUM:AJMP AL_LIST;==========修改打铃时间点================= CHANGE_AL:MOV A,AL_NUMBERJZ JMP_ADD_ALDEC ARL AADD A,#80HMOV R0,AMOV A,@R0MOV R6,AINC R0MOV A,@R0MOV R7,A;------------时修改------------------ SET_AL_H:JNB FLASH_S,GATE_AL_H MOV DIS_MEM2,#0AAH SJMP CLS_AL_HGATE_AL_H:MOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,ACLS_AL_H:MOV A,R7ACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_5MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_5 AJMP WAITEJMP_5: ACALL KEY_CHECK MOV A,KEY_STCJNE A,#0FFH,SET_AL_H MOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,AL_H_UPJNB DOWN,AL_H_DOWNJNB LEFT,SET_AL_MJNB RIGHT,SET_AL_MJNB ESC,JMP_AL_LISTJNB ENTER,JMP_SET_AL_OK SJMP SET_AL_HJMP_ESC_AL:AJMP ESC_ALJMP_OK_AL:AJMP OK_ALJMP_ADD_AL:AJMP ADD_ALJMP_SET_AL_OK:AJMP SET_AL_OKJMP_AL_LIST:AJMP AL_LISTAL_H_UP:CJNE R6,#23,INC_H_AL MOV R6,#0FFHINC_H_AL:INC R6AJMP GATE_AL_HAL_H_DOWN:CJNE R6,#0,DEC_H_ALMOV R6,#24DEC_H_AL:DEC R6AJMP GATE_AL_H;----------分修改---------------- SET_AL_M:JNB FLASH_S,GATE_AL_MMOV DIS_MEM3,#0AAHSJMP CLS_AL_MGATE_AL_M:MOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_AL_M:MOV A,R6ACALL HBCDMOV DIS_MEM2,AACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_6MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_6AJMP WAITEJMP_6: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_AL_MMOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,AL_M_UPJNB DOWN,AL_M_DOWNJNB LEFT,JMP_SET_AL_HJNB RIGHT,JMP_SET_AL_HJNB ESC,JMP_AL_LISTJNB ENTER,SET_AL_OKSJMP SET_AL_MJMP_SET_AL_H:AJMP SET_AL_HAL_M_UP:CJNE R7,#59,INC_M_ALMOV R7,#0FFHINC_M_AL:INC R7AJMP GATE_AL_MAL_M_DOWN:CJNE R7,#0,DEC_M_ALMOV R7,#60DEC_M_AL:DEC R7AJMP GATE_AL_M;=====打铃点设置确认/返回到列表状态====== SET_AL_OK:NOPMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,R6MOV @R0,AINC R0MOV A,R7MOV @R0,AMOV R0,#80HMOV R2,AL_TOTAACALL UP_LIST ;调升序排序程序AJMP ALARM_SET;==========增加打铃时间点================ ADD_AL: INC AL_TOTAMOV AL_NUMBER,AL_TOTAMOV R6,#08MOV R7,#0MOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,R6MOV @R0,AINC R0MOV A,R7MOV @R0,AAJMP SET_AL_H;==========打铃设置取消/返回========== ESC_AL: MOV R4,#TOTA_ADDRMOV R0,#AL_TOTAMOV R3,#1ACALL RD_EEROMMOV A,AL_TOTAJZ EXIT_SET_ALRL AMOV R3,AMOV R0,#80HMOV R4,#00HACALL RD_EEROMEXIT_SET_AL:AJMP NEW_DIS;=========打铃设置确认/返回=========== OK_AL: MOV R0,#AL_TOTAMOV R3,#1MOV R4,#TOTA_ADDRACALL WR_EEROMMOV A,AL_TOTAJZ JMP_NEW_DISMOV A,AL_TOTARL AMOV R0,#80HMOV R3,AMOV R4,#0ACALL WR_EEROMJMP_NEW_DIS:AJMP NEW_DISJMP_AL_SET:AJMP ALARM_SET;========删除打铃时间点=========== DEL_AL: MOV A,AL_TOTAJZ JMP_AL_SETJNB FLASH_S,GATE_DISMOV DIS_MEM1,#0AAHMOV DIS_MEM2,#0AAHMOV DIS_MEM3,#0AAHSJMP CLS_DISGATE_DIS:MOV A,AL_NUMBER ACALL HBCDMOV DIS_MEM1,AMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,@R0ACALL HBCDMOV DIS_MEM2,AINC R0MOV A,@R0ACALL HBCDMOV DIS_MEM3,ACLS_DIS:ACALL DIS_TIME ACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_7MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_7 AJMP WAITEJMP_7: ACALL KEY_CHECK MOV A,KEY_STCJNE A,#0FFH,DEL_AL MOV KEY_ST,#0MOV TIME_OVER,#20JNB ENTER,DEL_LISTJNB ESC,JMP_AL_SET_D AJMP DEL_ALJMP_AL_SET_D:AJMP ALARM_SET;------删除列表数据----------- DEL_LIST:MOV A,AL_TOTADEC AJZ CLR_TOTAMOV A,AL_TOTACLR CSUBB A,AL_NUMBERJZ NEW_LISTRL AMOV R3,AMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AINC AINC AMOV R1,AMOVE_LIST_AL:MOV A,@R1MOV @R0,AINC R1INC R0DJNZ R3,MOVE_LIST_ALNEW_LIST:DEC AL_TOTAMOV R0,#80HMOV R2,AL_TOTAACALL UP_LISTLJMP ALARM_SETCLR_TOTA:MOV AL_TOTA,#0LJMP ALARM_SET;============================================= ;*************T0中断服务子程序**************** INT_T0: PUSH ACC ;保护现场PUSH PSWCLR TF2MOV TL0,#0B0H ;50mS 定时常数MOV TH0,#3CHDJNZ CT_50MS,CK_500MSMOV CT_50MS,#20 ;DELAY 1 SECONDMOV NEW_TIME,#0FFH;置秒标志MOV A,S_MEMCJNE A,#59,SECOND ;判断秒=59MOV S_MEM,#0FFHMOV A,M_MEMCJNE A,#59,MINUTE ;判断分=59MOV M_MEM,#0FFHMOV A,H_MEMCJNE A,#23,HOUR ;判断时=23MOV H_MEM,#0FFHHOUR: INC H_MEM ;时加1MINUTE: INC M_MEM ;分加1SECOND: INC S_MEM ;秒加1CPL FLASH_SSJMP EXIT_T0CK_500MS:MOV A,CT_50MSCJNE A,#10,EXIT_T0CPL FLASH_S ;秒闪EXIT_T0:POP PSW ;恢复现场POP ACCRETI ;中断返回;====================================== ;*********拆字查表子程序*************** DIS_TIME:PUSH ACCPUSH BMOV A,DIS_MEM1ACALL DIS_H_LMOV DIS_BUF1,AMOV DIS_BUF2,BMOV A,DIS_MEM2ACALL DIS_H_LMOV DIS_BUF3,AMOV DIS_BUF4,BMOV A,DIS_MEM3ACALL DIS_H_LMOV DIS_BUF5,AMOV DIS_BUF6,BPOP BPOP ACCRET;++++++++++++++++++++++++++++++++++++ DIS_H_L:MOV B,AANL A,#0FHMOV DPTR,#LEDSEGMOVC A,@A+DPTRXCH A,BSWAP AANL A,#0FHMOV DPTR,#LEDSEGMOVC A,@A+DPTRRET;====================================== ;*********数码管扫描子程序************* ;执行时间:10mS;++++++++++++++++++++++++++++++++++++++DISPLAY:PUSH ACCPUSH PSWPUSH 00HMOV P0,#0MOV A,#0FEHMOV R0,#DIS_BUF1DIS_LOOP:MOV P2,AMOV P0,@R0ACALL DLY_DISMOV P0,#0RL AINC R0JB ACC.6,DIS_LOOPMOV P2,#0FFHPOP 00HPOP PSWPOP ACCRET;-----------------------------------DLY_DIS:PUSH 02HPUSH 03HMOV R2,#4DLY_LOOP:MOV R3,#204DJNZ R3,$DJNZ R2,DLY_LOOPPOP 03HPOP 02HRET;====================================== ;*********键盘检测子程序*************** ;检测有无按键按下;键闭合标志KEY_ST,ON:0FFH,OFF:00H;++++++++++++++++++++++++++++++++++++++ KEY_CHECK:PUSH ACCMOV P1,#0FFHMOV A,P1CPL AJZ KEY_OFFACALL DISPLAYMOV A,P1CPL AJZ KEY_OFFMOV A,KEY_BUFCPL AJNZ KEY_OFFMOV KEY_BUF,P1;XRL A,KEY_BUF;JZ KEY_OFFMOV KEY_ST,#0FFHSJMP EXIT_KKEY_OFF:MOV KEY_ST,#0MOV KEY_BUF,P1EXIT_K: POP ACCRET;=========================================;****单字节十六进制整数转换成单字节BCD码整数****;入口条件:待转换的单字节十六进制整数在累加器A中。
湖南人文科技学院课程设计报告课程设计:单片机课程设计设计题目:自动打铃系统系别:通信与操纵工程系专业:电子信息工程班级:学生姓名:学号:起止日期:指导教师:教研室主任:摘要单片机确实是微操纵器,是面向应用对象设计、突出操纵功能的芯片。
单片机接上晶振、复位电路和相应的接口电路,装载软件后就能够够组成单片机应用系统。
将它嵌入到形形色色的应用系统中,就组成了众多产品、设备的智能化核心。
本设计确实是应用单片机壮大的操纵功能制作而成的闪烁的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小数点闪动作为秒计数表示。
可以设定作息时间,并进行到时提示。
能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。
由按键输入控制设置年月日以及当前时间、并可设置闹钟定时,时间到由蜂鸣器发出响声。
基于单片机的教学打铃控制器设计随着社会的快速发展和教育的变革,学校的管理也越来越智能化。
其中,教学打铃系统尤其是一项必需的管理手段。
然而,在传统的打铃系统中,存在诸多问题,例如频繁出现的故障、安装和维护成本高昂以及难以满足不同场合的多样化需求等。
因此,基于单片机的教学打铃控制器应运而生,成为教学管理的重要工具。
基于单片机的教学打铃控制器是一种高效可靠、精度高、注册应用广泛的数字化打铃系统。
与传统打铃系统相比,它使用单片机作为核心控制器,实现程序控制,程序实时性好,可靠性高。
同时,该系统具有更多的功能,如定时功能、周计划功能、多语言查询等,能够满足各种不同的场合与需求。
该系统的硬件主要包括打铃控制器、时钟电路、显示器、键盘等部分。
打铃控制器采用单片机,通过输入、处理、输出的方式实现了控制信号的转换与传递。
时钟电路则可精确地控制打铃时间,增强了系统的稳定性。
显示器和键盘则起到人机交互的作用,在更方便且人性化的操作中发挥了至关重要的作用。
在软件方面,该控制器系统主要设计功能包括实时时钟、计时计划、语音提示、多级权限等。
实时时钟功能可根据自行设定的时间表档案精确设置铃声播放时间。
计时计划则可以通过统计不同的节次和课程时间来实现不同的课程的铃声控制。
在语音提示功能中,您可以将语音文件录入系统,并实现系统的语音提示功能。
多级权限功能可以有效地实现不同权限的用户对铃声的控制,从而避免了教学管理中出现的非法操作和误操作等。
在教学管理中,基于单片机的教学打铃控制器有着广泛的应用,特别是在学校、科研机构、实验室等场所。
其优越的性能和丰富的功能使其成为教学管理的不可或缺的一部分。
通过该系统,学校教育管理人员可以更好地实现对铃声的管理和控制,有效地提高学校的学习效率。
总之,基于单片机的教学打铃控制器是一种高效、精准且具备广泛应用前景的数字化打铃系统。
它的应用为学校教学管理提供了较好的解决方案,不仅便捷高效,而且成本低廉、维护简单。
基于单片机的校园打铃系统设计设计说明信息职业技术学院毕业设计说明书(论文)设计题目: 基于单片机的校园打铃系统设计专业: 应用电子技术班级: 应电08-2学号:姓名:指导教师:二〇一〇年九月十日目录摘要 (1)第1章绪论 (2)第2章方案设计与论证 (3)2.1系统方案选择与比较 (3)2.1.1 控制模块方案选择 (3)2.1.2 显示模块方案选择 (4)2.2.3 存储模块方案选择 (4)2.2总体方案设计思想 (5)第3章硬件电路设计 (6)3.1控制模块设计 (6)3.1.1 单片机AT89C51简介 (6)3.1.2 单片机时钟电路复位电路介绍 (7)3.2打铃模块 (8)3.3存储模块 (8)3.3.1 实时时钟DS1302简介 (8)3.3.2 存储器24C02C (10)3.4键控模块 (12)3.4.1 独立式键盘介绍 (12)3.4.2 键盘接口及键位的功能介绍 (13)3.5显示模块 (13)3.5.1 数码管的组成及工作原理 (14)3.5.2 数码管的显示 (14)第4章整机原理 (16)4.1整机原理图 (16)4.2整机电路原理 (16)第5章软件设计 (18)5.1打铃系统流程图 (18)5.2读时间日期显示流程图 (18)5.3LED显示流程图 (19)5.4主程序流程图 (20)第6章仿真和调试 (21)6.1调试软件的介绍 (21)6.2调试的操作步骤 (21)6.3仿真软件对于本设计的仿真 (22)结论 (25)参考文献 (26)附录1 整机原理图 (27)附录2 元件明细表 (28)附录3 源程序 (29)摘要本设计以单片机AT89C51为控制核心,与DS1302、24C02C和LED等组成校园打铃系统,运用实时时钟芯片DS1302实现时间控制,同时运用LED七段数码管完成当前的年、月、日、时、分、秒和星期以及打铃时间的显示,再利用键盘可以对系统当前时间以及打铃时间进行调节、存储、清空操作,并且使用外部存储器24C02C完成打铃时间的存储。
毕业设计(论文)任务书题目:基于51单片机的教学打铃控制器的设计系名信息工程系专业自动化学号 6010202392学生姓名赵金奇指导教师扈书亮职称讲师2013年12月10日一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。
)工作基础:了解基于DS1302实时时钟的基本命令格式,能熟练使用51系列单片机。
研究条件:利用DS1302实现时间、日期的计量,利用数码管实现信息的显示,利用51单片机实现时间日期的获取,并可接受来自键盘的按键信息,完成时间、日期的设定,通过当期时间日期与设定时间日期的比对,实现打铃控制。
设定信息将存储在存储芯片中。
应用环境:可编程的定时器的控制器的设定应用。
工作目的:熟练掌握51单片机的C编程。
熟练掌握DS1302/AT24C02的编程方法。
熟练掌握PROTEUS仿真技术。
二、参考文献[1]单片机的C语言应用程序设计,马忠梅,北京航空航天大学出版社,2007.[2]基于FM1702射频识别读写器的设计与实现,邢海霞,索明何. 嵌入式计算机,2007.[3]新概念51单片机C语言教程,郭天祥,电子工业出版社,2008.[4]C程序设计(第三版),谭浩强,清华大学出版社,2007.[5]The 8051 Microcontroller and Embedded Systems, Muhammad Ali Mazidietc.三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。
)1、完成DS1302的时间获取与设定。
2、完成基于AT24C02的数据存储。
3、完成当前时间/日期信息的显示以及设定信息的显示。
4、能够进行时间日期的比对控制。
指导教师(签字)年月日审题小组组长(签字)年月日本科生毕业设计(论文)开题报告整体系统设计框图本次设计主要包括单片机模块、DS1302模块、数码管显示器模块、继电器模块四个部分。
微机控制系统应用方向学年设计任务书基于单片机控制的教学打铃系统的设计与实现设计说明书(封面)学院名称:滁州学院班级名称:计算机科学与技术专业10级(2)班学生姓名:方纪锋、贝兴芝、陈文君、陈丹丹、陈竞学号:81、66、73、68、70题目:基于单片机控制的教学打铃系统的设计与实现指导教师姓名:姚光顺起止日期: 2013年7月3日—2013年8月29日目录第一部分:正文部分 0一、绪论 01 设计背景 02 主要工作和方法 03 本文结构 0二、相关知识 (1)1 单片机介绍 (1)2 显示器简介 (3)3 蜂鸣器简介 (3)三、系统设计 (3)1 需求分析 (3)2 系统硬件电路设计 (4)3 软件设计流程图 (6)4 显示程序设计 (6)5 按键设定程序设计 (7)四、系统实现 (8)1 功能模块 (8)五、系统测试与数据分析 (8)1 元件清单 (8)2 调试过程 (9)六、结论 (9)第二部分:参考文献 (9)第三部分:指导教师评语 (9)第四部分:成绩评定 (10)附录 (10)基于单片机控制的教学打铃系统的设计与实现第一部分:正文部分一、绪论1 设计背景目前自动打铃系统广泛应用于生活、工作等方方面面,在人们的日常生活中起到重要作用。
例如,在学校生活中,每天上下课都离不开打铃器的使用。
打铃器可以为上下课的学生和老师们提供时间提醒,同时,也可作为一个提醒学生们作息时间的时间表,让大家有一个时间意识,形成规律的生物钟,对自身的健康也有很大的好处的。
对于那些上课精力过于集中、知识面拓展比较广的老师的拖堂现象也给了一个下课时间提醒,以免耽误学生们下一节课的上课时间。
最原始的打铃器是人工根据时间通过敲钟来提醒,随着技术的发展,开始有了机械式打铃器。
随着二十世纪电子技术的发展和二十一世纪半导体技术和集成电路的发展,电子技术开始渗入到各行各业,打铃器也更多的向着智能型转变。
设备的智能化离不开单片机的使用。
基于以上原因,本学年设计了一款基于单片机的自动打铃系统,使用简单方便。
2 主要工作和方法本系统主要完成以下工作:⑴能够通过7段数码管显示时间;⑵能够通过按键对当前的时间设置进行校正;⑶能够按照学校当前的作息时间进行打铃;⑷能够通过按键对学校当前的作息时间进行修改。
3 本文结构本文第1部分绪论主要说明了本文的设计背景、主要工作和实现方法。
第2部分相关知识介绍了单片机的概念、结构,数码管的相关知识,蜂鸣器的相关知识。
第3部分系统设计,阐述了需求分析、系统硬件设计和系统工作流程设计。
第4部分系统实现介绍了系统各个功能模块。
第5部分系统测试与数据分析,介绍了所用元件和调试过程。
二、相关知识1 单片机介绍⑴单片机概念本系统采用AT89C51系列单片机。
AT89C51是一种带4K字节 FLASH 存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
⑵单片机结构AT89C51的结构如图2-1所示:图2-1 AT89C51管脚图AT89C51的管脚说明如下:①VCC:供电电压。
②GND:接地。
③P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
④P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
⑤P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
⑥P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号。
P3口也可作为AT89C51的一些特殊功能口,如表2-1所示:表2-1 AT89C51特殊功能表管脚备选功能RXD(串行输入口)TXD(串行输出口)/INT0(外部中断0)/INT1(外部中断1)T0(计时器0外部输入)T1(计时器1外部输入)/WR(外部数据存储器写选通)/RD(外部数据存储器读选通)⑦RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
⑧ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
⑨/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
⑩/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
⑪XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;XTAL2:来自反向振荡器的输出。
2 显示器件简介本系统的显示时间功能是按照一般电子表的显示进行设计的,让其显示6为数字时间信息即显示时、分、秒,再加上成本等因素,所以我们选择用7段数码管进行显示。
一般的七段数码管拥有八个发光二极管用以显示十进制0至9的数字,也可以显示英文字母,包括十六进制和二十进制中的英文A至F(a至f)。
七段数码管由四个直向、三个横向及上右下角一点的发光二极管组成,由以上向条发光体组合出不同的数字。
除七段数码管外,还有十四及十六划的显示器,但现时已被点阵显示器所取代。
七段数码管分为共阳极及共阴极,共阳极的七段数码管的正极(或阳极)为八个发光二极管的共有正极,其他接点为独立发光二极管的负极(或阴极),使用者只需把正极接电,不同的负极接地就能控制七段数码管显示不同的数字。
3 蜂鸣器简介蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于电子产品中作发声器件。
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
压电式蜂鸣器工作原理:当接通电源后(~15V直流工作电压),多谐振荡器起振,输出~的音频信号,阻抗匹配器推动压电蜂鸣片发声。
电磁式蜂鸣器工作原理:接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。
振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
三、系统设计1 需求分析⑴设计任务①能够通过7段数码管显示时间;②能够通过按键对当前的时间设置进行校正;③能够按照学校当前的作息时间进行打铃;④能够通过按键对学校当前的作息时间进行修改。
⑵基本要求该系统具备以下几点基本要求:①基本计时和显示功能(用24小时制进行显示)。
②能够设置当前时间。
③能够实现基本打铃功能,按照表3-1显示的时间进行打铃。
表3-1 作息时间表8:00第一节课上14:20第五节课上19:30第九节课上8:45第一节课下15:05第五节课下20:15第九节课下8:55第二节课上15:15第六节课上20:25第十节课上9:40第二节课下16:00第六节课下21:10第十节课下10:00第三节课上16:20第七节课上10:45第三节课下17:05第七节课下10:55第四节课上17:15第八节课上11:40第四节课下18:00第八节课下⑶性能指标该系统具备以下性能指标:①时钟:时(2位)、分(2位)、秒(2位),时分秒用“--”分开。
②校对键:设置键,左移/右移键,加减键,确定/取消键,添加键。
③响铃:蜂鸣器。
2 系统硬件电路设计分析完单片机教学打铃系统原理及特点后,设计了以下硬件系统。
⑴总体方案设计本系统是基于单片机AT89C51的教学打铃系统。
系统硬件电路包括:AT89C51单片机的最小系统硬件电路、时钟电路、显示电路、打铃电路。
本系统的结构框图如图3-1所示:图3-1 系统结构图⑵硬件电路图该系统的硬件电路如图3-2所示:图3-2 硬件电路图⑶按键电路本系统接有8个按键,按键的一端接地。
另一端分别单片机的~口。
按键从上到下的功能分别是:设置按键、加按键、减按键,左移按键、右移按键、确定按键、取消按键和修改闹铃按键。
按键电路模块如图3-3所示:图3-3 按键电路模块图⑷显示电路根据设计要求,该系统采用共阴极数码管,其公共端接单片机的P0口。
数码管显示电路使用AT89C51的动态显示功能,数码管的八段(a、b、c、d、e、f、g、dp)接入单片机的P2口,数码管分别显示:“时”、“—”、“分”、“—”、“秒”。
数码管显示电路如图3-4所示:图3-4 显示电路图⑸打铃电路打铃电路(接):当前时间与程序设定时间相同时,端输出高电平的方波,即打铃。
打铃电路模块如图3-5所示:图3-5 打铃电路图3 软件设计流程图图3-6 主程序流程图4 显示程序设计利用12MHz中断做时钟源进行计时,每20次中断秒加1。
流程图如图3-7 所示:s图3-7 定时中断程序流程图5 按键设定程序设计本系统接有8个按键从上到下的功能分别是:设置按键、加按键、减按键,左移按键、右移按键、确定按键、取消按键和修改闹铃按键。