英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流
标题:
用PIC12C671单片机实现冰箱欠压、
[打印本页]
作者:
winnie
时间:
2009-5-6 09:34
标题:
用PIC12C671单片机实现冰箱欠压、
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
[attach]513[/attach]
欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/)
Powered by Discuz! X3.2