Autor Tema: duda de codigo  (Leído 1621 veces)

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

Desconectado peyutron1

  • PIC10
  • *
  • Mensajes: 27
    • Infotronikblog
duda de codigo
« en: 16 de Agosto de 2009, 14:59:21 »
HOLASS bueno mi duda esta en este trozo de codigo de una cerradura electronica que posteo batman123 y es el siguiente:
teclado:
   
    TRISB = %11111110
    low portb.0
    if portb = $EE  then uno
    if portb = $DE  then cuatro
    if portb = $BE  then ciete
    if portb = $7E  then asterisco
       
    TRISB = %11111101
    low portb.1
    if portb = $ED  then dos
    if portb = $DD  then cinco
    if portb = $BD  then ocho
    if portb = $7D  then cero
       
    TRISB = %11111011
    low portb.2
    if portb = $EB  then tres
    if portb = $DB  then seis
    if portb = $BB  then nueve
    if portb = $7B  then numeral
   
    goto teclado
--------

Mi duda es por lo que esta en negrita,¿que significa? estoy aprendiendo esto por mi cuenta y cuando me sale una duda asi no se a quien recurrir si fueran tan amables de explicarmelo estaria muy agradecido!!!

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: duda de codigo
« Respuesta #1 en: 16 de Agosto de 2009, 15:36:14 »
Hola peyutron1, en este LINK, encontraras el manual del PBP, en el punto 4.8 CONSTANTES NUMERICAS, encontraras la respuesta a tu pregunta.

Saludos
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado peyutron1

  • PIC10
  • *
  • Mensajes: 27
    • Infotronikblog
Re: duda de codigo
« Respuesta #2 en: 18 de Agosto de 2009, 09:26:04 »
ok ok entonces es la variable en hexadecimal. ok entonces, bueno y ya no es por abusar, pero modifique el codigo que batman123 puso en su post y me quedo algo asi:

Código: [Seleccionar]

    a       var word        ' definicion de variables
    tecla   var word
    n1      var byte
    n2      var byte
    n3      var byte
    n4      var byte
    eprom1  var byte
    rele    var porta.3
    led1    var porta.0
    n1="1"                  ' asigno valor a las variables
    n2="5"                  ' el valor es equivalente en asccII
    n3="9"
    n4="7"
 
           
    eprom1="0"
   
    PAUSE  100                                ' inicio el programa
    read  0,eprom1
    if eprom1 = 255 then gravar_clave
    goto inicio
   
    gravar_clave
    WRITe 0, n1
    WRITe 1, n2
    WRITe 2, n3
    WRITe 3, n4
 
    PAUSE 1500
       
    inicio:
    high led1
   
    teclado:
   
    TRISB = %11111110
    low portb.0
    if portb = $EE  then uno
    if portb = $DE  then cuatro
    if portb = $BE  then ciete
    if portb = $7E  then asterisco
       
    TRISB = %11111101
    low portb.1
    if portb = $ED  then dos
    if portb = $DD  then cinco
    if portb = $BD  then ocho
    if portb = $7D  then cero
       
    TRISB = %11111011
    low portb.2
    if portb = $EB  then tres
    if portb = $DB  then seis
    if portb = $BB  then nueve
    if portb = $7B  then numeral
   
    goto teclado
   
    asterisco
    tecla="*"
    return
   
    ciete:
    tecla="7"
    return
   
    cuatro:
    tecla="4"
    return
   
    uno:
    tecla="1"
    return
   
    dos:
    tecla="2"
    return
   
    cinco:
    tecla="5"
    return
   
    ocho:
    tecla="8"
    return
   
    cero:
    tecla="0"
    return
     
    tres:
    tecla="3"
    return
     
    seis:
    tecla="6"
    return
   
    nueve:
    tecla="9"
    return
     
    numeral:
    tecla="#"
    return
         
    clave:
    pause 1000
    gosub teclado
    SWAP  tecla, n1
    pause 500
    gosub teclado
    SWAP  tecla, n2
    pause 500
    gosub teclado
    SWAP  tecla, n3
    pause 500
    gosub teclado
    SWAP  tecla, n4
    pause 500
     
    READ 0,EPROM1
    IF eprom1 = n1 then miro_dos
   
    incorrecto:
    goto inicio
 
    miro_dos
    READ 1, eprom1
    IF eprom1 = n2 then miro_tres
    goto incorrecto
 
    miro_tres
    READ 2, eprom1
    IF eprom1 = n3 then miro_cuatro
    goto incorrecto
 
    miro_cuatro
    READ 3, eprom1
    IF eprom1 = n4 then goto menu
    goto incorrecto
   
   
   
  menu
 
  pause 300
  gosub teclado
  IF tecla = "1" THEN goto abrir
  if tecla = "2" then goto nueva_clave
 
  pause 700
  goto menu
 
  abrir:
  high rele
  pause 3000
  low rele
  goto inicio
 
  nueva_clave
    pause 500
    gosub teclado
    SWAP  tecla, n1
    pause 500
    gosub teclado
    SWAP  tecla, n2
    pause 500
    gosub teclado
    SWAP  tecla, n3
    pause 500
    gosub teclado
    SWAP  tecla, n4
    pause 500
    goto gravar_clave
end

compilarlo lo compila bien, ahora lo unico que se enciende es el led del porta.0
la conexion que he hecho es la siguiente (ya que en el post no habia diagrama ninguno)

           portb.0 portb.1 portb.2
portb.3    1          2          3
portb.4    4          5          6
portb.5    7          8          9
portb.6    *          0          #

rele al porta.3
led al  porta.0

en los puertos b.3, b.4, b.5 y b.6 he puesto 4 resistencias de 330ohm y estas van directas al pic aunque he visto aqui que las conectan de otra manera...
mi intencion es la misma que la del compi batman, pero sin la pantalla. este es el post original
Espero me puedan ayudar, ya digo que no soy profesional, solo aficionado con algunos conocimientos y muchas ganas de aprender, y sin esta ayuda (la de internet en general y la de todopic en particular) la verdad no habria hecho ni la mitad de mis "cacharritos" (como los llama cariñosamente mi novia cuando son mas de las 12 y sigo con el soldador en la mano o el microcode rulando) un saludo y gracias otra vez!!!

Desconectado peyutron1

  • PIC10
  • *
  • Mensajes: 27
    • Infotronikblog
Re: duda de codigo
« Respuesta #3 en: 22 de Agosto de 2009, 15:38:21 »
nadie puede hecharme una mano??
« Última modificación: 23 de Agosto de 2009, 08:33:22 por peyutron1 »


 

anything