Haz una pregunta
  Foros de Electrónica » Principiantes » Cuestiones Elementales de Electrónica
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

14/11/2008 #1


No logro orienterme en mi primer programa pic
bueno lo que quiero hacer es esto les tiro un pseudo programa para que lo vean
el pic que uso es un PIC16F84A y quiero hacer mi primer programa para assembler pero no se como que haga esto

Código:
INICIO
      poner en RB7 un 1 como salida
      reatardo de 1000 milisegundos
      poner en RB7 un 0 como salida
IR A INICIO
me pueden si es posible tirar el programa hecho y explicado para que yo pueda entender

aclaro soy un novato en programacion de pics no hice nunca un programa en assembler
14/11/2008 #2


LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC


CBLOCK 0x20
R_ContA
R_ContB
R_ContC
ENDC

Tdesconex EQU d'15'

inicializacion
bsf STATUS, RP0 ;Acceso al Banco 1.
movlw b'00000110' ;
movwf ADCON1
movlw b'00001111' ;habilidamos la parte alta del puerto B como salida, y la

baja como entrada


movwf TRISB ;lo movemos al registro del puerto.

Inicio

bsf PORTB,7 ;BSF, pone a 1 el bit indicado del puerto.
call Retardo_1s ;Call llama a la subrutina que lleva por nombre Retardo_1s.
bcf PORTB,7 ;BCF, pone a 0 el bit indicado del puerto.

goto Inicio


Retardo_1s ; La llamada "call" aporta 2 ciclos máquina.
movlw Tdesconex ; Aporta 1 ciclo máquina. Este es el valor de "N".
Retardo_1Decima
movwf R_ContC ; Aporta 1 ciclo máquina.
R1Decima_BucleExterno2
movlw d'200' ; Aporta Nx1 ciclos máquina. Este es el valor de "M".
movwf R_ContB ; Aporta Nx1 ciclos máquina.
R1Decima_BucleExterno
movlw d'249' ; Aporta MxNx1 ciclos máquina. Este es el valor de "K".
movwf R_ContA ; Aporta MxNx1 ciclos máquina.
R1Decima_BucleInterno
nop ; Aporta KxMxNx1 ciclos máquina.
decfsz R_ContA,F ; (K-1)xMxNx1 cm (si no salta) + MxNx2 cm (al saltar).
goto R1Decima_BucleInterno ; Aporta (K-1)xMxNx2 ciclos máquina.
decfsz R_ContB,F ; (M-1)xNx1 cm (cuando no salta) + Nx2 cm (al saltar).
goto R1Decima_BucleExterno ; Aporta (M-1)xNx2 ciclos máquina.
decfsz R_ContC,F ; (N-1)x1 cm (cuando no salta) + 2 cm (al saltar).
goto R1Decima_BucleExterno2 ; Aporta (N-1)x2 ciclos máquina.
return ;Debe ponerse para que el pic, sepa que debe volver a la llamada.

--------------------------------------------------------------------------------------------------------

Este es el programa, creo que no me he equivocado, aunque lo he hecho un poco aprisa. El retardo, viene dentro de la libreria Retardos. Pero lo he puesto dentro para no complicarte el codigo incluyendo librerias.

En la hoja caracteristica de los pics te vienen las intrucciones que tiene, y un poco como manejar los registros. Hay muchos ejemplos por internet, sobre todo para este pic. Es complicado empezar, pero deberias mirartelo en vez de pedir programas. La manera de aprender es enfrentarte a las complicaciones que el propio diseño te plantea. Y lidiar con muchas hojas caracteristicas, foros, y horas y horas de documentación y busqueda.

Pero todo eso supongo que lo sabes.
14/11/2008 #3

Avatar de Randy

No es por ser mala onda... pero alguna vez alguien dijo: "dale un pesaco a un hombre y lo alimentaras un dia, ense;ale a pescar y lo alimentaras toda su vida"

En la hoja de datos vienen las instruciones, y me parace que hay unos cuantos tutoriales aqui.

en fin, no trato de agredir a nadie,en caso de ello, pido disculpas, solo expreso un comentario.

saludos...


Esta bueno el script que te impide escribir todo con mayusculas
14/11/2008 #4
Moderador general

Avatar de Andres Cuenca

Randy dijo:
...Esta bueno el script que te impide escribir todo con mayusculas
Gracias.
14/11/2008 #5


mati , debes intentar hacer las cosas por ti solo; todos comenzamos sin saber algo pero eso no debe ser pretexto.
15/11/2008 #6


mi intensión era que me pasen un programa hecho para aprender primero como se compila en matlab y lo subo al pic sabiendo que el programa anda y ademas aprender el funcionamiento del mismo
17/11/2008 #7


Randy dijo:
No es por ser mala onda... pero alguna vez alguien dijo: "dale un pesaco a un hombre y lo alimentaras un dia, ense;ale a pescar y lo alimentaras toda su vida"

En la hoja de datos vienen las instruciones, y me parace que hay unos cuantos tutoriales aqui.

en fin, no trato de agredir a nadie,en caso de ello, pido disculpas, solo expreso un comentario.

saludos...


Esta bueno el script que te impide escribir todo con mayusculas

Si tienes razón y comparto tu opinión. Pero aveces sin tener ni idea de nada, pues es algo complicado. Yo muchas veces para aprender a hacer algo (sobre todo cuando empiezo con lenguajes de programación) me es más facil coger un programa hecho y usandolo aprender ha hacer cosas yo.

Por eso, le di el programa. Es sencillo y puede mostrarle como funciona. Y añadir la recomendación de que aprendiera por si mismo.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Cuestiones Elementales de Electrónica

Deseas aprender electrónica y necesitas ayuda para comenzar? Resuelve tus dudas en esta sección.

Cerrar
Foros de Electrónica » Principiantes » Cuestiones Elementales de Electrónica

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