微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用PIC12C671实现冰箱欠压、过压、来电延时等保护功能

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

时间:01-09 来源:互联网 点击:

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分钟后③脚变为高电平,实现控制作用。
上电延时程序清单如下:
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

注:限于篇幅,这里只给出上电延时程序

 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top