[单片机课设]秒表时钟计时器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理课程设计
——秒表时钟计时器的设计
专业:电气工程及其自动化
方向:电力系统
姓名:韦敏
学号:201120305415
指导老师:汪厚新
目录
第1章方案论证 (2)
第2章硬件设计 (4)
2.1秒表/时钟计时器的总体设计 (4)
2.2 AT89C52单片机最小系统 (5)
2.3 74LS244芯片说明 (7)
2.4 LED显示器的显示方法及其与单片机的接口 (7)
2.5电源电路的设计 (9)
第3章软件设计 (10)
3.1主程序 (10)
3.2显示子程序 (10)
3.3定时器T0中断服务程序 (11)
3.4 T1中断服务程序 (11)
3.5调时功能程序 (12)
3.6整点响程序 (12)
3.7时钟/秒表功能程序 (12)
3.8 程序清单 (12)
第4章设计总结 (22)
第1章方案论证
现今的计时器通常只能通过启/停按键实现断点计时的功能,即通过启/停按键来记录一段时间。这种计时器查看的时间只能为计时结束时刻。实际的应用中往往需要在不影响正常计时的基础上,能查看记录过程中的某些点的时间。
本课设即针对此问题,设计了一种能通过按键方式查看记录过程中任一时刻值的计时器。这种计时器在查看中间值时不会影响整个记录过程,并且能把相应数据送入存储模块及显示模块,以便查看。
本系统采用AT89C52单片机作控制器,LED数码管,实现显示时、分、秒,以24小时计时方式。为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,结构较为复杂,考虑时钟显示只有六位,且系统没有其他复杂的处理任务,所以采用动态扫描法实现LED的显示。单片机采用AT89C52系列,有足够的空余硬件资源实现其它的扩充功能。
秒表/时钟计时器的总体设计框图如下图所示。
图1.1 系统总体设计框图
系统主要实现如下功能:
1.时钟功能
对于时钟功能,需要在数码管上显示小时、分钟和秒钟,因此,可以在内部存储空间分别定义它们的显示缓存空间,来存放小时、分钟和秒钟的BCD码,各2个字节。
由于时钟是不能停止的,因此需要采用内部定时器自动计时,并使用定时器中断处
理程序来定时进行时间数值的刷新。52单片机的2个定时器都具有16位定时器的
工作模式。当晶振为12MHz时,16位定时器的最大定时值为65.536mS;要达到1秒钟,可以采用两种方法:采用一个定时器定时与软件计数相结合的方法;或者采用两个定时器级联的方法。由于秒表在计时功能时也需要用到1个定时器,因此,我们采用第一个方法,只使用1个定时器,例如使用T0。为了达到较为准确的计时,使T0的溢出时间为50ms,使用一个字节作为软件计数器ST,计数值为20。定时器的中断处理程序对ST 进行减1操作,当ST为0时,1秒到达,此时更新存放小时、分钟、秒钟的显示缓存区。
2.计时功能
当秒表用作计时功能时,也需要一个定时器进行10MS的定时,在本例中使用单片机的TIMER1。在TIMER1的中断处理程序中对SS和ss的缓存空间进行更新,与上面类似。
3.功能按键
再看按键的处理。这3个键可以采用中断的方法,也可以采用查询的方法来识别。对于A、B键,主要功能在于功能切换和数值复位,对于时间的要求不是很严格,而C
键主要用于时间的锁定,需要比较准确的控制。因此可以考虑,对A、B键采用查询的方式,而对于C 键采用外部中断。
4.中断嵌套和控制
现在在我的方案中有3个中断,T0、T1中断和外部中断INT0。这3个中断的特点是:T0的工作是连续的,可以在误差范围内可以被打断但不可以停止;T1的工作同样可以在误差范围内被打断,但可以被INT0停止;INT0是用来启动或停止T1的。
第2章硬件设计
2.1秒表/时钟计时器的总体设计
秒表/时钟计时器的硬件电路设计如图2.1所示。
图2.1 总体硬件设计图
T2,P1.1可用作定时器/计数器2的外部控制端T2EX。
(3)P2口(21~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线
引脚功能如下:
P3.0 RXD 串行口输入
P3.1 TXD 串行口输出端
P3.2 INT0 外部中断0请求输入端,低电平有效
P3.3 INT1外部中断1请求输入端,低电平有效
P3.4 T0 定时器/计数器0计数脉冲输入端
P3.5 T1 定时器/计数器1计数脉冲输入端
P3.6 WR 外部数据存储器写选通信号输入端,低电平有效
P3.7 RD 外部数据存储器读选通信号输入端,低电平有效
(4)P3口(10~17脚):P3.0~P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可以独立定义为第一功能的输入输出或第三功能。
2. 控制线
(1)ALE/PROG(30脚):地址锁存有效信号输入端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外数据存储器期间,ALE脉冲会跳空一个,此时作为时钟输出就不妥了。
对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。在访问片外数据存储器期间,PSEN信号将不再出现。
(3)RST/VPD引脚(9脚):RST即为RESET,VPD为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。
当Vcc发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。