Autor Tema: Activar pull up  (Leído 3033 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado BLACKPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 129
Activar pull up
« en: 17 de Mayo de 2006, 00:14:56 »
hola:
mi problema es el siguiente quiero hacer que atraves de un teclado cuando oprima (*) me presente un mensaje para hacer otra funcion..
eh lo grado hacerlo con un 16f84 y el teclado, me funciona pero cuando lo intento para un 16f877 no me hacer nada...
quiero saber cual es el herror que estoy cometiendo..

Aqui esta el codigo:

inicio:
OPTION_REG = 0                       
TRISB = %11111110                          'Activo Pull-up, lee o revisas si sepresiona (*)
if portb=$7e then goto mensaje           
goto inicio

bye... :-/ :-/
Saludo desde Rep.Dom ( BLACKPIC )..
La ciencia es el arte del ensayo y el error, su producto más importante es la razón...

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Activar pull up
« Respuesta #1 en: 17 de Mayo de 2006, 04:47:46 »
Hola.

Yo no he trabajado con teclados pero quisiera saber 2 cosas:

1.- ¿Presionar * te activa 0111 1110 en el Puerto B?
2.- ¿Por qué no lo intentas manual? (sin el teclado, con DIP-switch o interruptores).

La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: Activar pull up
« Respuesta #2 en: 17 de Mayo de 2006, 14:43:37 »
donde ban las columnas y filas

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Activar pull up
« Respuesta #3 en: 17 de Mayo de 2006, 20:24:46 »
hola yo he usado un programilla de por aqui para un teclado y el f877 y un lcd lo inicializo asi



Define   LCD_DREG   PORTD
Define   LCD_DBIT   4
Define   LCD_RSREG   PORTA   ' REGISTROS DEL LCD
Define   LCD_RSBIT   2
Define   LCD_EREG   PORTA
Define   LCD_EBIT   5

Define   ADC_BITS     10   ' NUMERO DE BITS DEL RESULTADO
Define   ADC_CLOCK      2   ' PONIENDO EN 3 EL RELOJ DE LA FUENTE(3=rc)
Define   ADC_SAMPLEUS  15   ' SETEO DEL TIEMPO DE MEDICION


  TRISA  = 11          ' PUERTO A 3 ENTRADAS  (POTS) Y 3 SALIDA
  TRISD  = 0           ' PUERTO D 4  ENTRADAS (TECLADO) Y 4 SALIDAS (LCD)
  TRISE  = 0           ' PUERTO E DE SALIDA   (LCD)
  ADCON1 = 142           ' PUERTO A COMO ADC Y JUSTIFICACION A LA DERECHA

   Low PORTA.4          ' APAGO LINEA DEL LCD R/W (W)
   Pause 500          ' PAUSA PARA LCD

  OPTION_REG.7 = 0     ' Enable PORTB pullups


 Col    var byte            ' COLUMNAS
 Row    var byte            ' FILAS
 Key    var byte            ' TECLAS


y ya lo demas pues depende de como quieras que responda
"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 BLACKPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 129
Re: Activar pull up
« Respuesta #4 en: 17 de Mayo de 2006, 21:42:36 »
hola:
amigos aqui lesdejo el codigo de lo que mas o menos quiero hacer
este funciona demaravilla en un 16f84 pero no consigo hacerlo con un 16f877..

DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 1
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT  0
DEFINE LCD_LINES 4

TRISA.3=0 

i var byte
       
inicio:
   Lcdout $fe, 1,   "     INICIO      "         
'-----------------------------------------------
      for i=0 to 4
      porta.3=1: pause 250: porta.3=0: pause 250
      next i: high porta.3
'------------------------------------------------       
Mensaje:
   Lcdout $fe, 1,   "    LISTO     "     
'-----------------------------------------------
pull_up:
OPTION_REG = 0                       
TRISB = %11111110                   'Activo Pull-up y revisas si es (*)
if portb=$7e then goto clave         
                   
GoTo pull_up
 end
clave:
      lcdout $FE,1,    "    FIN   "
gosub pull_up

este es el circuito para el 16f84.
http://img107.imageshack.us/my.php?image=cerradura4cy.jpg

bye... :-/ :-/
Saludo desde Rep.Dom ( BLACKPIC )..
La ciencia es el arte del ensayo y el error, su producto más importante es la razón...

Desconectado BLACKPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 129
Re: Activar pull up
« Respuesta #5 en: 21 de Mayo de 2006, 12:28:40 »
hola:
amigos ya pude resolver el problema tuve que buscar inf. pero al fin ya este resuelto..
aki les dejo las instruciones que tuve que agregar..

portb = %01111111
OPTION_REG=%01111111                       
TRISB = %01111111

con solo estas 3 lineas resolvi mi problema y espero que si les pasa a otro no duden en consultar..
bye... :-/ :-/
Saludo desde Rep.Dom ( BLACKPIC )..
La ciencia es el arte del ensayo y el error, su producto más importante es la razón...

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Activar pull up
« Respuesta #6 en: 21 de Mayo de 2006, 13:03:33 »
Hola:

Blackpic, si hubieras leido el mensaje de Navaismo, lo hubieras solucionado antes, el te esta dando la respuesta, y de las tres lineas que tu dices que utilizas, cual es el fin de eso???? que hace???

Si solo con poner:

OPTION_REG.7 = 0

tienes activas las pull up del puerto b, quiero que por favor me expliques, que hace esas tres lineas???

Desconectado BLACKPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 129
Re: Activar pull up
« Respuesta #7 en: 21 de Mayo de 2006, 13:47:54 »
hola:
bueno amigo lordlafebre te cuento que tambien de esta manera ya havia resolvido el porb.

aki dejo el codigo que hice...

DEFINE LCD_DREG PORTC
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTC
DEFINE LCD_RSBIT 5
DEFINE LCD_EREG PORTC
DEFINE LCD_EBIT  4
DEFINE LCD_LINES 4     
define OSC 4
PORTB = %01111111
TRISC.6=0 

p var byte
cont var byte
       
inicio:
   Lcdout $fe, 1,   "     INICIO      "         
'-----------------------------------------------
      for p=0 to 4
      PORTC.6=1: pause 250: PORTC.6=0: pause 250
      next p: high PORTC.6
'------------------------------------------------       
Mensaje:
   Lcdout $fe, 1,   "    LISTO     "     
'----------------------------------------------
pull_up:
OPTION_REG.7 = 0                       
TRISB = %01111111                   'Activo Pull-up y revisas si es (*)
if portb=$7e then goto clave         
GoTo pull_up
 end
clave:
      lcdout $FE,1,    "    FIN   "
gosub pull_up

te cuento que respecto a las 3 lineas que puse primero el me funciono de maravilla
despues le hice algunos cambios y me quedo de esta manera..
y poniendo OPTION_REG.7=0 no solo con esto se soluciona el problema tenia que al principio especifical las entranas y salidas de port-b por eso puse TRISB=%011111111 y PORTB=%01111111... con esto si me funciono...
bye... :-/ :-/
Saludo desde Rep.Dom ( BLACKPIC )..
La ciencia es el arte del ensayo y el error, su producto más importante es la razón...

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Activar pull up
« Respuesta #8 en: 21 de Mayo de 2006, 14:21:01 »
Hola:

para mi esto esta demas:

PORTB=%01111111

Ademas utilizas eso antes de configurar los pines del Puerto, por lo que no le veo util.

Desconectado BLACKPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 129
Re: Activar pull up
« Respuesta #9 en: 21 de Mayo de 2006, 15:30:27 »
hola:
amigo lord no esta linea no esta demas. pienso que si comfiguro trisb como salida no funcionan todos los puerto pero si le pongo portb en modo de salida ahy si funciona todo bien...

por eso si hago trisb=%01111111 estoy poniendo los bit en entrada menos el bit7 y para completar le agrego portb=%01111111 y de esta manera me funciono...
probe quitandole el portb=%01111111 y no me funciona...

bye...
Saludo desde Rep.Dom ( BLACKPIC )..
La ciencia es el arte del ensayo y el error, su producto más importante es la razón...

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Activar pull up
« Respuesta #10 en: 21 de Mayo de 2006, 16:03:16 »
Hola:

me parece raro, a lo mejor es algo que desconozco.


 

anything