现系统的定时,倒计时等功能。程序的设计方面采用模块化,结构化设计,自顶向下、逐步细化、的思想方法。并采用了软件抗干扰技术即编写出个出错处理程序,使得程序跑飞时能被软件捕获被抗干扰程序处理返回复位状态重新启动系统。其软件的可靠性较好可维护性强。222程序模块主程序主程序分为三个状态:正常显示状态、闹钟及时间调整状态。序编写及注释如下:设置及运行程序
8
fEDA设计实验
完成定时方式和定时时间的设定,复位键的作用是重起单片机,一切回到初始状态。功能键实现进入模式的选择状态,选定当前模式及使系统开始工作的作用。调时键主要是实现模式的加减,时间的设定。时间设定后进入倒计时。显示子程序用八段数码管显示计时的剩余时间,用查表的方式使数码管显示相应的时间。考虑到秒和分钟之间的进位,用了低位和高位分别显示。
三、使用介绍
本课程设计的是一款电子钟,它的使用就是对系统设置时的按键的操作。该电子钟设有两个按键:S1和S2键。按S1键进行复位。按S2可以对时钟进行设置,使其校正到标准时间,校时时需要校正哪一位哪一位就闪烁。经测试该电子钟在一天的累计误差约为01秒。该电子钟的误差主要由晶振自身的误差所造成,晶振的误差约为00001~0000001。在软件的编程过程中所产生的误差比较小,在重装初值的过程中大概需要约8个机器周期,但在程序开始对定时器赋初值时,多加了8个机器周期,减小了这方面的误差。另外在中断的过程中,只会在第一次计时时产生时间的偏移,而它所产生累计误差很小,可以忽略。
9
fEDA设计实验
结论
电子定时器是很多电子产品中的一个重要组成部分有着非常广阔的前景。本次设计以“全”(功能齐全)和“省”(底成本)的思想成功的实现了一款符合设计要求的电子定时器。仅仅用两个按键就实现了时间的设定,最长设定时间长达24小时,能够按设定的是给电器供电或断电,并且能作出相应的报警。电路简洁,资源利用率高,只用了只有两输出口的AT89C2051和就完成了系统的核心部分。设计中也含有自己的创新,首先用四联体数码管取代四个单独的数码管,不仅使成本降低了还使电路的布线得到很大的简化。其次,用软件编写两个工作模式(分和时的显示,秒和分的显示)。这样省去了两位数码管。最后,由于条件的限制,我用刀直接在敷铜板上面刻出系统的电源部分电路,也是一种创新。虽然本设计相对来说比较成功,但是硬件系统相对比较简单,对单片机的应用还属于简单的应r