Configuracion de los pines de el PIC12F675
En este Articulo Pretendo ayudar a aquellas personas que ya sabiendo programar pic están un poco confundidos con los PIC12F675-629.Los pines 1 y 8 resiven la alimentacion asi:
1. VDD resive +5 voltios.
8. GND resive tierra o 0V.
Estableciondo la palabra de configuracion.
Se establese con los siguientes comandos:
LIST P=12f675
RADIX HEX
include "libs/P12f675.inc" ;Definiciones de registros internos
__config _CPD_OFF & _BODEN_ON & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_CLKOUT
Calibrando el Oscilador interno.
El Oscilador interno utilisa un registro llamado OSCALL que se encuentra en el banco1 y un
numero de configuracion que se encuentra en la ultima posicion de la memoria de programa que
debe tener una instruccion retlw xx cuyo valor xx equivale a el valor a colocar en el registro
OSCALL.
Este puede tener tres rangos:
Maxima frecuencia = 111111xxx
Frecuencia central = 100000xxx
Minima frecuencia = 000000xxx
Donde x no tiene valor determinado, por ejemplo puede ser '0'
En el siguiente ejemplo podemos ver como se puede calibrar:
bsf STATUS,RP0 ;Bank 1
call 3FFh ;Get the cal value
movwf OSCCAL ;Calibrate
.
.
.
ORG 0x3ff
retlw b'10000000'
Configuracion de el CAD ( conversor analogo digital ).
Conviene utilisar la siguiente subrutina de conversion la cual untilisa el pin GP2/AN2 conmo entrada de el conversor.
INICIO_CAD
movlw b'00001011'
movwf ADCON0 ;ADFM=1(IZQUIERDA)
;VCFG=0(VDD)
;NI,NI
;[CHS1,CHS0]=(AN2)
;GO/DONE(ON)
;ADON(ON)
nop
nop
nop
nop
nop
test
btfsc ADCON0,GO
goto test
movf ADRESH,W
movwf ADRES_H1
movf ADRES_H1,f
btfsc STATUS,Z
incf ADRES_H1,f
returnbsf STATUS,RP0 ;Bank 1
movlw b'11111100' ;puerto GP0 GP1 salida resto entrada
movwf TRISIO
movlw b'01101100'
movwf ANSEL ;NI (no implementado)
;ADCS<2:0> = (110) = FOSC/64
;ANS3:ANS0 = (1100)= [AADD]
bcf STATUS,RP0 ;Bank 0




0 comentarios:
Publicar un comentario