首页 » 技术文章 » MCS-51单片机中软时钟设计的优化方法

MCS-51单片机中软时钟设计的优化方法

作者:  时间:2010-10-28 10:27  来源:EDN

  定义中断周期常数:

  CONST: DB 00H13H10H72H

  初始化程序:

  方法2采用对中断周期进行累加的方法,令定时器满量程计数,初值为O,计数满后,自动重新从0开始计数,不需用程序装入初值,从根本上摆脱了装入初值的困扰,当然也就避免了对初值进行修正的繁琐过程。由于不需要装入初值,CPU可在中断周期的任意时刻,响应定时器的中断请求,只需保证下一次中断请求到来之前将中断服务程序执行完毕即可,从而使定时器大大降低了对中断优先级的要求。因此方法2将定时器中断设置为低优先级,而方法1则将其设置为高优先级。显然,采用方法2不仅便于程序设计,而且提高了程序设计的效率。

  方法2中,当定时器满量程计数时,中断周期不再是标准的01 s,因此中断周期在累加过程中向秒单元的进位,大多数发生在非整秒时刻,而且进位间隔也不尽相同,具体来讲,假设秒以下时间单元从0开始累加,那么向秒单元进位第一次是在1048 576 s时刻,第二次是在2097 152 s时刻,第三次是在3014 656 s时刻,,第一次与第二次间隔为1048 576 s,第二次与第三次间隔为0917 504 s……,进位间隔有时候大于l s,有时候小于1 s,然而,对分、时、日、月这些长期时间过程来说,积累误差可以认为等于O,从这个意义上说,方法2大大提高了定时精度。

  4 结语

  提出了采用MCS-5l内部定时计数器作为软时钟设计的方法,不仅节省了硬件开销,而且提高软时钟的定时精度,具有广泛的应用价值。在实际测试中,当晶体振荡器的振荡频率不是标准6 MHz时,通过调整中断周期常数,以及必要时通过增加秒以下时间单元缓冲区的字节数,可使中断周期常数准确到所需精度。

相关推荐

飞思卡尔CEO:新战略初现成效 未来更关注中国市场

飞思卡尔  单片机  2013-04-28

飞思卡尔携手周立功单片机 共同拓展中国MCU市场

飞思卡尔  MCU  单片机  2012-12-19

英飞凌为提高XMC4000单片机生产率免费提供DAVE 3

英飞凌  单片机  2012-04-20

英飞凌XMC4500工业单片机现已量产供货

英飞凌  单片机  XMC4500  2012-03-19

ZLG成为Energy Micro中国区合作伙伴

周立功  Energy  Micro  单片机  2011-12-19

Microchip第100亿颗PIC单片机交付三星电子

微芯科技  单片机  PIC32  2011-09-21
在线研讨会
焦点