E
experto
Guest
Actualmente
estoy usando un PIC16F877 para crear una pulsación (por ejemplo: 10101010) que reciben de teclado para el transmisor de infrarrojos para ser transmitidos.i desea utilizar la característica de que es el PIC16F877 PWM para generar una frecuencia portadora 38KHZ para combinar con mi pulsante (10101010) para enviar la señal de infrarrojos a transmiter receptor IR 38KHZ.El archivo adjunto es una simple continuación de codificación para enviar datos (10101010) sin usar PWM como output.SO PUEDE ALGUIEN ME AYUDA PARA ENMENDAR LA CODIFICACIÓN PARA salida PWM DE LA PIN EN PIC16F877 para generar un 38KHZ FRECUENCIA PORTADORA !!!!!! !!!!!!!
p = 16F877 lista, f = inhX32, x = off
incluir <p16f877.inc>__CONFIG _CP_OFF
Y _PWRTE_ON
y _XT_OSC
y _WDT_OFF
ERRORLEVEL -302; reprimir banco de alertaTMRO EQU 1
ESTADO EQU 3
PORTA EQU 5
PORTB EQU 6
TRISA EQU 85H
TRISB EQU 86H
OPTION_R EQU 81H
ZEROBIT EQU 2
COUNT EQU H'0C '
TEMP EQU H'0D '
;----------------------------------ORG 0x00
GOTO PRINCIPIO
; Subrutina SECCIÓN ----------------
; 2.5mS SEGUNDA DEMORA
DELAY1 CLRF TMR0
LOOPA MOVF TMR0, W
SUBLW .1
BTFSS STATUS, ZEROBIT
GOTO LOOPA
RETLW 0
; 5 ms SEGUNDO RETARDO ------------------
DELAY2 CLRF TMR0
LOOPB MOVF TMR0, W
SUBLW .3
BTFSS STATUS, ZEROBIT
GOTO LOOPB
RETLW 0
; 7.5mS SEGUNDO RETARDO -----------------
DELAY3 CLRF TMR0
LOOPC MOVF TMR0, W
SUBLW .6
BTFSS STATUS, ZEROBIT
GOTO LOOPC
RETLW 0
; La sección de configuración --------------
INICIO BSF ESTADO, 5
MOVLW B'00011110 '
MOVWF TRISA
MOVLW B'00000000 '
MOVWF TRISB
CLRF TRISC
MOVLW B'00000010 '
MOVWF OPTION_R
BCF ESTADO, 5
CLRF PORTA
CLRF PORTB
; YA COMIENZA PROGRAMA -----------------
COMIENZAN BTFSC PORTA, 0
GOTO COMENZAR
MOVLW B'10101010 '
MOVWF TEMP
BCF PORTB, 1
CONVOCATORIA DELAY1
BSF PORTB, 1
CONVOCATORIA DELAY3
TESTA0 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 0
GOTO SETA0
GOTO CLRA0
SETA0 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA1
CLRA0 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA1 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 1
GOTO SETA1
GOTO CLRA1
SETA1 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA2
CLRA1 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA2 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 2
GOTO SETA2
GOTO CLRA2
SETA2 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA3
CLRA2 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA3 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 3
GOTO SETA3
GOTO CLRA3
SETA3 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA4
CLRA3 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA4 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 4
GOTO SETA4
GOTO CLRA4
SETA4 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA5
CLRA4 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA5 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 5
GOTO SETA5
GOTO CLRA5
SETA5 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA6
CLRA5 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA6 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 6
GOTO SETA6
GOTO CLRA6
SETA6 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA7
CLRA6 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA7 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 7
GOTO SETA7
GOTO CLRA7
SETA7 BSF PORTB, 1
CONVOCATORIA DELAY2
CLRF PORTB
GOTO COMENZAR
CLRA7 BSF PORTB, 1
CONVOCATORIA DELAY1
CLRF PORTB
GOTO COMENZAR
FIN
estoy usando un PIC16F877 para crear una pulsación (por ejemplo: 10101010) que reciben de teclado para el transmisor de infrarrojos para ser transmitidos.i desea utilizar la característica de que es el PIC16F877 PWM para generar una frecuencia portadora 38KHZ para combinar con mi pulsante (10101010) para enviar la señal de infrarrojos a transmiter receptor IR 38KHZ.El archivo adjunto es una simple continuación de codificación para enviar datos (10101010) sin usar PWM como output.SO PUEDE ALGUIEN ME AYUDA PARA ENMENDAR LA CODIFICACIÓN PARA salida PWM DE LA PIN EN PIC16F877 para generar un 38KHZ FRECUENCIA PORTADORA !!!!!! !!!!!!!
p = 16F877 lista, f = inhX32, x = off
incluir <p16f877.inc>__CONFIG _CP_OFF
Y _PWRTE_ON
y _XT_OSC
y _WDT_OFF
ERRORLEVEL -302; reprimir banco de alertaTMRO EQU 1
ESTADO EQU 3
PORTA EQU 5
PORTB EQU 6
TRISA EQU 85H
TRISB EQU 86H
OPTION_R EQU 81H
ZEROBIT EQU 2
COUNT EQU H'0C '
TEMP EQU H'0D '
;----------------------------------ORG 0x00
GOTO PRINCIPIO
; Subrutina SECCIÓN ----------------
; 2.5mS SEGUNDA DEMORA
DELAY1 CLRF TMR0
LOOPA MOVF TMR0, W
SUBLW .1
BTFSS STATUS, ZEROBIT
GOTO LOOPA
RETLW 0
; 5 ms SEGUNDO RETARDO ------------------
DELAY2 CLRF TMR0
LOOPB MOVF TMR0, W
SUBLW .3
BTFSS STATUS, ZEROBIT
GOTO LOOPB
RETLW 0
; 7.5mS SEGUNDO RETARDO -----------------
DELAY3 CLRF TMR0
LOOPC MOVF TMR0, W
SUBLW .6
BTFSS STATUS, ZEROBIT
GOTO LOOPC
RETLW 0
; La sección de configuración --------------
INICIO BSF ESTADO, 5
MOVLW B'00011110 '
MOVWF TRISA
MOVLW B'00000000 '
MOVWF TRISB
CLRF TRISC
MOVLW B'00000010 '
MOVWF OPTION_R
BCF ESTADO, 5
CLRF PORTA
CLRF PORTB
; YA COMIENZA PROGRAMA -----------------
COMIENZAN BTFSC PORTA, 0
GOTO COMENZAR
MOVLW B'10101010 '
MOVWF TEMP
BCF PORTB, 1
CONVOCATORIA DELAY1
BSF PORTB, 1
CONVOCATORIA DELAY3
TESTA0 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 0
GOTO SETA0
GOTO CLRA0
SETA0 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA1
CLRA0 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA1 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 1
GOTO SETA1
GOTO CLRA1
SETA1 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA2
CLRA1 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA2 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 2
GOTO SETA2
GOTO CLRA2
SETA2 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA3
CLRA2 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA3 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 3
GOTO SETA3
GOTO CLRA3
SETA3 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA4
CLRA3 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA4 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 4
GOTO SETA4
GOTO CLRA4
SETA4 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA5
CLRA4 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA5 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 5
GOTO SETA5
GOTO CLRA5
SETA5 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA6
CLRA5 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA6 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 6
GOTO SETA6
GOTO CLRA6
SETA6 BSF PORTB, 1
CONVOCATORIA DELAY2
GOTO TESTA7
CLRA6 BSF PORTB, 1
CONVOCATORIA DELAY1
TESTA7 BCF PORTB, 1
CONVOCATORIA DELAY1
BTFSC TEMP, 7
GOTO SETA7
GOTO CLRA7
SETA7 BSF PORTB, 1
CONVOCATORIA DELAY2
CLRF PORTB
GOTO COMENZAR
CLRA7 BSF PORTB, 1
CONVOCATORIA DELAY1
CLRF PORTB
GOTO COMENZAR
FIN