Autor Tema: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a  (Leído 11770 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 646
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #30 en: 31 de Diciembre de 2007, 13:00:41 »
Hola buenos dias y espero que ya todos esten preparado para recibir este nuevo año que demas esta decir que se estila a ser provecho y mas en el mundo de las tecnologias. Bueno ahora al grano estuve realizando el codigo para escritura y por fortuna si me escribe pero con un pequeño detalle me escribe los 16 bit invertidos es decir si mando a escribir "$0068" me escribe "$6800"; quise explicar esto antes de colocar el codigo para ver si ya le paso a alquien aunque el tema de escribir a 16bit a muchos ni le parece pero reto es reto asi que hasta que no termine no me quedo quieto.

yo tengo mi idea de como resolver invirtiendo antes los 16bit que quiero escribir pero me parece que tengo que hacer nuevas rutina como separa eso 16 bit que no son mas de 2 byte en byte por separado y luego le aplico su union pero al contrario y luego asi si lo envio a escritura, ojo es una solucion pero veo raro que me escriba a la inversa seguro tengo algo malo y no lo he nota luego subo el codigo dejenme revisar bien.

saludos y nuevamente con detalles pero ya mas claro y se como atacar el dema de los microwire y eso era mi idea dominar el tema.
bye


EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 646
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f
« Respuesta #31 en: 31 de Diciembre de 2007, 13:06:13 »
De nada mi pana!
Para eso estamos aqui, para ayudarnos entre todos.
Le debo muchisimo a las personas que conforman este foro, son lo maximo!!

Si quieres aprender a programar pic entre otras cosas  :mrgreen:  quedate aqui.

Desde Valencia, Venezuela que tengan una Feliz Navidad a todos mis estimados amigos!  :mrgreen:

oye eres venezolano que bueno somos paisano, mira seria bueno que tengamos contacto mas directo ya que aca me siento como solo ya que en mi estado nadie trabaja con pic y son muy contados los venezolanos que se aplicar al tema y si tu lo haces me gustaria estar mas unido como colega  ojo mosca que no se mal interprete jajajajaja .

buenos hermano aca le dejo mis contacto y cualquier cosa estamos a la orden:
e-mail: serviciotecnico5@hotmail.com
nombre: Alexander Santana
Celular: 0414-8244577.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 646
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #32 en: 31 de Diciembre de 2007, 19:41:57 »
Listo colegas ya esta 100% la lectura y escritura de microwirw 93c56 y lo mejor que claro para PODER HACERLO PARA CUALQUIER MODELO DE ESTE PROTOCOLO MICROWIRE.
ACA LES VA EL CODIGO COMPLETO:

addr     var     byte       
CS       var     PORTB.2                 ' Chip select pin     
DI       var     PORTB.0                 ' Data in/dta pin
CLK      var     PORTB.1                 ' Clock pin
DO       var     PORTB.4                 ' Data out pin
B0       var     word
BBYTE1   var     word
BBYTE2   var     word
I        VAR     BYTE
Include "modedefs.bas"          ' Include serial modes


         Low CS   


   
        Gosub eewriteen                 ' Enable SEEPROM writes
       
        For addr = 0 To 127            ' Loop 16 times
                B0 = addr + 100         ' B0 is data for SEEPROM
                gosub ERAL
                Gosub eewrite           ' Write to SEEPROM
                Pause 10                ' Delay 10ms after each write
        Next addr
loop:       
        I=0
        For addr = 0 To 127              ' Loop 16 times
                Gosub eeread            ' Read from SEEPROM
                Lcdout $fe,1,#addr,": ",#BBYTE1    ' Display
                Lcdout $fe,$c0,#addr+2,": ",#BBYTE2     ' Display
                WRITE I,BBYTE1
                WRITE I+1,BBYTE2
                I=I+2
                Pause 1000
        Next addr

        Goto loop

' Subroutine to read data from addr in serial EEPROM
eeread: CS = 1                          ' Enable serial EEPROM
        Shiftout DI, CLK, MSBFIRST, [%1100\4, addr\7]     ' Send read command and address
        Shiftin DO, CLK, MSBPOST, [B0\16]  ' Read data
        BBYTE2=(B0 & $FF00)/256
        BBYTE1=B0 & $FF
        CS = 0                          ' Disable
        Return

' Subroutine to enable writes to serial EEPROM
eewriteen: CS = 1                       ' Enable serial EEPROM
        Shiftout DI, CLK, MSBFIRST, [%10011\5, 0\6]     ' Send write enable command and dummy clocks
        CS = 0                          ' Disable
        Return

' Subroutine to write data at addr in serial EEPROM
eewrite: CS = 1                         ' Enable serial EEPROM
        Shiftout DI, CLK, MSBFIRST, [%1010\4, addr\7, B0.byte0,B0.byte1] ' Send write command, address and data
        CS = 0                          ' Disable
        Return
       
ERAL: 
        high CS ' Erase EEProm - $FF in all locations
        shiftout DI,CLK,MSBFIRST,[1110\4,addr\7] '
        low CS
        return


        End

HAA LES EXPLICO UN POCO DE COMO RESOLVI LO DE QUE ME ESCRIBIA AL CONTRARI LO RESOLVI USANDO SEPARACION DE BYTE PERO DE ESTA MANERA NO SABIA QUE PICBASIC TENIA ESTA OPCION B0.BYTE0, ESTE ES EL BYTE MENOS SIGNIFICATIVO Y B0.BYTE1 EL BYTE MAS SIGNIFICATIVO DE LOS 16 BITS ESO TAMBIEN LO USE EN LA PARTE DE LECTURA Y NADIE ME PREGUNTO EL PORQUE PERO IGUAL ME SIRVI PARA RECORDAR LOS VIEJOS TIEMPO DE LA UNIVERSIDAD CUANDO USABA ALGEBRA BOLEANA.

EN FIN MIL GRACIA Y A OTRO PROYECTO.

BYE . FELIZ AÑOS COLEGAS
« Última modificación: 31 de Diciembre de 2007, 19:45:23 por ASTROCAR »
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7803
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #33 en: 01 de Enero de 2008, 21:15:47 »
Felicitaciones por resolverlo y tambien por poner el codigo aqui!! :-/ :-/
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2022
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f
« Respuesta #34 en: 11 de Enero de 2008, 12:31:52 »
Felicidades astrocar!
Que bueno que resolviste el problema. voy a ver si consigo unas de esas memorias para probarlas tambien!.

Saludos

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 646
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #35 en: 14 de Enero de 2008, 12:45:40 »
ok, Gracias colegas y animate RALF y prueba nunca esta demas experimentar protocolos hoy mismo me inicio con el protocolo spi.

saludos y mil gracias por su ayuda.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 646
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #36 en: 17 de Enero de 2008, 10:08:23 »
Buenos dias, colegas me surgio una nueva idea con lo de las eeprom microwire, quiero establecer comunicacion con mi palmone tungsten t5 para asi expresar lo leido en la palm y asi ahorro tando lcd como teclado matricial ya que lo puedo aprovechar de la palm pero uno de los obstaculos que note es que la palm no tien comunicacion serial y la idea es comunical el pic con la palm.

En fin laidea es tener un programador lo mas pequeño posible y me gustaria que pudiera ver toda la data en una palm, logico que tendria que estudiar un poco como programar en las palm pero se que con empeño y un poco de dedicacion lo puedo lograr asi que manos a la obra empesare por definir todo lo de la palm y ver el modo de comunicacion entre el pic y la palm y luego ver que soft uno para creas aplicaciones a palm o podria ser poker pc la idea es como ya lo dije antes expresar el codigo de la eeprom en una pantalla mas comoda que la lcd 2x16 que es la que actualmente uno en mi aplicacion que ya culmine y quiero ampliarla y por eso tomo como opcion las palm.


saludos y si alguien tiene conocimiento de una palm o poker pc que soporte puedo serial seria buenisimo ya que la que tengo usa es COMUNICACIONES
Puerto infrarrojos (IrDA): Sí
Conexión con el PC: USB
Wireless integrado: Bluetooth 1.0
« Última modificación: 17 de Enero de 2008, 10:28:41 por ASTROCAR »
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #37 en: 17 de Enero de 2008, 17:07:19 »
Citar
Me explico y actuemos por la logica lo primero es tener claro lo que realmente hace esto:
 
Shiftout DI, CLK, MSBFIRST, [%1100\4, addr]

Es que es muy claro no? Lo que dice la ayuda del PBP.

Citar
SHIFTOUT DataPin,ClockPin,Mode,[Var{\Bits}...]

Synchronously shift out Var on ClockPin and DataPin. ClockPin and DataPin may be a constant, 0-15, or a variable that contains a number 0-15 (e.g. B0) or a pin name (e.g. PORTA.0). \Bits optionally specifies the number of bits to be shifted out. If it is not specified, 8 bits are shifted out, independent of the variable type. The Mode names (e.g. LSBFIRST) are defined in the file MODEDEFS.BAS.

Segun Yo la linea que no acabas de entender lo que hace es:

Shiftout: Le dices que vas a mandar de manera "sincrona" un dato por el Pin de CLK y DATA

DI, CLK:  Pines de DATA y CLOCK que hayas configurado.

MSBFIRST: ahi le estas diciendo que vas a mandar el MOST SIGNIFICANT BIT primero

[%1100\4, addr]: Aqui mandas la Variable y la cantidad de BITS en tu caso mandas el 12 y solo los 4 BITS, porque hagas eso Yo lo desconozco. Pero asi esta en tu codigo. Imagino que si no aclaras que son los 4 Bits ademas del 12 mandara 4 ceros mas.

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 646
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #38 en: 19 de Enero de 2008, 23:59:53 »
hola buenas noches y muchas gracias por su explicacuion pero ya el caso esta resuelto el tema mio ahora es llegar todo mi proyecto a usarlo con una palm es decir usar la interface de la palm para asi no tener que usar lcd y teclado matricial ya que las prestaciones de la palm nos ofrece pantalla tactil y con eso puedo usarlo mas facil y asi tambien estroy reduciendo tamaño que era realmente lo que queria.

Saludos y mil gracias por su apoyo.
bye.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 646
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #39 en: 28 de Septiembre de 2008, 11:25:21 »
Hola dias, retomando el tema de las eeprom microwire que en su momento se concluyo muy satisfactoriamente ahora quiero aplicarlo pero usando el hardware del pic ojo el hard es protocolo spi pero se puede ajustar para hacerlo funcionar como microwire manejando los registros bien adecuados. El otro asunto es que si alguien ha logrado simular este protocolo microwire en proteus u otro simulador ya que yo pude con la ayuda de RALF2 hacerlo pero con el protocolo SPI pero en proteus no veo las eeprom Micorwire.

Saludos y cualquier comentario sera bien recibido.
Atten.
Alexander Santana.
Barcelona-Venezuela
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 646
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #40 en: 19 de Octubre de 2008, 22:56:02 »
Hola buenas noches tomando en el post anterios comente en simular el protocolo microwire en proteus y por mas que investigue no logre que proteus agregara las eeprom microwire pero por comentarios de otro colega me sugirio el multisim que al parecer tiene las eeprom microwire.

Quien de usted tendra el multisim para afirmar que si dispone de estas eeprom microwire y asi poder simular aplicaciones con ese tipo de protocolo.

Saludos y espero comentarios de las personas que usan esta aplicac ion de multisim aunque seria bueno colocar este post en la seccion de simuladores de circuitos pero no lo hice para seguir el orden del tema abierto de las eeprom microwire.

Atten:
Alexander Santana.
barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado yonderstw

  • PIC10
  • *
  • Mensajes: 2
Re: Leer y escribir eeprom externa de la sere microwire (93cx6) usando el pic16f877a
« Respuesta #41 en: 30 de Marzo de 2018, 20:46:56 »
buen dia amigo amigo me podras ayudar con el codigo en c para las eprom 93c56 tengo parte del codigo pero estoy confundido has pdodio simular esa memoria en algun software
jose marquez