原创 单片机的多定时器

2009-2-13 11:42 3506 3 4 分类: 软件与OS

 


  从一个特定的角度来看,嵌入式控制系统可以用事件系列和不同的时间标签来加以描述,更进一步,不同的时间标签也是事件的一种。


  当一个系统需要多个时间标签描述,例如us、ms、s甚至几小时、几天、几年的时间标签时,只使用MCU的硬件定时器或软件延时往往是不够的或不灵活的。


  在软件分时框架下,使用时基的概念,使得ms级以上的定时变得非常简单明快。更为形象的描述是:你可以随意创建一个时间标签,可以是8bits、16bits、32bits,它们好象一些大小不同的沙漏容器,对每一次的时基循环进行加计数或减计数,系统用不同的时间标签刻度对计数容器进行测量,从而形成不同的时间标签事件。


//==========================================================


//             time_base_pro


//


//


// MCU:        ATmega48@2MHZ


// 时基:       0.5ms


//       


//========================================================== 


#define  uchar    unsigned char


#define   uint      unsigned int


#define   ulong     unsigned long  


#define  schar    signed char


#define   sint      signed int


#define   slong     signed long


 


#include  <avr/io.h>


#include  <avr/interrupt.h>


#include  <avr/wdt.h>


#include <avr/eeprom.h>


 


uchar   TimerMs0,TimerMs1;


 


#define   dTimer100ms   50


#define   dTimer500ms   250


 


//---------------  time_base_pro / 时间基准   -----------------


void time_base_pro( void )


  {                                                                                // time base: 2ms


   


    if( TimerMs0 != 0XFF )        TimerMs0++;


    if( TimerMs1 != 0XFF )        TimerMs1++;


   


   


 if( TimerMs0 == dTimer100ms )                                          // 100ms 时间标签


  {


  }


 


 if( TimerMs1 == dTimer500ms )                                          // 500ms 时间标签


  {


  }


 }






time_base.c    https://static.assets-stash.eet-china.com/album/old-resources/2009/2/13/a2b66c21-a5d0-49f8-886e-7d9e5833d162.rar                                     单片机的多定时器.PDF pdf      


 


 


 



Note:




1)      <?xml:namespace prefix = v />文中提及的名称和商标为相关的所有者所有


2)      本文由 SPM专用编程器 提供赞助


 


 


 


 


 


 


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户146634 2009-6-4 17:40

楼主是否发现这种方法带来的定时不精确问题么?我就用过一次,定时20s,实际49S,谁也受不了
相关推荐阅读
用户179551 2009-02-13 11:51
Key 读取和事件处理
   按键(轻触开关)作为一种简单实用的人机交换界面,在嵌入式控制系统中随处可见。  Key虽然简单,在软件的处理上,一些有效的方法还是令人愉悦的。  按键特别的机械特性,其触点在Key被按下和释放的...
用户179551 2009-02-03 11:03
MCU的分时软件框架
         相对于PC的 Windows 系统而言,单片机嵌入式系统的软件复杂程度要低一些。        但无论是手机应用还是相对简单小家电应用,与 Windows 一样,其软件系统也同样存在...
用户179551 2009-02-03 11:02
UltraEdit 使用分享
         作为设计师,作为工程师,都希望有顺手合用的工具。一方面是出于工作效率的需要,正所谓事半功倍是也,而另一方面也是追求工作中的一种愉悦感受。        对于程序设计师而言,文本编辑器...
用户179551 2009-02-03 11:02
S3F9454'C for TM1629B driver
     早期作数码管的驱动设计时,多采用美信的驱动IC,近期使用了天威的TM1629B,不禁眼前一亮,好用,而且价廉物美,值得向工程师朋友推荐。     MCU使用三星S3F9454,接口只需要三个...
用户179551 2009-02-03 11:01
板级ISP设计
     ISP(In System Programmable)的使用越来越普及,无论是产品的生产、存储、维护还是版本控制,都很方便。    与非ISP(例如并行编程)相比,ISP的显著特点是占用的编...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /3 下一条