• Sábado 18 de Mayo de 2024, 10:16

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Huguen_aus_Tirol

Páginas: 1 ... 10 11 [12] 13
276
Microcontroladores / Re: Programador Para Epic Win
« en: Jueves 7 de Abril de 2005, 17:33 »
Hola Julio! Desconocía el EPICWin, así que lo acabo de descargar :)
Hace un tiempo dejé aquí el esquemático de un grabador, fíjate en "Otro Programador... ". Así que lo acabo de probar con este soft y un 16F873, y funcionó de maravilla. Ni siquiera tuve que configurar el puerto ni nada...
De momento no tengo preparado nada con el 18F452, así que no puedo decir si funciona ó no con este micro; pero creería que sí.

Bueno, espero que puedas solucionar tu problema.

Saludos!

277
Microcontroladores / Re: Qué Uso Para Grabar Mi Pic??
« en: Jueves 7 de Abril de 2005, 06:47 »
Gracias J1M! Muy importante la ayuda :)  En ralidad, por ahora, solo quiero aprender; no me interesa hacer comercio con este tema, asi que no veo porque esté mal.
En cuanto a abrir un subforo de C para micros, la idea me parece excelente. Así que desde ya me inscribo como alumno :comp:
Ahora, volviendo al tema de esta discusión... Sigo con la idea de ver que lenguage es más conveniente para la aplicación que deseamos realizar.
Y, Edurne, de todas maneras es bueno primero practicar un poquito con asembler, antes de encarar el C; al menos programitas básicos. Esto te puede ayudar mucho después ;)
Así que bueno, con el aporte de J1M y la idea de Jonathan, creo ya somos dos los alumnos para el nuevo foro :D

Muchísimas gracias, y saludos!

278
Microcontroladores / Re: Qué Uso Para Grabar Mi Pic??
« en: Miércoles 6 de Abril de 2005, 21:25 »
Bueno, bueno... Recién me doy cuenta...
Mil disculpas, pero parece que me expresé mal :angry: En ningún momento se me cruzó por la cabeza que nadie quiera ayudar...
Encuentro el foro muy interesante, es por eso que lo visito siempre. De lo contrario ya me hubiese ido :D
Así que sigamos así!
Otra vez, mil disculpas!

Saludos!

279
Microcontroladores / Re: Qué Uso Para Grabar Mi Pic??
« en: Miércoles 6 de Abril de 2005, 21:11 »
Hola! Si, es cierto que bajé un compilador que no lo conoce nadie :) . Me di cuenta, así que conseguí el PICC (demo), que me parece que es más conocido...
Disculpen que no conozca mucho del tema, es por eso que quiero aprender.
El que tu dices, J1M, sin dudas debe ser bueno. Pero no pude encontrar un demo; cuesta sus buenos euros, y no voy a comprar algo sin antes estar seguro ;)
Bueno, por ahora suspendí lo del C; pero estoy dispuesto a retomarlo, cuando tenga los elementos suficientes. Con algunos ejemplos básicos, como ser manejo de interrupciones, periféricos, etc. es suficiente. Después ya me arreglo solo!

Saludos a todos! :hola:

280
Microcontroladores / Re: Qué Uso Para Grabar Mi Pic??
« en: Miércoles 6 de Abril de 2005, 18:51 »
Hola Edurne! Si estas iniciandote en el tema de los micros, te recomiendo el asembler como lenguage de programación.
Primero, el ensamblador de Microchip (MPLAB) es gratuito, lo que no ocurre con los compiladores de C.
Segundo, encontrarás muchos más ejemplos en asembler que en C.
Tercero, yo tambien quize iniciarme en el tema; inicié una discusión aquí, pidiendo una ayuda. Pero parece ser que nadie programa en C, ya que casi no tuve respuestas. <_<

Bueno, es solo para considerar que es lo más conveniente.
Si decides por el asembler, te doy una mano :)  Con el C no es que no quiera, simplemente no puedo ayudar!

Saludos!

281
Microcontroladores / Re: Otro Programador...
« en: Domingo 3 de Abril de 2005, 19:02 »
Hola! Recién tuve un pequeño problemita con el grabador que publiqué aquí, pero a no desesperar!
Asi que si alguien lo arma, debería conectar una R de 10K entre la linea de clock (PGC) y masa ;)

Bueno, en la AN910 de Microchip hay información interesante sobre la grabación ICSP de los PIC.

Saludos

282
Microcontroladores / Re: Algo Extraño Sucede Con Mi 16f84..
« en: Sábado 2 de Abril de 2005, 15:46 »
Hola Eliza! Dices que usas un protoboard? No habrá algún problema en los contactos? Suele pasar con los protoboards, despues de usarlos mucho...
Otra: la configuración del PIC (tipo de oscilador, etc) está bien?
Una más: una vez me pasó que el filtrado de la fuente no era bueno, y al tener una carga más o menos importante el PIC no me respondía.

Bueno, el problema parece complicado, pero te aseguro que la solución debe ser algo simple :)  A veces (casi siempre) no vemos las cosas más simples. ;)

Saludos, y a no desanimarse! :)

283
Microcontroladores / Re: Algo Extraño Sucede Con Mi 16f84..
« en: Sábado 2 de Abril de 2005, 00:32 »
Aha...Configuras el puerto B como salida? Recuerda que el registro TRISB está en el banco 1 (RP0 = 1). Y cuando escibas en el registro PORTB, este está en el banco 0.
Si te saltaste esto, en el Mplab puedes ver el registro PORTB cuando lo escribes, pero no estás viendo realmente las salidas físicas. Vamos con un ejemplo: configuras el puerto B como entrada, luego escribes un 1 en RB0; en el Mplab verás este 1, pero realmente no estará presente en el pin RB0. Luego de un reset, para cualquier PIC, los puertos se configuran por defecto como entrada; esto es por seguridad ;)
La otra, pero no creo que sea tu caso, es que los leds estén invertidos :)
Cuando tengas un tiempo, fijate en algún data sheet (de cualquier PIC) como es el hard interno de los puertos; puede ser interesante ;)

Bueno, espero que se solucione el problema!  :hola:

Saludos y suerte

284
Microcontroladores / Re: Algo Extraño Sucede Con Mi 16f84..
« en: Viernes 1 de Abril de 2005, 18:12 »
Hola Eliza! Bueno, no se exactamente que hace (o no hace :( ) tu micro, asi que mucho no puedo ayudarte por el momento.
Sí te puedo decir que el Mplab es muy bueno, pero hasta cierto punto; algunos perifericos no se pueden simular, por ejemplo.
Puede ser problema del hard; a veces ocurren cosas extrañas por ruidos, p.e.. Hasta podría ser un componente defectuoso.
Tambien te puedo decir que puede ocurrir que se dañe algún pin, y (mientras no sean RB6 y RB7) puedas leer y grabar el micro sin problemas. Para verificar esto, sacas el micro, cargas un programita que, p.e., ponga en 1 y luego en 0 todos los puertos (intermitentemente) y lo verificas con un led (es un ejemplo).

Bueno, cuentanos más en detalle el problema y lo solucionamos :)

Saludos

285
Microcontroladores / Re: Interrupciones Por Puertob
« en: Miércoles 30 de Marzo de 2005, 19:03 »
Hola! Lo que puedes hacer es entrar siempre a la interrupción y ver que cambio se produjo, si es de 0 a 1 la atiendes, y si es de 1 a 0 la ignoras, por ejemplo.
Si lo que quieres es atender unos pulsadores, a lo mejor es mejor por polling; es decir sin interrupción, sino verificando el estado de los pulsadores periódicamente.
No te olvides que el micro es más rápido que la acción de los pulsadores, y que también puede haber ruidos y "rebotes". Cuando se detecta el pulsador, es bueno esperar unos microsegundos (algunos "NOP" o "GOTO $+1") y confirmar que realmente esté pulsado ;)
Generalmente, la atención de interrupciones tiene que ser breve; y fijarse bien los registros que se modifican, para no tener problemas.

Bueno, espero haber ayudado :)

Saludos!

286
Microcontroladores / Re: Otro Programador...
« en: Domingo 27 de Marzo de 2005, 11:11 »
Hola! Recien me fijo los DS: el 84 y los 627/8 no tienen la posibilidad de escribir en la flash desde el propio programa; en cambio en los 16F87x sí se puede...
Implementar un micro que grabe a otro por ICSP tiene sus pro y contras <_<
La ventaja es que se podría grabar cualquier micro de la serie 16F, incluso los OTP (no flash); y con un poquito más de trabajo quizá incluso los 18F. Por otro lado, se necesitan los 12V, que a veces suele ser un problema; además, igual se tendrá que enviar el código desde la PC al micro "origen", ya sea desde ICProg, p.e., y después reenviarlo al micro "destino". Esto está bien para cargar programas donde no podemos llegar con el PC ;)  La otra: las instrucciones de los 16F son de 14 bits, es decir que si usamos una 24C podemos usar la mitad de su capacidad; lo mismo vale para los 18F (16 bits).
La opción de cargar por la USART es interesante, aunque solo se podría hacer con los que soportan escritura en la flash. Se carga un programa, que está siempre, y que se encarga de escribir en la flash los datos que reciba; despues de cargar, se pasa el control al nuevo programa. Este es el caso de los "bootloader", y a la vez el principio que se usa en los PLC y demás :rolleyes:
Yo apuntaría más a la segunda opción, daría menos trabajo, y es más flexible. Además los nuevos micros que están saliendo, todos soportan escritura en flash.
Personalmente, el 16F84 ya está jubilado :D Es más caro que otros micros, y tiene muy pocos (casi ningún) periféricos... cumplió su ciclo, y lo despido con honores :hola:

Bueno, estoy esperando algunas herramientas; cuando las reciba me pongo a practicar un poco con el tema del bootloader, y les comento! (Puede demorar un par de semanas)

Saludos y felices Pascuas!

287
Microcontroladores / Re: Otro Programador...
« en: Viernes 25 de Marzo de 2005, 22:16 »
Hola! Muy cierto lo que dice Jonathan; al pasar un programa de un micro a otro de otras características hay que tener cuidado con los periféricos!
Quizá sirva la AN656 de Microchip, que la pueden bajar de su página. Ahi también hay información de como grabar los micros.

Microchip

Otra opción que podría funcionar, y parece interesante, es un bootloader. Hay para los 18F y para los 16F87x; los pueden bajar de

PIC Bootloader

Bueno, espero les sea útil!

Saludos! :)

288
Microcontroladores / Re: Ayuda
« en: Jueves 24 de Marzo de 2005, 17:39 »
Hola Anne! Para ayudarte necesito saber que es lo que quieres contar, es decir si pulsos que entran por algún pin, o según algún evento interno al PIC.
Los display son tipo LED de 7 segmentos? Anodo ó cátodo común? A que pines están conectados cada uno de los segmentos?
Bueno, sabiendo estas cositas te ayudo con gusto :)

Saludos!

289
Microcontroladores / Re: 16f84 Y Eeprom 24c08!..
« en: Miércoles 23 de Marzo de 2005, 23:46 »
Hola! Estuve probando el código que dejé más arriba; la rutina de escritura funciona, solo debemos tener en cuenta que la 24C necesita de algunos milisegundos para completar la operación. La rutina de lectura no me funcionó (tampoco probé mucho), pero creo que es un problema con la segunda condición de start.
De cualquier manera, si están a tiempo, no es nada malo cambiar a un MCU con MSSP ;)
Les dejo como adjunto la AN578 de Microchip, que les puede ser útil...

Saludos!

290
Microcontroladores / Re: Otro Programador...
« en: Domingo 20 de Marzo de 2005, 12:33 »
Hola!
Acabo de armar un puequeño "adapatador" que me permite grabar las 24Cxx; en realidad solo probé con una 24C02, pero debería funcionar con las otras.
Es solo un retacito de PCB, el conector para el cable ICSP, el zócalo, un par de resistencias y un capacitor de .1.
Conectamos las lineas PGD y PGC a SDA (pin 5) y SCL (pin 6) de la memoria, respectivamente. Cada linea tiene una R de 10 K a VCC. Los pines 1, 2, 3, 4 y 7 van a GND; y el pin 8 a VCC. Demás está decir del capacitor de .1 entre VCC y GND. En el conector dejamos la línea VPP sin conexión.
Las R puse debajo del zócalo (este quedó un poquito más alto), y la placa tiene el tamaño de una moneda de un euro! :)
Para usarlo, insertamos la memoria en el zócalo, luego conectamos el cable ICSP, grabamos o leemos; luego desconectamos el cable y por último sacamos la memoria... No nos olvidemos que le linea VCC del cable, siempre que el programador este alimentado,  tiene 5 V.
El soft: ICProg
Al que le interese, dejé un par de fotos en

SCH y fotos (en pdf)

Un saludo, y que tengan una linda primavera! B)

291
Microcontroladores / Re: Cargar Una E2prom Con Usart Del 16f628
« en: Sábado 19 de Marzo de 2005, 15:28 »
Hola Jonathan! En realidad el error fue mío, pero no importa... Lo bueno es que nos dimos cuenta antes de meter más la pata :D

Saludos!

292
Microcontroladores / Re: Cargar Una E2prom Con Usart Del 16f628
« en: Sábado 19 de Marzo de 2005, 08:11 »
Hola ! Bueno, las rutinas de lectura de puertos, retardos, etc. van en la memoria flash del micro, que no es lo mismo que la EEPROM. Depende para que necesites EEPROM, es decir que cantidad de datos quieres almacenar, el 16F628 tiene 128 bytes de E2 (para abreviar) interna; son muy fáciles de manejar.
Si tienes un LCD, los textos a escribir que no varíen, p.e. títulos, menus, etc. van en la flash.
Hojeando el manual del 628, me doy cuenta ahora de que éste no tiene implementado modulo MSSP; así que perdón por el error de uno de los mensajes anteriores :huh:  Viendo esto, vas a tener que implenetar la comunicación por soft... cosa que funciona. Hace poco dejé un poco de código en una discución iniciada por Elisa Marti, fijate, en una de esas te sirve...
Bueno, espero que puedas hacer tu proyecto.
Saludos!

293
Microcontroladores / Re: Cargar Una E2prom Con Usart Del 16f628
« en: Jueves 17 de Marzo de 2005, 22:24 »
Hola Microman! En primer lugar tendrías que decirnos que tipo de eeprom es, si es una 24Cx, ó 93Cx. La primera se comunica por el puerto I2C, y la segunda por SPI (ambas opciones están en el 16F628). Al puerto serie (USART) normalmente no se conectan éstas memorias :)
Bueno, espero poder ayudar en algo; y bienvenido! :D

Saludos!

294
Programación en C / Re: Programar En C...
« en: Miércoles 16 de Marzo de 2005, 07:02 »
Hola a todos!
Para mover un poquito el tema, les propongo algo! :D
Es sobre el código que publiqué en el mensaje anterior. Lo compilé y cargué en el micro, y funcionó de maravilla. Y después ya no funcionó más... :angry:
El listado ya lo tienen, es corto y simple... Ahora les detallo del hard: es una pequeña placa experimental con 16F873; en RA0 tengo una entrada analógica, RA1 a RA3 son salidas y controlan un CD4094; en RA4 tengo un LED. El resto del hard no viene al caso ahora.
Sobre el caso en particular: tenía primero cargado un programa, totalmente distinto a este, que procesa la entrada analógica de RA0; sobre este código cargué este otro escrito en C y funcionó de maravilla :) Después desconecté la alimentación de la placa, cuando la vuelvo a alimentar, sorpresa!: no funcionó más :o . La alimentación llega desde el mismo grabador, es decir que grabador y micro están siempre alimentados.
Bien! Que pasó? Dónde está el problema? :ph34r: Yo encontré la causa, y ahora sí funciona "siempre"...
Al que le interese, le invito a ver el problema y dar alguna respuesta. Cualquier consulta, todos los días entro al foro, asi que solo dejenla aquí. La invitación va para los que recién empiezan (como es mi caso) y también para los que tienen más experiencia en C.
Ah, para que nadie me diga "tramposo"  :D , Jonathan ya tiene la respuesta.
Demos un plazo de unos días, digamos hasta el domingo, para ver como se soluciona esto!

Bueno, saludos a todos, y están invitados a "romperse el mate" :lol:  (en realidad no es nada complicado)

295
Microcontroladores ATMEL / Re: Ayuda Con Atmel
« en: Sábado 12 de Marzo de 2005, 21:52 »
Hola! No se si te sirve, pero fijate en este link:

http://chaokhun.kmitl.ac.th/~kswichit/easy2/easy2.htm

Saludos

296
Microcontroladores / Re: 16f84 Y Eeprom 24c08!..
« en: Sábado 12 de Marzo de 2005, 20:05 »
Hola! Aqui tengo algo de código, que escribí alla por el 2000, por lo que no recuerdo exactamente todos los detalles. Pero si recuerdo que me funcionó con una 24C02 y que, en parte, lo saqué de un manual de AN de Microchip.
Debería adaptarse muy bien a un 16F84 y a una 24C08. Solo hay que declarar bien las variables, los pines, etc... Pero creo que no hay problema con eso ;)
Espero que te sea útil :)

Saludos y suerte!

Código: Text
  1. ;******************************************************************************
  2. ;  RUTINAS DE COMUNICACION SERIE (MODULO I2C)
  3. ;******************************************************************************
  4. ;
  5. ; GENERA START BIT
  6. ;
  7. START_I2C
  8.   BSF  SDA  &#59; dejo linea de datos en 1
  9.   BSF  RP0  &#59; banco 1
  10.   MOVLW  _TRISC  &#59; configuro SDA y SCL como salidas
  11.   ANDLW  b'11100111'&#59;
  12.   MOVWF  TRISC  &#59;
  13.   BCF  RP0  &#59; banco 0
  14.   BCF  SCL  &#59; bajo clock
  15.   NOP    &#59;
  16.   BSF  SCL  &#59; subo clock
  17.   GOTO  $+1  &#59;
  18.   GOTO  $+1  &#59;
  19.   GOTO  $+1  &#59;
  20.   NOP    &#59;
  21.   BCF  SDA  &#59; bajo datos
  22.   GOTO  $+1  &#59;
  23.   GOTO  $+1  &#59;
  24.   GOTO  $+1  &#59;
  25.   NOP    &#59;
  26.   BCF  SCL  &#59; y bajo clock para generar start bit
  27.   GOTO  $+1  &#59;
  28.   GOTO  $+1  &#59;
  29.   RETURN    &#59;
  30. ;
  31. ; GENERA STOP BIT
  32. ;
  33. STOP_I2C
  34.   BCF  SDA  &#59; dejo linea de datos en 0
  35.   BSF  RP0  &#59; banco 1
  36.   MOVLW  _TRISC  &#59; configuro SDA y SCL como salidas
  37.   ANDLW  b'11100111'&#59;
  38.   MOVWF  TRISC  &#59;
  39.   BCF  RP0  &#59; banco 0
  40.   BCF  SDA  &#59; bajo datos
  41.   GOTO  $+1  &#59;
  42.   GOTO  $+1  &#59;
  43.   BSF  SCL  &#59; subo clock
  44.   GOTO  $+1  &#59;
  45.   GOTO  $+1  &#59;
  46.   BSF  SDA  &#59; subo datos
  47.   GOTO  $+1  &#59;
  48.   GOTO  $+1  &#59;
  49.   BCF  SCL  &#59; bajo clock
  50.   GOTO  $+1  &#59;
  51.   GOTO  $+1  &#59;
  52.   RETURN    &#59; y retorno
  53. ;
  54. ; ENVIA UN BIT POR SDA
  55. ;
  56. BITOUT_I2C
  57.   BSF  RP0  &#59; banco 1
  58.   MOVLW  _TRISC  &#59; configuro SDA y SCL como salidas
  59.   ANDLW  b'11100111'&#59;
  60.   MOVWF  TRISC  &#59;
  61.   BCF  RP0  &#59; banco 0
  62.   BTFSS  I2CDO  &#59; enviar un 1 ?
  63.   GOTO  I2CBLO  &#59; no, envio un 0...
  64.   BSF  SDA  &#59; pongo SDA en 1
  65.   GOTO  CLKOUT  &#59;
  66. I2CBLO
  67.   BCF  SDA  &#59; pongo SDA en 0
  68. CLKOUT
  69.   BSF  SCL  &#59; y clockeo
  70.   GOTO  $+1  &#59;
  71.   GOTO  $+1  &#59;
  72.   GOTO  $+1  &#59;
  73.   BCF  SCL  &#59;
  74.   RETURN    &#59; y salgo
  75. ;
  76. ; RECIBE UN BIT POR SDA
  77. ;
  78. BITIN_I2C
  79.   BSF  I2CDI  &#59; asumo que llega un 1
  80.   BSF  RP0  &#59; banco 1
  81.   MOVLW  _TRISC  &#59; configuro SDA como entrada y SCL como salida
  82.   ANDLW  b'11100111'&#59;
  83.   IORLW  b'00010000'&#59;
  84.   MOVWF  TRISC  &#59;
  85.   BCF  RP0  &#59; banco 0
  86.   BSF  SCL  &#59; subo clock
  87.   GOTO  $+1  &#59;
  88.   GOTO  $+1  &#59;
  89.   GOTO  $+1  &#59;
  90.   BTFSS  SDA  &#59; recibio un 1 ?
  91.   BCF  I2CDI  &#59; no, es 0
  92.   BCF  SCL  &#59; bajo clock
  93.   RETURN    &#59; y salgo
  94. ;
  95. ; RUTINA DE TRANSMISION POR I2C
  96. ;
  97. I2C_TX
  98.   MOVLW  .8  &#59; son 8 bits a contar
  99.   MOVWF  CNT  &#59;
  100. I2C_TXLP
  101.   BCF  I2CDO  &#59; asumo que sale un 0
  102.   BTFSC  I2CBUF,7&#59; sacar un 0 ?
  103.   BSF  I2CDO  &#59; no, sale un 1...
  104.   CALL  BITOUT_I2C&#59; envio bit
  105.   RLF  I2CBUF,F&#59; acomodo para sacar proximo bit
  106.   DECFSZ  CNT,F  &#59; salieron los 8 ?
  107.   GOTO  I2C_TXLP&#59; no, continuo sacando...
  108.   CALL  BITIN_I2C&#59; leo bit de acknowledge
  109.   BCF  I2CACKF  &#59; asumo que es 0
  110.   BTFSC  I2CDI  &#59; es 0 ?
  111.   BSF  I2CACKF  &#59; no, envio un 1
  112.   RETURN    &#59; y salgo
  113. ;
  114. ; RUTINA DE RECEPCION POR I2C
  115. ;
  116. I2C_RX
  117.   CLRF  I2CBUF  &#59; borro buffer
  118.   MOVLW  .8  &#59; son 8 bits a leer
  119.   MOVWF  CNT  &#59;
  120.   BCF  C  &#59; borro flag de carry
  121. I2C_RXLP
  122.   RLF  I2CBUF,F&#59; roto un bit a la izquierda
  123.   CALL  BITIN_I2C&#59; y leo bit enviado
  124.   BTFSC  I2CDI  &#59; llego un 0 ?
  125.   BSF  I2CBUF,0&#59; no, escribo un 1 en el buffer
  126.   DECFSZ  CNT,F  &#59; llegaron los 8 bits ?
  127.   GOTO  I2C_RXLP&#59; no, sigo reciviendo...
  128.   BCF  I2CDO  &#59;
  129.   BTFSC  I2CACKF  &#59;
  130.   BSF  I2CDO  &#59;
  131.   CALL  BITOUT_I2C&#59; envio bit de acknowledge
  132.   RETURN    &#59; y salgo
  133. ;
  134. ; LECTURA DE LA MEMORIA 24Cxx
  135. ;
  136. RD24CXX
  137.   CALL  START_I2C&#59; envio condicion de start
  138.   MOVLW  _24CADD  &#59; traigo direccion de esclavo
  139.   MOVWF  I2CBUF  &#59; y cargo en buffer
  140.   CALL  I2C_TX  &#59; direcciono memoria
  141.   MOVFW  ADD24C  &#59; traigo direccion a leer
  142.   MOVWF  I2CBUF  &#59;
  143.   CALL  I2C_TX  &#59; y envio a memoria
  144.   CALL  START_I2C&#59; envio condicion de start
  145.   MOVLW  _24CADD  &#59;
  146.   IORLW  0x01  &#59; direcciono memoria para lectura
  147.   MOVWF  I2CBUF  &#59;
  148.   CALL  I2C_TX  &#59; y envio
  149.   BCF  I2CACKF  &#59; preparo para acknowledge en 0
  150.   CALL  I2C_RX  &#59; y leo byte direccionado
  151.   CALL  STOP_I2C&#59; genero condicion de stop
  152.   MOVFW  I2CBUF  &#59; cargo dato leido en
  153.   MOVWF  DAT24C  &#59; registro de datos de memoria
  154.   RETURN    &#59; y salgo
  155. ;
  156. ; ESCRITURA DE LA MEMORIA 24Cxx
  157. ;
  158. WR24CXX
  159.   CALL  START_I2C&#59; genero bit de start
  160.   MOVLW  _24CADD  &#59; cargo direccion del esclavo
  161.   MOVWF  I2CBUF  &#59; en buffer
  162.   CALL  I2C_TX  &#59; envio...
  163.   MOVFW  ADD24C  &#59; cargo direccion a escribir
  164.   MOVWF  I2CBUF  &#59; en buffer
  165.   CALL  I2C_TX  &#59; envio...
  166.   MOVFW  DAT24C  &#59; cargo dato a escribir
  167.   MOVWF  I2CBUF  &#59; en buffer
  168.   CALL  I2C_TX  &#59; envio...
  169.   CALL  STOP_I2C&#59; genero bit de stop
  170.   MOVLW  .60  &#59;
  171.   MOVWF  CNT1  &#59;
  172. WR24POLL
  173.   CALL  START_I2C&#59;
  174.   MOVLW  _24CADD  &#59;
  175.   MOVWF  I2CBUF  &#59;
  176.   CALL  I2C_TX  &#59;
  177.   BTFSS  SDA  &#59;
  178.   GOTO  WR24P_EXIT&#59;
  179.   DECFSZ  CNT1,F  &#59;
  180.   GOTO  WR24POLL&#59;
  181.   RETLW  0xFF  &#59;
  182. WR24P_EXIT
  183. ;  MOVLW  .20  &#59;
  184. ;  MOVWF  DEL_TIME&#59; espero 10 mseg para dar tiempo a memoria
  185. ;  CALL  DELAY  &#59;
  186.   RETLW  0x00  &#59; y salgo
  187. ;
  188. ;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*;
  189.  
  190.  

297
Programación en C / Re: Programar En C...
« en: Sábado 12 de Marzo de 2005, 19:47 »
Hola! Estuve practicando con el compilador C que bajé, y despacito está yendo :)
Viendo que nadie tiene ejemplos, aqui les dejo algo tonto que conseguí hacer, y funciona! :D
Es un pequeño programita para escribir en un CD4094; la cuestión es que con la poca información que tengo (el manual que dejó Jonathan, que está muy útil, y el help del compilador) pude hacer esto. Me llevó algo de tiempo, pero estoy aprendiendo...  Bueno, espero que le sea útil a quien se esté inciando.
Ah, el programa lo cargo en un 16F873.

Saludos y gracias por la ayuda! :)
    /*   PROGRAMA DE PRUEBA

       Hugo Erhard
       12.03.2005
    */
    #include <system.h>

    #pragma DATA 0x2007, 0x3D31;

    char zaehler94;

    /*
    Rutina para escritura de un byte en un CD4094
       RA1 -> strobe
       RA2 -> datos
       RA3 -> clock
    */
    void schreib_4094( char date )
    {
       char i;

       i = 0;
       while( i < 8 )               //son 8 bits a escribir
       {
          if ( date & 0x01 )         //es el bit0 = 1?
             set_bit( porta, 2 );   //si, saco un 1
          else
             clear_bit( porta, 2 );   //no, saco un 0
          set_bit( porta, 3 );      //clockeo
          clear_bit( porta, 3 );
          date = date >> 1;         //y preparo para sacar proximo bit
          i += 1;                  //incremento contador de bits a sacar
       }
       set_bit( porta, 1 );         //doy pulso de strobe para confirmar
       clear_bit( porta, 1 );
    }

    void main()
    {
       trisa = 00000001b;
       trisb = 00000000b;
       trisc = 01011001b;

       zaehler94 = 0;               //inicio contador en 0
       while(1)
       {
          set_bit( porta,4 );         //apago led
          delay_s( 1 );            //espero 1 segundo
          clear_bit( porta,4 );      //enciendo led
          delay_s( 1 );            //espero 1 segundo
          schreib_4094( zaehler94 );   //escribo el 4094
          zaehler94 += 1;            //incremento valor a escribir en el 4094
       }
    }</li>

298
Programación en C / Re: Programar En C...
« en: Viernes 11 de Marzo de 2005, 22:12 »
Hola! Navegando por la red encontré lo siguiente:

http://www.picant.com/c2c/c.html

Pude bajar un compilador C de esta dirección, que se integra al MPLAB y soporta los 16F y los 18F. Lo acabo de instalar sin problemas; pero ahora estoy sin saber para donde ir :( .
Tengo abierto el manual que bajé del ftp de solo código, y está interesante... pero sigo ahí.
Quiero empezar a probar con el 16F873, ya que me es más familiar que el 18F452.
Bueno, espero que el link sea útil; y si alguien tiene algún ejemplito como para empezar, será bienvenido! :)

Saludos!

299
Programación en C / Programar En C...
« en: Jueves 10 de Marzo de 2005, 22:06 »
Hola! Nuevamente yo...
Bueno, quiero ponerme un poco a programar en C, pero hasta ahora siempre lo he hecho en asembler.
Hace un tiempo me baje el demo de Microchip, y escribí algo de código muy simple, que corrió en un 18F; pero al complicarlo un poco la cosa ya no funcionó :angry:
Se que hay varios compiladores dando vuelta, y ese es el problema: cuál de ellos conviene? Posiblemente el de Microchip sea el mejor, por lógica...
También veo que hay compiladores solo para los 16F; creo que conviene tener uno que soporte también los 18F.
Si alguién tiene algunos programitas de ejemplo, o sabe de algún link, o cualquier cosa, le estoy enormemente agradecido. En especial en lo que se refiere al manejo de los periféricos (AD, timers, etc...)

Bueno, desde ya las gracias a todos!

300
Microcontroladores / Re: Otro Programador...
« en: Jueves 10 de Marzo de 2005, 21:40 »
Hola! Estoy usando el hard que dejé en el primer mensaje de este tema.
De cualquier manera no es tan trágico que no me funcione con el WinPic, ya que no tengo problemas con el ICProg. Recuerdo que el programador que tenía antes tampoco me funcionó con el WinPic, y sí funcionaba con este otro soft (aunque un poco más lerdo).
Nunca programé por el puerto serie, mucho menos por el USB. Salvo con el PICStart (puerto serie), pero con él solo puedo grabar los (alguién se acuerda?) 16C5x y el 16F84 :(
Hay algunos programadores bastante simples que usan el COM; ahora, con el USB creo que haría falta un micro... Pero es interesante el tema de este puerto.

Saludos!

Páginas: 1 ... 10 11 [12] 13