TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: tokuro en 23 de Mayo de 2006, 17:28:08
-
hola estoy haciendo un proyecto en la univercidad pero no se nada sobre programar con el pic 16F84 y por mas que le busco la vuelta que en lo mismo osea en nada, mi proyecto consiste en hacer un contador acendente y que encienda un led cada vez que el contador pase por un multiplo de 2, y programarlo con el simupic, si alguien me puede ayudar le estere agradecido por favor
-
Saludos! Si usas el buscador estoy seguro que encontraras ejemplos parecidos que podras adaptar para tu caso, aunque tendras que aprender algunos conceptos de programacion.
Como el programa parece sencillo podras hacerlo en C sin problemas de memoria para el programa, en el subforo de C podras encontrar ejemplos de contadores en el hilo iniciado por vszener para el 16f648, c9on algunas adaptaciones te servira
-
HOLA tokuro :mrgreen:
Creo que en principio el 16F84 es el correcto para iniciar, aunque espera alguna respuesta de los masters del foro, ademas creo que necesitaras aprender algo de lo mas basico para empezar.
Ademas puedes seguir los pasos que te ha mencionado arriba el amigo kain589.
De cualquier manera pues aqui estamos para cualquier duda que quieras plantear.
Saludos LabPIC :mrgreen:
-
prueva este programa
es sencillo quizas te sirva.
#include"p16f84a.inc"
;programa contador ascedente del 0 al 9
;multiplos de 2 enciende el led que esta localizaco en rb7
;enciendo con cero el anodo va a 5v
;el display es de anodo comun el comun va a 5v
;el display va al puertob
;la tabla1 no enciende el led
;la tabla2 enciende el led.
;todo numero impar no es multiplo de 2 y siempre su ultimo bits es 1
ejm 5 = 0101
8 = 1000
9= 1001
por eso btfss cont,0
;definicion de registros
status equ 03
porta equ 05
portb equ 06
trisb equ 86
trisa equ 85
cont equ 0c
pcl equ 02
reg1 equ 10
reg2 equ 11
reg3 equ 12
org 00
goto inicio
inicio bsf status,5
clrf trisb
movlw b'11111111'
movwf trisa
bcf status,5
goto increm
increm clrf cont
ciclo1 movf conta,0
call tabla1
movwf portb
call retardo
incf cont,1
btfss cont,0
goto par
movf cont,0
call tabla1
movwf portb
call retardo
goto A
par movf cont,0
call tabla2
movwf portb
call retardo
A movlw d'10'
subwf cont,w
btfss status,2
goto ciclo1
clrf conta
movf conta,0
call tabla2
movwf portb
call retardo
goto increm
tabla1 TABLA ADDWF PCL,1
RETLW B'11000000'
RETLW B'11111001'
RETLW B'10100100'
RETLW B'10110000'
RETLW B'10011001'
RETLW B'10010010'
RETLW B'10000010'
RETLW B'11111000'
RETLW B'10000000'
RETLW B'10011000'
tabla2 TABLA ADDWF PCL,1
RETLW B'01000000'
RETLW B'01111001'
RETLW B'00100100'
RETLW B'00110000'
RETLW B'00011001'
RETLW B'00010010'
RETLW B'00000010'
RETLW B'01111000'
RETLW B'00000000'
RETLW B'00011000'
RETARDO MOVLW .9
MOVWF REG1
DEC3 MOVLW .9
MOVWF REG2
DEC2 MOVLW .5
MOVWF REG3
DEC1 DECFSZ REG3,1
GOTO DEC1
DECFSZ REG2,1
GOTO DEC2
DECFSZ REG1,1
GOTO DEC3
RETURN
end
suerte
-
gracias amigo lo voy a probar para ver porque esto ya me tiene loco :shock: :shock: :shock: :shock:
-
Agale amigo nada es facil. todo tiene su complique y ademas estamos empezando; con mucho mas razon tenemos que aprender asi. con persevarancia.
-
hola amigos la verdad nose que esta pasando hago la compilacion de las intrucciones y me dan un monton de errores y nose como quitarlos ya que me toma las mismas intrucciones como errores que hago ????
-
Amigo tokuro cual es el programa que has compilado? caso es el del compañero microcom?
¿utilizas el MPLAB para compilar?
si es asi, asegurate de haber seleccionado el dispositivo adecuado. En tu caso el PIC16F84A.
Saludos LabPIC
-
tienes de declarar variables
porta equ 05
portb equ 06
status equ 03
conta equ 10
reg1 equ 11
reg2 euq 12
reg3 equ 13
fijate que los errores son de ortografia.
compilador mplab. asm
mplab sim
los comentarios debe de ir despues de ;
suerte caballero
verifica tu escogencia del pic 16f84
no escribas despues de end.
despues no tendras problemas.
fijate en las etiquetas que si coincidan.
ejem:
inicio
incremen
tabla1
tabla2
ciclo1
A
par
retardo
suerte caballero
-
gracias amigos ya encontre cual era el problema el simupic q tengo no me ve al 16f84 sino al 16c84 cambie las letras y de 84 errores que avian solo quedaron 9 ahora vere pueda que tengan razon y alla metido unas letras que no son :lol: asi que lo voy a revisar bien
-
bueno despues de tanto darle pude hacer que funcionara el contador gracias al amigo microcon por aportar el programa el cual fue un gran 90/100 y no saco los 100/100 por unos detallitos del montaje del resto todo estuvo bien :lol: :) :-/ :mrgreen: :D