技术热线: 4007-888-234
设计开发

专注差异化嵌入式产品解决方案 给智能产品定制注入灵魂给予生命

开发工具

提供开发工具、应用测试 完善的开发代码案例库分享

技术支持

从全面的产品导入到强大技术支援服务 全程贴心伴随服务,创造无限潜能!

新品推广

提供新的芯片及解决方案,提升客户产品竞争力

新闻中心

提供最新的单片机资讯,行业消息以及公司新闻动态

PIC12C671单片机实现冰箱欠压、过压、来电延时等保护功能

更新时间: 2019-03-22
阅读量:2454

PIC12C6718位单片机,可用其构成冰箱保护器,电路简单。
    电路工作原理如附图所示。
    图中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分钟后③脚变为高电平,实现控制作用。
    上电延时程序清单如下:

listp=12C671
    #include<P12c671.Inc>
       errorlevel  -302
   _CONFIG_CP_OFF &_WDT_ON &_MCLRE_ON&_PWRTE_ON &_INTRC_OSC
  ;*****VARIABLE DEFINITIONS
       W_TEMP        EQU0x0C
       STATUS_TEMP EQU0x0D
       PIR1            EQU0x0C
       LATB            EQU0x20
       PIE1             EQU0x8C
       TEMP            EQU0x22
      COUNT             EQU   0x21
       TMRO               EQU   0x01
       PORTA            EQU   0x05
       ORG               0x00
       GOTO               START
       ORG                 0x04
       GOTO               ADCON
;remainingcode goes her
START:BSFSTATUS,RP0
         MOVLW0x01
         MOVWFGPI0
         MOVLW0X0D6
         MOVWFOPTION_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