单片机课程设计之自动打铃系统
单片机自动控制打铃系统设计
单片机自动控制打铃系统,是以一片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位同时操作的,只能全部作为输入或输出,而不能将一部分做输入,另一部分做输出。
毕业设计--单片机自动打铃系统论文
摘要在现如今快节奏的生活中,人们对于时间的要求越来越苛刻,很多时候都需要对时间进行规划,然后到时间点就要有时间提醒,这就必须用到时钟提醒装置,亦可称为打铃装置。
打铃装置有很多种,比如手机的打铃系统,闹钟的机械打铃装置,广播打铃系统等等,但是日常生活中见得最多的还是校园的自动打铃系统。
在学校生活中,每天上下课都离不开打铃系统的使用。
打铃器可以为上下课的学生和老师们提供时间提醒,有利于师生对上课和学习的合理安排,同时,也可作为一个提醒学生们作息时间的时间表,让老师和学生都能有一个规律和科学的时间安排。
因此,打铃系统的核心部分也是时钟部分,为系统提供时间基准。
本设计主要是针对适用于校园打铃系统要求的,其介绍了一种基于单片机的自动打铃系统的设计方法,系统以AT89S51单片机为控制器,以DS1307时钟芯片为系统提供时间,并在液晶显示器上显示,通过按键可以设定定时打铃时间和打铃的时间间隔。
系统软件设计采用C语言来完成,C语言语法简洁,使用方便,用于完成软件设计非常方便。
本文提出的设计方法电路简单、成本低廉、实用性强。
关键字:打铃器、AT89S51单片机、DS1307、液晶显示器AbstractNow fast-paced life, the time more and more demanding, often need time to plan and then to the point in time there should be reminded, which must be used to clock reminder can also be calledrang the bell device. Rang the bell device are many, such as the phone rang the bell system, mechanical bell device of the alarm clock, radio bell systems, etc., but in daily life appear or campus automatic bell system. In school life, the last class of the day are inseparable from the bell system. The bell can provide time for the last class of students and teachers to remind conducive to a reasonable arrangement of the teachers and students to school and learning, but also as a reminder of the schedule of the students schedule, so that teachers and students cana law and scientific timing. Therefore, the core part is the clock part of the bell system, the system provides a time reference.This design is mainly for the applicable requirements of the campus bell system, introduced a microcontroller-based automatic bell system design method, the system controller is AT89S51 SCM , the DS1307 clock chip provide the system with time, and the LCD displayed on the monitor button can set the time interval of the timer rang the bell time and rang the bell. System software design using C language, C language syntax is simple, easy to use, very convenient to be used to complete the software design. This paper presents the design circuit is simple, low cost, and practical.Key words: Rang the bell AT89S51 SCM the DS1307 LCD monitors目录摘要 (I)Abstract (II)1 绪论 (1)1.1 选题目的及意义 (1)1.2 技术发展概况 (1)1.3 论文内容与结构 (3)2 方案设计 (4)2.1 方案比较与选择 (4)2.1.1 系统方案选择 (4)2.1.2 时钟芯片选择 (4)2.1.3 显示器件选择 (5)2.2 设计方案 (5)3 系统硬件设计 (7)3.1 硬件电路图 (7)3.2 时钟电路 (7)3.2.1 DS1307简介 (7)3.2.2 时钟电路设计 (8)3.3 按键电路 (8)3.4 单片机电路 (9)3.4.1 单片机简介 (9)3.4.2 单片机最小系统电路 (13)3.5 显示电路 (14)3.6 打铃电路 (15)4 系统软件设计 (17)4.1 软件设计流程图 (17)4.2 读取DS1307时间程序设计 (18)4.3 显示程序设计 (19)4.4 按键设定程序设计 (22)5 系统调试 (23)5.1 元件清单 (23)5.2 调试过程 (23)6 总结与展望 (26)致谢 (27)参考文献 (28)附录 (29)附录一:电路图 (29)附录二:源程序 (30)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)第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)单片机打铃系统设计前言随着现代科技的发展,管理水平的完善,具有自动提示功能的打铃器能够为企业节省人力资源,减少开支,对做到一体化管理具有很大的帮助。
基于单片机的简易自动打铃系统设计
课程设计报告课程名称:单片机原理及应用课程设计设计题目:简易自动打铃系统系别:专业:班级:学生姓名:学号:起止日期:年月日~ 年月日指导教师:教研室主任:摘要随着科学技术的飞速发展,单片机应用的范围越来越广,本设计正是基于STC89C52型单片机为核心,加上适当的外围部件,设计而成的简易自动打铃系统。
简易自动打铃系统的设计以STC89C52单片机芯片和8255芯片的拓展I/0引脚为核心部件,用定时器中断系统进行计时、数码管显示当前时间、蜂鸣器实现打铃功能、矩阵键盘调整显示时间、电源电路为整个系统提供5V工作电压,由以上模块构成了本系统。
根据设计要求,该简易自动打铃系统可以进行计时和显示,设置当前时间,实现定点打铃等功能。
该设计简单、实用、操作便捷。
关键字:单片机;自动定点打铃;设置时间;中断;矩阵键盘;I/O扩展;目录摘要 (3)目录 (4)设计要求 (5)1.方案论证与对比 (5)1.1方案一采用时钟芯片和键盘实现功能 (5)1.2方案二:采用中断定时实现功能 (5)1.3方案比较 (6)2.单元电路设计与论证 (6)2.1单片机、I/O拓展 (7)2.2打铃电路设计 (8)2.3数码管电路设计 (8)3系统软件工作流程图 (8)3.1主程序工作流程 (8)3.2定时器中断子程序 (9)3.3时间设定子程序 (10)4.系统功能实际测试 (11)4.1程序实际编译测试 (11)4.2系统实际测试 (11)4.3软件调试步骤 (11)4.4子程序调试步骤 (11)4.5调试结果 (12)4.6系统误差及性能分析 (12)5.设计总结 (12)6.详细仪器清单 (14)7. 致谢 (15)8.参考文献 (16)附录1.详细程序 (17)简易自动打铃系统设计设计要求⏹ 1.基本计时和显示功能(12小时制)。
⏹ 2.可设置当前时间(包括上下午标志,时、分的数字显示)。
⏹ 3.能在上午7:45自习)和下午10:00(晚熄灯)定点打铃,且每次打铃均为响铃3s,停1s,再响3s。
基于51单片机的自动打铃机设计
单片机系统课程设计课程设计名称:自动打铃器设计专业班级: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研究背景现代社会的发展越来越快,人们的时间观念也越来越强。
24h自动打铃系统设计.
常熟理工学院电气与自动化工程学院《单片机技术》课程设计题目:自动打铃系统设计姓名:学号:班级:指导教师:起止日期:课程设计答辩记录系专业班级答辩人课程设计题目记录内容记录人___________说明:主要记录答辩时所提的问题及答辩人对所提问题的回答课程设计(论文)题目名称自动打铃系统2013年4月11 日第一章目录第一章.目录 (1)第二章.课程设计任务书 (2)第三章.总体设计方案 (3)第四章.操作及使用说明 (6)第五章.硬件原理图 (8)第六章.程序流程 (9)第七章.调试.运行及其结果 (10)第八章.收获及体会 (10)第九章.参考文献 (11)第十章.代码及元件清单 (12)第二章.《单片机技术》课程设计任务书题目:自动打铃系统设计一、课程设计任务本课题要求应用以51单片机为核心设计一自动打铃系统,能完成基本计时和显示功能,用LCD显示时间、铃声可用蜂鸣器发出。
二、课程设计目的通过本次课程设计使学生掌握:1)掌握以单片机为核心的控制系统的分析和设计的基本方法;2)控制程序的设计及实现方法;3)提高学生对单片机实时控制系统的设计和调试能力。
三、课程设计要求基本计时和显示功能(用24小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示,并能设置当前时间(含上、下午,时,分)。
能实现基本打铃功能,规定:上午8:00上课铃:打铃10秒、停2秒、再打铃10秒。
下午5:30下课铃:打铃10秒、停2秒、再打铃10秒。
四、课程设计内容1、人机对话“界面”的设计;2、内存端口及外设的设置;3、硬件电路原理图、软件清单。
第三章.总体设计方案设计方案选择方案一:数字电路设计的自动打铃系统利用函数信号发生器来进行脉冲信号输出,利用74160N来设置十进制和六进制的进位输出。
利用数码显示器来显示时间,利用或门、与门、非门、与非门、等电路元件进行组合实现打铃的控制。
方案二:基于单片机的自动打铃系统设计单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
单片机课程设计自动打铃电路-任务书
课程设计任务书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小时。
基于单片机的校园打铃系统设计
信息职业技术学院毕业设计说明书(论文)设计题目: 基于单片机的校园打铃系统设计专业: 应用电子技术班级: 应电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完成打铃时间的存储。
单片机教学打铃控制器程序设计-课程设计
教师学科教案[ 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中。
课程设计单片机(时钟打铃系统)
目录第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自动打铃系统----学校上下课自动打铃设计设计人:要求:(1)实现上下课的打铃,并通过语音提示上下课;(2)按下开机键,显示当前年月日时间,在LCD液晶屏显示年,月,日,星期,时,分,秒,年-月-日-星期显示在第一行,格式xx-xx-xx-星期x;时分秒显示在第二行,格式xx-xx-xx(24小时格式);(3)能够设置当前时间;(4)使用语音芯片提示上下课,上课时提示:“亲爱的同学们,上课了”,重复2遍,下课时提示:“亲爱的同学们,下课了“,重复2遍。
(5)允许使用时钟芯片。
. . . w d .-《摘要》单片机的外接石英晶体振荡器能提供稳定、准确的基准频率,并经12分频后向部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,便可得秒信号,再对秒信号进行计数便可得到分、时等实时时钟信息。
如果石英晶体振荡器的频率信号为6MHZ,设定定时器定时工作方式1下,定时器为3CBOH,则定时器每100ms产生1次中断,在定时器的中断定时处理程序中,每10次中断,则向秒计数器加1,秒计数器计数到60则向分计数器进位(并建立分进位标志),分计数器计数自动打铃系统,是以一片8位单片机为核心的实时时钟及控制系统。
我们知道到60,则向时计数器进位,如此周而复始的连续计数,便可获得时、分、秒的信号,建立一个实时时钟。
接下来便可以进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间(小时与分、存放在RAM中)与信息时间表上的作息时间(小时与分,存放在ROM)是否相同,如有相同者,则进行报时处理并控制打铃,如有不相同则返回主程序,如此便实现了报时控制的要求。
《关键词》单片机;时间设置电路;计时电路;显示电路;定时打铃控制电路可修编XX信息职业技术学院毕业设计(论文)《引言》始的无人问津到现在的随处可见,红绿灯,记分牌,电子秒表,遥控器,电饭煲,电视等只要是电子产随着科技的不断发展,各种芯片都得到了很好的发展,80C51 同样如此,从开品,都会和芯片有关,其实芯片并不是什么神秘的高科技,它只是里面装了一些己编好的程序而己.而这里要介绍的是用汇编语言来编程的一个系统,它能够让一个学校或企业集团实现打铃自动化,总之,一个需要时间系统的机构实现自动提醒功能。
自动打铃系统实验报告
12 12目录一、 设计要求 (1)1.1项目功能概述1.2设计环境二、 总体设计要求 (1)2.1系统总体结构框图、模块划分 ........................ 1 2.2系统软件流程图 ..................................... 2 三、 详细设计 .. (2)3.1模块1 .......................................................... 2 3.1.1硬件设计1. 该模版块功能2. 芯片选择(各芯片功能、引脚等介绍) 3.该模块的硬件连接( 附上该模块硬件链接图) 3.1.2软件设计该模块所用的主要函数及其功能说明 3.2模版23.2.1硬件设计 (2)1.芯片选择(芯片介绍)2.该模块的硬件连接3.1.2软件设计该模块所用的主要函数及其功能介绍四、详细制作 (6)4.1原理图制作过程、遇到的问题及处理方法 ............... 6 4.2 PCB 图制作过程、遇到的问题及处理方法 .............. 7 4.3 PCB 板制作过程、遇到的问题及处理方法 .............. 8 4.4元器件焊接过程、遇到的问题及处理方法 4.5烧写程序的步骤 . (9)4.6整机调试过程、遇到的问题及处理方法五、小结……5、1收获125.2体会六、参考资料 (13)七、总结 (13)一、设计要求1.1项目功能概述系统正常工作时,在液晶屏的第一行用汉字显示”自动打铃系统”,第二行会显示当前时间,在随后的四行显示最近要打铃的时间,即将要打铃的时间用黑底白字显示,四行时间一页.如果该页的最后一个时间打过铃后,自动翻页,将下一页的4个打铃时间显示出来;用户可以通过按键修改当前时间或打铃时间.1.2设计环境Keil uVisio n2PADS LayoutPADS Router二、总体设计要求2.1系统总体结构框图、模块划分805RS232图11-2 MAX232串行通信电路團C3卄805RiD TiDTGNDGNDTM RxDvcc £图114 MAX232串行通信电路图CI+VccG5DCl- iriouTC2+RUN oRIOITTI IN T2our T2M -Rib R2OUT■- CS + Vccv+ GW Cl-C2+ HOLTRIIHC2-RlOb'I讥 Tim T2OUT T2QI R 和 R2OU T8052.2系统软件流程图图 发送数据程序流程图 接收数据稈序流稈图■>详细设计3.1模块13.2硬件设计3.3各单元的功能描述(1) 对单片机进行编程,使主要功能由软件控制实现,从而简化硬件电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计之自动打铃系统院系:电气与信息工程系
专业: 应用电子
班级: 电子092班
指导教师:
设计时间:
2010年11月05 日
摘要
本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89S52单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。
设计采用AT89S52单片机,使用5V电源供电,并且在按键的作用下可以进行调时,调分,复位功能。
计时数据的更新在计算机C语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。
关键词:AT89S52;数码管; LED
目录
引言 (1)
第一章设计简介及方案论述 (1)
1.1 作息时间控制钟系统概述 (1)
1.2 本设计任务和主要内容 (1)
第二章系统硬件电路设计 (2)
2.1单片机总体设计思路 (2)
2.2 各功能模块程序实现原理分析 (2)
2.21 七段式数码管驱动模块 (2)
2.22 蜂鸣器驱动模块 (2)
2.23 按钮控制模块 (3)
2.3系统主要硬件电路 (5)
2.31 七段式数码管驱动模块的硬件设计 (6)
2.32 蜂鸣器驱动模块的硬件设计 (7)
第三章系统软件设计 (8)
3.1 系统软件设计的主要内容..........................................................................................83.2 系统软件设计的流程图 (8)
第四章系统调试与测试结果分析 (10)
4.1 系统调试 (10)
4.11 软件调试 (10)
4.12 硬件调试 (10)
第五章附录及参考文献 (12)
5.1 汇编程序清单 (12)
5.2 器材仪表 (34)
5.3参考资料 (34)
第六章设计总结
引言
本设计是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。
掌握
单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。
近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用
领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子
系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子
系统中最重要的智能化的核心部件。
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,
传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控
制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能
控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学。