电子设计综合训练之作息时间控制器_第1页
电子设计综合训练之作息时间控制器_第2页
电子设计综合训练之作息时间控制器_第3页
电子设计综合训练之作息时间控制器_第4页
电子设计综合训练之作息时间控制器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南理工大学电子设计综合训练报告题目 作息时间控制器姓 名: 学 号: 专业班级: 指导老师: 所在学院:电气工程与自动化学院2010年11月 日摘要本作息时间控制器系统以单片机(AT89S52)硬件为基础,通过单片机软件设计基本能够实现对学校作息时间的控制的一个模型。通过改变单片机程序能够灵活改变冬、夏季作息时间,同时能够实时显示时间。此控制器模型设置了手动按扭,可以方便对实时显示时间的整分、时、进行校准及对定时时间(作息时间)的调整。该作息时间控制系统主要用于学校,对于以24小时为周期的开关量进行自动控制。根据预先设定好的作息表,当作息时间到达时能进行到自动启停控制电路,完成对外部设备的控制如:蜂鸣器、闪烁灯等。在设计该作息时间控制器时,主要应用单片机内部的两个定时计数器TR0、TR1分别实现实时时钟和4位七断显示器显示时间的功能。两个定时计数器都采用中断的方式,定时计数器TR0对秒进行计数,TR1用于定时扫描数码管。按键KEY1、KEY2分别用来调整小时和分钟,按键KEY3用来进行功能切换,KEY4用来切换作息时间。发光二极管LED1的闪动用来对秒的计数,蜂鸣器用来进行到时提示。通过对软件的精心设计,此作息时间控制模型能够准确的显示实时时间,并且具有较为精确的控制时间,系统具有较强的稳定性和抗干扰能力。通过用上术按键实现对单片机的控制,体现出系统操作简单、可执行性强。由于用单片机及外围简单部件实现,从而使成本大大缩减。关键词 作息时间控制器 单片机(AT89S52) 自动控制目录1 概述 1.1功能描述 1.2设计的主要内容2 系统总体方案及硬件设计 2.1 系统总体方案2.2 硬件设计(要求:每个电路的设计过程)2.2.1 单片机及存储器选择2.2.1 时钟与复位电路的设计2.2.2 LED显示电路设计2.2.3 按键电路设计2.2.4 蜂鸣器电路设计3 软件设计(每个程序要有流程图和功能说明) 3.1主程序设计 3.2 LED动态显示子程序设计3.3时钟计时子程序设计3.4键盘判断与处理子程序设计4 Proteus软件仿真 4.1 Proteus软件仿真步骤 4.2 仿真过程中出现的问题及解决的方法5 系统调试5.1 软件调试5.2 硬件调试5.3 软硬联调6课程设计体会参考文献附1:系统原理图(计算机出图)1 概述 科技的进步需要技术不断的提升。一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。基于单片机的定时和控制系统在许多行业都有着广泛的应用,而作息时间控制系统是其中最具有代表性的例子。基于单片机系统的作息时间控制电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。在本系统中通过按键的开关作为输入装置,用LED七段数码管作为显示装置。从而可以大大的降低成本,使系统结构简单,易于操作、控制。1.1功能描述本作息时间控制系统可以完成如下功能:l 可调整的24小时时钟。当时钟正常运行时,不允许调整时钟。在时钟运行时,以4位数码管的高2位显示小时,低2位显示分钟,发光二极管每秒闪烁一次,表明时钟的运行。需要调整时间时,发光二极管停止闪烁,此时通过按键实现时间的调整。l 河南理工大学作息时间表如下:夏季作息时间表:冬季作息时间表:07:5008:00 预备07:5008:00 预备08:0008:50 第一节课08:0008:50 第一节课09:0009:50 第二节课09:0009:50 第二节课10:1011:00 第三节课10:1011:00 第三节课11:1012:00 第四节课11:1012:00 第四节课14:5015:00 预备14:2014:30 预备15:0015:50 第五节课14:3015:20 第五节课16:0016:50 第六节课15:3016:20 第六节课17:0017:50 第七节课16:3017:20 第七节课18:0018:50 第八节课17:3018:20 第八节课19:2019:30 预备18:5019:00 预备19:3020:20 第九节课19:0019:50 第九节课20:3021:20 第十节课20:0020:50 第十节课2 系统总体方案及硬件设计2.1 系统总体方案1) 系统分析:基于单片机系统的作息时间控制器的基本结构框图如图1-1所示。该系统主要包含输入控制电路、晶振复位电路、LED显示电路等外围电路组成。晶振、复位电路 LED显示单片机 输入控制蜂鸣器报警图2-1 作息时间控制系统的功能模块2) 系统的功能划分:硬件功能:按键输入控制电路、晶振、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路、4位LED显示电路、蜂鸣器电路都是有硬件功能来实现。软件功能:LED动态显示、时钟计时、按键判断和处理都是有软件功能来实现。3) 机型器件选择:单片机采用AT89S52型号、轻触按键、发光二极管、4位七段LED数码管(共阴极)、蜂鸣器。2.2 硬件设计基于单片机的作息时间控制器其硬件电路方框图如图2-2所示。有图可知,硬件电路有8个部分组成,即单片机按键输入电路、单片机时钟电路、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路、4位LED显示电路、蜂鸣器电路。单片机4个按键输入电路时钟电路复位电路蜂鸣器电路LED显示器段码驱动电路LED显示器位码驱动电路4位LED显示电路图2-2 作息时间控制器硬件方框图2.2.1 单片机及程序存储器选择由于完成该系统功能的程序不会超过8KB,而AT89S52内部有8KB的FLASH存储器,因而不需外扩程序存储器和数据存储器。AT89S52的引脚排列与功能见图2-3所示。89S52引脚功能介绍VCC +5VGND 地ALE 地址锁存允许/PSEN 程序存储器允许EA/VPP为0访问外部程序存储器为1访问内部程序存储器RST复位信号输入XTAL1、XTAL2 外部晶振P0.0P0.7 I/O端口(P0口)P1.0P1.7 I/O端口(P1口)P2.0P2.7 I/O端口(P2口)P3.0P3.7 I/O端口(P3口) 2.2.2 时钟与复位电路的设计单片机工作的时间基准是有时钟电路提供的。在单片机的XTAL1和XTAL2两个引脚,接一只晶振及两只电容就构成了单片机的时钟电路,如原理图所示。电路中,电容C4和C5对晶振频率有微调作用,通常的取值范围为(3010)pF。石英晶体选择12MHz,选择不同的石英晶体,其结果只是机器周期不同,影响计数器的计数初值。单片机的复位方式有上电自动复位和手动复位两种。本设计系统采用上电自动复位和手动复位组合电路,如原理图中单片机的RST引脚连接R1()、C3(10),按键S2可以选择专门的复位按键,也可以选择轻触开关。只要Vcc上升时间不超过1ms,它们都能很好的工作。2.2.3 LED显示电路设计单片机应用系统中,通常都需要进行人机对话,这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。LED显示电路由段驱动电路和位驱动电路组成。由于单片机的并行口不能驱动LED显示器,必须采用专门的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。LED显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器的电流相匹配即可,而且一般只需考虑断的驱动;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。本系统采用并行驱动动态显示。采用单片机P2口的低4位作为LED的位码输出信号,P0口作为段码输出信号。该驱动电路如原理图所示,P0口作为段码输出信号需外接上拉电阻。图2-3为4位共阴极数码管带时钟的引脚图图2-3 4位共阴极数码管带时钟的引脚分布4位共阴极数码管带时钟的引脚分布,正面逆时针方向依次为112。段码引脚连线为 A-11 B-7 C-4 D-2 E-1 F-10 G-5 D5-3 D6-3位码引脚连线为 DIG.1-12 DIG.2-9 DIG.3-8 DIG.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所示。主程序定义变量、设置显示时间和定时时间初值定时器0、定时器1初始化,开中断,并启动TR0、TR1开始计时执行小时、分钟处理子程序调用实时时间调整子成序调用作息时间调整子程序作息时间到否?报警30秒图3-1 主程序设计框图本系统的设计中,使用了两个中断:a) T0中断:采用T0定时中断工作方式,产生100ms的单位时间。b) T1中断:采用T1定时中断工作方式,完成LED动态扫描。3.2 LED动态显示子程序设计在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率。当扫描频率在70Hz左右时,能够产生较均匀的显示和足够的亮度。本系统采用大约1ms的时间间隔对LED进行动态扫描,采用定时计数器TR1的溢出中断实现1ms的定时。LED动态显示流程图如图3-2所示。重置T1定时初值P2=xx、P0=Stablenum|0x80T1中断服务子程序num+num=4?num=0结束图3-2 LED动态显示流程图3.3 时钟计时子程序设计时钟系统的主要任务是:采用单片机的核心器件产生24h时间。因此要设计一个时钟程序以实现24h的定时功能。本系统采用的时钟频率为12MHz,则定时器最长的定时时间为65.536ms,为此要产生24h的时间值,可采用硬件定时和软件计数相结合的方法来实现。本系统采用定时计数器TR0的溢出中断实现10ms的定时,计数初值为TH0=0xd8、TL0=0xf0。时钟计时子程序流程图如图3-3所示。百分秒位count+1重置T0定时初值T0中断服务子程序一秒到否?即count=100?秒位second+1,count=0一分钟到?即second=60?分位minute+1,second=0一小时到?即minute=60?小时位hour+1,minute=024小时到?即hour=24?小时位hour=0返回图3-3 时钟计时子程序流程图3.4键盘判断与处理子程序设计由于机械触点的弹性作用,在键被按下或弹起时会出现电压抖动,从最初按下到接触稳定要经过数毫秒的弹跳时间,如图3-4所示。为保证键识别的准确,必须进行去抖动处理,去抖动有硬件和软件两种方法。硬件方法就是加去抖动电路,从根本上避免抖动;软件方法有很多种,本系统中主要是利用延时判断按键是否按下。由按键来实现的的时间调整子程序流程图如图3-5所示,和作息时间调整子程序如图3-6。 图3-4 键盘按下过程changtime_key()子程序按键KEY1按下?时钟小时hour+124小时到?时钟小时位hour=0返回按键KEY2按下?分钟位minute+11小时到?分钟位minute=0图3-5 时间调整子程序流程图在时间调整子程序中,按键KEY1实现对小时进行调整。当有KEY1按键按下时,小时(hour)加1。当小时加到24时,使其置零。按键KEY2实现对分钟进行调节,当有KEY2按下时,分钟(minute)加1,当分钟加到60时,使其置零。chang_fixtime()子程序按键KEY3按下?显示时间表的第一个作息时间7:50按键KEY1按下?对作息时间的小时位调整按键KEY2按下?对作息时间的分钟位调整按键KEY4按下?显示作息时间表中的下一作息时间时间表显示完a=22?a=0a+1按键KEY3按下?返回图3-6 作息时间调整子程序。在作息时间调整子程序中,按键key3实现功能切换。当有KEY3按下时,LED显示作息时间中设定好的时间。当KEY3第二次按下后,返回时钟显示界面。KEY1、KEY2在显示作息时间的情况下,用来调整作息时间的小时位和分钟为。KEY4用来切换显示作息时间表中下一个时间。在作息时间表中共有23个预设定的作息时间。4 Proteus软件仿真4.1 Proteus软件仿真步骤以上程序完成之后,在Proteus软件中对所设计的系统进行仿真。仿真的具体步骤为:1、 根据设计的硬件电路在Proteus软件中元件库中选择所需的元器件。本系统所需的元器件有AT89S52、7SEG-MPX4CC、SPEAKER、CAP、LED-RED、RES、CRYSTSL、RESPACK-8、CAP-ELEC、BUTTON、POWER、GROUND。2、 有原理图把所选元器件连接起来。仿真电路图为下图所示。3、 仿真电路连接完毕后,将调试好的程序下载到单片机。双击单片机图标,将出现Edit Companent框。点击Program File 后文件夹图标,在弹出的对话框中选择HEX文件,点击OK。这样所写的程序就被下载到单片机内。4、 以上步骤完成后,单击Proteus软件界面左下角的Play按钮,进行仿真实验。观察现象,是否符达到预期结果。若未能达到预期结果分析出现错误的原因。有软件方面也有硬件方面。4.2 仿真过程中出现的问题及解决的方法在仿真过程中出现的问题及解决的方法:1、 在仿真过程中出现LED不显示,主要原因在与P0口未接上拉电阻。经调整后,又有LED出现闪烁现象,经分析主要原因在于数码管扫描时间间隔过大。对程序调整后能够正常显示。2、 对按键进行操作时,不能对时间进行调整。经检查电路连接无误,主要原因在与软件部分。对程序修改后能正常工作。3、 在仿真过程中,当作息时间到时未能听到蜂鸣器的报警声或声音很微弱。经检查分析,主要原因在于为接三极管驱动电路。5 系统调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试,包括对:键盘操作功能调试,声音输出功能调试,指示灯功能调试等。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。最后将各模块组合后整体测试,使系统的所有功能得以实现。5.1硬件调试电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行:1) 键盘功能调试2) 声音输出功能调试3) 指示灯功能调试5.2软件调试本系统的软件系统不是很大,全部用C51来编写,选用一般的伟福仿真器对C51进行调试。除了语法差错外,当确认程序没问题时,通过直接下载到单片机来调试。采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。主要是LED动态显示及按键判断处理功能的调试。5.3软硬联调系统做好后,进行系统的完整调试。主要任务是检验实现的功能及其效果并校正数值。根据实测数据,逐步校正数据,使测量结果更准确。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。6 课程设计体会本设计以AT89S52单片机为核心,是一个具有显示实时时间,并能对作息时间调节的作息时间控制器。现代学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化,适应了现代计算机科学技术的发展,给人们带来很大的效益。这次设计的实现由以往的手动控制变为自动控制,可以自动控制高校的作息时间。给学校的学习和工作带来方便

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论