100% encontró este documento útil (1 voto)
321 vistas2 páginas

Configuración de PLL en PIC16F84A

El documento describe el programa para configurar un microcontrolador PIC16F84A para transmitir una frecuencia de radio FM de 98.1 MHz. Primero configura los puertos y el registro de opciones del microcontrolador. Luego carga valores en los registros del PLL para fijar la frecuencia de referencia a 88.1 MHz y la frecuencia central de transmisión a 98.1 MHz. Finalmente, envía periódicamente los valores de frecuencia al PLL a través de una rutina para establecer la frecuencia de transmisión.

Cargado por

bbchacin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
321 vistas2 páginas

Configuración de PLL en PIC16F84A

El documento describe el programa para configurar un microcontrolador PIC16F84A para transmitir una frecuencia de radio FM de 98.1 MHz. Primero configura los puertos y el registro de opciones del microcontrolador. Luego carga valores en los registros del PLL para fijar la frecuencia de referencia a 88.1 MHz y la frecuencia central de transmisión a 98.1 MHz. Finalmente, envía periódicamente los valores de frecuencia al PLL a través de una rutina para establecer la frecuencia de transmisión.

Cargado por

bbchacin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

list p = 16f84a

radix hex
org 0
goto inicio
org 5
inicio bsf 0x03,5 ;Acceso al banco 1
clrf 0x05 ;Configura puerto A como salida
movlw 0xff ;Configura puerto B como entrada
movwf 0x06 ;
movlw 0x87 ;Configuracin del
movwf 0x01 ;registro Option
bcf 0x03,5 ;Acceso al banco 0
clrf 0x05
bsf 0x05,2 ;A2 en estado alto para deshabilitar el PLL
call delay ;Garantiza voltaje estabilizado en A2,A1,A0
bsf 0x05,3 ;Enciende el PLL MC145170P2 a traves de A3
call rtdo ;Rutina para dar tiempo al POR del PLL
movlw 0x28 ;Valor a cargar para fijar
movwf 0x0e ;la frecuencia de
movlw 0x00 ;referencia ( Valor /R )
movwf 0x0f ;
rlf 0x0e,1 ;Rota el primer bit para desecharlo
rlf 0x0f,1 ;
movlw 0x0f ;Carga 15 para rotar los
movwf 0x1f ;primeros 15 bits de 0E y 0F
call sadat ;Envia al PLL el valor de /R
movlw 0xe3 ;Valor a cargar para fijar el
movwf 0x0f ;registro de configuracin C
movlw 0x08 ;Carga 8 para rotar los 8 bits
movwf 0x1f ;del registro 0F
call sadat ;Envia al PLL el valor del registro C
canal movlw 0x10
movwf 0x1f
movlw 0x03 ;De 881 = 0371 ( 88.1 MHz)
movwf 0x0f
movlw 0x63 ;W=100 (M x. valor permitido del DIP switch)
subwf 0x06,0 ;
btfsc 0x03,0 ;Verifica si hay llevada en el octavo bit
goto frecen ;Valor DIP switch > DIP switch M ximo
suma movf 0x06,0
movwf 0x0e
addwf 0x0e,1
movlw 0x71 ;De 881 = 0371 ( 88.1 MHz)
addwf 0x0e,1
btfss 0x03,0
goto sadat1
movlw 0x01
addwf 0x0f,1
goto sadat1
frecen movlw 0xd5 ;Valor a cargar para fijar la
movwf 0x0e ;frecuencia central de
movlw 0x03 ;transmisin 98.1MHz ( Valor /N )
movwf 0x0f ;
sadat1 call sadat
sleep
goto inicio
sadat btfss 0x0f,7 ;Vigila el ltimo bit de 0F para transmitirlo
goto codigoO
call codigo2
rotar rlf 0x0e,1 ;Rota a la izquierda los valores de la
rlf 0x0f,1 ;frecuencia escogida
decfsz 0x1f,1 ;Decrementa hasta m, para desplazar los
goto sadat ;m bits requeridos de 0E y 0F
goto fin4
codigoO movlw 0x08 ;Pone en "0" a A2,A1 y A0 (Enable,Data,Ck)
movwf 0x05
call delay
bsf 0x05,0 ;Pone en "1" a A0(Ck), quedando "0 0 1"
call delay
bcf 0x05,0 ;Pone en "0" a A0(Ck), quedando "0 0 0"

También podría gustarte