RECEPCION SERIAL CON EL PIC16F84
LIST P=16F84
include "p16f84.inc" ;PI6C84.INC Es un archivo estandar del
;ensamblador de Microchip que contiene las;definiciones de etiquetas asociadas a los
;registros y bits del PIC16C84
;DEFINICION DE ETIQUETAS Y VARIABLES
DatoRX equ 0x0c ;Dato que se recibe
ContBITS equ 0x0d ;Contador de bits arecibir
RX equ 4 ;linea de recepcion
ContDEL equ 0x0e ;contador de retardo
Banderas equ 0x0f ;registro de banderas
OK equ 0 ;bandera de recepcion valida
ContRX equ 0x10 ;Contador de retardopara recepcion
;+++++++++++++ ASIGNACION DE MEMORIA DE PROGRAMA ++++++++++++++
org 0 ;VECTOR DE RESET
goto INICIO_RECEPCION
; 0000 INICIO RECEPCION PIC16F84
INICIO_RECEPCIONLECTURA
call RECIBIR_DATO_SERIAL ;lectura del pin de recepcion
btfss Banderas,OK ;verificar si el dato es valido
goto LECTURA ;regresar, para hacer otra lectura
movwf PORTB ;Enviar caracteral PORTB
goto LECTURA ;regresar, para hacer otra lectura
; 100 INICIA VARIABLES INICIA_VAR
;Inicializa variables y puertos
INICIA_VAR
clrf Banderas ;Limpiar registro de banderasbsf STATUS,RP0 ;cambiar al banco 1 de memoria
bsf TRISA,RX ;programas RX como emtrada
clrf TRISB ;PORTB como salida
bcf STATUS,RP0 ;regresar al banco 0
return
; 200 RECIBIR DATO SERIALRECIBIR_DATO_SERIAL
;Se realiza recepcion serial a una velocidad de 1200bps, con datos de
;8 bits, sin paridad y con un bit de paro, a traves de pin RA4. El dato
;guarda en DatoRX y se regresa enel acumulador W.
RECIBIR_DATO_SERIAL
clrwdt
clrf DatoRX ;limpiar registro de recepcion
bcf Banderas,OK ;borrar bandera
btfsc PORTA,RX ;linea de recepcion en bajo?
goto SalirRX;si no lo esta salir
call RETARDO_MED ;retardo medio para confirmar
btfsc PORTA,RX ;se comprueba el bit de arranque
goto SalirRX ;salir
call RETARDO833 ;generar un retardo
movlw 8...
Regístrate para leer el documento completo.