G
guesslsc85
Guest
Je travaille actuellement avec infrarouge périmétrique / gate qui utilisent des codes RC5.Quelqu'un pourrait-il contribuer à changer le code source d'une partie décodeur dans la suite pour ma demande (portail IR / clôture).Qu'est-ce que j'avais à faire est de surveiller en permanence la lumière infrarouge codé et la sortie du décodeur sera un LED ou d'alarme.
Lorsque la lumière infrarouge est obstrué par une personne, l'alarme / DEL s'allume.Sinon, il sera désactivé.
Ci-joint le code décodeur partie source.
Merci de nous aider.
http://www.sixca.com/eng/articles/remote/3ch_remote.zip
Lorsque la lumière infrarouge est obstrué par une personne, l'alarme / DEL s'allume.Sinon, il sera désactivé.
Ci-joint le code décodeur partie source.
Merci de nous aider.
http://www.sixca.com/eng/articles/remote/3ch_remote.zip
Code:
[code ];------------------------ --
CECI EST RX
; PROJET: 3 canaux de contrôle à distance
; 4 Crystal MHz
; RC5 format @ 38KHz, 35% duty cycle
; ADDRESS = 0x0B
; Ch1 = 0X01
; CH2 = 0x02
; Ch3 = 0x03
; PAS UTILISER TOGGLE ALWAY = 0
; 4-JULY-2005
;--------------------------
liste P = 12F629
# include <P12F629.INC>
__CONFIG _WDT_OFF & _XT_OSC & _CP_ON & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON# DEFINE IR GPIO, 3; IR LED d'entrée avec R10K pull-up à VCC
# DEFINE OUT1 GPIO, 0; Drive sortie 1
# DEFINE OUT2 GPIO, 1; Drive sortie 2
# DEFINE OUT3 GPIO, 2; Drive sortie 3
# DEFINE OUT1_M 0x01
# DEFINE OUT2_M 0x02
# DEFINE OUT3_M 0x04
# DEFINE TOG_BIT TOGGLE, 0
# DEFINE addrs 0x0b; 0000 1011; 0000 1110
# DEFINE CH1_CMD 0X01
# DEFINE CH2_CMD 0X02
# DEFINE CH3_CMD 0x03CNT1 EQU 20H
CNT2 EQU 21H
CNT3 EQU 22H
CNT4 EQU 23H
TEMP EQU 24H
TOGGLE EQU 25H
ADDR EQU 26H
CMD EQU 27H
ORG 000
; BSF STATUS, RP0
, Appel 0x3ff
; Movwf OSCCAL
; BCF STATUS, RP0
;
APPEL Debounce
MOVLW 0x07
Movwf CMCON; FAIRE TOUS AU GPIO DIGITAL I / O
BSF STATUS, RP0
MOVLW 0X01
Movwf OPTION_REG
Movlw B'00001000 '
Movwf TRISIO
Clrf IOCB
BCF STATUS, RP0
BCF INTCON, GIE
Clrf GPIO, éteignez toutes les sorties
;
MAIN: APPEL DELAY3500
APPEL GET_RC5
BTFSC STATUS, C
GOTO MAIN
;
MOVF ADDR, W
XORLW addrs
Btfss STATUS, Z
GOTO MAIN; ERREUR D'ADRESSE
;
MOVF CMD, W
ANDLW 0x03; MASQUE 2 LSB
ADDWF PCL, F
GOTO MAIN; COMMANDEMENT 0X00 PAS UTILISER OU DE COMMANDE D'ERREUR
GOTO DO_CH1
GOTO DO_CH2
GOTO DO_CH3
DO_CH1: movlw OUT1_M
GOTO CHANGEMENT
;
DO_CH2: movlw OUT2_M
GOTO CHANGEMENT
;
DO_CH3: movlw OUT3_M
CHANGEMENT: XORWF GPIO, FQuote:
; nécessité de changer ici ou ailleurs ...