Saludos.disculpen,,,,,,,,,,
pero la verdad necesito su ayuda y se me hixo facil...
Sube en un zip tu código o pegalo aquí, seleccionalo y envuelvelo con el botón que tiene un #
Para determinar si es error de código, software, o sistema operativo.
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
Saludos.disculpen,,,,,,,,,,
pero la verdad necesito su ayuda y se me hixo facil...
Envolver el código, es pegarlo donde escribes, lo seleccionas y presionas el botón que tiene un #mira aqui esta el archivo
la verdad no ntndi eso de nvolverlo
@ device xt_osc ; oscilador externo XT
define osc 4 ; especifica que se va a utilizar uno de 4 Mhz
x var byte ; crea la variable x y asigna un espacio de memoria
; de o a 255
LED1 var portb.0 ; asigna el nombre de led1 a RB0 del pic 16f877A
LED2 VAR portb.1 ; asigna el nombre de led2 a RB1
programa: ; inicio de la linea de programa
high led1:low led2 ;enciende led1 y apaga led 2
pause 700 ; esperar 0.7 seg
low led1:high led2 ;apaga led1 y enciende led2
pause 700 ; espera 0.7 seg
goto programa ; ir a programa
end ; fin del programa
OK. Con tan solo compilar tu código sin modificar ni mover nada, se compila sin errores.
Ahora, ¿que PIC estas usando? por ahora con el código que tienes no es importante
para compilarlo porque no estas usando registros especiales de un PIC determinado.
En los graficos que adjuntaste se ve que tienes seleccionado un PIC16F628A
Y en el código se comenta que se usara un PIC16F877A.
Es importante que siempre selecciones que tipo de microcontrolador usaras.
Adjunto tu código compilado, con los fuses requeridos para el 16F877A
más la configuración del puerto B
Solo que yo use MicroCode Studio Plus v3.0 y PBP 2.60
Ahora estoy usando ya el MicroCode Studio v5.0 y PBP3 y hay muchas mejoras.
Suerte y hasta luego.
Que bueno, mira para llevarlo a la parte física debes configurar los fuses y especificar que tipo de oscilador vas a usar, hay un circuito similar en la pagina de ucontrol con el cual te puedes guiar para las conexiones, por otro lado creo que podrías cambiar la 74ls04 por un ULN2803 y para el master clear una resistencia de 10k a vcc, al pic recuerda colocale una base para que puedas programarlo luego, bueno de momento es lo que veo, espero tus aportes y avances...mucho éxito en el proyecto
hola Reyvilla.
he estado siguiendo este hilo desde que el inspector gadget empezo y me parecio excelente esta matriz, a mi me funciona todo bien incluso le agregue las minusculas pero no he podido corregirle la titiladera al momento de simularlo, sera que al probarlo fisicamente seguira titilando?
No sabría decirte con certeza pero estaría un 70% seguro de que si, pero con pequeñas modificaciones en el código puede corregirse y por otra parte hay otro gran aporte esta vez de parte del compañero "tecniloco80" el cual se encuentra aquí:
https://www.forosdeelectronica.com/posts/636711/
Y esta bien bueno, no titila y puedes cambiar el mensaje como quieras a través de una interface serial.
Gracias por el dato reyvilla, exelente aporte de tecniloco80, pero no veo que se haya profundizado en el tema. Creen que se puede llevar a la realidad asi como esta
? o solo es una aplicacion para analizar la comunicacion serial. gracias muchachos
estoy haciendo un programa sencillo de un ejemplo de un libro que solo recibe un voltaje de 0 a 5 V a través de conversor A/D del pic desde un potenciometro
DEFINE OSC 4 ; especifica que es de 4MHz
DEFINE LCD_DREG PORTB 'LCD data port
DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4
DEFINE LCD_RSREG PORTB 'LCD register select port
DEFINE LCD_RSBIT 4 'LCD register select bit
DEFINE LCD_EREG PORTB 'LCD enable port
DEFINE LCD_EBIT 5 'LCD enable bit
DEFINE LCD_RWREG PORTB 'LCD read/write port
DEFINE LCD_RWBIT 6 'LCD read/write bit
DEFINE LCD_BITS 4 'LCD bus size 4 or 8
DEFINE LCD_LINES 2 'Number lines on LCD
DEFINE LCD_COMMANDUS 2000 'Command delay time in us
DEFINE LCD_DATAUS 50 'Data delay time in us
p1 VAR word ;variable para almacenar potenciómetro 1
p2 var word
p3 var word
ADCON1 =%100 ;configura PortA 0,1, 3 en conversores A/D
Inicio:
ADCIn 0,p1 'se captura valor en conversor
p2=(p1*5)/255 ' se hace regla de 3
p3=(((p1*5)//255) *100)/255 ' se utiliza el residuo y se multiplica por 100 y se vuelve a dividir entre 255
lcdout $fe,$80,"Voltaje:" ;limpiar LCD y sacar texto
LCDOUT $fe,$c1,# p2, "." , # p3," "
GOTO inicio
es que apenas empiezo a programar en pic, entiendo lo de los 255 segmentos pero no se porque se le da a p1 el valor de 20 y luego porque se multiplica p1 por 5, luego veo que pones doble "//", no se si me puedas explicar estas lineas del codigo que pusiste, perdona la molestia, gracias saludos y nuevamente gracias.
hola lubeck
gracias por la explicación ya me quedo mas claro el codigo y gracias por la ayuda, saludos.
luego porque se multiplica p1 por 5