Configuracion del pic 12f629

Voy a destacar las diferencias a la hora de configurar el 12f629 conparandolas con el 16F84A. 16F84 equ 0x0C ; a partir de esta direccion empieza la memoria de datos 12F629 equ 0x20 ; a partir de esta direccion empieza la memoria de datos las intrucciones TRISA y TRISB se sustituyen por TRISIO las instrucciones PORTA y PORTB se sustituyen por GPIO El terminal GP3 solo puede actuar como entrada de datos

Disposicion de pines Trabaja con un voltaje comprendido entre 2 y 5,5 voltios

PARA DESACTIVAR EL COMPARADOR PARA QUE GP0 Y GP1 ACTUEN COMO ENTRADAS NORMALES. De fabrica vienen configuradas en modo comparador bcf movlw movwf STATUS,RP0 ; BANCO 0 b'00000111' CMCON ; selecciona GPIO en vez de comparador ; 0x07 desactiva el comparador y lo pone además en bajo consumo

Valor de calibración del oscilador interno . Calibra osc interno . STATUS. BANCO 0 CONFIGURAR EL RELOJ INTERNO bsf STATUS call OSCCAL . Bank 0 CONFIGURAR LOS PINES COMO ENTRADA O SALIDA: bsf movlw movwf bcf STATUS. Bank 1 . BANCO 1 b'xx001111' TRISIO . B'00000010' WPU . STATUS.RP0 .RP0 . . 0 salidas y 1 entradas.RP0 3FFh .PARA HABILITAR LAS RESISTENCIAS INTERNAS: Todos tienen resistencias internas menos GP3 bsf movlw movwf movlw movwf bcf STATUS. solo he habilitado la resistemcia en GP1 . Habilita pull-ups OPTION_REG . Bank 1 B'00001111' .RP0 .RP0 .

. ........... 0x3FF Org Retlw End 0x20 CONFIGURACION EN EL ICPRO OSCILADOR: LP........ BANDGAP: Bandgap 00b....................Master clear... Bandgap 11b......Reset al conectar la alimentacion................. CPD..... CP.. se encuentra el valor para calibrar el oscilador interno...... .............power up timer............. EC GP4..... BODEN............... MCLR............instrucciones antes del final del programa . XT...RP0 ............... RC CLKOUT....... Bandgap 01b.................... intOSC GP4...... En la posicion del programa 3FF... Bandgap 10b..Si lo utilizo como oscilador interior resulta que GP4 me lo pone siempre a1 RC GP4...........codigo de proteccion del programa ............hay que utilizarlo cuando se utilice el oscilador interior intOSC CLKOUT................ en OFF configura GP3 como entrada y en ON como reset.............. Bank 0 ........... PWRT.movwf bcf STATUS.................................reset por bajada de tension.......codigo de proteccion area de datos............................... Default................... HS............ .....................perro guardian...........Siempre utilizo esta configuracion BITS CONFIGURACION: WDT.....

GP3 configurada como entrada. la utilizo para anotar la informacion de los bits de configuracion. reset por bajada de tension y codigo de proteccion del programa. el perro guardian. para asegurame de que este todo correcto antes de la grabacion. incluso mas abajo (no aparece en la imagen) tengo anotado el valor del Chesksum La configuracion de la imagen de arriba corresponde con el siguiente programa . Como no estoy utilizando la eprom. En dicha fotografia se puede apreciar que tengo activado el oscilador interno.por lo que es aconsejable antes de proceder a la grabacion del pic. realizar una lectura y anotar el valor que indica dicha posicion. Ver figura.

.12F675 y 12F629 oscilador valor de calibración.

BORRAR Y GRABAR En el caso de que tengamos que realizar una nueva grabacion del pic. Si cambiamos dicho valor el oscilador interno no oscilara a la frecuencia de 4Mhz. para que asi nos mantenga el valor original de fabrica "54h".Antes de la programacion con los datos de su archivo hexadecimal deves de hacer una nota del oscilador. este lee el contenido de la posicion 3FF (en este caso 54h). Con este valor se calibra el oscilador a 4MHZ con un 1% de tolerancia. ya que el valor original era "54h" Lo correcto antes de grabarlo seria cambiar el valor de la posicion 3FF y ponerle el valor "3454" Cada pic tiene un valor distinto En el caso de haber perdido el valor original hay una forma de recuperarlo. Pero al realizar la nueva grabacion aparecera el mensaje de la figura. por lo que no hare ningun comentario: . VER AQUI xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Estos datos aun no los tengo probados. Al realizar la grabacion del pic mediante el ICpro. por lo que el oscilador ira a otra frecuencia distinta a 4Mhz. habra que proceder a borrarlo. con el valor de calibracion que viene fijado de fabrica por Microchip. Hay que decirle que NO. En el caso de que pulsemos SI. meteremos el valor "20h". sino a otra distinta. que es el que aparece en mi programa. que es el que hay grabado en el programa. y pregunta si ponge el valor (20h). Dicho valor se encuentra en la ultima posicion de memoria 0x3FF.

html http://www.03 voltios si Vdd=4.com/12F675.conversión terminada -0. las entradas para el ADC obligatoriamente deben ser entradas :-) TRISIO .. (1) Fosc/16 y entrada en GP0 ANSEL b'00001001' .html http://www. low . selecciona el banco 0 de registros b'0000001' ADCON0 STATUS.elotrolado. no usados -00.convertidor activo 1- Algunos enlaces de interes http://www.RP0 . por defecto.RP0 .RP0 .talkingelectronics. high. selecciona el banco 1 de registros b'00000000' . 0111b= 7d => 1. por defecto .net/post_-TUTORIAL-DEFINITIVO--Programa-tu-12f629Correctamente-_1707313921 .6 VRCON b'01010001' . Vdd como referencia -0.6 b'10100111' . ADFM a la izquierda -0-. GP1 y GP2 salidas para indicar la temperatura con los LEDs STATUS. 0110b= 6d => 2.34 voltios si Vdd=4.bcf movlw movwf bsf movlw movlw movlw movwf movlw movwf movlw movwf bcf movlw movwf STATUS.best-microcontroller-projects. se asegura que todo quede "en alto" GPIO . GP0 es la entrada -00. selecciona el banco 0 de registros 0xff . (2) Vref. (2) Vref. (1) por ahora no uso el voltaje de referencia interno b'10000110' .com/projects/StartHere12F629/StartHere12F629-P1.