用单片机实现一个定时器只要对单片机里的特殊寄存器进行设置就可以实现了,下面我与朋友们说说这个0到9.9秒定时器的设计方法。
第一步是硬件的设计
我们先说硬件的设计,硬件相对比较简单,它需要一个单片机最小系统,也就是要有5V的电源、晶振电路、复位电路和程序存储器的选择端EA引脚的处理,由于这个程序比较短,我们直接把EA端接5伏电压就可以了。对于其它外设主要是用来显示时间的数码管和驱动数码管的三极管,以及用来控制秒表的启停键。
第二步是软件的程序设计
硬件设计好后,下面就要着手去编写软件程序了,在编写软件时,除了主程序之外我们还要编写如下的子程序,第一个是定时中断子程序;第二个是数码管显示扫描子程序;第三个是按键扫描子程序。在这些程序中最重要的就是定时中断程序,下面我们来说说它的编写方法。首先我们要对C51单片机里的特殊功能寄存器TMOD进行设置,我们把这个特殊寄存器设置在工作方式1,它是一个16位计数器。我们以100毫秒产生一次中断,当十次中断后就是一秒。这样如果定时到9.9秒的话,那么只要产生99次中断后就达到了9.9秒的时间了。
第三步是软硬件的联合调试
最后就是通过软硬件联调,我们可以先在仿真软件上先仿真运行,看看程序是不是有问题,如果没有问题,就可以把程序下载到目标硬件电路板中进行软硬件联合调试了,知道都符合要求为止。
责任编辑人:CC
-
单片机
+关注
关注
6044文章
44635浏览量
639724 -
定时器
+关注
关注
23文章
3257浏览量
115597
发布评论请先 登录
相关推荐
52单片机有几个定时器?52单片机定时器1和52单片机定时器2程序对比
ATmega16单片机教程之ATmega16单片机定时器的分析与设计应用概述

51单片机计数器和定时器的本质区别及应用方法
基于51单片机的定时器

51单片机——定时器的原理和使用

评论