Autor Tema: Comando SHIFTIN  (Leído 1728 veces)

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

Desconectado er_clemen

  • PIC10
  • *
  • Mensajes: 42
Comando SHIFTIN
« en: 19 de Agosto de 2003, 22:57:00 »
Hola amig@s:

A ver si me podeis ayudar, porque estoy en plena tesis y voy contrareloj:

Resulta que tengo 2 registros paralelo-serie 74HC165 conecatdos en cascada.

Para que el PIC lea los datos a sus entradas en serie (utilizo las 8 del 1º y las 3 de menor peso del 2º, en total 11), utilizo el comando SHIFTIN.

El caso es que funciona bien siempre y cuando le transfiera al PIC 8 bits, si le especifico 9 por ejemplo, lo que hace es que continua leyendo 8 y me desplaza 1 bit a la izquierda.

¿Que puede estar ocurriendo?

MUCHAS GRACIAS.

Desconectado hexapodo

  • PIC10
  • *
  • Mensajes: 35
RE: Comando SHIFTIN
« Respuesta #1 en: 20 de Agosto de 2003, 00:42:00 »

hola,

tenés que mirár el foro de "Hagamos un PLC con PIC!!" en la sección de proyectos, ahí encontrarás un ejemplo del manejo de registros de corrimiento con el comando Shiftin, tabien está ese mismo ejemplo en C y en ensamblador.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: Comando SHIFTIN
« Respuesta #2 en: 20 de Agosto de 2003, 12:58:00 »
Deberias publicar tu programa y circuito aqui, para que podamos ayudarte.
pero de todos modos revisa si no tienes declarado un BYTE en vez de un WORD, que es lo que necesitas para almacenar la cantidad de bits que recibiras.
Por otro lado siempre, por mas que no creas necesario, levanta los 16 bits de los dos integrados, y luego haces un AND con los que no tienes cableados.

MGL
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado er_clemen

  • PIC10
  • *
  • Mensajes: 42
RE: Comando SHIFTIN
« Respuesta #3 en: 21 de Agosto de 2003, 17:56:00 »
Hola amig@s:

Os dejo adjunto el código para que dispongais de mas información para poder ayudarme. He intentado escanear el circuito, pero aun comprimiendo supera el tamaño para adjuntar.

Se trata de 2 74HC165 conectados en cascada a cuyas entradas paraleo A...F conecto un micoswitch por donde introduzco "1" o "0". Ya os comentaba que funciona bien sólo si envio 8 bits, por lo que creo que el problema estará a nivel de soft.

Como veis, para comprobar su funcionamiento he hecho un bucle WHILE...WEND con un led que parpadea cada segundo por cada valor numérico de 1 que inroduzco en binario con el microswitch y que envio en serie al PIC. POr lo que puedo contar el nº de veces que parpadea y asi saber si el valor que envio serie es correcto.

Publicaré el proyecto completo cuando lo tenga terminado.


UN MONTON DE GRACIAS.

Desconectado er_clemen

  • PIC10
  • *
  • Mensajes: 42
RE: Comando SHIFTIN
« Respuesta #4 en: 21 de Agosto de 2003, 19:34:00 »
HOLA AMIG@S:

YA LO HE SOLUCIONADO, ERA UN PROBLEMA DE HARDWARE:

UN ERROR EN LA CONEXION EN CASCADA DE LOS 2 REGISTROS HACIA QUE LEYERA 1º LOS BITS DEL REGISTRO DE MAYOR PESO, EL ERROR SE AGRABABA YA QUE ERA EN ÉSTE REGISTRO EN EL QUE TENIA ENTRADAS SIN UTILIZAR.

EL CASO ES QUE CREIA HABER PROBADO YA A CAMBIAR LA CONEXION SIN EXITO.

PERDONAD LAS MOLESTIAS. DEJARE EL PROYECTO COLGADO CUANDO LO ACABE.ES BASTANTE INTERESANTE.

MUCHAS GRACIAS A TOD@S


 

anything