单片机自动打铃系统
基于单片机的打铃系统

基于单片机的打铃系统一、系统简介打铃系统是一种用于管理学校、工厂、办公室等场所时间的设施,它可以自动地、准确地实现时间的管理。
本文所介绍的打铃系统基于单片机开发,通过编程实现各种铃声的播放,实现按时响铃的功能。
二、系统硬件组成打铃系统基于AT89S52单片机实现。
除了单片机之外,还需要以下硬件:1.时钟电路:用于提供准确的时钟信号。
2.按键:用于设定铃声和时间,以及启动和停止铃声。
3.位选器:用于选择哪个七段数码管进行显示。
4.七段数码管:用于显示当前时间和设定的时间。
5.蜂鸣器:用于播放铃声。
6.电源模块:用于提供系统所需的电源。
三、系统程序实现1.时钟模块时钟模块是整个打铃系统的核心模块,它通过内部定时器实现时钟计时。
定时器的具体参数需要根据外部晶体振荡器的频率进行设置。
在计时过程中,将当前时间实时显示在七段数码管上,并提供按键设置时间的功能。
2.铃声模块铃声模块主要负责蜂鸣器的控制,通过控制蜂鸣器的高低电平来实现各种铃声的播放。
在设定的时间到达时,蜂鸣器会自动响起预先设置好的铃声。
当按下停止键时,蜂鸣器会停止响铃。
四、系统优化设计为了提高打铃系统的稳定性和可靠性,需要进行一些优化设计。
其中的一些优化设计包括:1.电源管理:系统的电源管理非常重要,可以通过使用稳压器等组件来提高系统的抗噪声性能和稳定性。
2.按键处理:按键可以使用中断或轮询的方式进行处理,使用中断方式可以提高系统的实时性。
3.时钟精度:系统的时钟精度非常关键,需要使用高精度的外部晶体振荡器并进行一定的校准以提高时钟的准确性。
四、系统应用本文所介绍的打铃系统可以广泛应用于学校、工厂、办公室等场所。
它可以帮助管理者准确地掌握各个时间点,提高管理效率和准确性。
同时,通过优化设计可以大大提高系统的性能和稳定性。
五、总结打铃系统是一种非常实用的设施,通过单片机等电子技术的应用,可以实现自动化、智能化的时间管理。
本文介绍了基于单片机的打铃系统的硬件组成和程序实现,以及针对性的优化设计,以期为相关领域的读者提供一些借鉴和参考。
单片机电子闹钟程序亲自编写-可用

单片机电子闹钟程序(亲自编写-可用)————————————————————————————————作者:————————————————————————————————日期:学校电子钟,有闹钟功能,按键可调时间,可调打铃时间,打铃时间长短显示,每个模块有功能注释。
其中正常时间显示和闹钟时间显示可用一个开关来调整。
芯片选择STC89C52程序:#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//定义显示段码uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};uchar codebbtime[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar clock[]={0,0,0,0};uchar clock1[]={12,30,0};uchar weikong[6];uchar bbduration=4;uchar lingtime=9;//学校打铃时间组uchar shangwu1[]={8,30};uchar shangwu2[]={10,0};uchar shangwu3[]={10,20};uchar shangwu4[]={11,50};uchar xiawu1[]={13,30};uchar xiawu2[]={15,00};uchar xiawu3[]={15,15};uchar xiawu4[]={16,45};//按键定义sbit mode=P1^7;sbit sec_clr=P1^0;sbit min_set_add=P1^3;sbit min_set_sub=P1^4;sbit hour_set_add=P1^1;sbit hour_set_sub=P1^2;sbit bb_set_add=P1^5;sbit bb_set_sub=P1^6;sbit speaker=P2^6;//延时函数void delay(unsigned int t){while(t--);//时钟进位函数void clockjinwei(){clock[0]++;if(clock[0]==20){clock[1]++;clock[0]=0;if(clock[1]==60){clock[2]++;clock[1]=0;if(clock[2]==60){clock[3]++;clock[2]=0;if(clock[3]==24)clock[3]=0;}}}}//定时器0中断服务函数void timer0(void) interrupt 1 using 1 {TMOD=0x01;TH0=0x3c;TL0=0xb0;clockjinwei();}//时钟分位显示函数void fenwei(){weikong[0]=clock[3]/10;weikong[1]=clock[3]%10;weikong[2]=clock[2]/10;weikong[3]=clock[2]%10;weikong[4]=clock[1]/10;weikong[5]=clock[1]%10;}//闹钟分位显示函数void naofen(){weikong[0]=clock1[0]/10;weikong[1]=clock1[0]%10;weikong[2]=clock1[1]/10;weikong[3]=clock1[1]%10;weikong[4]=clock1[2]/10;weikong[5]=clock1[2]%10; }//闹钟定时显示函数void naozhongdisplay(){uchar z,s;uchar x=0x01;naofen();for(z=0;z<6;z++){P2=0;P0=table[weikong[z]];P2=x;x=_crol_(x,1);for(s=0;s<255;s++);}}//时钟显示函数void display(){uchar i,j;uchar x=0x01;fenwei();for(i=0;i<6;i++){P2=0;P0=table[weikong[i]];P2=x;x=_crol_(x,1);for(j=0;j<255;j++);}}//总显示函数void zhongxian(){if(mode==1)delay(100);if(mode==1)display();if(mode==0)delay(100);if(mode==0)naozhongdisplay();}//按键处理程序void key_set(){zhongxian();P1=0xff;if(min_set_add==0){delay(100);if(min_set_add==0){if(mode==1){clock[2]++;if(clock[2]==60){clock[2]=0;}while(min_set_add==0)zhongxian();}}if(mode==0){clock1[1]++;if(clock1[1]==60){clock1[1]=0;}while(min_set_add==0)zhongxian();}}//if(min_set_sub==0){delay(100);if(min_set_sub==0){if(mode==1){clock[2]--;if(clock[2]==0)clock[2]=59;}while(min_set_sub==0)zhongxian();if(mode==0){clock1[1]--;if(clock1[1]==0)clock1[1]=59;}while(min_set_sub==0)zhongxian();}}//if(hour_set_add==0){delay(100);if(hour_set_add==0){if(mode==1){clock[3]++;if(clock[3]==24){clock[3]=0;}while(hour_set_add==0)zhongxian();}if(mode==0){clock1[0]++;if(clock1[0]==24){clock1[0]=0;}while(hour_set_add==0)zhongxian();}}}//if(hour_set_sub==0){delay(100);if(hour_set_sub==0){if(mode==1){clock[3]--;if(clock[3]==0)clock[3]=23;}while(hour_set_sub==0)zhongxian();if(mode==0){clock1[0]--;if(clock1[0]==0)clock1[0]=23;}while(hour_set_sub==0)zhongxian();}}//if(sec_clr==0){delay(100);if(sec_clr==0){clock[1]=0;}while(sec_clr==0)zhongxian();}}//闹钟响铃函数void bb(){if(clock[1]<=bbduration){speaker=1;delay(100);speaker=0;}else speaker=0;}//打铃函数void daling(){if(clock[1]<=lingtime){speaker=1;delay(100);speaker=0;}else speaker=0;}//时间比较函数void bijiao(){if(clock[3]==shangwu1[0]){if(clock[2]==shangwu1[1])daling();}if(clock[3]==shangwu2[0]){if(clock[2]==shangwu2[1])daling();}if(clock[3]==shangwu3[0]){if(clock[2]==shangwu3[1])daling();}if(clock[3]==shangwu4[0]){if(clock[2]==shangwu4[1])daling();}if(clock[3]==xiawu1[0]){if(clock[2]==xiawu1[1])daling();}if(clock[3]==xiawu2[0]){if(clock[2]==xiawu2[1])daling();}if(clock[3]==xiawu3[0]){if(clock[2]==xiawu3[1])daling();}if(clock[3]==xiawu4[0]){if(clock[2]==xiawu4[1])daling();}}//闹钟比较void naobijiao(){if(clock[3]==clock1[0]){if(clock[2]==clock1[1]||clock[2]==clock1[1]+1||clock[2]==clock1[1]+2) bb();}}//响铃时长显示函数void bbtimeshow(){P3=bbtime[bbduration];if(bbduration>15)bbduration=0;}//响铃按键处理函数void bbtime_set(){bbtimeshow();if(bb_set_add==0){delay(100);if(bb_set_add==0)bbduration++;while(bb_set_add==0)bbtimeshow();}if(bb_set_sub==0){delay(100);if(bb_set_sub==0)bbduration--;while(bb_set_sub==0)bbtimeshow();}}//主程序void main(){EA=1;ET0=1;TR0=1;while(1){key_set();bijiao();bbtime_set();naobijiao();}}电路图:分四部分显示:如果在学习这个程序过程中有什么问题,可以发邮件到询问。
基于单片机自动打铃系统设计

目录第一部分设计任务 (2)1、毕业设计的主要任务 (2)2、单片机总体设计思路 (2)第二部分设计说明 (3)1、单片机介绍 (3)2、设计说明 (3)3、软件设计 (8)第三部分设计成果 (12)1、开机运行图 (12)2、自动打铃器源程序 (12)第四部分结束语 (15)第五部分致谢 (18)第六部分参考文献 (19)第一部分设计任务1、毕业设计的主要任务设计一个采用4位数码管显示时间秒、分、时,伴有调时校正电路,响铃控制则是通过作息时间表和定时器来实现自动打铃的单片机控制系统。
对于不同的季节,作息时间可能不同,可以制定多个作息时间表采用开关切换达到目的。
本设计采用了1个开关实现夏季和冬季作息时间的切换,完成一个自动循环。
2、单片机总体设计思路(1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏。
(2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒。
(3)在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能。
(4)设计打铃执行机构,完成自动打铃功能。
第二部分设计说明1、单片机介绍本系统主要由主控模块,时钟模块,显示模块,键盘接口模块等4部分构成。
通过内部定时产生中断,从而使驱动电铃打铃。
设定51单片机工作在定时器工作方式1,每100ms产生一次中断,利用软件将基准100ms单元进行累加,当定时器产生10次中断就产生1S信号,这是秒单元加1。
同理,对分单有采用动态扫描LED的显示。
本系统采用四个按键,当时钟时间和设置时间一直时元和时单元计数从而产生秒、分、时的值,通过六位七段显示器进行显示。
由于动态显示法需要数据所存等硬件,接口作,进行打铃,每次打铃30s较复杂,考虑显示只有六位,且系统没有其他浮躁的处理程序。
2、设计说明2.1 AT89C51简介一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
自动打铃电路课程毕业设计

自动打铃电路设计摘要打铃器可以为上下课的学生和老师们提供时间提醒,有利于师生对上课和学习的合理安排。
同事也可以作为一个提醒学生作息时间的时间表,让老师和学生都有一个规律科学的时间安排。
因此,打铃系统的核心部分也是时钟部分,为系统提供时间基准。
本设计主要是针对适用于校园打铃系统要求的,其介绍了一种基于单片机的自动打铃系统的设计方法,系统以STC89C52单片机为控制器,以DS1302时钟芯片为系统提供时间,并在1602液晶显示器上显示,通过按键可以设定定时打铃时间和打铃间隔。
系统软件设计采用C语言来完成,C语言语法简洁,使用方便,用于完成软件设计非常方便。
关键字:打铃器,STC89C52单片机,DS1302,LCD1602目录1 绪论 (1)1.1 课题描述 (1)1.2 设计任务与要求 (1)1.3 基本工作原理及框图 (1)2 总体电路设计及分析 (2)2.1 总体电路设计 (2)2.2 工作原理 (2)3单元电路设计 (3)3.1 STC89C52最小系统 (3)3.2晶振电路 (5)3.3复位电路 (5)3.4时钟集成模块 (6)3.6按键控制电路 (10)3.7响铃电路 (10)3.8程序流程图 (11)4 软件设计 (11)5 系统测试 (26)总结 (27)致谢 (28)参考文献 (29)1绪论1.1课题描述此次设计利用单片机的中断系统,每次中断都从计时芯片中读取时间,与规定的作息时间比较,如果相等则进行相应的控制或动作。
由显示部分、计时时钟、蜂鸣器驱动模块和按钮控制模块四部分组成,三个轻触按键用于校正时间。
现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。
本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。
1.2 设计任务与要求设计自动打铃电路:1.按照设计要求,画出系统框图和系统硬件电路图。
基于单片机无线控制的多功能打铃仪设计

表2 G P S 接收测试
l 旦 坚 I 里l
不 同动作 。
l
8 : 0 o 1 0 : 0 0 1 2 : 0 0 1 6 : 0 0 1 8 : 0 0 2 0 : 0 0 2 4 : O 0
巡检控制包为3 个字节 ,0 B :命令字 , 不同的命 令代 表
( 6 ) 传感 器巡 检包 ( 子机接 收 )
! l !
l 里 I 兰 呈 I
l
I
】
巡检控制包为2 个字节 , O B : 命令字 , 不 同的命令代表 不 同动作 ;1 B :I D 号 ,存放子机2 的I D 地址 ; 2 B : 传感器 型
号 ;3 B : 传感器动作
2 ol 3. 07
进行打铃时 间比较
进行打铃时 间比较
N
间是 为l 2 点
切换为0 0 信道并发射检 测信号,对子机进行检 测, 等待子机应答
一
Y
时间是否为 打铃时间
N
切换为o 0 信道并发射 打铃信号
J r Y
L—]
子机指示灯保持长亮I ຫໍສະໝຸດ l 子机指示灯灭 I m m I m I
2 . 4 报警功 能
如果 有报 警 按键 按下 去 , 则 停 下子 机工 作 ,子机 切
.
换 到C H 3 信 道 向主机发送 报警信 号 ,并 打铃 ,直到警 报解 1 0 B( H) I l B I 2 B l 3 B I 4 B l 5 B 除 。如果外 接有无 线传 感器 ,子机通 过C H 5 信 道巡检 各传 打铃控制包为6 个字节 , : 命令字 ,不 同的命令代表
l
l! 旦l
基于单片机的多功能定时打铃钟设计

(oeeo ca i ladEet ncE gnei ̄ E s C i ntu f Tcn l y l nx,N n hn 3 0 3 C lg fMehnc n l r i n er l a co n at hn Istt o eh o g ,f g i ae ag 30 1 , a ie o a
关 键 词 : T 9 5 ;4 S 6 ; A 8 C 17 L 14 时钟
中图分类号 :P 9 T 3
文献标识码 : A
文章编号 :0 7 8 — 2
De i n o u t f n to i n i g n el s d o CU sg f m li u c i n tmi g r n i g b l Ba e n M - s
所示 。
打铃 时间的设 置为 :上课时间 5 分 钟 :课间休息 1 0 0分 钟; 上午 8点上课 ; 节数 为 4节 ; 下午 2点上 课 ; 节数为 4节 ;
晚上 7点上课 , 节数 为 2节。 响铃 的时 间为 : :0 8 5 、 :0 9 5 、0 0 、0 5 、1 8( 、:0 9 0 、 :0 1 :0 1 :0 1 : )
摘 要: 了解决部 分学校传统打铃钟操作不便 , 态电流大 , 为 静 电路复杂 , 可靠性低 , 成本 高的 问题 , 文章 中设计的 系统采用单片机 A 8 C 1和移位寄存 器 7 L 14为核 心, T9 5 4S6 通过驱动 电路 实现打铃 的可显 示 自动走 时的多功 能定时打 铃钟 。文章详 细介绍 了系统总体 方案及部分硬件设计方案。
多年来 , 一些学校使用 的基本 是传统的打铃钟 , 以往 的打
( ) 盘接 8 C 1的 P 1键 95 l口, P . P . 从 1 0到 1 3口共设置 了四
一种基于单片机的校园打铃系统的实现

一种基于单片机的校园打铃系统的实现作者:杨帆来源:《电脑知识与技术》2013年第32期摘要:单片机的控制性和适应性强的特点使得单片机当今被越来越广泛的使用。
针对目前的打铃系统的缺陷,该文使用AT89S51单片机为核心模块,设计出一种基于单片机的打铃系统,并给出了该系统的主要部件电路图和软件程序。
该系统打铃精准,操作方便,可靠性高。
关键词:单片机;AT89S51;打铃系统;高效性中图分类号:TP338 文献标识码:A 文章编号:1009-3044(2013)32-7236-04单片机是单个芯片上集成了微处理器、内存、外存、I/O接口、总线等设备的一种单片微型计算机。
它有两大特点:控制性能和可靠性高,体积小、价格低、易于产品化。
正是这两大特点使得单片机的使用领域越来越广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,变成智能化的数字产品。
众所周知,铃声作为学校教师和学生同步的信号显得尤为重要。
自动打铃系统不断影响着我们的学习和生活,它已被广泛应用于各个学校中,它能够实现学校的办公自动化,便于学校的管理。
自动打铃器是控制铃声的一种电子设备,既可以根据具体情况精准的设置不同的打铃时间点,也可以对广大师生的作息时间做更好的管理。
就目前情况而言,市场上打铃器多为小规模集成电路构成,其性能单一,可扩展性和实用性不强。
随着日新月异的计算机技术的发展,尤其是可靠性高,体积小、价格低、易于产品化的单片机技术的应用,使的基于单片机的校园打铃系统不但功能强大,时间点精准,而且用户操作起来非常方便。
1 AT89S51单片机介绍AT89S51单片机[1]是MCS-51系列单片机的典型代表,是在一个高性能CMOS8位单片机,芯片内集成了通用8位中央处理器,片内含4KB的可反复擦写1000次的FLASH只读程序存储器(ROM),支持ISP功能。
AT89S51内部还有128字节的随机存取数据存取器(RAM)、5个中断源、2层中断优先级、2个16位可编程定时计数器、2个全双工串行通信口、片内时钟振荡器,兼容标准MCS-51指令系统及80C51引脚结构。
【设计】参考基于单片机的打铃器硬件设计毕业论文

【关键字】设计CHANGZHOU INSTITUTE OF TECHNOLOGY科研实践题目:基于单片机的打铃器设计二级学院(直属学部):延陵学院专业:电气工程及其自动化班级:10电Y3学生姓名:学号:指导教师姓名:范力旻职称:副教授至摘要单片机自1976年由Inter公司推出MCG-48开始,迄今已有二十多年了。
由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。
单片机的应用领域已经从面相工业控制、通讯、交通。
智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。
按照内部数据通道的宽度,单片机可分为4位、8位、16位及32位等。
单片机的中央处理器(CPU)和通用微处理器基本相同,只是增设了“面向控制”的处理功能。
例如:位处理、查表、多种地址询问方式、多种跳转、乘除法运算、状态监控、中断处理器,强了实时性。
本设计以AT89S52芯片为核心,利用DS1302作时钟芯片,具有实时显示当前时间,按设定时间报时,能修改当前时钟等功能。
关键词:定时打铃;DS1302时钟;LCD1602液晶显示目录第一章绪论1.1 选题背景及研究意义随着科技的不断发展,各种芯片都得到了很好的发展,89S52同样如此,从开始的无人问津到现在的随处可见,红绿灯,记分牌,电子秒表,遥控器,电饭煲,电视等只要是电子产品,都会和芯片有关,其实芯片并不是什么神秘的高科技,它只是里面装了一些己编好的程序而己.而自动打铃系统是用汇编语言来编程的一个系统,它能够让一个学校或企业集团实现打铃自动化,总之,一个需要时间系统的机构实现自动提醒功能。
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
基于单片机的自动打铃系统

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)单片机打铃系统设计前言随着现代科技的发展,管理水平的完善,具有自动提示功能的打铃器能够为企业节省人力资源,减少开支,对做到一体化管理具有很大的帮助。
打铃器清单原理图及程序

单片机项目——打铃器设计朱琳指导老师:张小明老师班级:09信息一班目录1………………………………………摘要2……………………………………任务3……………………….......硬件图及其设计说明4………………………..使用说明5…………………….结束语6…………….致谢摘要本设计是采用单片机技术的打铃器,目前以单片机技术的应用为核心的产品种类非常丰富。
应用我们所学过的知识和查阅相关资料,我制作了这个单片机技术为基础的打铃器,这是一个简单的实用的单片机电子设计产品。
我们通过书本上的知识,再通过每一次上课张老师让我们独立完成自己的项目,自己动脑筋,自己解决。
实在没办法的,可以请教张老师指点1,2 在一个半月里的努力与奋斗,有了今天的成果,之前我都没想到我会完成这个任务的。
本打铃器设计是以单片机技术为核心,采用了中小规模集成度的单片机制作的功能较为完善的电子闹钟。
硬件设计应用了成熟的数字钟电路的基本设计方法以,并详细介绍了系统的工作原理。
硬件电路中使用了除AT89C52外,另外还有LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件。
在硬件电路的基础上,软件设计按照系统设计功能的要求,运用所学的C语言,实现的功能包括‘时时-分分’显示、可设置多组时间、定时时间到能发出10秒的报警声。
整体进行仿真并调试构成了整个完整的打铃器的设计。
最后通过反复的林洋板的实际烧片仿真,该系统能够实现所有要求的功能包括:(1)能显示‘时时-分分’。
(2) 可设置多组时间(3)定时时间到蜂鸣器能发出铃声。
当然这个系统仍然是属于比较简单的单片机应用系统,要设计功能更强的更复杂的系统还需要我进一步的学习。
任务1.1设计任务1、设计一个打铃器程序2、先通过keil软件仿真。
3、再根据原来的程序基础上对硬件进行仿真4、然后通过修改程序把它移到林洋开发板上5、最后通过实验进行对打铃器的功能添加与修改。
6、写出完整的设计任务书:课题的名称、系统的功能、硬件原理图、程序清单;1.2设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)针对课题设计方案的分析、选择、比较、熟悉单片机所用系统开发、研制的过程,软硬件设计的方法、内容及步骤;(4)掌握打铃器的工作原理。
基于89C51的简易打铃系统

目录引言 (5)1.硬件组成与方案设计 (5)1.1硬件组成 (5)1.2方案设计 (6)2.单元电路设计 (4)2.1时钟电路设计........................................ 错误!未定义书签。
2.2 复位电路设计 (6)2.3打铃电路设计 (10)2.4键盘与单片机连接电路设计 (10)2.5 8255芯片及连接图电图 (10)3.系统软件工作流程图 (10)3.1主程序工作流程 (10)3.2读秒显示子程序 (11)3.3中断服务子程序 (12)3.4时间设定子程序 (12)4.系统功能实际测试 (13)4.1程序实际编译测试 (13)4.2 软件调试步骤 (13)4.3子程序调试步骤 (13)4.4调试结果 (14)4.5系统误差及性能分析 (14)5.设计总结 (14)参考文献 (15)附录A.整体电路图 (16)附录B.源程序 (17)简易自动打铃系统设计引言电子打铃课题设计着重于实践和动手能力的培养,通过阅读并学习本论文可以大概了解单片机的发展及其工作方法,了解汇编语言,掌握一定的MCS—51单片机知以及用指令编程方法和技巧。
能用MCS—51单片机指令编制出一些实用的小程序。
另一方面通过本论文可以了解电子打铃打铃器的时钟走时、显示、定时器等的工作方式以及时钟控制打铃编程方法。
时钟走时是利用定时器计数进行的,显示由键盘显示接口电路与五个数码显示组成,利用可实现对键盘、显示器的自动扫描并且可以减轻对CPU的负担,具有显示稳定、程序简单、不会出现误动作的特点。
时钟控制就是利用键盘输入一个时设定的时间值,再经过程序中的比较判断程序来控制时钟走。
1.硬件组成与方案设计1.1硬件组成硬件组成如图1.1所示:图1.1芯片和键盘实现功能1.2 方案设计该系统用DS1302对时、分、秒计时和设置打铃时间,采用三线串行数据传输接口与STC89C51进行同步通信,用矩阵键盘来设置时间值,并通过8255芯片读入设置值,最后通过89C51单片机芯片综合控制,把当前时间送到数码管显示,到点把信号送入蜂鸣器,实现打铃。
基于单片机的自动打铃系统设计很完整

摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
简易自动打铃系统的出现,使学校上下课铃声得以有效管制,对于减轻学校管理人员工作量、提高学校各工作效率,减少管理人员因忘记打铃,从而导致老师拖延课程时间起到明显效果。
本系统采用单片机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秒。
基于单片机的校园打铃系统设计

信息职业技术学院毕业设计说明书(论文)设计题目: 基于单片机的校园打铃系统设计专业: 应用电子技术班级: 应电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.基本计时和显示功能(12小时制)。
2.可设置当前时间(包括上下午标志,时、分的数字显示)。
3.能在上午7:30(早自习)和下午10:30(晚熄灯)定点打铃,且每次打铃均为响铃5s,停2s,再响5s。
1.方案论证与对比1.1方案一采用时钟芯片和键盘实现功能方案一原理框图如图1-1所示:DS1302芯片蜂鸣器89C52单片机8255芯片数码管键盘图 1-1 采用时钟芯片和键盘实现功能该系统用DS1302对时、分、秒计时和设置打铃时间,采用三线串行数据传输接口与STC89C52进行同步通信,用矩阵键盘来设置时间值,并通过8255芯片读入设置值,最后通过89C52单片机芯片综合控制[1],把当前时间送到数码管显示,到点把信号送入蜂鸣器,实现打铃。
1.2方案二:采用中断定时实现功能方案二原理框图如图1-2所示:图 1-2 采用中断定时实现功能该系统以STC89C52单片机为核心控制部件。
用8255做I/O 拓展芯片,数码管接8255的PA 、PB 引脚,用动态扫描的方式显示当前时间。
蜂鸣器与单片机的P2.0口相连,当打铃时间到时,由STC89C52发出打铃指令。
以外部INT0和INT1中断按钮实现调时功能。
1.3方案比较本设计要求能实现基本计时和打铃功能。
计时和打铃时间设计,方案一中用到了DS1302时钟芯片计时和打铃时间设置;方案二中采用定时器中断来计时并结合软件设置打铃时间。
上述两种方案中:方案一的外围硬件电路设计复杂,而且时钟芯片没有得到充分利用,而方案二的软件计时具有硬件开销小,成本低,外围电路设计简单等优点。
蜂鸣器中 断 数码管8255芯片89C52调时设计,方案一中用矩阵键盘实现调时功能;方案二中采用外部中断0和1的两个按钮来实现调时。
上述两种方案中:方案一的软件设计比方案二的难度系数大,使程序易读性不强。
综合对计时的精密程度要求不高的本系统,本设计采用方案一来实现功能。
基于单片机的教学打铃控制器设计

基于单片机的教学打铃控制器设计随着社会的快速发展和教育的变革,学校的管理也越来越智能化。
其中,教学打铃系统尤其是一项必需的管理手段。
然而,在传统的打铃系统中,存在诸多问题,例如频繁出现的故障、安装和维护成本高昂以及难以满足不同场合的多样化需求等。
因此,基于单片机的教学打铃控制器应运而生,成为教学管理的重要工具。
基于单片机的教学打铃控制器是一种高效可靠、精度高、注册应用广泛的数字化打铃系统。
与传统打铃系统相比,它使用单片机作为核心控制器,实现程序控制,程序实时性好,可靠性高。
同时,该系统具有更多的功能,如定时功能、周计划功能、多语言查询等,能够满足各种不同的场合与需求。
该系统的硬件主要包括打铃控制器、时钟电路、显示器、键盘等部分。
打铃控制器采用单片机,通过输入、处理、输出的方式实现了控制信号的转换与传递。
时钟电路则可精确地控制打铃时间,增强了系统的稳定性。
显示器和键盘则起到人机交互的作用,在更方便且人性化的操作中发挥了至关重要的作用。
在软件方面,该控制器系统主要设计功能包括实时时钟、计时计划、语音提示、多级权限等。
实时时钟功能可根据自行设定的时间表档案精确设置铃声播放时间。
计时计划则可以通过统计不同的节次和课程时间来实现不同的课程的铃声控制。
在语音提示功能中,您可以将语音文件录入系统,并实现系统的语音提示功能。
多级权限功能可以有效地实现不同权限的用户对铃声的控制,从而避免了教学管理中出现的非法操作和误操作等。
在教学管理中,基于单片机的教学打铃控制器有着广泛的应用,特别是在学校、科研机构、实验室等场所。
其优越的性能和丰富的功能使其成为教学管理的不可或缺的一部分。
通过该系统,学校教育管理人员可以更好地实现对铃声的管理和控制,有效地提高学校的学习效率。
总之,基于单片机的教学打铃控制器是一种高效、精准且具备广泛应用前景的数字化打铃系统。
它的应用为学校教学管理提供了较好的解决方案,不仅便捷高效,而且成本低廉、维护简单。
自动打铃系统实验报告

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)。
前言20世纪80年代人类社会进入信息时代以来,人们的一切社会活动都是以信息获取与信息交换为中心,因此,信息技术进入发展新时期,而作为信息技术的基础与支柱之一, 最早的是在学校见过的以物理器件和电磁原理做成的电铃器,其打铃方式单调,适用范围有限,而且会出现各个打铃执行器响铃不同步,打铃时间不准确的情况.随后出现了以微型计算机为核心的打铃器,精度大大提高,更扩大了其功能和集成度最早的工业控制只有靠操作人员的五官感觉和直接控制,后来有了集成芯片可显示控制设备的工作状态.不用工作人员去手动控制,可实现自动化,更像智能方向发展。
早期的集中式打铃系统是基于模拟信号的,他需要一对一的物理连接,而且计算的速度和精度低,信号传输的抗干扰能力也差,而且后来有了数字信号和单片机控制技术,出现了集成电路,集中式数字控制系统于七八十年代占主导地位,采用单片机,微机作为控制器,控制器内部传输的是数字信号,因此克服了模拟仪表控制系统中模拟信号精度低的缺陷,提高了系统的抗干扰能力.集成式打铃系统的优点是易于根据全局情况进行控制计算和判断。
在控制方式选择上芯片可以统一调度和安排; 不足的是,对控制器本身要求高了,必须具有足够的处理能力和较高的可靠性。
单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段 1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。
“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。
在开创嵌入式系统独立发展道路上,Intel公司功不可没。
2.MCU微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。
从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。
在发展MCU方面,最著名的厂家当数Philips公司。
Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。
因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩 3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。
随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。
因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统.经过单片机的发展,集成控制渐渐成熟。
我设计单片机自动控制打铃系统,是以一片8位单片机为核心的实时时钟及控制系统.我们知道单片机的外接石英晶体震荡器能提供稳定、准确的基准频率,并经12分频后向内部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,便可得到秒信号,再对秒信号进行计数便可得到分、时等实时时钟信息.如果石英晶体震荡器的频率信号为6MHZ,设定定时器工作在方式1下,定时器为3CB0H,则定时器每100ms产生1次中断,在定时器的中断定时处理程序中,每10次中断,则向秒计数器加1,秒计数器计数到60则向分计数器进位(并建立分进位标志),分计数器计数到60,则向时计数器进位,如此周而复始的连续技术,便可获得时、分、秒的信号,建立一个实时时钟.接下来便可以进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间(小时与分、存放在RAM中)与信息时间表上的作息时间(小时与分,存放在ROM)是否相同,如有相同者,则进行报时处理并控制打铃,如有不相同则返回主程序,如此便实现了报时控制的要求摘要基于目前广泛应用的传统电铃噪音大,声音刺耳,不符合人们追求。
”绿色环保”生活环境的要求,我采用电力电子技术设计了一种新型变流直流电铃,可模拟人工打铃效果,有效地减少了环境噪音污染,有很好的实用价值。
在此基础上,采用AT89C52单片机设计了一套智能自动打铃系统该系统由三部分组成:程序控制部分、单片机硬件电路部分和电路仿真部分。
+5V、+12V直流分别为各部分电路提供电源。
变流直流电铃部分主电路拓扑为断续工作的BUCK电路,使得铃声节奏符合人的听觉习惯。
单片机部分由三个模块组成:时钟及其显示模块、响铃定时数据表和打铃控制模块。
实时时钟随时与打铃定时数据表进行比较,当二者相吻合时,由P3.7 脚给出响铃信号,再由单稳确定响铃时间长短,驱动继电器吸合.从而接通电铃电路的主电源,完成自动定时响铃任务。
关键词 :单片机、C语言、流程、仿真Abstract:Based on the current extensive use of the traditional noisy bells, the sound harsh, it does not meet the pursuit. "Green" living environment of the request, I use power electronics technology, has designed a new type of inverter DC bell, can simulate the effect of artificial rang the bell, effectively reducing the environmental noise pollution; there is a good practical value. On this basis, using AT89C52 microcontroller designed a set of intelligent automatic rang the bell system, the system consists of three components: process control part of the microcontroller hardware circuit part and the circuit simulation part of the. +5 V, +12 V DC, respectively to provide power for the various parts of the circuited converter topology for the bell part of the main circuit intermittent work, BUCK circuit, making the rhythm ring tones used to meet the person's hearing. SCM in part by three modules: the clock and the display module, ringing bells timing data table and playing control module. Real-time clock and rang the bell at any time to compare tables from time to time, when the two identities coincide, is given by the P3.7 pin ring signal, then determine the ringing duration of a single stable, driver relay pull-in. Bell circuit to connect the main power supply to complete the task of automatic timing ring.Key word monolithic integrated circuit: Microcontrollers, C language, process, simulation目录第一章绪论 (1)1.1课题提出的可行性 (1)1.2课题的分析与设计思路 (1)1.3设计的简介和用途 (1)第二章主要器件介绍 (3)2.1打铃系统整体简介 (3)2.1.1芯片综述 (3)2.1.2AT89C52标准功能: (3)2.1.3管脚介绍 (4)2.2电源电路 (5)2.3复位电路 (5)2.4时钟电路 (6)2.5键盘及显示电路 (6)2.6ISP下载电缆的电路 (8)2.6.1下载电缆的电路设计: (8)2.6.2并行接口电路 (8)2.6.3驱动隔离电路 (9)第三章设计内容及要求 (10)3.1设计要求 (10)3.2系统硬件介绍 (10)3.3本系统的具体设置方法 (11)3.4设计要求 (12)第四章系统程序设计 (13)4.1系统资源分配 (13)4.2软件流程 (14)4.3程序模块设置: (15)4.3.1主程序模块(MAIN): (17)4.3.2调节键处理子程序(TIAOJIE): (19)4.3.3打铃时间点设定键处理子程序(USESET): (19)4.3.4打铃时间清除键处理子程序(URECLR): (22)4.3.5铃声选择键处理子程序(BELSET): (23)4.3.6打铃处理模块(TIMER): (23)4.3.7打铃时间显示子程序(USEXS): (25)4.3.8打铃时间设定存储子程序(USECC): (26)4.3.9恢复走时显示子程序(FFZSXS): (27)4.4.0打铃输出子程序(DLSC): (28)第五章调试与仿真 (29)5.1Proteus 软件介绍 (29)5.2系统仿真过程 (29)5.3调试过程注意点 (35)5.4系统总调、性能测定 (36)附件 (37)附件一: (38)附件二: (39)附件三: (39)附件四: (40)附件五: (41)附件六: (42)总结 (43)致谢 (44)参考文献 (45)第三章设计内容及要求3.1设计要求设计作息时间自动打铃控制系统,要求:1、走时准确,日误时时钟的时、分、秒,用24小时制进行计时.3、具有调节和校对时间的功能.4、作息时间预制功能,最差≤±1S.2、用6个数码显示实多可以预制36个打铃报时点.5、具备定时打铃输出的功能.6、掉电时有备用电池继续走时,不能停机.3.2系统硬件介绍⑴、单片机选用AT89S52,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,并支持在线编程技术,设计时无需外接程序存储器,样品可以直接与PC机连机下载程序,为设计和调试带来极大方便.⑵、LED显示系统:6位LED数码管从左至右依次显示时2位、分2为、秒2位,采用24小时制计时.设计时可利用单片机的P0口和P1口作为时钟信号输出,经驱动芯片后驱动数码显示时间,LED采用动态方式显示.⑶、键盘系统:设置8个程序按键,包括:左键、右键、打铃时间设定键、增加键、减少键、取消键、确定键.键盘系统可由P2口构成.另需配置一个非程序按键:系统复位键.时间设定键:按键,可以选择小时、分钟或回复正常走时,选定的内容快速闪烁.增加减少调节键:按"调节键",所选定的内容加1或减1,.当分增加到59、小时增加到23时,自动回到0,再从1开始增加.打铃时间设定键:将数码管的显示从走时状态转换到打铃时间设定状态,并根据所按该键的次数,显示相应的打铃时间"编组号".然后可以用"增加减少键"和"左移右移键"设定或修改该组的打铃时间.⑷、电源供电系统:本系统采用220V的电源供电,应设计响应的稳压电源电路.当220V停电时,由备用电池向单片机供电,为了延长电池的工作时间,只需维持实时时钟的运行和计时,而耗电量较大的数码显示系统和输出驱动等电路应停止工作.⑸、打铃输出控制:当实时时钟运行到报时点对应的时间时,应输出控制信号,一路信号使本系统的一个发光而极管发光,起提示作用;另一路信号通过继电器去控制电铃,使电铃自动打铃.打铃的铃声分两种:1种是连续响铃,持续时间为10秒;另一种断续响铃,停1秒钟,持续时间也是10秒.3.3本系统的具体设置方法⑴、时间显示:通电或系统复位后,系统自动进入时钟显示,从12:00:00开始计时,此时可以设定当前时间.⑵、时间校对:用"左移右移键"和"增加减少键"来调节时间.第一次按"左移键"时,小时的两位数快速闪烁,这时可以用"增加减少两键"来修改小时数.第二次按"右移键"时,分钟的两位数快速闪烁,这时可以用"增加减少两键"来修改分钟数.第三次按"确定键"时,退出时间校对状态,按新的设定时间修复走时.用"时间设定键"来修改所选定的内容时,则每按一次"增加键",所选定的内容加1.当分钟增加到59、小时增加到23时,自动回复到0,再从1开始增加.时钟设置正确后,再次按"确定键"(即第三次按"确定键"),时间校对从00开始计时.如在时间校对过程中,超过30秒时钟时间没按任何按键,则自动恢复原来的时间走时和显示.⑶、打铃时间设置:用户最多可以设定36组自动打铃时间点, 按动"打铃时间设定键"后,数码管显示01 ** **,其中01(前2位)表示报时点的组别,其值从02到39,第三、四位为打铃时间的小时数,第五、六为打铃时间的分钟数.第一次按"打铃时间设定键"时,则显示"01 ──",01则表示第一组报时点,"──"表示该组的报时时间还未设置,为无效状态,此时可以用"左移键"、"又键"来设置该组的打铃时间:如显示的为"01 ** **"(*表示具体是时间数据),表明该组的打铃时间已经设置,此时也可以用"左移键"、"右移键"来更改该组的打铃时间.当该组的打铃时间设置或更改完毕,按动"打铃时间确定键",可将该组的打铃时间数据存入RAM中,同时组别数据加1,如显示"02 ** **"或"02 ──",然后可以对第二组的打铃时间数据进行修改或设置,再次按动"打铃时间设定键",则将第二组打铃时间存储起来,显示变为"03 ** **"或"03 ──",再对第三组的打铃时间进行修改和设置,依次类推,直到设置完毕.当某一组别的打铃时间显示为"** ──"(则未设置,为无效组别),而继续按"打铃时间设定键",则该组的数据不存储,退出打铃时间设置状态,恢复实时始终走时和显示状态.⑷、打铃时间的查询和消除:按动"打铃时间设定键",可以对各组已设置的打铃时间进行查看,如有错误,则可用上述方法进行修改.如果清楚某组的打铃时间,先用"打铃时间设定键"找到并显示该组的打铃时间,再用"左键"、"右键"将该组的打铃时间设定为"** 00 00".按动"取消键",则可清除该组的时间数据,而后面的各组时间数据的组别依次往前移一位,保证各打铃时间之间不出现空组别或无效组别.如:清除第7组数据后,第8组数据就移至第7组,第9组的数据移至第8组在时间校对、打铃时间设置、查询与修改过程中,超过30秒钟没按任何一个有效按键,则自动恢复原来的时间走时和显示.⑸、打铃的铃声类别设置:在打铃时间设置过程中,可以用"铃声选择键"来设置打铃的铃声类别.在设置某组别的打铃时间时,默认铃声为"连续铃声",即不按"铃声选择键"时为连续铃声.用此方法可以对每组打铃时间的铃声进行设置或更改.不同的铃声用两个发光二极管进行指示.3.4设计要求⑴、系统资源分配:为了便于程序的设计、阅读及修改,需要先对系统的存储器资源进行分配和说明. Array⑵、软件流程:根据上述工作流程和设计要求,软件设计可以分为以下几个功能块:①、主程序:初始化及键盘控制.②、计时程序模块:为定时器0中断服务子程序完成刷新计时缓冲区的功能.③、时间校对模块:完成实时时钟的时间设定.④、打铃时间设置模块:完成打铃时间的设置与清除.⑤、显示程序模块:完成6位LED数码管的动态显示.⑥、键盘扫描程序模块:判断是否有键按下,并求取键号.⑦、定时比较程序模块:判断报时时间是否,如时间到,则启动打铃处理程序.⑧、打铃程序模块:设置两种不同的打铃模式,并选择其一输出.⑨、其他辅助功能程序:如"选择键"处理、""调节键"处理、"打铃时间设定键"处理等键盘设置程序;拆字、合字处理程序图3.1 软件流程图第四章系统程序设计4.1系统资源分配为方便阅读程序,先对系统的资源分配加以说明。