电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

复费率电能表程序

来源:华强电子网 作者:华仔 浏览:526

标签:

摘要: ;;; 复费率电能表程序主要BT8376EPF由主程序、定时器TO溢出中断处理子程序、定时器T1输入捕捉(红外接收)中断处理子程序、定时器T2溢出中断处理子程序、INTO外部中断处理子程序和显示子程序等部分组成。;;; 大部分程序前几期的文章已经介绍,有些也只是作了一些改动,故这些部分就不介绍了,详细的源程序可以从Ⅸ无线图2“调时”和“调分”对应的红外脉冲信号电》杂志网站下载,这里主要介绍一下用作

;;; 复费率电能表程序主要BT8376EPF由主程序、定时器TO溢出中断处理子程序、定时器T1输入捕捉(红外接收)中断处理子程序、定时器T2溢出中断处理子程序、INTO外部中断处理子程序和显示子程序等部分组成。
;;; 大部分程序前几期的文章已经介绍,有些也只是作了一些改动,故这些部分就不介绍了,详细的源程序可以从Ⅸ无线图2“调时”和“调分”对应的红外脉冲信号电》杂志网站下载,这里主要介绍一下用作时钟计时的定时器T2溢出中断处理子程序,见程序2。
;;; 单片机初始化时定时器T2的时钟源预分频系数取1024,计数器初始取Ox06,计满250个数即产生溢出中断,这样定时时间为:0.125US×1024×250=32000Us=32ms,中断1875次的时问正好是1分钟。
;;; 好多人认为用定时器计时做时钟精度不高,其实这是一个误区,精度不高的原因是使用不当,主要原因有两个:一是在时钟源没有使用预分频器的情况下,中断处理时没有对响应中断、现场保护和计数器重赋初始值所需的时间进行精确补偿,就AVR单片机而言这些工作通常需要1 0多个时钟周期来完成。以使用1 6位定时器、定时时间8ms(使用8MHz晶体,定时器时钟源不预分频时的最大定时时间为8.192ms)为例,不补偿的话1天时间将至少慢(0.125×10/8000)×3600×24=13,5(s),这是因为计数器在计数器重新赋初始值时已少计了10多个数,下次溢出的时间也就推迟了,使2次中断产生的间隔比理论计算值长。如果时钟源使用分频系数为16以上的预分频器情况就不同了,因为在响应中断的过程中预分频器并没有停止计数,在中断处理程序对计数器重新赋初始值时预分频器还没有产生进位,所以没有丢失数据。这里T2时钟源采用1 024预分频,自然不会因少计数而产生计时误差。在定时器时钟源不使用预分频器的情况下,建议大家将定时器设置为CTCI作模式,使用比较匹配中断,这样在产生比较匹配中断时定时器的计数器是立即自动清零酌,不会造成计数丢失。
;;; 定时精度不高的第二个原因是中断程序使用不当,一是本身中断程序处理的时间大于定时时间,造成不能及时响应下一次中断;二是在其他中断程序处理过程中发了定时中断,又没有使用中断嵌套提高定时中断的级别(AVR单片机的硬件缺省方式不支持高优先级中断打断低优先级中断)。
型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67