×
嵌入式 > 嵌入式开发 > 详情

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

发布时间:2020-07-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
ue705;*****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
BTFSCSTATUS,Z
GOTOTIME2
TIME1:MOVLW 0x0FF
SUBWFCOUNT,0
BTFSC STATUS,2
GOTO TIME4
TIME3:MOVLW 0x24
SUBWFTEMP,0
BTFSC STATUS,2
BSF PORTA,2
GOTO MAIN
TIME2:INCF COUNT,1
CLRFTMR0
GOTO TIME1
TIME4:INCF TEMP,1
CLRF COUNT
GOTOTIME3
ADCON:…
END

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





『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
现场总线系统的功能安全评价