Hola:
Quiero usar el oscilador Interno del PIC16F88. Estas son las palabras de configuración. Creo que es la que señalé con negrita abajo. Si no es así. ¿Cuál es?
_EXTRC_CLKOUT EQU H'3FFF'
_EXTRC_IO EQU H'3FFE'
_INTRC_CLKOUT EQU H'3FFD'
_INTRC_IO EQU H'3FFC'
_EXTCLK EQU H'3FEF'
_HS_OSC EQU H'3FEE'
_XT_OSC EQU H'3FED'
_LP_OSC
Por ahora elcódigo que encontré en el MPLAB v8.53 (se que está la 8.83) es el indicado abajo.
Otra cosa. Tiene que ser a 12 NHz. ¿Cómo se hace?
En tal caso que es mejor usar un PIC con oscilador externo de cristal a 12 MHz, entonces me serviría este código de ejemplo que encontré hace tiempo por Internet.
Saludo.
Un cordial saludo.
Quiero usar el oscilador Interno del PIC16F88. Estas son las palabras de configuración. Creo que es la que señalé con negrita abajo. Si no es así. ¿Cuál es?
_EXTRC_CLKOUT EQU H'3FFF'
_EXTRC_IO EQU H'3FFE'
_INTRC_CLKOUT EQU H'3FFD'
_INTRC_IO EQU H'3FFC'
_EXTCLK EQU H'3FEF'
_HS_OSC EQU H'3FEE'
_XT_OSC EQU H'3FED'
_LP_OSC
Por ahora elcódigo que encontré en el MPLAB v8.53 (se que está la 8.83) es el indicado abajo.
Código:
; DATOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
LIST P=16F88
INCLUDE <P16F88.INC>
__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
__idlocs 0001 ; ID, versión del programa.
CBLOCK 0x20
ENDC
En tal caso que es mejor usar un PIC con oscilador externo de cristal a 12 MHz, entonces me serviría este código de ejemplo que encontré hace tiempo por Internet.
Código:
; Prueba de sincronización horizontal
; Este código crea líneas verticales
; en el centro se despliega una línea blanca, a las orillas
; dos líneas grises y todo lo demás aparece en negro.
; Se debe utilizar un cristal de 12MHz
; A RB0 se conecta una resistencia de 1K ohm
; A RB1 se conecta una resistencia de 470 ohm
; ---|
; |
; RB0|-/\/\/\--|
; | |
; RB1|-/\/\/\--|---* Salida de video
; |
; -- |
list p=16f88
include p16f88.inc
radix hex
__config _CONFIG1,_CP_OFF&_DEBUG_OFF&_WRT_PROTECT_OFF&_CPD_OFF&_LVP_OFF&_BODEN_OFF&_MCLR_OFF&_PWRTE_OFF&_WDT_OFF&_HS_OSC
cblock 0x20
delaycnt
hrzcnt
stuff
counter1
counter2
endc
COLOR_SYNC EQU 0x00
COLOR_BLACK EQU 0x01
COLOR_GRAY EQU 0X02
COLOR_WHITE EQU 0X03
VIDEO_PORT EQU PORTB
DELAY MACRO
LOCAL LABEL
movwf delaycnt
LABEL decfsz delaycnt,f
goto LABEL
ENDM
dnop MACRO
LOCAL label
label goto label+1
ENDM
org 0x00
goto INICIO
org 0x05
INICIO
bsf STATUS,RP0 ; Cambio al banco 1
clrf ANSEL ; Todos los pines digitales
clrf TRISB ; Puerto B como salida
bcf STATUS,RP0 ; Regreso al banco 0
clrf VIDEO_PORT ; Se limpia el puerto B
clrf TMR2
clrf T2CON
bsf STATUS,RP0
movlw 0xFF
movwf PR2
bcf STATUS,RP0
HORIZONTAL
bsf T2CON,TMR2ON
movlw COLOR_BLACK
; Front Porch
movwf VIDEO_PORT
movlw .1
DELAY
DNOP
movlw COLOR_SYNC
; 5us de sincronización
movwf VIDEO_PORT
movlw .4
DELAY
movlw COLOR_BLACK
; Back Porch por 5us
movwf VIDEO_PORT
movlw .4
DELAY
; 52us de video
movlw COLOR_GRAY
; 4us de gris
movwf VIDEO_PORT
movlw .3
DELAY
movlw COLOR_BLACK
; 20us de negro
movwf VIDEO_PORT
movlw .19
DELAY
movlw COLOR_WHITE
; 4us de blanco
movwf VIDEO_PORT
movlw .3
DELAY
movlw COLOR_BLACK
; 20us de negro
movwf VIDEO_PORT
movlw .19
DELAY
movlw COLOR_GRAY
;4us de gris
movwf VIDEO_PORT
movlw .3
DELAY
goto HORIZONTAL
end
Un cordial saludo.