定时打铃器.docx
- 文档编号:23363162
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:39
- 大小:157.40KB
定时打铃器.docx
《定时打铃器.docx》由会员分享,可在线阅读,更多相关《定时打铃器.docx(39页珍藏版)》请在冰豆网上搜索。
定时打铃器
摘要
在我们日常生活中,有许多地方都需要定时打铃器,比如学校通过定时打零来提醒师生上课或下课时间,在工厂来提醒员工上班或下班时间等等。
这就需要定时打铃器首先能正确显示时间,然后有较准的定时功能,而且能智能化的设置定时点来随意更改定时时间。
此次课程设计是利用单片机设计一个定时打铃器,通过单片机控制8255芯片对键盘和数码管的管理,设计出一个可以任意设置两个打铃时间点,并可以对时间和定时进行校时的打铃器。
当时间走到定时点时,则打铃一分钟,而后自动关闭,实现了定时打铃的目的。
关键字:
单片机时钟显示键盘扫描定时打铃
目录
前言4
第一章课程设计任务书5
1.1设计内容及要求5
1.2设计框图5
第二章原理分析6
2.1设计思路6
2.2设计原理及分析6
第三章硬件设计7
3.1显示模块7
3.2键盘模块7
第四章软件设计8
4.1主流程图8
4.2方案比较9
第五章调试过程及分析10
第六章设计总结及体会11
第七章程序流程图13
7.1主程序流程图13
7.2中断程序流程图14
参考文献16
附录一程序清单及注释17
前言
在飞速发展的今天,定时打铃器对人们生活的影响越来越大,它广泛应用于学校、机关、工厂、车站、码头、医院、邮电等企事业单位,实现作息时间打铃。
以前的打铃都是机械式的,其打铃方式单调,适用范围有限,而且打铃时间不准确。
因此,研究新的定时器对人们的生活具有重要的意义。
近些年来随着新型单片机产品的不断出现,以单片机为核心的定时打铃器也随之而生,其计时精确、操作方便、且种类繁多。
打铃器有使用计算机的声卡输出打铃信号,使用串口控制打铃设备电源的一些产品,不过这样的产品使用中不如最小系统的独立打铃器灵便,所以市场占有率很低。
本次设计以单片机为核心的定时打铃器,也是学校常设计的一种产品,应用到工厂、部队以及其他的企、事业单位也有很强大优势。
充分利学校用拥有的软硬件资源,既节省了成本,又使定时打铃取代了传统的机械方式,优化了校园环境。
本文设计的打铃器操作简单,实现的功能丰富,能满足人们的日常生活的需要。
其功能有:
(1)显示时钟,能通过校时键来校时;
(2)可设置定时点至少2个,定时时间到打铃一分钟后自动关闭打铃;(3)断电保存定时点,通过AT24C02芯片实现。
随着科技的发展,以单片机系统为控制中心、采用大规模集成电路生产的定时打铃产品是最新的发展趋势,具有性能稳定,走时更精确,操作简单、人性化,使用方便等特点。
它还能播放音乐乐曲,兼作电子时钟显示,其外形美观大方,亮度清晰,赏心悦目,可取代传统时钟、日历牌、挂历等。
第一章课程设计任务书
1.1设计内容及要求
(1)显示时钟格式:
**时**分**秒。
(2)可任意设定时间达到定时控制,定时点有2个。
(3)定时时间到,打铃1分钟,然后自动关闭打铃。
1、2设计框图
(图1-1)
第二章原理分析
2.1设计思路
定时打铃器主要由显示模块、校时模块和时钟运算模块三大部分组成。
其中校时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。
这样,才能循环记时。
主要采用了6只LED数码管,时钟运算模块的主要功能是对时、分、秒的运算,
2.2设计原理及分析
定时打铃器主要由8255片内定时器定时中断,并取一存储单元作为计数器使用,每中断一次,在中断服务程序中使计数器加1、主要用8051片内定时器定时中断服务程序完成秒、分、时的运算即计时功能,8255A负责将内存里的时位、分位和秒位数值输出到数码管。
单片机不断的把定时单元内容和是时间单元内容进行比较,如果时间到则打铃。
第三章硬件设计
3.1显示模块
用8255控制,用数码管的显示功能来设计。
显示部分硬件用六只LED为显示管,这些LED发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。
通过在这8只发光二极管的阳极加+5V或0V的电压使不同的二极管发光,形成不同的数字。
该模块主要是将运算模块和校时模块运算出来并存放在内存单元里的十六进制表示的时位、分位和秒位数值转化为十进制,并通过8只数码管显示出来。
采用软件译码,即在程序中设置一个段选码表。
CPU直接往LED输出八段代码,省去了硬件译码器。
A0~A3作为8段数据输出口,经74LS07驱动后到达各LED。
只要做到每送一次段选码时也送一次位扫描码,并且每送一次位扫描码后,位码中的0左移一位作为下一次的位扫描码,即可实现由右向左使6只LED依次出现数字显示。
3.2键盘模块
该模块的主要功能是输入命令,对我们要的状态进行切换,并把最终结果存到事先已经开辟的内存单元里,键盘分为四行六列,行与8255PC口低四位相连即PC0-PC3,列与8255的PA口相连,形成一个矩阵形式,一个行号和列号确定一个键的位置,便于单片机读取键值。
第四章软件设计
4.1主流程图
在主程序里要不断的检测是否到时间,是否有键按下,判断之后要转到相应的处理程序。
主程序流程图如图4-1所示。
(图4-1)主程序流程图
4.2方案比较
对于振铃电路的设计我们拟订了两种设计方案
4.2.1方案一:
其振铃电路如下
分析:
此电路的特点是为一继电器输出接口,信号经光耦合后再经过继电器输出,当P1.7为低电平时经7407驱动后经过耦合使SPEAKER发声。
P1.7为低电平时,
喇叭响,为高电平时喇叭不响,次方案的缺点是继电器的磁铁震动,造成不稳定。
a)
4.2.2方案二:
其振铃电路如下
分析:
图中反相器的作用是驱动喇叭的,此方案的优点是:
硬件电路简单,稳定,实现起来方便,很适合于实现中。
而且硬件调试也简单,这样成功率会高一些。
b)
综上所述为了提高设计的可靠性及可行性我们决定采用第二种方案。
第五章调试过程及分析
此次课程设计是利用单片机设计一个定时打铃器,通过单片机控制8255芯片对键盘和数码管的管理,设计出一个可以任意设置两个打铃时间点,并可以对时间和定时进行校时的打铃器。
当时间走到定时点时,则打铃一分钟,而后自动关闭,实现了定时打铃的目的。
将编写好的源程序输入电脑,编译后出现很多错误,这些错误有许多时平时的实验遇到过的,于是和同组人员一起进行逐条跟踪法,对每条程序检查。
其中有输入的符号格式不正确,零和字母O弄混淆了,字母写错等原因。
考虑到此次设计程序比较复杂,若要是将整个程序编完再上机调试那难度会很大,调试起来也不会有清晰的思路,所以将软件设计划分为多个子程序来完成,先将设计的子程序逐个调试好再降其组合成完整的程序进行调试。
时钟程序是整个设计的核心,是定时打铃的时间基准,没有准确走时定时打铃也就没有实用价值了。
设计要求程序运行显示00.00.00,随即系统按普通日历运行并显示时,分,秒。
但在调试中显示的时间不是按正常时钟显示,而是每隔两秒钟的向前走时。
分析其原因可能有两个:
时钟走时的算法设计不正确或在将时间送显时与走时不同步。
针对上述问题,让程序运行,其中用秒表计时一秒钟立即关闭,再查看内部RMA存放时间秒单元的内容,将其与前一秒比较发现已加了1,这说明时钟的走时是正确的,问题出在显示上。
检查程序,在中断程序中增加一0.5秒标志,用来刷新显示,汇编后运行,时钟正常。
在前期的程序编写和几天的上机调试,使本人又获得了很多新的知识,因为前期编写程序时查了很多资料学到了很多知识,这几天的调试更是获得很新的知识,因为程序中又很多的错误,为了修改错误必须看书或向别人请教,在这个过程中无意识的获得了很多知识。
同时也使本人对单片机更感兴趣了,相信在以后的单片机相关的学习中会表现的更好。
第六章设计总结及体会
此次课程设计是利用单片机设计一个定时打铃器,通过单片机控制8255芯片对键盘和数码管的管理,设计出一个可以任意设置两个打铃时间点,并可以对时间和定时进行校时的打铃器。
当时间走到定时点时,则打铃一分钟,而后自动关闭,实现了定时打铃的目的。
本次课程设计是用8255单片机CPU及接口电路设计一个数字时钟,经过一个多星期的调试,结果满足设计要求,验证无误。
设计主要用到了多种芯片,程序也比较长比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。
关于显示模块,在以前的实验中做过,所以问题很容易解决。
通过本次设计,我系统的了解了实时时钟的设计流程,尤其是硬、软件的设计方法,掌握了键盘显示电路的基本功能及编程方法,掌握了键盘电路和显示电路的一般原理,也进一步掌握了8255的使用和中断处理器程序的编程方法。
开拓了思路,锻炼了实践动手能力,提高了分工协作能力和分析问题,解决问题的能力,达到了本次课程设计的目的。
由于一些原因,系统功能实现不够完善,使用不是很方便。
这些都是需要完善的地方,该系统离实际使用也还有相当的距离,需要进行不断地补充和完善,
通过为期2周的课程设计,本人对过去学过的知识有了进一步巩固,也学到了很多课堂上学不到的知识。
特别是对各种元器件的性能和设计方法有了更深刻的了解。
但是,由于对单片机课程的了解不深,在软件设计编程当中还是能力不够,对比较复杂的编程不能够很快及时的完成,让自己进一步明白了自己在这方面知识的短浅,激励了自己在日后的学习中应更加的努力。
由于学校实施企业式的管理模式,要求我们象职工一样上下班,对我体会了作为一位上班族的感觉,使我明白日后应该成为一位合格的爱岗、敬岗的员工。
还从中学会了遵守纪律、做事细心、勇于创新的人生观。
本次课程设计是用8255单片机CPU及接口电路设计一个数字时钟,经过一个多星期的调试,结果满足设计要求,验证无误。
设计主要用到了多种芯片,程序也比较长比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。
关于显示模块,在以前的实验中做过,所以问题很容易解决。
通过本次设计,我系统的了解了实时时钟的设计流程,尤其是硬、软件的设计方法,掌握了键盘显示电路的基本功能及编程方法,掌握了键盘电路和显示电路的一般原理,也进一步掌握了8255的使用和中断处理器程序的编程方法。
开拓了思路,锻炼了实践动手能力,提高了分工协作能力和分析问题,解决问题的能力,达到了本次课程设计的目的。
第七章程序流程图
7.1主程序流程图
a.主程序流程图:
图7-1主程序流程图
7.2中断程序流程图
图7-2中断程序流程
参考文献
[1]张友德、赵志英、涂时亮.单片微型机原理、应用与实验.上海.复旦大学出版社,2008年5月.
[2]吴开志、陈黎娟、邓谦、任爱山.单片机技术及应用实验指导书.南昌.南昌航空大出版社,2008年.
[3]吴清绣.微型计算机原理及接口技术.北京.中国科学技术大学出版社,2004年.
[4]吴向军.汇编语言程序设计.北京.高等教育出版社,2001年.
[5]贾金铃.微型计算原理及应用.重庆.重庆大学出版社,2006年.
[6]胡汉才.单片机原理及其接口技术.北京.清华大学出版社.2004年.
附录一
程序清单及注释:
ORG0000H;
LJMPMAIN
ORG000BH
LJMPINT
MAIN:
MOVSP,#67H
MOVTMOD,#01H;定时器0选择方式1作为时钟信号
MOVIE,#8AH;中断控制IE设为8A
MOVTH0,#3CH;定时器0初始化
MOVTL0,#0B0H
MOV30H,#23H
MOV31H,#59H
MOV32H,#50H
MOV33H,#00H;33H清0
MOV34H,#1AH;定时1的显缓单元
MOV35H,#00H
MOV36H,#00H
MOV37H,#2AH;定时2的显缓单元
MOV38H,#00H
MOV39H,#00H
MOV3AH,#3AH;定时3的显缓单元
MOV3BH,#00H
MOV3CH,#00H
MOV3DH,#4AH;定时4的显缓单元
MOV3EH,#00H
MOV3FH,#00H
MOV40H,#0BAH;时显缓单元
MOV41H,#00H
MOV42H,#00H
MOV43H,#00H
MOV79H,#00H
MOV7AH,#00H
MOV7BH,#00H
MOV44H,#00H
MOVR0,#79H;将显缓单元79H给R0
MOVR3,#06H
XQ:
MOV@R0,#00H
INCR0
DJNZR3,XQ
MOVR3,#06H
MOVR0,#79H
CLR08H
CLR09H
CLR00H
CLR0AH
CLR0BH;关闭定时器标志
CLR0CH
CLR0DH
CLR0EH
CLR0FH ;调时屏蔽10号键
SETBTR0
MAN:
LCALLBJ
MOVA,44H
CPLA
MOVP1,A
LCALLKEYS
MOVA,B
CJNEA,#0FFH,D1
JB09H,D8
LCALLTM
JMPMAN
D1:
SETB09H
DECA
MOVR7,A
RLA
ADDA,R7
MOVDPTR,#PMTAB
JMP@A+DPTR
D8:
LCALLDISP
LJMPMAN
PMTAB:
LJMPPM0
LJMPPM1
LJMPPM2
LJMPPM3
LJMPPM4
LJMPPM5
LJMPPM6
LJMPPM7
LJMPPM8
LJMPPM9
LJMPPM10
PM0:
CLR0FH
SETB0AH
MOV43H,#01H
MOVR1,#36H
LCALLTM0
LJMPD8
PM1:
CLR0FH
SETB0AH
MOV43H,#02H
MOVR1,#39H
LCALLTM0
LJMPD8
PM2:
CLR0FH
SETB0AH
MOV43H,#03H
MOVR1,#3CH
LCALLTM0
LJMPD8
PM3:
CLR0FH
SETB0AH
MOV43H,#04H
MOVR1,#3FH
LCALLTM0
LJMPD8
PM4:
SETB0FH
SETB0AH
MOV43H,#05H
MOV42H,31H
MOV41H,30H
MOVR1,#42H
LCALLTM0
LJMPD8
PM5:
SETBTR0
CLR0AH
CLR09H
LJMPMAN
PM6:
JB0AH,GGG
CLR09H
LJMPD8
GGG:
MOVA,43H
DECA
MOVR7,A
RLA
ADDA,R7
MOVDPTR,#PMTAB2
JMP@A+DPTR
PMTAB2:
LJMPPC0
LJMPPC1
LJMPPC2
LJMPPC3
LJMPPC4
PC0:
MOVA,35H
CJNEA,#23H,TY3
TY3:
JCTY
CLRA
JMPTY1
TY:
ADDA,#01H
DAA
TY1:
MOV35H,A
MOVR1,#36H
LCALLTM0
LJMPD8
PC1:
MOVA,38H
CJNEA,#23H,TP3
TP3:
JCTP
CLRA
JMPTP1
TP:
ADDA,#01H
DAA
TP1:
MOV38H,A
MOVR1,#39H
LCALLTM0
LJMPD8
PC2:
MOVA,3BH
CJNEA,#23H,TB3
TB3:
JCTB
CLRA
LJMPTB1
TB:
ADDA,#01H
DAA
B1:
MOV3BH,A
MOVR1,#3CH
LCALLTM0
LJMPD8
PC3:
MOVA,3EH
CJNEA,#23H,TW3
TW3:
JCTW
CLRA
JMPTW1
TW:
ADDA,#01H
DAA
TW1:
MOV3EH,A
MOVR1,#3FH
LCALLTM0
LJMPD8
PC4:
MOVA,41H
CJNEA,#23H,TE3
TE3:
JCTE
CLRA
JMPTE1
TE:
ADDA,#01H
DAA
TE1:
MOV41H,A
MOVR1,#42H
CLRTR0
MOV31H,42H
MOV30H,41H
MOV32H,#00H
MOV33H,#00H
LCALLTM0
LJMPD8
PM7:
JB0AH,GGG1
CLR09H
LJMPD8
GGG1:
MOVA,43H
DECA
MOVR7,A
RLA
ADDA,R7
MOVDPTR,#PMTAB1
JMP@A+DPTR
PMTAB1:
LJMPPN0
LJMPPN1
LJMPPN2
LJMPPN3
LJMPPN4
PN0:
MOVA,35H
CJNEA,#00H,TU
MOVA,#23H
JMPTU1
TU:
MOV79H,A
DECA
ADDA,#00H
DAA
CJNEA,79H,TU3
TU3:
JCTU1
SUBBA,#0CH
TU1:
MOV35H,A
MOVR1,#36H
LCALLTM0
LJMPD8
PN1:
MOVA,38H
CJNEA,#00H,TG
MOVA,#23H
JMPTG1
TG:
MOV79H,A
DECA
ADDA,#00H
DAA
CJNEA,79H,TG3
TG3:
JCTG1
SUBBA,#0CH
TG1:
MOV38H,A
MOVR1,#39H
LCALLTM0
LJMPD8
PN2:
MOVA,3BH
CJNEA,#00H,EK
MOVA,#23H
JMPEK1
EK:
MOV79H,A
DECA
ADDA,#00H
DAA
CJNEA,79H,EK3
EK3:
JCEK1
SUBBA,#0CH
K1:
MOV3BH,A
MOVR1,#3CH
LCALLTM0
LJMPD8
PN3:
MOVA,3EH
CJNEA,#00H,EB
MOVA,#23H
JMPEB1
EB:
MOV79H,A
DECA
ADDA,#00H
DAA
CJNEA,79H,EB3
EB3:
JCEB1
SUBBA,#0CH
EB1:
MOV3EH,A
MOVR1,#3FH
LCALLTM0
LJMPD8
PN4:
MOVA,41H
CJNEA,#00H,EY
MOVA,#23H
JMPEY1
EY:
MOV79H,A
DECA
ADDA,#00H
DAA
CJNEA,79H,EY3
EY3:
JCEY1
SUBBA,#0CH
EY1:
MOV41H,A
MOVR1,#42H
CLRTR0
MOV31H,42H
MOV30H,41H
MOV32H,#00H
MOV33H,#00H
LCALLTM0
LJMPD8
PM8:
JB0AH,GGG2
CLR09H
LJMPD8
GGG2:
MOVA,43H
DECA
MOVR7,A
RLA
ADDA,R7
MOVDPTR,#PMTAB3
JMP@A+DPTR
PMTAB3:
LJMPPD0
LJMPPD1
LJMPPD2
LJMPPD3
LJMPPD4
PD0:
MOVA,36H
CJNEA,#59H,TTT3
TTT3:
JCTTT
CLRA
JMPTTT1
TTT:
ADDA,#01H
DAA
TTT1:
MOV36H,A
MOVR1,#36H
LCALLTM0
LJMPD8
PD1:
MOVA,39H
CJNEA,#59H,AF3
AF3:
JCAF
CLRA
JMPAF1
AF:
ADDA,#01H
DAA
AF1:
MOV39H,A
MOVR1,#39H
LCALLTM0
LJMPD8
PD2:
MOVA,3CH
CJNEA,#59H,YY3
YY3:
JCYY
CLRA
JMPYY1
YY:
ADDA,#01H
DAA
YY1:
MOV3CH,A
MOVR1,#3CH
LCALLTM0
LJMPD8
PD3:
MOVA,3FH
CJNEA,#59H,AS3
AS3:
JCAS
CLRA
JMPAS1
AS:
ADDA,#01H
DAA
AS1:
MOV3FH,A
MOVR1,#3FH
LCALLTM0
LJMPD8
PD4:
MOVA,42H
CJNEA,#59H,HZ3
HZ3:
JCHZ
CLRA
JMPHZ1
HZ:
ADDA,#01H
DAA
HZ1:
MOV42H,A
MOVR1,#42H
CLRTR0
MOV31H,42H
MOV30H,41H
MOV32H,#00H
MOV33H,#00H
LCALLTM0
LJMPD8
PM9:
JB0AH,GGG3
CLR09H
LJMPD8
GGG3:
MOVA,43H
DECA
MOVR7,A
RLA
ADDA,R7
MOVDPTR,#PMTAB5
JMP@A+DPTR
PMTAB5:
LJMPPQ0
LJMPPQ1
LJMPPQ2
LJMPPQ3
LJMPPQ4
PQ0:
MOVA,36H
CJNEA,#00H,QQ
MOVA,#59H
JMPQQ1
QQ:
MOV79H,A
DECA
ADDA,#00H
DAA
CJNEA,79H,QQ3
QQ3:
JCQQ1
SUBBA,#0CH
QQ1:
MOV36H,A
MOVR1,#36H
LCALLTM0
LJMPD8
PQ1:
MOVA,39H
CJNEA,#00H,FF
MOVA,#59H
JMPFF1
FF:
MOV79H,A
DECA
ADDA,#00H
DAA
CJNEA,79H,FF3
FF3:
JCFF1
SUBBA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时 打铃