Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

20/04/2016 #1


[Aporte] Dado electrónico con PIC16F628A
Hola que tal, bueno hoy quisiera dejarles este pequeño programa que hice cuando comenzaba con la programación en pic basic pro. Se trata de un dado electrónico con el pic16f628a, pero a diferencia de los que eh visto este utiliza un display de 7 segmentos. Se aprieta un botón y muestra un número “aleatorio” entre 1 y 6 y este permanece hasta que se vuelve a apretar el botón , el programa no es la gran cosa ni mucho menos, pero espero le pueda servir a alguien, en especial a los novatos en la programación von pbp.
El archivo que adjunto contiene los archivos .pbp y .hex por si alguien solo quiere cargarlo y verlo funcionar de inmediato, además adjunto una imagen de las conexiones.

el programa es el siguiente:

Código:
DEFINE OSC 4

CMCON = 7  
TRISA = %00000010
TRISB = %00000000

B1 VAR PORTA.1
X VAR BYTE
Y VAR BYTE
X = 0

PORTB = %00110000
PAUSE 300
PORTB = %01011011
PAUSE 300
PORTB = %01001111
PAUSE 300
PORTB = %01100110
PAUSE 300
PORTB = %01101101
PAUSE 300
PORTB = %01111101
PAUSE 300
PORTB = %00000000

INICIO:
IF B1== 1 THEN
PAUSE 25
GOSUB Dado
ENDIF
GOTO INICIO

Dado:
WHILE B1==1

 X = X+1
 
	IF X == 6 THEN
	X = 0
	ENDIF

WEND
lookup X,[48,91,79,102,109,125 ],Y
PORTB=Y

RETURN
20/04/2016 #2
Moderador

Avatar de D@rkbytes

Gracias por el aporte, pero tienes que corregir unas cosas en el esquema.
- Debes colocar resistencias limitadoras de corriente para cada segmento del display.
- La resistencia R1 de 330 Ω es muy baja, cámbiala por una de 4.7 kΩ
- Para el sistema de reset, no es necesario R2 ni C2 (Evitan el rebote, pero para un reset no sirven de nada)
- Al código le hace falta la palabra de configuración.
20/04/2016 #3


hola gracias por las observaciones no uso palabra de configuración en código (quizá sea un mal habito ) yo lo configuro en mplab o en su defecto a la hora de programarlo.
Como sea los fusibles ya vienen configurados con el wdte deshabilitado, el lvp deshabilitado y el oscilador interno seleccionado
20/04/2016 #4
Moderador

Avatar de D@rkbytes

alanchavez dijo: Ver Mensaje
Hola. Gracias por las observaciones. No uso palabra de configuración en código (quizá sea un mal hábito ) yo lo configuro en mplab o en su defecto a la hora de programarlo.
Si es un mal hábito, porque debes indicar que configuración utilizaste, de otra forma sólo tú lo sabrás.
alanchavez dijo: Ver Mensaje
Como sea los fusibles ya vienen configurados con el WDTE deshabilitado, el LVP deshabilitado y el oscilador interno seleccionado.
No. El archivo ejecutable que entregas, tiene mal la palabra de configuración.

Así que estás seleccionando los fuses incorrectos para grabar el PIC.

Cuando compilas un programa sin usar la palabra de configuración, el compilador usará la que está por defecto en el archivo *.INC (En este caso, la del archivo 16F628A.INC)
Y la palabra de configuración por defecto es la siguiente:
Código PHP:
        LIST 16F628Adec= -302
        
INCLUDE "P16F628A.INC"  MPASM  Header
        __config _XT_OSC 
_WDT_ON _MCLRE_ON _LVP_OFF _CP_OFF 
Así que no se establecerá como mencionas.

Y éste será el resultado de compilar sin usar la palabra de configuración:

Tal cual como se encuentra en la palabra de configuración por defecto del archivo 16F628A.INC
Imágenes Adjuntas
Tipo de Archivo: jpg Compilado.jpg (47,4 KB (Kilobytes), 47 visitas)
Tipo de Archivo: jpg Por defecto.jpg (47,3 KB (Kilobytes), 45 visitas)
20/04/2016 #5


Gracias por las observaciones, ¿podrias darme un ejemplo de un programa en pbp, con palabra de configuracion?
20/04/2016 #6
Moderador

Avatar de D@rkbytes

Claro que sí. Por aquí encontrarás bastantes ejemplos y mucha información:
Curso de programación de PIC en PICBasic Pro
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.