una pregunta del pic 16f84A

#1
Hola gente, espero que se encuentren bien.

Mi pregunta es como hago para cambiarle la velocidad a un circuito que tengo,
el circuito consta de un pic 16f84A el cual lo tengo programado para que muestre los numeros de 0 a 255 en binario; pero lo hace muy rapido... lo que quiero hacer es mermarle la velocidad a la secuencia.
como lo hago???
que tengo que editar???

Gracias. :)
 
Última edición:
#2
deberias poner el programa que esta corriendo en el microcontrolador para poder ayudarte. . .
Un saludo
 
#3
Hola Pablet,
ya tengo el cto montado en el software
yo uso el winpic800,
si tienes uno mejor me lo puedes sugerir.
gracias.
 

el-rey-julien

Well-known-Perejil Trans
#4
para quemar o grabar el pic el winpic800 funciona bien,en linux podes usar el pikdeb ,
nomas ponele delay después de muestre el primer numero que retrase para que muestre el siguiente numero asi lo podes ver ,
como dijo pablet deverias postear el programa que estas usando así te podemos ayudar
el rey julien saluda

en display o en lcd miras el numero?
 
Última edición:
#5
Hola Pablet,
ya tengo el cto montado en el software
yo uso el winpic800,
si tienes uno mejor me lo puedes sugerir.
gracias.
Hola Primero que nada en que estas programando asm, C, PBP u otro.
Para que puedas visualizar los datos tienes que poner un retardo entre el mostrado de un dato y el siguiente ejemplo.

suponiendo que es PBP.

PORTA = %00000001 'mando el dato 1 a porta
PAUSE 1000 'retardo de 1000 mseg = 1Seg
PORTA = %00000010
PAUSE 1000

Ya que si te quieres ahorrar tiempo y codigo porque tendrias que hacer esto hasta el 250
Podrias Mandar una constante al PORTA que empieze en uno y que se incremente en 1 hasta llegar a 250 esto se hace con un IF THEN o DO while.

espero te sirva sino postea tu programa y veremos que podemos hacer.
 
Última edición:
#6
aqui esta el programa, esta en ASM y en HEX.
los numeros se muestran en diodos.
pondre ext .rar para poder que me deje subir el archivo.
esta simulado en proteus.

Nota:
La extension de el archivo que dice "conteo proteus.rar" la extension real es .DSN
La extension de el archivo que dice "conteo_ASM.rar" la extension real es .ASM
La extension de el archivo que dice "conteo_HEX.rar" la extension real es .HEX

lo que quiero es que muestre el numero y espere minimo 1 seg para que pase a el siguiente led.
 

Adjuntos

Última edición:
#7
Bueno una forma sencilla cambiando el xtal, si los retardos estan hechos en base a software, es lo mas facil, pero hay que probar si no se afecta algo mas, lo digo porque no especificas mas detalles del circuito, chauuuuuuuuu
 
#8
ya esta todo, adjunte el circuito simulado para que miren la funcion. fuera de eso esta el ASM y el HEX, donde se puede cambiar los valores de retardo... supongo...
 
#9
aqui esta el programa, esta en ASM y en HEX.
los numeros se muestran en diodos.
pondre ext .rar para poder que me deje subir el archivo.
esta simulado en proteus.

Nota:
La extension de el archivo que dice "conteo proteus.rar" la extension real es .DSN
La extension de el archivo que dice "conteo_ASM.rar" la extension real es .ASM
La extension de el archivo que dice "conteo_HEX.rar" la extension real es .HEX

lo que quiero es que muestre el numero y espere minimo 1 seg para que pase a el siguiente led.



SEGUN TU EL ASM es este verdad:


; PicBasic Pro Compiler 2.42, (c) 1998, 2002 microEngineering Labs, Inc. All Rights Reserved.
PM_USED EQU 1

INCLUDE "16F84A.INC"

RAM_START EQU 0000Ch
RAM_END EQU 0004Fh
RAM_BANKS EQU 00001h
BANK0_START EQU 0000Ch
BANK0_END EQU 0004Fh
EEPROM_START EQU 02100h
EEPROM_END EQU 0213Fh

R0 EQU RAM_START + 000h
R1 EQU RAM_START + 002h
R2 EQU RAM_START + 004h
R3 EQU RAM_START + 006h
R4 EQU RAM_START + 008h
R5 EQU RAM_START + 00Ah
R6 EQU RAM_START + 00Ch
R7 EQU RAM_START + 00Eh
R8 EQU RAM_START + 010h
FLAGS EQU RAM_START + 012h
GOP EQU RAM_START + 013h
RM1 EQU RAM_START + 014h
RM2 EQU RAM_START + 015h
RR1 EQU RAM_START + 016h
RR2 EQU RAM_START + 017h
_X EQU RAM_START + 018h
_PORTL EQU PORTB
_PORTH EQU PORTA
_TRISL EQU TRISB
_TRISH EQU TRISA
INCLUDE "LAB001D.MAC"
INCLUDE "PBPPIC14.LIB"

MOVE?CB 000h, TRISB

LABEL?L _Inicio
MOVE?CB 000h, _X
LABEL?L L00001
CMPGT?BCL _X, 0FFh, L00002
MOVE?BB _X, PORTB
PAUSE?C 0C8h
NEXT?BCL _X, 001h, L00001
LABEL?L L00002
GOTO?L _Inicio

END

Este ASM tu no lo hiciste te lo compilo el Pic Basic PRO yo me refiero a que muestres tu programa que hiciste en Pic basic Pro el que tiene extencion .PBP ahi es donde se puede modificar para despues compilar bien.:unsure::oops:
SINO quieres ponerlo checa aqui: https://www.forosdeelectronica.com/f24/curso-programacion-pic-bsic-pro-20658/
 
Última edición:
#10
en realidad yo no hice el ASM lo hizo el MPLAB, al igual que el HEX, tambien tengo el PBP,
y yo compilo con WinPic800, no uso el PicBasicPro, aunque si ustedes me sugieren que use ese compilador excelente, me dan los pasos basicos para programar ahi :D.
suelo compilar con HEX en el WinPiC800.
adjunto el archivo PBP
 

Adjuntos

#12
Hola snakewather,
estuve mirando el PicBasicPro y cuando voy a programar me saca un error que dice: "please reset the target microcontroller in order to access to bootloader process" , con otro compilador el "WinPic800" me lee el COM1 normalmente, y este PBP no me lo reconoce.
que puedo hacer???
gracias por tu colaboracion :)
 
Última edición:

el-rey-julien

Well-known-Perejil Trans
#14
con mplab en window y con piklab en linux,
grabo en window con winpic800 y grabo en linux con pikdeb

grabar=quemar= cargar el programa ya compilado al micro
 
#15
con que compilas ????



con que compilas ????
Mira hay que aclarar algunos detalles el PBP es un compilador que permite programar en lenguaje basic, el MPLAB tambien es un compilador y te permite programar en ASM, y el CCS tambien es un compilador que Te permite programar en C.

Ahora cuando tu escribes tu programa en cualquiera de estos a finalizar le das compilar para que te genere el .HEX .COD y otros archivos que son de errores posibles en tu progama bueno de todos el que mas nos importa es el .HEX ese es archivo en lenguaje maquina que se le metera al PIC que utilices.:eek:

Como se hace esto bueno Con el IC-PROG o el WinPIC800 que son programas para cargar=quemar=grabar el .HEX al PIC no son compiladores.;)

Bueno por otra parte en tu Progama te hacia falta declarar el tipo de oscilador a utilizar asi como los Puertos como IN/OUT ademas de modificar el retardo.:cool:

Ya esta Corrigido te lo ADJUNTO checalo ya lo probe simulado y fisicamente si no te funciona entonces es algo en tu circuito fisico.:apreton:

Checa el Link del tutorial ese te servira mucho para mejorar tus programas.(y)
 

Adjuntos

Última edición:
#16
Muchas Gracias SnakeWather, me sirvio muchisimo!!

Snake tento una duda acerca de donde se configura el oscilador, yo lo coloco en XT ya que utilizo cristal, pero donde dice WDT - PWRT - CP ; que es eso y para que??? eso tiene que ver algo en el funcionamiento tambien??
 
Última edición:
#17
Muchas Gracias SnakeWather, me sirvio muchisimo!!

Snake tento una duda acerca de donde se configura el oscilador, yo lo coloco en XT ya que utilizo cristal, pero donde dice WDT - PWRT - CP ; que es eso y para que??? eso tiene que ver algo en el funcionamiento tambien??
Esto lo haces en Winpic800 en la pestaña de config verdad bueno asi le hago yo tambien, explico al palomear uno dos tres etc casillas lo que estamos haciendo es establecer la palabra de configuracion del PIC, todos los pics tienen diferentes casillas a configurar.

ejemplo:

CP = si la palomeo equivale a poner 1 bit en CP de la palabra de configuracion y esto quiere decir que voy habilitar proteccion de codigo CP osea que si otros quieren leer tu PIC no van a leer nada jejejejej.:D

Y asi pasa con los demas BITS casillas, Existe otra forma de establecer la Palabra de configuracion y es escribiendola directamente al inicio de tu Programa en PBP,ASM o C.
Aunque a mi me gusta hacerlo directo en el winpic800 jejejeje.:cool:

Te adjunto un archivo para que te des una idea lo hizo un colega de aqui mismo trata de la palabra de configuracion en los 16F87xx pero igual te sirve CP0 y CP1 son como el equivalente a CP en el 16F84A.:apreton:

Date una vuelta por aqui te serviran los archivos aunque son para el 16F877 las bases son lo mismo leelos bien y en menos de 5 dias te pones al tiro jajajaj.
https://www.forosdeelectronica.com/f24/curso-tutorial-pic16f877-12890/
 

Adjuntos

Última edición:
Arriba