Autor Tema: Codigo en Ensamblador  (Leído 1925 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado arrhenius

  • PIC10
  • *
  • Mensajes: 1
Codigo en Ensamblador
« en: 05 de Agosto de 2009, 05:45:53 »
Hola tengo 17 años y estoy haciendo el trabajo de investigacion de bachillerato. Tengo que programar un pic 16f84A en ensamblador. las caracteristicas son las siguientes.
1)  Tiene que tener 4 ENTRADAS i las 4 tienen ke estar encendidas [sino se produce un bucle asta k se reuna la condicion] para
2) poder activar una SALIDA ( que enciende unos cuantos leds ) y al cabo de 3 segundos
3) se activa otra SALIDA (que enciende otros cuantos leds) y al cabo de 6 segundos se apagan las DOS salidas y vuelve al inicio.

agradeceria muchisimo que me facilitarais el codigo en Ensamblador porque la programacion no es mi fuerte y me esta costando bastante.

Muchas gracias por adelantado

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Codigo en Ensamblador
« Respuesta #1 en: 05 de Agosto de 2009, 06:23:55 »
Hola arrhenius.
No entiendo nada de lo que necesitas.
Primero, las entradas de un PIC no pueden encender nada. Supongo que estas 4 entradas son en realidad 4 pulsadores con sus respectivas salidas conectadas a LED (4 en total)

Sería bueno que te espliques mejor. Y te doy un concejo, lees las reglas del foro por favor y verás que lo que pides está mal.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Codigo en Ensamblador
« Respuesta #2 en: 05 de Agosto de 2009, 06:43:23 »
Arrhenius, 17 años es una edad excelente para aprender a programar; no se trata de que te demos el programa hecho, te ayudaremos si tu empiezas a hacerlo, haz primero el esquema con los pulsadores y los LEDs e intenta empezar, hay un hilo de Leon_pic asembler desde 0 donde te explica todas las instrucciones y a continuacion otro de Suki mis primeros programas en asembler, si los miras un poco aprenderas a hacer eso que te mandan, y si tienes dudas te las intentaremos solucionar

tapi8

Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
Re: Codigo en Ensamblador
« Respuesta #3 en: 05 de Agosto de 2009, 07:03:38 »
Hola Arrhenius,
Tanto Leon PIC , como tapi8 tienen muchisima razon, porque no aprendes a programar!
Se entiende muy bien lo que decís, pero... "NOS GUSTA AYUDAR, NO HACER TODO EL TRABAJO!"
Te paso un esqueleto para tu codigo, espero que te sirva.

---
inicio:
   bsf STATUS, 5   ; seteando el bit 5 de STATUS pasamos al banco 1
   clrf PORTB      ; portb es salida (todos sus bits a cero)
   movlw b'11111111'
   movwf PORTA      ; porta es entrada (todo sus bits a uno)
   bcf STATUS, 5   ; limpiando el bit 5 de STATUS pasamos al banco 0

bucle: ; Este es el bucle prinsipal del programa
   clrf PORTA ; Ponemos inicialmente las salidas a cero
esperar:; esperamos que las cuatro entradas sean uno
   movf PORTB, W   ; movemos PORTB...
   movwf temp      ; ...a la variable temp
   movlw 0x0F      ; movemos a W la mascara 0x0F
   andwf temp, F   ; aplicamos la mascara sobre temp
   movf temp, W   ; comparamos temp...
   xorlw 0x0F      ; ...con 0x0F
   btfss STATUS, Z   ; si almenos una entrada vale 0 continuamos esperando...
   goto esperar
   ; listo, las 4 entradas estan activas. activamos la primer salida
   movlw 1 ; w = segundos a esperar
   movwf PORTA
   movlw 3 ; w = segundos a esperar
   call esperar_segundos
   ; activamos la segunda salida (sin desactivar la primera)
   movlw 3
   movwf PORTA
   movlw 6
   call esperar_segundos
   ; continuamos en el bulce prinsipal.
   goto bucle
esperar_segundos:
   ; aca te falta codigo :)
   return
---
@fabianjsm is on twitter