苏州某学院单片机课程设计可编程作息时间控制器程序设计.doc
《苏州某学院单片机课程设计可编程作息时间控制器程序设计.doc》由会员分享,可在线阅读,更多相关《苏州某学院单片机课程设计可编程作息时间控制器程序设计.doc(16页珍藏版)》请在三一办公上搜索。
1、苏州科技学院天平学院单片机课程设计报告作息时间控制器设计姓 名: 王亚明 学 号: 0930117114 专业班级: 电气0921 指导老师: 徐树梅 2012年6月2日 目录1 概述31.1 课程设计的目的和意义31.2 单片机课程设计的要求31.3 作息时间控制器的设计要求32 系统总体方案及硬件设计32.1 系统总体设计32.2 系统各个部分的电路设计43 软件的设计63.1 概述63.2 主模块的设计63.3显示模块设计73.4 时间设定模块设计73.5 声光显示功能的实现84 Proteus软件仿真84.1仿真结果84.2性能及误差分析95课程设计体会10参考文献10附1 程序源代码
2、10附2原理图15第一部分 概述1.1 课程设计的目的和意义: 综合利用所学单片机知识完成一个单片机应用系统设计并仿真、由硬件实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下良好基础。1.2 单片机课程设计的要求:1、进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤;2、掌握单片机仿真软件Proteus的使用方法; 3、掌握键盘和显示器在的单片机控制系统中的应用。4、掌握撰写课程设计报告的方法。1.3 作息时间控制器的设计要求:1、设计制作一个单片机数字钟及控制电路。2、使用LED显示器来显示现在的时间。显示格式
3、为“时-分-秒”,由LED闪动作为秒计数表示。3、可以设定作息时间,并进行到时提示。4、能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。5、可以设置现在的时间及显示定时设置时间。第二部分 系统总体方案及硬件设计 2.1 系统总体设计:1、方案设计:用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,2、单片机的选型:AT89C52是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128
4、B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。基于以上优点,本设计采用AT89C52单片机。3、总体电路的设计:时间作息控制的主体电路应包括秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分。按键功能说明:K1设置时间;K2 加一;K3,减一;K4;声光控制开关。时间作息控制的系统框图1如下所示:AT89C52复位、时钟等电路按钮电路LED显示电路声光指示电路电源供电电路 图1 2.2 系统各个部分的电路设计: 1、系统复位电路的设计:单片机系统一般应有手动或上电复位电路。复位电路的实现通常有两种方式:)RC复位电路;)专用监控电路。
5、前者实现简单,成本低,但复位可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。复位电路主要用来在单片机的程序进入死循环后,能使单片机重新从头执行程序而不会无休止的执行程序。本设计采用了上电按钮电平复位电路,如图2 图22、系统时钟电路设计:对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但由于实际工作过程中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在实际应用中一定要注意正确选择参数(3010 PF),并保证对称性(尽可能匹配),这两个电容元件对闹钟的走时误差有很大关系,并且选
6、用正规的瓷片或云母电容,如果可能的话,温度系数要尽可能低。另外,瓷片电容的实际焊接距离不应该离单片机太远否则误差较大。具体的时钟电路如图三所示: 图 33、声光指示电路设计:声光指示可以有声或光两种形式。本系统采用声音和光混合指示。关键元件是蜂鸣器和发光二极管。闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。其电路设计参见系统原理图。4、显示电路的设计:本设计采用了4位数码管显示电路。在4位LED显示时,为了简化电路,降低成本,采用动态显示的方式,4个LED
7、显示器共用一个8位的I/O, 4位LED数码管的位选线分别由相应的P2.2P2. 5控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。由于采用了四位数码管,所以数码管显示“时”、“分”;秒的显示选用了一个发光二极管,两灭周期为两秒,即点亮和熄灭时间均为一秒。到达定时时间时,由计时系统的输出状态产生一脉冲信号,然后去触发蜂鸣器实现闹铃。校时电路是用来对“时”、“分”、“秒”显示数字进行校对调整的。具体的电路设计如图4示: 图45、定时和调时电路的设计:本设计因为使用到的键数目比较少,不宜采用矩阵式键盘,采用了功能直观简洁方便的独立式键盘,而且考虑了键盘的消抖问题。比较容易理
8、解。每个键的具体功能如下:K1设置时间;K2 加一;K3,减一;K4;声光控制开关。按键定义如图5所示:图5第三部分 软件的设计3.1 概述:软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方面。基于软件的秒脉冲信号通常有延时法和定时中断法。延时法一般采用查询方式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒脉冲的精度不高;中断法的原理是,利用单片机内部的定时器溢出中断来实现。本设计使定时器每50ms中断1次,则20次的周期为1s。这种实现法的特点是精度高,秒脉冲的发生和其他处理可以并行进行。本系统中所使用的晶振频率为12MHZ。 3.2 主模块的设计:主
9、模块是系统软件的主框架。结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。它的合理与否关系到程序最终的功能的多少和性能的好坏。本系统的主模块的程序框图如下图6所示:单片机系统初始化定时初始化中断初始化串口初始化显示待机指示符设定闹铃时间判设置闹铃时间否?显示刷新启动走时有关变量初始化刷新显示判时或分变化否?秒指示判秒到否?闹铃判是否到闹铃时间?延时YYYY 图63.3显示模块设计:显示是由显示代码取得相应的段码,显示段码数据的并行发送,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,
10、片选的灵活性好。程序流程如图7所示。图七3.4 时间设定模块设计:时间设定模块的设计要点是按键的去抖处理与多种状态公用一个键的处理问题。即只涉及4个键完成了4位时间参数的设定。软件法去抖动的实质是用延时,即检测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动,不予理睬。去抖中的延时时间一般参考资料多描述为10ms左右,实际应用中,应大于20ms,否则,会导致按一次作多次处理,影响程序正常执行。按键消抖流程图原理如图8所示:图83.5声光功能的实现:闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。闹铃时间设定模块的设计可参照时
11、间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。在每次循环扫描的过程中,判断现在的时间和定时的时间是否一致。一致的话,闹铃电路根据计时系统的输出状态产生一脉冲信号,然后加上一个高频或低频信号送到放大电路驱动蜂鸣器发声实现报时。时间调节电路根据不同状态下的具体按键意义将相对应的计数器加以改变,并通过数码管显示出来。第四部分 Proteus软件仿真本次课程设计所采用的程序调试软件为wave6000集成调试软件,所采用的仿真软件为proteus professional软件。本设计在Proteus软件上进行了仿真,实现了设计所要求的具体内容。4.
12、1仿真结果:1、启动初值(如图9)图92、声光控制报警(如图10)图103、定时响铃功能(如图11)图114.2性能及误差分析:该作息时间控制器有四个按键: K1, K2,K3和K4。初始加电时数码管显示时钟计数初值并运行。按K1键进行校时,可以分别按K2和K3键进行对时及分进行单独校时,使其校正到标准时间;并按K4键退出。时钟正常显示运行状态时,按K2键显示闪烁并进行定时时间设置,按K1键和K3进行分和时的定时时间设定;并按K4键退出。该电路显示的误差主要由晶振自身的误差所造成,晶振的误差约为0. 00010. 000001。在软件的编程过程中所产生的误差比较小,另外在中断的过程中,只会在第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 苏州 学院 单片机 课程设计 可编程 作息 时间 控制器 程序设计
链接地址:https://www.31ppt.com/p-4296637.html