基于单片机的多用途定时器的设计与实现

发布者:脑力驿站最新更新时间:2012-02-04 来源: 电子工程师关键字:AT89C51  定时器  l8253 手机看文章 扫描二维码
随时随地手机看文章

1 引 言

  “定时器”总的来说有两种类型。其一是基于模拟技术的传统产品,这种定时器功能简单,尽管曾被广泛应用过,但已进入淘汰之列。另一种就是基于数字技术的新一代产品,这种产品功能强,是前者的换代之物。然而,此类产品大多是较大型的设备,真正实用、携带方便、功能齐全的“大路”商品则就不多见了。随着单片机性能价格比的不断提高,新一代产品的应用越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能,小则可以用于家电控制,甚至能够用来做儿童电子玩具。它功能强大,体积小,重量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。鉴此,我们设计开发了一种基于单片机的多用途定时器。这种定时器除了AT89 C51芯片以外,只采用Intel8253、Intel 8279为主要芯片,是典型的“三片系统”。它造价低,功能全,整体功能价格比高,配以小键盘和LED显示器,可适应各种场合的定时预警之用。




2 硬件结构

  AT系列单片机是美国ATMEL公司在IntelMCS-51单片机技术基础上开发出的一种新产品,片内带有4k E2ROM,编程/擦除全部采用电实现(有5V和12V两种模式),既能进行在线编程擦写,亦可采用电话线进行远程编程擦写。可重复性强,使用寿命长,可重复擦写 1000次以上,并且擦写速度快,4k编程大约需3s,擦除仅需10ms。程序保存时间长,可达100年,与IntelMCS-51系列单片机完全兼容,且有超强的加密功能,能完全替代IntelMCS-8751/Intel MCS-8752和Intel MCS-87C51/Intel MCS-87C52,低电压,低电流,低功耗,除了有DIP、PLCC、QFP等多种封装形式,还有商用级、工业级、汽车用级、军用级等多种规格。因此,目前它在微计算机产品开发中的应用越来越“火”。我们的系统不需要复杂的计算,程序代码量不大,4k ROM已足够,无须外扩ROM和RAM。

[page]

  由于AT89 C51的内部计数器是16位的,即便采用2MHz的时钟,计满一次为32767.5μs,因此通过Intel 8253外扩了计数器,并且用AT89 C51的ALE输出作为8253的时钟脉冲,这样就大大地扩展了量程范围。

  通过Intel8279外扩了键盘/显示器,由于Intel8279内部自带按键消抖电路和键值自动扫描电路,故无须再进行编程,这样既提高了可靠性,同时也减少了整个程序的代码量。

  键盘为4×4物理键阵(部分键是复用的),除了0~9数字键外,还有计时键、修改键、确认键、设置键/复位↑、↓等功能键,键位排布情况见图1。因为选用了塑膜按键(定做的),所以既防尘又美观。

    显示器选用5位高红LED管,分别表示时、分、秒。之所以没有选用液晶,主要是从广泛的实用环境来考虑的,比如球赛,大多是在户外进行的,LCD就显得亮度不够了。另外用了4个发光二极管作为时与分、分与秒之间的分界符,如图2所示。
  达到预定时间,声光同时报警,采用高亮度LED和所需语音(时间到,请停止 )。CPU对8279的监视采用了查询方式,故8279的中断请求信号IRQ悬空未用。
  系统有直流(4节1号干电池)和交流(220V市电)两种供电方式。整流电源是与系统配装在一起

3 软件结构

  8253的工作时钟是ALE,输出为1MHz。它有三个计数器,为了能够最大限度地扩大计时量程,三个计数器采用了“套用”方式,即计数器0的输出作为计数器1的输入脉冲,计数器1的输出作为计数器2的输入脉冲,最后计数器2的输出才输入到的。整个系统的结构如图3所示。 
  AT89 C51的T0进行计数,一个“硬件计时周期”就能定时71min1.41s,这已能满足一般的赛事定时需要。从更广的范围考虑,编制了不同“软定时”延迟程序,可用嵌套的形式启动“硬件计时周期”,以达到更长的定时需要,但是显示器的位数已定,最长能够定时10h,这已足够长了。
  系统软件分为三大模块,即初始化模块,键盘扫描/显示模块,时间延迟(脉冲计数)模块。关键技术为延迟时间的计算和对8279编程,工作期间要动态地显示倒计时时间,结构框图如图4所示。

4 结束语

  本文所介绍的多用途定时器设计巧妙,体积小,造价低,功能强,计时范围大,用途广泛,操作携带方便,是一种较理想的定时工具,经多次试用改进后已基本定型。该系统市场前景广阔,具有较明显的经济效益。

参 考 文 献

1 张友德等.单片微型机原理、应用与实践.上海:复旦大学出版社,1992

2 李华.MCS-51系列单片机实用接口技术.北京:北京航空航天大学出版社,1993

3 李秉操等.单片机接口技术及其在工业控制中的应用.陕西:陕西电子编辑部,1991
4 陈键铎.8098单片机原理及应用技术.北京:电子工业出版社,1995

关键字:AT89C51  定时器  l8253 引用地址:基于单片机的多用途定时器的设计与实现

上一篇:单片机控制的电压和无功功率综合自控系统
下一篇:单片机低频脉冲发生器的开发及应用

推荐阅读最新更新时间:2024-03-16 12:52

基于VHDL语言的99小时定时器设计及实现
   0 引言   传统的定时器硬件连接比较复杂,可靠性差,而且计时时间短,难以满足需要。本设计采用可编程芯片和VHDL语言进行软硬件设计,不但可使硬件大为简化,而且稳定性也有明显提高。由于可编程芯片的频率精度可达到50 MHz,因而计时精度很高。本设计采用逐位设定预置时间,其最长时间设定可长达99小时59分59秒。完全可以满足用户的需要,使用也更为方便。    1 系统原理   本定时器的核心器件为EP1C6Q240C8芯片。该芯片有选位、置位、启动、复位、倒计时等功能,显示采用2个3位LED数码管,并采用共阴接法,可以动态扫描显示。其系统原理如图1所示。    2 硬件设计   本系统共有两大模块,分别为控制/定
[嵌入式]
基于VHDL语言的99小时<font color='red'>定时器</font>设计及实现
STM8 定时器 TIM 中断进入不了
我用的是IAR编译器,昨晚弄了下STM8,发现跟STM32的风格挺像的,所以上手也很快。 今天弄了下TIM4定时器,中断死活进入不了,弄了好久,查了中断号、服务函数啥的,最后发现问题是: 我原来大意 直接复制过去的代码是 void TIM4_Init(void); IAR居然没给我报错。。搞发查了好久才发现问题,这条语句无法正常执行。
[单片机]
STM8 <font color='red'>定时器</font> TIM 中断进入不了
s3c2410的timer定时器的使用
2410共有5个定时器,其中timer4没有引脚输出,其余都可以用作pwm。 0、1共用一个预分频器 2、3、4共用一个预分频器 TCFG0 分别对应这两个预分频器,分频值不要忘了+1,因为分频值不能为0 TCFG1 分别对应这每个定时器自己的分频值 TCNTB0 定时器的计数值 TCMPB0 定时器的比较值 我理解的PWM,在一个固定的时间周期中,也就是TCNTB0这个值,一个周期开始后,TCNTB0开始减1计数,当减到和TCMPB0 相等时,TOUT0输出反转,当TCNTB0减到0时,TOUT0输出再次反转,一个新的计数周期开始。 TCNTO0 定时器监听寄存器 TCON0 控制寄存器
[单片机]
单片机定时器延时程序设计之软件延时法
在实际工作中,单片机定时器延时程序的设计通常会分为硬件延时设计和软件延时设计两种方案。其中,单片机定时器的软件延时操作是比较常见的,在今天的文章中,我们将会就单片机定时器延时程序的软件设计和操作技巧,进行简要介绍。 短暂延时 想要实现单片机定时器的短暂延时,我们可以通过函数设计的方式来实现,在C文件中通过使用带_NOP_()语句的函数的方式完成短暂延时非常简单快捷。平时工程师可以自定义一系列不同的延时函数,如Delay10us()、Delay25us()、Delay40us()等存放在一个自定义的C文件中,需要时在主程序中直接调用。如延时10μs的延时函数可编写如下图所示: 在这种延时10μs的延时函数编写中,
[单片机]
单片机(AT89C51)的串行通信实验
实验一(将一个简单的字符串输出到单片机中): 实验目的: 实现输出“201805021123 YEYUEHNG ” 用VIRTUAL TERMINAL显示出来 实验一-----电路图: 实验图比较的简单明了,主要要注意的就是单片机的晶振要设置为11.0592MHz,不然不会出现预想的结果,如下图设置: 实验一-----代码段: #include reg51.h unsigned char code str = 201805021123 YEYUEHNG ; //定义一个发送的数据 //函数的功能是:向PC端发送一个字节数据 void send(unsigned char dat) {
[单片机]
单片机(<font color='red'>AT89C51</font>)的串行通信实验
关于STM32数据手册中的定时器信号
打开STM32数据手册中的总体框图。娘的,又TMD一阵眼花缭乱。 首先,我们可以看到这个图大概有两个不分,一个部分是时钟源,另一个部分则是输入输出时钟源计数,到CNT计数器,然后根据捕获比较寄存器进行记录或比较。记录或比较有不同的配置。 首先是TI信号 TI1 TI2 TI3 TI4:这个信号就是外部信号,是直接与管脚相连的信号,图中还有一个问题就是TI1是可以是第一通道的外部信号进行触发,也可以设置为,第一通道,第二通道,第三通道异或进行触发。外部信号送往滤波器和边沿检测器。 TIxFP触发有效信号。 TI1FP1 TI1FP2TI2FP1 TI2FP2 TI3FP3 TI3FP4TI4FP3 TI4FP4:这个就是一个触发
[单片机]
51单片机的定时器中断(寄存器)
中断是为使单片机具有对外部或内部随机发生的事件进行处理而设置的。51单片机有5种中断源,即有5种对应的情况发生时会使单片机去处理中断程序(中断函数)。 此篇主要整理定时器中断笔记。采用定时器中断会涉及中断寄存器,定时器/计数器相关寄存器(TCON,TMOD),中断函数等知识点。 其中,中断寄存器,定时器/计数器相关寄存器本身或者相关位用来做初始化,中断函数的内容主要是体现发生中断后所需要的操作(在中断函数内写代码)。 1.中断允许寄存器IE 图1.中断寄存器IE 中断寄存器用来设定各个中断源的打开和关闭,IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H~AFH,该寄存器运行位寻址,即可对该
[单片机]
51单片机的<font color='red'>定时器</font>中断(寄存器)
555定时器实现LED驱动器控制
专用LED驱动器常常被设计为微处理器控制型,旨在实现诸如模拟或脉宽调制(PWM) LED 电流控制、每个 LED 的独立控制、LED 状态和故障信息读取等特性。对于一些仅要求恒定 LED 电流的应用(例如:LED 照明或者发光)来说,可能不需要这些高级特性。在这些应用中,诸如 TLC555 的 555 定时器可以代替微处理器,从而在实现 LED 电流精确控制的同时降低系统成本,其与输入电压、温度和 LED 正向压降无关。 例如,TLC5917 是一款专用 LED 驱动器,其控制八个独立的恒流电流阱。正常情况下,它要求一颗微处理器,以驱动四个数字输入信号。指令/OE(允许输出)激活和关闭 IC。串行数据输入 (SDI) 数据在时
[电源管理]
555<font color='red'>定时器</font>实现LED驱动器控制
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved