[单片机课设]秒表时钟计时器的设计.doc单片机原理课程设计
——秒表时钟计时器的设计
专业:电气工程及其自动化
方向:电力系统
姓名:韦敏
学号:201120305415
指导老师:汪厚新
目录
第1章方案论证 1
第2章硬件设计 3
的总体设计 3
AT89C52单片机最小系统 4
74LS244芯片说明 6
LED显示器的显示方法及其与单片机的接口 6
的设计 8
第3章软件设计 9
9
序 9
0中断服务程序 10
T1中断服务程序 10
程序 11
序 11
序 11
程序清单 11
第4章设计总结 21
第1章方案论证
现今的计时器通常只能通过启/停按键实现断点计时的功能,即通过启/停按键来记录一段时间。这种计时器查看的时间只能为计时结束时刻。实际的应用中往往需要在不影响正常计时的基础上,能查看记录过程中的某些点的时间。
本课设即针对此问题,设计了一种能通过按键方式查看记录过程中任一时刻值的计时器。这种计时器在查看中间值时不会影响整个记录过程,并且能把相应数据送入存储模块及显示模块,以便查看。
本系统采用AT89C52单片机作控制器,LED数码管,实现显示时、分、秒,以24小时计时方式。为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,结构较为复杂,考虑时钟显示只有六位,且系统没有其他复杂的处理任务,所以采用动态扫描法实现LED的显示。单片机采用AT89C52系列,有足够的空余硬件资源实现其它的扩充功能。
秒表/时钟计时器的总体设计框图如下图所示。
六位LED显示器
列驱动
AT89C52
P0单片机
控制器
P2
系统总体设计框图
系统主要实现如下功能:
对于时钟功能,需要在数码管上显示小时、分钟和秒钟,因此,可以在内部存储空间分别定义它们的显示缓存空间,来存放小时、分钟和秒钟的BCD码,各2个字节。
由于时钟是不能停止的,因此需要采用内部定时器自动计时,并使用定时器中断处理
程序来定时进行时间数值的刷新。52单片机的2个定时器都具有16位定时器的
工作模式。当晶振为12MHz时,16位定时器的最大定时值为65.536mS;要达到1秒钟,可以采用两种方法:采用一个定时器定时与软件计数相结合的方法;或者采用两个定时器级联的方法。由于秒表在计时功能时也需要用到1个定时器,因此,我们采用第一个方法,只使用1个定时器,例如使用T0。为了达到较为准确的计时,使T0的溢出时间为50ms,使用一个字节作为软件计数器ST,计数值为20。定时器的中断处理程序对ST进行减1操作,当ST为0时,1秒到达,此时更新存放小时、分钟、秒钟的显示缓存区。
当秒表用作计时功能时,也需要一个定时器进行10MS的定时,在本例中使用单片机的TIMER1。在TIMER1的中断处理程序中对SS和ss的缓存空间进行更新,与上面类似。
再看按键的处理。这3个键可以采用中断的方法,也可以采用查询的方法来识别。对于A、B键,主要功能在于功能切换和数值复位,对于时间的要求不是很严格,而C键主要用于时间的锁定,需要比较准确的控制。因此可以考虑,对A、B键采用查询的方式,而对于C 键采用外部中断。
控制
现在在我的方案中有3个中断,T0、T1中断和外部中断INT0。这3个中断的特点是:T0的工作是连续的,可以在误差范围内可以被打断但不可以停止;T1的工作同样可以在误差范围内被打断,但可以被INT0停止;INT0是用来启动或停止T1的。
第2章硬件设计
的总体设计
秒表/时钟计时器的硬件电路设计如图2.1所示。
总体硬件设计图
采用AT89C52单片机,数字显示采用共阳六段LED显示器,P0口输出段码数据,-扫描输出,、 、开关按钮,用以实现调时及秒表/时钟功能切换设置。为了给共阳LED数码
[单片机课设]秒表时钟计时器的设计 来自淘豆网www.taodocs.com转载请标明出处.