背景: #EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读文章

用PIC12C671实现冰箱欠压过压延时等保护功能

[日期:2007-06-16] 来源:电子报  作者: [字体: ]

   PIC12C671是8位8脚单片机,可用其构成冰箱保护器,电路简单。

电路工作原理如附图所示。



图中PIC12C671的③脚控制冰箱压缩机,②脚为欠压显示,⑤脚为过压显示,⑦脚为A/D模拟电压输入端。A/D转换时分辨率为20mV,当R3、R4精度为0.1%时,欠压、过压的控制误差为0.5%。Vcc随市电按比例变化,经R3、R4分压后,输入到PIC12C671的⑦脚转换为数字量Di。程序中设定欠压的数字量D1,把转换的数字量Di与欠压时的数字量D1比较,若Di≤D1且持续5秒,PIC12C671的③脚清零,②脚为高电平,冰箱压缩机控制电路停止供电,欠压灯亮。5分钟后PIC12C671采集数据,若已恢复正常,置②脚为0,③脚为1,电路回到正常工作状态。当停电后来电时,程序延时5分钟后③脚变为高电平,实现控制作用。

上电延时程序清单如下:

list p=12C671
#include<P12c671.Inc>
errorlevel -302
_CONFIG _CP_OFF &_WDT_ON &_MCLRE_ON&_PWRTE_ON &_INTRC_OSC
;***** VARIABLE DEFINITIONS
W_TEMP     EQU 0x0C
STATUS_TEMP EQU 0x0D
PIR1    EQU 0x0C
LATB     EQU 0x20
PIE1    EQU 0x8C
TEMP    EQU 0x22
  COUNT EQU 0x21
TMRO EQU 0x01
PORTA   EQU 0x05
ORG    0x00
GOTO START
ORG 0x04
GOTO ADCON
;remaining code goes her
START:BSF STATUS,RP0
    MOVLW 0x01
   MOVWF GPI0
    MOVLW 0X0D6
   MOVWF OPTION_REG
    BCF STATUS,RP0
    BSF INTCON,7
    BSF INTCON,5
   BCF INTCON,2
    BSF INTCON,GIE
   CLRF COUNT
    CLRF LATB
   CLRF TMR0
    CLRF PORTA
MAIN: CLRWDT
    MOVLW  0x0FF
    SUBWF TMR0,0
    BTFSC  STATUS,Z
    GOTO   TIME2
TIME1:MOVLW  0x0FF
    SUBWF  COUNT,0
    BTFSC  STATUS,2
    GOTO   TIME4
TIME3:MOVLW  0x24
    SUBWF  TEMP,0
   BTFSC  STATUS,2
     BSF PORTA,2
    GOTO MAIN
TIME2:INCF   COUNT,1
    CLRF   TMR0
    GOTO  TIME1
TIME4:INCF  TEMP,1
    CLRF   COUNT
    GOTO   TIME3
ADCON:…
   END

注:限于篇幅,这里只给出上电延时程序,需要全部源程序的读者,请联系作者(0853-4695386)。

阅读:
录入:gddq

推荐 】 【 打印
上一篇:智能电机转速计数器
下一篇:软硬兼施提高单片机系统的可靠性
相关文章       12C671 
本文评论       全部评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款