MPLAB programação assembly RC5

G

guesslsc85

Guest
Atualmente, estou trabalhando com perímetro Infravermelho / Gate que RC5 utilização de codificação.Alguém poderia ajudar a mudar o código fonte de parte decodificador em conjunto para a minha aplicação (porta IR / vedação).O que eu precisava fazer é monitorar continuamente a luz IR codificado ea saída do decodificador será um LED ou alarme.
Quando a luz IR é obstruída por alguém, o alarme / LED acenderá.Caso contrário, ela será desativada.

Em anexo é o código-fonte decodificador parte.
Obrigado por nos ajudar.

http://www.sixca.com/eng/articles/remote/3ch_remote.zip
Code:
 [code ];------------------------ --
, Isto é RX
; Controle PROJETO: 3 canais remotos
; CRYSTAL 4 MHz
; RC5 formato @ 38KHz, 35% do ciclo
; ADDRESS = 0x0b
; Ch1 = 0x01
; Ch2 = 0x02
; Ch3 = 0x03
; NÃO USE TOGGLE ALWAY = 0
; 4-JULY-2005
;--------------------------

P = 12F629 lista
# include <P12F629.INC>
__config _WDT_OFF & _XT_OSC & _CP_ON & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON# DEFINE IR GPIO, 3; IR LED de entrada com R10K pull-up para vcc
# DEFINE OUT1 GPIO, 0; Drive saída 1
# DEFINE OUT2 GPIO, 1; Drive saída 2
# DEFINE OUT3 GPIO, 2; Drive saída 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
; CALL 0x3ff
; MOVWF OSCCAL
; BCF STATUS, RP0
;
CALL DEBOUNCE

MOVLW 0x07
MOVWF CMCON; FAZEM TUDO PARA 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; desligar todas as saídas
;
PRINCIPAL: CALL DELAY3500
CALL GET_RC5
BTFSC STATUS, C
GOTO MAIN
;
MOVF ADDR, W
XORLW ADDRS
BTFSS STATUS, Z
GOTO MAIN; erro de endereço
;
MOVF CMD, W
ANDLW 0x03; MASK 2 LSB
ADDWF PCL, F
GOTO MAIN; COMANDO 0X00 NÃO USO OU ERRO DE COMANDO
GOTO DO_CH1
GOTO DO_CH2
GOTO DO_CH3

DO_CH1: MOVLW OUT1_M
MUDANÇA GOTO
;
DO_CH2: MOVLW OUT2_M
MUDANÇA GOTO
;
DO_CH3: MOVLW OUT3_M
MUDANÇA: XORWF GPIO, FCitação:

; necessidade de mudar aqui ou em outro lugar ...
 

Welcome to EDABoard.com

Sponsor

Back
Top