DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 298|回复: 0
打印 上一主题 下一主题

巧用单片机软件抗系统瞬时干扰

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 19:48:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    摘 要:介绍了8031单片机的待机方式及利用单片机待机方式实现软件抗瞬时干扰的工作原
理,给出了软件抗瞬时干扰的设计和应用实例;最后,讨论了软件抗瞬时干扰的效果及应用前景。
关键词:单片机 干扰 待机方式 软件

0 引 言
  单片机具有集成度高、体积小、可靠性强、价格低、面向控制等特点,在工业控制、智能仪器仪表、智能化设备和家用电器等领域得到广泛应用。在各种类型的单片机中,由于8031系列8位单片机具有品种多样、易于开发、控制灵活、使用方便等优点,因而成为目前国内外应用最广的单片机之一。
  由于单片机是针对工业控制以及与控制有关的数据处理而设计的,其运行可靠性不容置疑,因,在常规条件下使用时,只要电源滤波完善,不用特别考虑系统的抗干扰问题。若控制对象为电机及继电器等感性负载时,可采取光电隔离、直流电源隔离和交流噪声滤波等抗干扰措施,亦能够保证单片机正常运行。但是,当用电环境较差,控制对象为开关型、大电流的感性负载时,负载开启或关闭到稳定状态期间将产生很强的瞬时干扰信号,严重影响单片机的正常运行。此时,采取以上抗干扰措施仍不能解决系统的干扰问题。为此,本人利用8031单片机(以下所指的单片机均为8031单片机)的待机功能实现软件抗瞬时干扰,取得了满意的系统抗干扰效果。
1 单片机待机方式简述[1]
  在单片机中,专用寄存器PCON.0是待机方式位IDL。一条把IDL(PCON.0)置1的指令执行完后,单片机就进入待机方式。在这种方式下,提供给CPU的内部时钟信号被切断,但时钟信号仍提供给中断逻辑、定时器和串行口。CPU的全部状态在待机期间都被保留起来,它们是:堆栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC以及所有的工作寄存器。
  复位可终止待机方式,但单片机复位后,其现场将被破坏。终止待机方式的另一种方法是激活任何一个被允许的中断,IDL(PCON.0)将被硬件清除,结束待机状态。中断得到响应,进入服务程序,紧跟RETI之后,下一条要执行的指令将是使单片机进入待机方式的那条指令的后面一条指令。
2 软件抗瞬间干扰原理
  当单片机控制系统中的大电流感性负载开启或关闭到稳定状态期间产生较强的干扰,使得单片机
不能正常运行时,利用单片机的定时和待机功能,可有效保证单片机可靠运行。
  软件抗瞬时干扰的工作原理是:当单片机发出控制负载开关动作的指令后,立即启动定时器,打开定时器中断(此时其它中断应处于关闭状态),接着执行一条把IDL(PCON.0)置1的指令,单片机进入待机状态。此时,由于提供给CPU的内部时钟信号被切断,时钟信号只提供给中断逻辑和定时器,单片机在定时期间处于不工作状态,负载开启或关闭时所产生的干扰信号对单片机不起作用。如果定时时间足够长,等到负载开关稳定无干扰信号时定时中断被激活,则单片机进入正常工作状态。换句话说,有干扰时,单片机处于待机状态;无干扰时,单片机恢复正常工作状态,则完全有可能实现软件抗瞬间干扰之目的。
3 定时时间设计
  当8031单片机的定时器工作在16位定时方式时,其定时时间与定时初值的计算公式如下:



式中:T———定时时间,单位为s
      f———单片机震荡频率,单位为Hz
    X———定时初值
  从以上关系式中可看出,若要增加定时时间,则需要减小单片机的震荡频率或定时初值。由于定时初值最小值为0,如果需要较长的定时时间,只有减小单片机的震荡频率。但是,随着单片机震荡频率的减小,其运行速度必然受到影响,必须予以兼顾。
4 应用实例
  我们在研制飞机发电机加载控制系统时,遇到较强的瞬时干扰,其干扰源主要来自控制加载功率的多个交流接触器。在该系统中,交流接触器的控制电流最大可达1000A,最小的亦有10A,其通/断动作时所产生的干扰非常强,采取别的抗干扰措施均不能解决根本问题,而采用软件抗干扰方法则取得了满意的结果。
  交流接触器从通/断到稳定状态的时间不大于0.4s,由于系统对单片机运行速度无严格要求,为保险起见,单片机的震荡频率选定为1MHz,若定时初值为0时,根据式(1)可算出其定时时间接近0.8s,完全可以避开交流接触器动作时所产生的干扰。
  当单片机发出交流接触器通/断指令后,执行如下程序,定时器0开始定时,开定时器0中断,单片机进入待机状态(此前应关闭其它中断)。
    MOVTMOD,#01H;定时器0置工作方式1
    MOVTH0,#00H;置定时时间
    MOVTL0,#00H;
    SETBtr0;开定时器0
    SETBET0;开定时中断0
    ORL87H,#01H;单片机置待机状态
  在以上程序中,87H为专用寄存器PCON的地址码,PCON.0为待机方式位。当定时时间到产生定时中断0时,进入定时器0中断服务程序。中断程序结束时的RETI指令使得单片机程序恢复到原有状态继续执行。在整个定时时间内,单片机处于待机状态,外部电路所产生的干扰对单片机无能为力;当定时时间结束,单片机恢复到正常运行时,外部干扰已不复存在,从而保证了单片机控制系统的可靠运行。
5 结 论
  根据以上分析及实际运用表明,利用单片机的待机方式实现软件抗瞬时干扰的作用是非常明显的,其抗干扰效果亦是令人满意的。但是,此抗干扰方法运用起来亦受到一定限制,例如:对连续或随机干扰就无能为力。因此,当系统产生干扰时,要具体分析产生干扰的原因,再决定采取哪些抗干扰措施,方能取得满意的结果。如果干扰类型与本文介绍的瞬时干扰类似,采用软件抗干扰的方法是切实可行的。
参考文献

1 孙涵芳,徐爱卿编著.单片机原理与应用.北京:北京航空航天大学出版社,1988:81

         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-23 15:38 , 耗时 0.092676 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表