一:课程设计题目秒表/时钟计时器二:课程设计任务与要求:利用 89C51 单片机设计秒表/时钟计时器,通过 LED 显示器显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加 1,当秒计数达到 60 时,就自动返回到 0,重新开始秒计数
三:设计过程:1
设计原理:此次课程设计题目是秒表/时钟计时器,由课程设计的要求和任务,我采纳的 C 语言编程,设计秒表要求一秒定时,采纳了定时器和 FOR 循环来定时,其中一个软件一个硬件,会在方案论证中分析在 1 秒时采纳的是硬件定时,即用单片机内部的定时器 T0
先将时钟初始化,赋入初值 50ms 定时,循环 20次来进行 1 秒定时
然后由定义的变量 second 来进行加一运算,然后将其值通过 P1,P2 口在数码管上进行显示
其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可
(1)方案论证:方案 1:在方案 1 中,我们所选用的是软件定时,即用 for 循环来定时 1 秒进行显示的变化
方案 2:在方案 2 中,采纳的是硬件定时,即用单片机内部的定时器 T0
先将时钟初始化,赋入初值 50ms 定时,循环 20 次来进行 1 秒定时
方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采纳硬件的定时器定时时比较准确的
第二,由于秒表的定时程序是很小的,在利用软件定时占用的 CPU 并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节约资源的
综合上述两种比较,我们选用了第二种方案
(2)创新点: a
在课程要求的基础上,我们做成的电路板上,用复位键来控制秒表计时的重新开始,即清零
在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将秒表在到达