Autor Tema: Ayuda con el PIC 16F628A  (Leído 8378 veces)

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

Desconectado TTAuronTT

  • PIC10
  • *
  • Mensajes: 6
Ayuda con el PIC 16F628A
« en: 14 de Abril de 2010, 04:05:33 »
hola muchachos espero de su ayuda necesito programar el pic 16f628a en cual debe realizar 4 funciones con pulsadores y mostrarlos en un display de 7 segmentos los cuales a continuacion les describo el proceso:

pulsador 1 : muestre todos los numeros pares (solo numeros pares del 0 al 9)
pulsador 2 : muestre todos los numeros impares (solo numeros pares del 0 al 9)
pulsador 3 : muestre solo 0 y 9
pulsador 4 : muestre desde 0 a 9

todo esto controlando un display de anodo comun; ahi les adjunto la imagen del circuito con el que quiero trabajar.
tambien para grabar el pic necesito uqe me indicen con que programa hacerlo ,me dijeron que se usa 3 los cuales son el microcode estudio , el pic basic y el icprog.

espero de sus ayuda se los agradesco de antemano muchas gracias espero respuestas

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Ayuda con el PIC 16F628A
« Respuesta #1 en: 14 de Abril de 2010, 05:39:57 »
Programas para grabar  , ICPROG , WINPIC800

Microcode Studio , Picbasic son lenguajes de programacion.

Cualquiera te vale , muestra tus avances para poderte ayudar!

Desconectado TTAuronTT

  • PIC10
  • *
  • Mensajes: 6
Re: Ayuda con el PIC 16F628A
« Respuesta #2 en: 17 de Abril de 2010, 04:15:57 »
este es mi codigo pero resulta k solo me muestra el primer codigo k digite en mi programa los demas no muestran y tampoco me fuinciona el pin de reloj

Trisb = 0              ;configuramos los pines del PUERTO B como salidas
cmcon = 7              ;convierte todo el PUERTO A en digital
inicio:
if porta.0 = 0 then      ;presiona boton 1 y muestra numeros pares
    portb =%10100100    ;2
    pause 500
    portb =%10011001    ;4
    pause 500
    portb =%10000011    ;6
    pause 500
    portb =%10000000    ;8
    pause 500
endif
if porta.1 = 0 then      ;presiona boton 2 y muestra numeros impares
    portb =%11111001    ;1
    pause 500
    portb =%10110000    ;3
    pause 500
    portb =%10010010    ;5
    pause 500
    portb =%11111000    ;7
    pause 500
    portb =%10011000    ;9
    pause 500
endif
if porta.2 = 0 then      ;presiona boton 3  muestra solo 0 y 9
    portb =%11000000    ;0
    pause 500
    portb =%10011000    ;9
    pause 500
endif
if porta.3 = 0 then      ;presiona boton 4  muestra del 0 al 9
    portb =%11000000    ;0
    pause 500
    portb =%11111001    ;1
    pause 500
    portb =%10100100    ;2
    pause 500
    portb =%10110000    ;3
    pause 500
    portb =%10011001    ;4
    pause 500
    portb =%10010010    ;5
    pause 500   
    portb =%10000011    ;6
    pause 500
    portb =%11111000    ;7
    pause 500
    portb =%10000000    ;8
    pause 500
    portb =%10011000    ;9
    pause 500
endif
goto inicio
end

Desconectado 3cv

  • PIC10
  • *
  • Mensajes: 9
Re: Ayuda con el PIC 16F628A
« Respuesta #3 en: 17 de Abril de 2010, 16:20:46 »
estos son los retoques que hice. Esta en codigo basic de de pic simulator ide. para pasarlo a pbp cambia WaitMs por pause, y los dialogos en vez de ' pon ;

TRISB = %00000000
TRISA = %00001111

inicio:
PORTB = %11111111  'limpia el display

If PORTA.0 = 0 Then  'presiona boton 1 y muestra numeros pares
PORTB = %10100100  '"2"
WaitMs 500
PORTB = %10011001  '"4"
WaitMs 500
PORTB = %10000011  '"6"
WaitMs 500
PORTB = %10000000  '"8"
WaitMs 500
Endif

If PORTA.1 = 0 Then  '"presiona boton 2 y muestra numeros impares"
PORTB = %11111001  '"1"
WaitMs 500
PORTB = %10110000  '"3"
WaitMs 500
PORTB = %10010010  '"5"
WaitMs 500
PORTB = %11111000  '"7"
WaitMs 500
PORTB = %10011000  '"9"
WaitMs 500
Endif

If PORTA.2 = 0 Then  '"presiona boton 3  muestra solo 0 y 9"
PORTB = %11000000  '"0"
WaitMs 500
PORTB = %10011000  '"9"
WaitMs 500
Endif

If PORTA.3 = 0 Then  '"presiona boton 4  muestra del 0 al 9"
PORTB = %11000000  '"0"
WaitMs 500
PORTB = %11111001  '"1"
WaitMs 500
PORTB = %10100100  '"2"
WaitMs 500
PORTB = %10110000  '"3"
WaitMs 500
PORTB = %10011001  '"4"
WaitMs 500
PORTB = %10010010  '"5"
WaitMs 500
PORTB = %10000011  '"6"
WaitMs 500
PORTB = %11111000  '"7"
WaitMs 500
PORTB = %10000000  '"8"
WaitMs 500
PORTB = %10011000  '"9"
WaitMs 500
Endif
Goto inicio
End


Lo simulé en proteus y funciona perfectamente, si quieres te paso el .hex para que lo grabes en tu pic.

Desconectado TTAuronTT

  • PIC10
  • *
  • Mensajes: 6
Re: Ayuda con el PIC 16F628A
« Respuesta #4 en: 19 de Abril de 2010, 22:22:10 »
oe man por que pones esto :

TRISB = %00000000
TRISA = %00001111

y necesito saber como hago para poder simuarlo en proteus ???????

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: Ayuda con el PIC 16F628A
« Respuesta #5 en: 20 de Abril de 2010, 05:59:35 »
Para simular en Proteus. Doble clic en el micro y carga el fichero .hex y la velocidad de funcionamiento.
Luego en ADD source en la bara de herramiente le indicas el fichero fuente

Le das a activar la simulacion con la lecha -> abajo a la izquierda.

Tris =%00000000 es numeracion en binario de cada una de los pines 0= pin como salida y si ex 1 = pin como entrada.
Todos los días se aprende algo nuevo.

Desconectado 3cv

  • PIC10
  • *
  • Mensajes: 9
Re: Ayuda con el PIC 16F628A
« Respuesta #6 en: 20 de Abril de 2010, 10:36:21 »
TRISB=%00000000 pone todo el puerto b como salida para controlar el display.
TRISA=%00001111 pone RA0,RA1,RA2,RA3 como entradas para los pulsadores.
Para la simulación primero armas el circuito, luego como dijo fer_taca haces doble clic en el micro y se abre una ventana, donde dice program file pones la ruta del archivo .hex que generaste al hacer la compilación, en clock frequency colocas la velocidad de funcionamiento como por ejemplo 4MHz y listo. Haces click en la tecla play y si todo está bien comienza la simulación.

 :)Espero haber ayudado en algo.

Desconectado 3cv

  • PIC10
  • *
  • Mensajes: 9
Re: Ayuda con el PIC 16F628A
« Respuesta #7 en: 20 de Abril de 2010, 10:51:43 »
Aca va una captura que te puede ayudar

Desconectado TTAuronTT

  • PIC10
  • *
  • Mensajes: 6
Re: Ayuda con el PIC 16F628A
« Respuesta #8 en: 21 de Abril de 2010, 10:31:05 »
Bueno man de armar el diagrama en proteus si se por eso puse una imagen de referencia de mi circuito pero como hago para ponerle el codigo al pic no se en que que opcion hacer eso en el proteus y ya me lo habian comentado pero aun no se como se hace xD :huh:

8) Juan Chester Pinedo Espinoza  8)


Desconectado 3cv

  • PIC10
  • *
  • Mensajes: 9
Re: Ayuda con el PIC 16F628A
« Respuesta #9 en: 21 de Abril de 2010, 11:42:16 »
Que version de proteus tienes? Por lo que tengo entendido la version demo no permite simulación con microcontroladores.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: Ayuda con el PIC 16F628A
« Respuesta #10 en: 21 de Abril de 2010, 13:14:14 »
Bueno man de armar el diagrama en proteus si se por eso puse una imagen de referencia de mi circuito pero como hago para ponerle el codigo al pic no se en que que opcion hacer eso en el proteus y ya me lo habian comentado pero aun no se como se hace xD :huh:
url=http://www.pokemon.emascotas.net/subirnivel.php?id=22815][/url]

Doble clic sobre el micro, se abre una ventana y en Program files, le das a la carpeta que sale a la derecha y buscas la ruta en donde tienes guardado tu fichero hex.
En processor clock frecuency pones el valor que has puesto en tu programa. Lo validas con OK
A continuación en el menu de la barra de herramientas: Source, ADD/remove source files y se abre otra ventana, en ella:
- En code generacion tool seleccionas:MPASWIN, si has utilizado ese compilador
-Luego source code files-Change y seleccionas tu fichero fuente ejemplo: myproyecto.ASM-
-Lo validas con OK


¡¡A simular con la flecha -> abajo de la pantalla a la izquierda , como si fuera un cassete!!
Todos los días se aprende algo nuevo.

Desconectado TTAuronTT

  • PIC10
  • *
  • Mensajes: 6
Re: Ayuda con el PIC 16F628A
« Respuesta #11 en: 29 de Abril de 2010, 11:17:05 »
muchas gracias manes por toda su ayuda se los agradesco muchoo me intereso muxo en este tema de los PIC asi que pronto me veran nuevamente por estos lares   :) post terminado :D

PD: dale click por favor!!!

http://pokemon.emascotas.net/subirnivel.php?id=23522
   
http://www.pokemon.emascotas.net/subirnivel.php?id=22815


 

anything