TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Axel_18 en 28 de Julio de 2006, 16:09:13

Título: problema con 16f628a
Publicado por: Axel_18 en 28 de Julio de 2006, 16:09:13
holaa

tengo un problema, que creo que es de codigo, donde tengo una funcion IF para porta.0 y porta.1 en el 16f628a y al ponerlo   en el proteus aparece un cuadro amarillo al lado del pin correspondiente y ademas no cumple su funcion.
Probe haciendo un programa en donde solo tengo la funcion IF para prender un led y funciona, pero en el  que quiero q
Título: Re: problema con 16f628a
Publicado por: Axel_18 en 28 de Julio de 2006, 16:12:20
funcione no lo hace :? :? :?

aka va el codigo... el programa es simple asi que no se por que proteus me da ese error.
Código: [Seleccionar]
  TRISB=0

 TRISA=0


                  x var word
                  y var word
                  i var byte
                  x=1000
                  y=1000
     
     
     
      inicio:
 
  if porta.2=1 then
   X=(x+100)
   y=(y-100)
   endif 
       
   if porta.3=1 then
   X=(x-100)
   y=(y+100)
   endif   
 
     
   if y<=20 then
   y=20
   endif
   if x<=20 then
      x=20
      endif
 
 
 
 '--programa.
 for i=0 to 1
 portb=%101001
 PAUSEus x
 portb=%101000
 pauseus y
 next i
 
 
 
 for i=0 to 1
 portb=%011001
 PAUSEus x
   portb=%011000
 pauseus y
 next i
 
 
    for i=0 to 1
    portb=%011010
 PAUSEus x
  portb=%101000
 pauseus y
 next i
 
 
    for i=0 to 1
  portb=%110010
 PAUSEus x
  portb=%110000
 pauseus y
 next i
 
    for i=0 to 1
  portb=%110100
 PAUSEus x
  portb=%110000
 pauseus y
 next i
 
 
    for i=0 to  1
  portb=%101100
 PAUSEus x
  portb=%101000
 pauseus y
 next i
 

 

 goto inicio

 

saludos!!!
Título: Re: problema con 16f628a
Publicado por: LordLafebre en 28 de Julio de 2006, 16:19:26
Hola:

El porta del 16F628 tiene comparadores, por lo tanto si lo quieres utilizar como digital, tienes que agregar en la cabecera de tu programa la linea CMCON=7, para mayor informacion mira el registro CMCON en el datasheet del microcontrolador.  :mrgreen:
Título: Re: problema con 16f628a
Publicado por: Axel_18 en 28 de Julio de 2006, 23:06:56
PUSE  el CMCON=7 en el inicio del programa pero sigo teniendo el mismo resultado...estuve viendo el data del micro pero no entiendo mucho :? :?, estuve buscando en los codigos del microcode pero no aparece nada sobre CMCON....

nose que pasa....

saludos!!
Título: Re: problema con 16f628a
Publicado por: navaismo en 28 de Julio de 2006, 23:59:00
mmm. no sera que el PORTA esta como salida en el  trisa=0 ,mmm no se a lo mejor las quieres como entradas y por eso se pone como un corto o algo asi en el proteus
Título: Re: problema con 16f628a
Publicado por: LordLafebre en 29 de Julio de 2006, 00:16:32
Hola:

Correcto, navaismo tiene razon no me percate que porta esta como salida, declara bien los pines como entrada que estas utilizando.