;************************************************************************** ; TX_CR.ASM ; ; ; TRANSMISSOR RF PARA CONTROLE REMOTOS ON/OFF 8 CANAIS ; ; PARA TRANSMISSÃO UTILIZA UM PIC 16F628A ; BLOG: 'LARIOS.TECNOLOGIA.WS' ; ; CLAUDIO LÁRIOS INICIO: 05-08-2012 TERMINO:05-08-2012 ;************************************************************************** ; APLICAÇÃO: CONTROLAR BRINQUEDOS OU APLICAÇÕES A DISTANCIA ; TRABALHA EM CONJUNTO COM O RX DE CÓDIGO ASM: CR27_RX_ASM ; UTILIZE TX + RX NA FREQUENCIA DE 27MHZ (OPCIONALMENTE 49 MHZ) ; PROTOCOLO: 1 STARTBIT + 1 BYTE (N. DO APARELHO) + 1 BYTE (BOTÕES) + TEMPO ENTRE TRANSMISSÕES ;*************************************************************************** LIST P=16F628A , R=DEC INCLUDE "P16F628A.INC" ;-------------------------- ERRORLEVEL -302 __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _BODEN_ON & _MCLRE_ON & _LVP_OFF #DEFINE BANK0 BCF STATUS,RP0 ;SETA BANK0 DE MEMORIA #DEFINE BANK1 BSF STATUS,RP0 ;SETA BANK1 #DEFINE OUT PORTA,0 ;PINO 17 IN RF CBLOCK 0X20 RES1,RES0,R6,R5,R7 ENDC QBYTE EQU .16 ;QUANTIDADE DE BYTES A SER RECEBIDO ORG 0X00 GOTO START ORG 0X04 RETFIE START: MOVLW 0X07 MOVWF CMCON ;DESLIGA COMPARADORES MOVLW .0 MOVWF PORTA MOVWF PORTB BANK1 CLRF OPTION_REG ;HABILITA PULL-UPS MOVLW B'11111111' ;TUDO ENTRADA MOVWF TRISB MOVLW B'11111110' ;SAIDA PA.0 PULSOS DE RF MOVWF TRISA BANK0 INICIO: ;============================= MOVLW 0XAA ;CÓDIGO DO TX MOVWF RES0 MOVFW PORTB ;PEGA INFORMAÇÃO DAS TECLAS XORLW 0XFF BTFSC STATUS,Z GOTO INICIO ;AGUARDA ALGUMA TECLA SER APERTADA MOVFW PORTB MOVWF RES1 ENVIAR: ;----------------------------------------------------- PAUSA: MOVLW .23 ;23 UNIDADES BASICAS DE BIT MOVWF R6 RTY: CALL DELAY1CK DECFSZ R6,F GOTO RTY ;---------------------------------------------------- CALL STARTBIT ;---------------------------------------------------- MOVLW QBYTE ;QUANTIDADE DE BITS A TRANSMITIR MOVWF R5 VOLT10: BCF STATUS,C RRF RES1,F RRF RES0,F BTFSC STATUS,C GOTO EB1 CALL BIT0 VV13: DECFSZ R5,F GOTO VOLT10 GOTO INICIO ;------------------------------------------------- EB1: CALL BIT1 GOTO VV13 ;================================================= ;ROTINAS DELAY1CK: MOVLW .120 MOVWF R7 ;158D PARA 330 MICROSEG. DE LAMBDA DECFSZ R7,F GOTO $-1 RETURN BIT0: BCF OUT CALL DELAY1CK BSF OUT CALL DELAY1CK CALL DELAY1CK BCF OUT RETURN BIT1: BCF OUT CALL DELAY1CK CALL DELAY1CK BSF OUT CALL DELAY1CK BCF OUT RETURN STARTBIT: BSF OUT CALL DELAY1CK BCF OUT RETURN END