河南理工大学
河南理工大学
单片机课程设计报告
作息时间控制器设计
摘要
本设计是作息时间控制器的设计,由单片机 AT89C52 芯片和 LED 数码管为核
心,辅以必要的电路,构成的一个单片机电子作息时间控制器。该功能的实现主
要通过软件编程来完成,降低了硬件电路的复杂性,成本也有所降低。
设计内容包括了秒信号指示、时间“时”和“分”显示电路、按键调整电路、
供电电源以及闹铃指示电路等几部分的设计。采用四个开关来控制作息时间控制
器的工作状态,分别为:K1、设置时间和闹钟的小时;K2、设置小时以及设置闹
钟的开关;K3、设置分钟和闹钟的分钟;K4、设置完成退出。当作息时间控制器
达到课程设计的要求,在到达设定的定时时间时蜂鸣器便被控制立即发出声音,
持续一分钟,而后按 K4 键退出显示闪烁状态,即恢复时钟状态。显示采用的四
位数码管电路,定时提示采用蜂鸣器发声指示。本设计方案也可以经过改进作为
实现定时控制系统的控制定时电路。
关键词:作息时间 单片机 显示 定时
河南理工大学本科课程设计报告
目录
1 概述 ............................................................. 2
1.1 课程设计的目的和意义 ....................................... 2
1.2 单片机课程设计的要求 ....................................... 2
1.3 作息时间控制器的设计要求 ................................... 2
2 系统总体方案及硬件设计 ........................................... 3
2.1 系统总体设计 ............................................... 3
2.2 系统各个部分的电路设计 ..................................... 4
3 软件的设计 ....................................................... 7
3.1 概述 ....................................................... 7
3.2 主模块的设计 ............................................... 8
3.3 显示模块设计 ................................................8
3.4 时间设定模块设计 ........................................... 9
3.5 闹铃功能的实现 ............................................ 10
4 Proteus 软件仿真 .................................................11
4.1 仿真结果 ...................................................11
1
河南理工大学本科课程设计报告
4.2 性能及误差分析 .............................................13
5 课程设计体会 .....................................................14
参考文献 .......................................................... 15
附 1 程序源代码 ....................................................15
附 2 原理图 ........................................................ 25
1.1 课程设计的目的和意义
1 概述
综合利用所学单片机知识完成一个单片机应用系统设计并仿真、由硬件
实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从
事单片机应用的相关工作打下良好基础。
1.2 单片机课程设计的要求
1、进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系
统设计的基本方法和步骤;
2、掌握单片机仿真软件 Proteus 的使用方法;
3、掌握键盘和显示器在的单片机控制系统中的应用。
4、掌握撰写课程设计报告的方法。
1.3 作息时间控制器的设计要求
1、设计制作一个单片机数字钟及控制电路。
2
河南理工大学本科课程设计报告
2、使用 4 位七段显示器来显示现在的时间。显示格式为“时-分”,由
LED 闪动作为秒计数表示。
3、可以设定作息时间,并进行到时提示。
4、能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设
备的实时控制。
5、可以设置现在的时间及显示定时设置时间。
2 系统总体方案及硬件设计
2.1 系统总体设计
1、方案比较
方案一:采用数字电路实现。数字电子钟是用数字集成电路构成的,用数码
管显示“时”,“分”,“秒”的现代计时装置。若用数字电路完成,所设计的
电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各
功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
方案二:用单片机来设计制作完成,由于其功能的实现主要通过软件编程来
完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,
经过上面的对比本设计采用单片机作为设计的主体。
2、单片机的选型
AT89C52 是低功耗、高性能的 CMOS 型 8 位单片机。片内带有 4KB 的 Flash
存储器,且允许在系统内改写或用编程器编程。另外, AT89C51 的指令系统和引
3
河南理工大学本科课程设计报告
脚与 8051 完全兼容,片内有 128B 的 RAM、32 条 I/O 口线、2 个 16 位定时计数器、
5 个中断源、一个全双工串行口等。基于以上优点,本设计采用 AT89C52 单片机。
3、总体电路的设计
电子闹钟的主体电路应包括秒信号发生器、时间显示电路、按键电路、供电
电源以及闹铃指示电路等几部分。
按键功能说明:K1,设置时间和闹钟的小时;K2,设置小时以及设置闹钟的
开关;K3,设置分钟和闹钟的分钟;K4;设置完成退出。
电子闹钟的系统框图 1 如下所示:
复位、时钟等电路
4 位数码管显示电路
AT89C52
按钮电路
闹铃声指示电路
电源供电
电路
图 1
2.2 系统各个部分的电路设计
1、系统复位电路的设计
单片机系统一般应有手动或上电复位电路。复位电路的实现通常有两种方
式:1)RC 复位电路;2)专用µP监控电路。前者实现简单,成本低,但复位
可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。对
于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。
复位电路主要用来在单片机的程序进入死循环后,能使单片机重新从头执行
程序而不会无休止的执行程序。
本设计采用了上电按钮电平复位电路,如图 2
4
河南理工大学本科课程设计报告
C3
10UF
10k
R1
图 2
R2
1k
2、系统时钟电路设计
对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳
定运行。但由于实际工作过程中的 C1、C2 电容起着系统时钟频率微调和稳定的
作用,因此,在实际应用中一定要注意正确选择参数(30±10 PF),并保证对
称性(尽可能匹配),这两个电容元件对闹钟的走时误差有很大关系,并且选用
正规的瓷片或云母电容,如果可能的话,温度系数要尽可能低。另外,瓷片电容
的实际焊接距离不应该离单片机太远否则误差较大。具体的时钟电路如图三所
示:
C2
30PF
C1
30PF
图 3
X1
CRYSTAL
3、闹钟指示电路设计
闹铃指示可以有声或光两种形式。本系统采用声音指示。关键元件是蜂鸣
器。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者
则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状
态下即起振发声。市场上的有源蜂鸣器分为 3V、5V、6V等系列,以适应不同
的应用需要。闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果
计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号
混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。其电路设计参
5
河南理工大学本科课程设计报告
见系统原理图。
4、显示电路的设计
本设计采用了 4 位数码管显示电路。在 4 位 LED 显示时,为了简化电路,降
低成本,采用动态显示的方式,4 个 LED 显示器共用一个 8 位的 I/O, 4 位 LED 数
码管的位选线分别由相应的 P2.2~P2. 5 控制,而将其相应的段选线并联在一起,
由一个 8 位的 I/O 口控制,即 P0 口。由于采用了四位数码管,所以数码管显示
“时”、“分”;秒的显示选用了一个发光二极管,两灭周期为两秒,即点亮和
熄灭时间均为一秒。到达定时时间时,由计时系统的输出状态产生一脉冲信号,
然后去触发蜂鸣器实现闹铃。校时电路是用来对“时”、“分”显示数字进行校
对调整的。具体的电路设计如图 4 示:
RP1
9
8
7
6
5
4
3
2
1
RESPACK-8
图 4
5、定时和调时电路的设计
本设计因为使用到的键数目比较少,不宜采用矩阵式键盘,采用了功能直
观简洁方便的独立式键盘,而且考虑了键盘的消抖问题。比较容易理解。每个键
的具体功能如下:
K1,设置时间和闹钟的小时;K2,设置小时以及设置闹钟的开关;K3,设
置分钟和闹钟的分钟;K4;设置完成退出。
按键定义如图 5 所示:
6
河南理工大学本科课程设计报告
图 5
3.1 概述
3 软件的设计
软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方
面。基于软件的秒脉冲信号通常有延时法和定时中断法。延时法一般采用查询方
式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒
脉冲的精度不高;中断法的原理是,利用单片机内部的定时器溢出中断来实现。
本设计使定时器每 50ms 中断 1 次,则 20 次的周期为 1s。这种实现法的特点是
精度高,秒脉冲的发生和其他处理可以并行进行。本系统中所使用的晶振频率为
7