作息时间Word格式文档下载.docx
《作息时间Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《作息时间Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
2系统总体方案及硬件设计
2.1系统总体方案
2.2硬件设计(要求:
每个电路的设计过程)
2.2.1单片机及存储器选择…………………………………………………
2.2.1时钟与复位电路的设计………………………………………………
2.2.2LED显示电路设计……………………………………………………
2.2.3按键电路设计…………………………………………………………
2.2.4蜂鸣器电路设计………………………………………………………
3软件设计(每个程序要有流程图和功能说明)
3.1主程序设计…………………………………………………………………
3.2LED动态显示子程序设计…………………………………………………
3.3时钟计时子程序设计………………………………………………………
3.4键盘判断与处理子程序设计………………………………………………
4Proteus软件仿真
4.1Proteus软件仿真步骤……………………………………………………
4.2仿真过程中出现的问题及解决的方法……………………………………
5系统调试
5.1软件调试……………………………………………………………………
5.2硬件调试……………………………………………………………………
5.3软硬联调……………………………………………………………………
6课程设计体会
参考文献
附1:
系统原理图(计算机出图)
1概述
科技的进步需要技术不断的提升。
一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。
而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。
相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。
基于单片机的定时和控制系统在许多行业都有着广泛的应用,而作息时间控制系统是其中最具有代表性的例子。
基于单片机系统的作息时间控制电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。
在本系统中通过按键的开关作为输入装置,用LED七段数码管作为显示装置。
从而可以大大的降低成本,使系统结构简单,易于操作、控制。
1.1功能描述
本作息时间控制系统可以完成如下功能:
●可调整的24小时时钟。
当时钟正常运行时,不允许调整时钟。
在时钟运行时,以4位数码管的高2位显示小时,低2位显示分钟,发光二极管每秒闪烁一次,表明时钟的运行。
需要调整时间时,发光二极管停止闪烁,此时通过按键实现时间的调整。
●河南理工大学作息时间表如下:
夏季作息时间表:
冬季作息时间表:
07:
50————08:
00预备07:
00预备
08:
00————08:
50第一节课08:
50第一节课
09:
00————09:
50第二节课09:
50第二节课
10:
10————11:
00第三节课10:
00第三节课
11:
10————12:
00第四节课11:
00第四节课
14:
50————15:
00预备14:
20————14:
30预备
15:
00————15:
50第五节课14:
30————15:
20第五节课
16:
00————16:
50第六节课15:
30————16:
20第六节课
17:
00————17:
50第七节课16:
30————17:
20第七节课
18:
00————18:
50第八节课17:
30————18:
20第八节课
19:
20————19:
30预备18:
50————19:
30————20:
20第九节课19:
00————19:
50第九节课
20:
30————21:
20第十节课20:
00————20:
50第十节课
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,蜂鸣器不发生。
3软件设计
硬件部分设计制作完成后,关键是程序的编写。
程序主要包括一下几个部分:
主程序、LED动态显示子程序、时钟计时子程序、键盘判断与处理子程序。
3.1主程序设计
程序按照结构化程序设计,所有功能都可通过调用子程序完成,主程序较简单,内容一般包括:
主程序的起始地址、有关内存单元及相关部件的初始化和一些程序调用等。
其设计框图如图3-1所示。
图3-1主程序设计框图
本系统的设计中,使用了两个中断:
a)T0中断:
采用T0定时中断工作方式,产生100ms的单位时间。
b)T1中断:
采用T1定时中断工作方式,完成LED动态扫描。
3.2LED动态显示子程序设计
在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率。
当扫描频率在70Hz左右时,能够产生较均匀的显示和足够的亮度。
本系统采用大约1ms的时间间隔对LED进行动态扫描,采用定时计数器TR1的溢出中断实现1ms的定时。
LED动态显示流程图如图3-2所示。
图3-2LED动态显示流程图
3.3时钟计时子程序设计
时钟系统的主要任务是:
采用单片机的核心器件产生24h时间。
因此要设计一个时钟程序以实现24h的定时功能。
本系统采用的时钟频率为12MHz,则定时器最长的定时时间为65.536ms,为此要产生24h的时间值,可采用硬件定时和软件计数相结合的方法来实现。
本系统采用定时计数器TR0的溢出中断实现10ms的定时,计数初值为TH0=0xd8、TL0=0xf0。
时钟计时子程序流程图如图3-3所示。
图3-3时钟计时子程序流程图
3.4键盘判断与处理子程序设计
由于机械触点的弹性作用,在键被按下或弹起时会出现电压抖动,从最初按下到接触稳定要经过数毫秒的弹跳时间,如图3-4所示。
为保证键识别的准确,必须进行去抖动处理,去抖动有硬件和软件两种方法。
硬件方法就是加去抖动电路,从根本上避免抖动;
软件方法有很多种,本系统中主要是利用延时判断按键是否按下。
由按键来实现的的时间调整子程序流程图如图3-5所示,和作息时间调整子程序如图3-6。
图3-4键盘按下过程
图3-5时间调整子程序流程图
在时间调整子程序中,按键KEY1实现对小时进行调整。
当有KEY1按键按下时,小时(hour)加1。
当小时加到24时,使其置零。
按键KEY2实现对分钟进行调节,当有KEY2按下时,分钟(minute)加1,当分钟加到60时,使其置零。
图3-6作息时间调整子程序。
在作息时间调整子程序中,按键key3实现功能切换。
当有KEY3按下时,LED显示作息时间中设定好的时间。
当KEY3第二次按下后,返回时钟显示界面。
KEY1、KEY2在显示作息时间的情况下,用来调整作息时间的小时位和分钟为。
KEY4用来切换显示作息时间表中下一个时间。
在作息时间表中共有23个预设定的作息时间。
4Proteus软件仿真
4.1Proteus软件仿真步骤
以上程序完成之后,在Proteus软件中对所设计的系统进行仿真。
仿真的具体步骤为:
1、根据设计的硬件电路在Proteus软件中元件库中选择所需的元器件。
本系统所需的元器件有AT89S52、7SEG-MPX4CC、SPEAKER、CAP、LED-RED、RES、CRYSTSL、RESPACK-8、CAP-ELEC、BUTTON、POWER、GROUND。
2、有原理图把所选元器件连接起来。
仿真电路图为下图所示。
3、仿真电路连接完毕后,将调试好的程序下载到单片机。
双击单片机图标,将出现EditCompanent框。
点击ProgramFile后文件夹图标,在弹出的对话框中选择HEX文件,点击OK。
这样所写的程序就被下载到单片机内。
4、以上步骤完成后,单击Proteus软件界面左下角的Play按钮,进行仿真实验。
观察现象,是否符达到预期结果。
若未能达到预期结果分析出现错误的原因。
有软件方面也有硬件方面。
4.2仿真过程中出现的问题及解决的方法
在仿真过程中出现的问题及解决的方法:
1、在仿真过程中出现LED不显示,主要原因在与P0口未接上拉电阻。
经调整后,又有LED出现闪烁现象,经分析主要原因在于数码管扫描时间间隔过大。
对程序调整后能够正常显示。
2、对按键进行操作时,不能对时间进行调整。
经检查电路连接无误,主要原因在与软件部分。
对程序修改后能正常工作。
3、在仿真过程中,当作息时间到时未能听到蜂鸣器的报警声或声音很微弱。
经检查分析,主要原因在于为接三极管驱动电路。
根据系统设计方案,本系统的调试共分为三大部分:
硬件调试,软件调试和软硬件联调。
由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试,包括对:
键盘操作功能调试,声音输出功能调试,指示灯功能调试等。
单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。
最后将各模块组合后整体测试,使系统的所有功能得以实现。
5.1硬件调试
电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行:
1)键盘功能调试
2)声音输出功能调试
3)指示灯功能调试
5.2软件调试
本系统的软件系统不是很大,全部用C51来编写,选用一般的伟福仿真器对C51进行调试。
除了语法差错外,当确认程序没问题时,通过直接下载到单片机来调试。
采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。
主要是LED动态显示及按键判断处理功能的调试。
5.3软硬联调
系统做好后,进行系统的完整调试。
主要任务是检验实现的功能及其效果并校正数值。
根据实测数据,逐步校正数据,使测量结果更准确。
6课程设计体会
本设计以AT89S52单片机为核心,是一个具有显示实时时间,并能对作息时间调节的作息时间控制器。
现代学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。
本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化,适应了现代计算机科学技术的发展,给人们带来很大的效益。
这次设计的实现由以往的手动控制变为自动控制,可以自动控制高校的作息时间。
给学校的学习和工作带来方便!
通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。
使之不断地战胜别人,超越前人。
同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。
设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
当然,我的设计还存在着一些缺陷,有待于在将来设计中进一步提高,在此恳请老师批评指正。
这次设计也让我懂得细节决定成败,在以后的设计中我会严格吸取教训,做的更好!
[1]余发山王福忠主编.单片机原理及应用技术[M].中国矿大大学出版,2008.
[2]求是科技编著.单片机应用系统开发实例导航.人民邮电出版社,2003.
[3]柳淳徐玮编著.单片机开发应用技能与技巧.中国电力出版社,2008.
[4]胡汉才编.单片机原理及其接口技术[M].清华大学出版社,2000第一版.
[5]马忠梅等编.单片机的C语言应用程序设计[M].北京航空航天大学出版社.
[6]王明臣编.数字电路基础[M].北京科学技术文献出版社,1986.s
[9]周航慈饶运涛编.单片机程序设计基础[M].北京航空航天大学出版社,1997.
[10]王金汉编.C程序设计语言[M].上海:
同济大学出版社,1987.4.