作息时间控制系统.docx
- 文档编号:3387559
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:14
- 大小:274.39KB
作息时间控制系统.docx
《作息时间控制系统.docx》由会员分享,可在线阅读,更多相关《作息时间控制系统.docx(14页珍藏版)》请在冰豆网上搜索。
作息时间控制系统
作息时间控制系统
(1)课程设计题目:
作息时间控制系统
(2)课程设计任务与要求:
1.作息时间能控制电铃
2.作息时间能启动和关闭电铃
单片机作息时间控制的功能如下:
● 使用6位七段显示器来显示现在的时间,精确到时,分,秒。
● 可以在时钟开启前设置现在的时间。
● 可以在设置的时段内(分上下午和上下课)响铃。
3.规定:
每节课的开始和结束都要打铃10秒,中午有午休。
(3)设计过程
机关,企业特别是学校都要求对作息时间加以控制,要按时打铃,以保证学习和工作的正常进行。
一般大学大学的作息时间如下:
:
1.控制电铃通断的控制信号(可用P1.1作控制信号)。
2.系统主程序是电脑时钟程序,但要增加一段打铃的子程序,将当前时间去打铃特征时间对比,如符合条件则打铃,否则将铃关闭。
(4)系统总体方案及硬件设计
2.1系统总体方案
1)系统分析:
基于单片机系统的作息时间控制器的基本结构框图如图1-1所示。
该系统主要包含输入控制电路、晶振复位电路、LED显示电路等外围电路组成。
图2-1作息时间控制系统的功能模块
2)系统的功能划分:
硬件功能:
按键输入控制电路、晶振、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路、4位LED显示电路、蜂鸣器电路都是有硬件功能来实现。
软件功能:
LED动态显示、时钟计时、按键判断和处理都是有软件功能来实现。
3)机型器件选择:
单片机采用AT89S52型号、轻触按键、发光二极管、4位七段LED数码管(共阴极)、蜂鸣器。
2.2硬件设计
基于单片机的作息时间控制器其硬件电路方框图如图2-2所示。
有图可知,硬件电路有8个部分组成,即单片机按键输入电路、单片机时钟电路、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路、4位LED显示电路、蜂鸣器电路。
图2-2作息时间控制器硬件方框图
2.2.1单片机及程序存储器选择
由于完成该系统功能的程序不会超过8KB,而AT89S52内部有8KB的FLASH存储器,因而不需外扩程序存储器和数据存储器。
AT89S52的引脚排列与功能见图2-3所示。
89S52引脚功能介绍
VCC+5V
GND地
ALE地址锁存允许
/PSEN程序存储器允许
EA/VPP为0-访问外部程序存储器为1-访问内部程序存储器
RST复位信号输入
XTAL1、XTAL2外部晶振
P0.0~P0.7I/O端口(P0口)
P1.0~P1.7I/O端口(P1口)
P2.0~P2.7I/O端口(P2口)
P3.0~P3.7I/O端口(P3口)
2.2.2时钟与复位电路的设计
单片机工作的时间基准是有时钟电路提供的。
在单片机的XTAL1和XTAL2两个引脚,接一只晶振及两只电容就构成了单片机的时钟电路,如原理图所示。
电路中,电容C4和C5对晶振频率有微调作用,通常的取值范围为(30
10)pF。
石英晶体选择12MHz,选择不同的石英晶体,其结果只是机器周期不同,影响计数器的计数初值。
单片机的复位方式有上电自动复位和手动复位两种。
本设计系统采用上电自动复位和手动复位组合电路,如原理图中单片机的RST引脚连接R1(
)、C3(10
),按键S2可以选择专门的复位按键,也可以选择轻触开关。
只要Vcc上升时间不超过1ms,它们都能很好的工作。
2.2.3LED显示电路设计
单片机应用系统中,通常都需要进行人机对话,这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。
LED显示电路由段驱动电路和位驱动电路组成。
由于单片机的并行口不能驱动LED显示器,必须采用专门的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。
如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。
LED显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器的电流相匹配即可,而且一般只需考虑断的驱动;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。
本系统采用并行驱动动态显示。
采用单片机P2口的低4位作为LED的位码输出信号,P0口作为段码输出信号。
该驱动电路如原理图所示,P0口作为段码输出信号需外接上拉电阻。
图2-3为4位共阴极数码管带时钟的引脚图
图2-34位共阴极数码管带时钟的引脚分布
4位共阴极数码管带时钟的引脚分布,正面逆时针方向依次为1—12。
段码引脚连线为A-11B-7C-4D-2E-1F-10G-5D5-3D6-3
位码引脚连线为DIG.1-12DIG.2-9DIG.3-8DIG.4-6
按键电路设计
作息时间控制器系统在工作时应具备两项基本功能:
一是随时改变定时(作息时间)时间;二是随时对当前时间进行调整。
要实现这一功能,可以接入键盘输入电路。
键盘结构可以分为独立式键盘和行列式键盘(矩阵式)两类,本系统只需4个按键,因此选择独立式按键。
如原理图所示,电路有4按键组成,按键采用轻触开关,分别命名为KEY1、KEY2、KEY3、KEY4。
KEY1和KEY2配合完成对时间的调整,KEY3实现功能切换,KEY4实现查看作息时间。
2.2.4蜂鸣器电路设计
设计要求定时时间到,要有到时提示。
可以选择一只蜂鸣器(HA)作为三极管VT1的集电极负载,当VT1导通时,蜂鸣器发出呜叫声;VT1截止时,蜂鸣器不发声。
R5是限流电阻。
图2-4为蜂鸣器驱动电路。
图2-4蜂鸣器驱动电路
蜂鸣器用三极管VT1的基极接到单片机的P1.7管脚。
当P1.7=0时,VT1导通,使蜂鸣器的两个管脚间获得将近5V的直流电压,蜂鸣器中有电流通过,而产生蜂鸣声;当P1.7=1时,VT1截止,蜂鸣器的两个管脚间的直流电压接近于0,蜂鸣器不发生。
(5)软件主要模块流程图及源程序和程序注释:
1.主程序
本设计计时采用定时器T0中断完成,其余状态循环调用显示子程序,
2.显示子程序
数码管显示的数据存放在内存单元3E,3D,3C,3B,3A中,其中3A,39存放秒的十位和个位,3C,3B存放分钟的十位和个位,3E,3D存放小时的十位和个位。
每一个地址的单元内均为十进制BCD码,由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码对应码段存放在ROM表中,显示时,取出39~3E某一地址中的数据,然后查得对应的显示码段输出显示。
3.定时器T0中断服务程序
定时器T0用于时间计时。
定时溢出中断周期为50ms,中断累计20次(即1s)时对秒计数单元进行加1操作。
秒满60进位清零,分满60进位清零,时满24清零。
4.打铃控制子程序
采用特征比较的方法。
步骤1.先将小时数扫描对比,若大于等于8,小于等于11,大于等于14,小于等于17则进行步骤2,否则关闭电铃。
步骤2.再将分钟数扫描对比,若为00或50则转入步骤3.否则关闭电铃
步骤3.再将分钟数扫描对比,若大于等于00且小于等于10则向P1.1输出低电平,打铃,否则关闭电铃。
具体流程图如图(图三
图三:
打铃子程序流程图
源程序及注释:
;*******作息时间控制器************************
SIGNBIT2AH;设置按键输入完毕标志位为SIGN
ORG0000H
LJMPSTART
ORG000BH
LJMPTIME0;设置定时器0的中断程序入口
ORG0013H
LJMPIINT1;设置中断1的中断程序入口
START:
MOVSP,#60H;设置指针
MOV31H,#250
MOV32H,#16
MOVTMOD,#02H;设置定时器为方式2工作,自动载入初值
MOVTH0,#06H
MOVTL0,#06H
MOVIE,#86H;允许CPU中断,外部1中断和定时器的中断
CLRIT1;开外部中断1
CLRSIGN;清标志位
MOVDPTR,#5FFFH
MOVA,#0DCH;将显示RAM全部置1
MOVX@DPTR,A
WAIT:
MOVXA,@DPTR
JBACC.7,WAIT;清除完毕
MOVA,#00H;设置为8*8左边输入
MOVX@DPTR,A
MOVA,#34H;20分频
MOVX@DPTR,A
MOVR2,#6;输入是6位数
MOVR1,#39H;显示数据存放首地址
CLEAR:
MOV@R1,#00H
INCR1
DJNZR2,CLEAR;全部清零
LCALLDISP
MOVR3,#06H
KEYIN:
JNBSIGN,KEYIN
CLRSIGN
LCALLDISP;扫描到键盘输入了一个新字符则调用显示
DJNZR3,KEYIN
CLREX1
SETBTR0;时钟0启用
LOOP:
JNB00H,NEXT;00H作1秒到标志
CLR00H
ACALLT0SERVE;调用时间步进子程序
LCALLRING;调用铃声时间对比子程序
LCALLDISP;调用显示子程序
NEXT:
SJMPLOOP
;*************************
TIME0:
DJNZ31H,CCC
MOV31H,#250
DJNZ32H,CCC
MOV32H,#16
SETB00H
CCC:
RETI
T0SERVE:
MOVA,39H
ADDA,#01H;秒数加一
MOV39H,A
CJNEA,#0AH,EXIT
MOV39H,#00H;秒的个位逢十进一
MOVA,3AH
ADDA,#01H
MOV3AH,A
CJNEA,#06H,EXIT
MOV3AH,#00H;秒的十位逢六进一
MOVA,3BH
ADDA,#01H
MOV3BH,A
CJNEA,#0AH,EXIT
MOV3BH,#00H;分钟的个位逢十进一
MOVA,3CH
ADDA,#01H
MOV3CH,A
CJNEA,#06H,EXIT
MOV3CH,#00H;分钟的个位逢六进一
MOVA,3EH
SWAPA
ADDA,3DH;合并小时数
ADDA,#01H
DAA
MOVR7,A
ANLA,#0FH
MOV3DH,A
MOVA,R7
SWAPA
ANLA,#0FH
MOV3EH,A
MOVA,R7
CJNEA,#24H,EXIT;小时数逢二十四清零
MOV3DH,#00H
MOV3EH,#00H
EXIT:
RET
RING:
MOVA,3EH
SWAPA
ADDA,3DH;将小时的显示值合并载入A中
MOVR7,A;将小时数装入R7寄存
SUBBA,#08H;小时数与8比较
JCOFF
MOVA,R7;将小时的显示值合并载入A中
SUBBA,#11H;小时数与11比较
JCN1
JZN1
MOVA,R7;将小时的显示值合并载入A中
SUBBA,#14H;小时数与14比较
JCOFF
MOVA,R7;将小时的显示值合并载入A中
SUBBA,#17H;小时数与17比较
JCN1;小时条件符合则继续
JZN1;小时条件符合则继续
AJMPOFF
N1:
MOVA,3CH
SWAPA
ADDA,3BH;将分钟的显示值合并载入A中
SUBBA,#00H;分钟数与00比较
JZN2;分钟条件符合则继续
MOVA,3CH
SWAPA
ADDA,3BH;将分钟的显示值合并载入A中
SUBBA,#50H;分钟数与50比较
JZN2;分钟条件符合则继续
AJMPOFF
N2:
MOVA,3AH
SWAPA
ADDA,39H;将秒的显示值合并载入A中
SUBBA,#10H;秒数与10比较
JZRRR
JCRRR;小时,分钟,秒都符合则启动打铃
AJMPOFF
RRR:
CLRP1.0;启动铃
AJMPEXT
OFF:
SETBP1.0;关闭铃
EXT:
RET
;*************************
IINT1:
PUSHACC
PUSHPSW
PUSHDPH
PUSHDPL;保护断点
CLREA;关CPU中断
MOVA,#40H
MOVDPTR,#5FFFH
MOVX@DPTR,A
MOVDPTR,#5EFFH
MOVXA,@DPTR
MOV35H,A;取键盘输入值进入内存
MOVB,#10
SUBBA,B
JCDDD
CLRA
AJMPEEE
DDD:
MOVA,35H;输入值小于10则存入
EEE:
MOV3EH,3DH
MOV3DH,3CH
MOV3CH,3BH
MOV3BH,3AH
MOV3AH,39H
MOV39H,A;前五位全班前移一位,将A内的值显示在最后一位
SETBSIGN;将按键输入结束标志位置1
SETBEA
POPDPL
POPDPH
POPPSW
POPACC;弹出断点
RETI
;*******DISPLAY***********
DISP:
MOV55H,DPH
MOV56H,DPL;保护断点
MOVA,#92H;CPU将要写入显示的RAM的地址为2
MOVDPTR,#5FFFH
MOVX@DPTR,A
MOVR4,#06H
MOVR0,#39H
BBB:
MOVDPTR,#CHART;查表,DPTR指向字码的首地址
MOVA,@R0
MOVB,#09H
SUBBA,B
JCFFF
CLRA
LJMPHHH
FFF:
MOVA,@R0;@R0小于等于9直接将其输入
HHH:
MOVCA,@A+DPTR
MOVDPTR,#5EFFH
MOVX@DPTR,A
INCR0
DJNZR4,BBB;实现将6个字符显示的功能
SETBEA
MOVDPH,55H;弹出断点
MOVDPL,56H
RET
CHART:
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H,88H
DB83H,0C6H,0A1H,86H
END
结束语
在老师的指导下,顺利地完成了本次设计。
课程设计是教育环节中重要一环,对检验我们三年来的知识水平是一次卓有成效的检查,是综合提高我们三年所学的专业知识的有效总结。
课程设计过程中,我以饱满热情投入到工作中去,积极询问指导老师,虚心向同学请教,认真查阅图书、资料、手册。
在这次课程设计之中,我学到了许多宝贵经验。
锻炼了我独立思考,独立分析,独立解决问题的能力,同时以深刻感到自己对许多知识还不甚了解。
通过课程设计,对一些已学过的知识,是一个很好的回顾,巩固了自己所学的知识,又从实践中验证了理论知识,实践与理论相结合。
通过本次设计,以前没有认真消化、吸收的、不能触类旁通的、彼此各科知识没有有效地掌握的以及遇到问题不知从何下手的,现在在指导老师的帮助下,得到了解决。
而且在几天的设计中,综合能力得到了提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作息 时间 控制系统