Autor Tema: Led con pic 16f886  (Leído 6342 veces)

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

Desconectado aiioli

  • PIC10
  • *
  • Mensajes: 8
Led con pic 16f886
« en: 08 de Octubre de 2008, 05:26:01 »
alguien tiene el mitico "hello world" para micros para el pic 16f886?

necesito un buen ejemplo en assembler con este pic con un led conectado al pin 14 (RC3). que parpadee cada x tiempo (unos 500ms)

alguien me ayuda?

Desconectado jonruiz

  • PIC10
  • *
  • Mensajes: 1
Re: Led con pic 16f886
« Respuesta #1 en: 09 de Octubre de 2008, 06:42:36 »
aiioli..... para aprender assembler, y con un ejemplo tan sencillo como un led parpadeante, es mucho mejor que lo hagas sólo.
poco a poco. vete escribiendo el codigo desde el principio y simulalo viendo los registros para que compruebes como van cambiando, etc...

aqui ademas encontrarás un programa muy muy similar. Lo he modificado un poco para que lo apliques con tu pic 16f886, ya que en el ejemplo hay instrucciones que no corresponden con pic (ddrb,....).

aqui lo tienes, no tienes mas que copiarlo, ensamblarlo y probarlo con tu pic.
pero lo dicho: mejor empezar tu solito...

un saludo!


*******************************


   list P=16F886 ; indicamos el modelo de PIC que tenemos

#include "P16F886.inc"
__CONFIG _CONFIG1, _MCLRE_OFF & _PWRTE_ON & _LVP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _FCMEN_OFF & _IESO_OFF
; registros


; constantes del programa

TIEMPO  equ 0x30   ; posicion de memoria
;TICKS   equ 20     ; Ticks entre parpadeo


#define K_TICKS .20

   org 0


; Accedemos al segundo banco de RAM de Datos
   
   bsf   STATUS,RP0   

; Configuración puertos

   movlw   0
   movwf   TRISC  ;
; configuracion del timer

   movlw   b'01010111'  ; divisor = 256, timer
   movwf   OPTION_REG

; Accedemos al primer banco de RAM

   bcf   STATUS,RP0

; Pongo a cero el puerto C
   clrf   PORTC

; empieza el programa principal
 
inicio
   bsf      PORTC,3 ; enciende led
   call    pausa
   bcf     PORTC,3 ; apaga led
   call    pausa
   goto    inicio


; RUTINA DE ESPERA
pausa
   movlw   K_TICKS      ; tiempo_espera = TICKs * t_tic
   movwf   TIEMPO     ; guarda valor en memoria   
otro_tic
   movlw   0xB2
   movwf   TMR0       ; t_tic = 20 mseg    
sigue   
   clrwdt
   btfss   INTCON,2   ; ¿desbordamiento ?
   goto   sigue      ; no
    bcf      INTCON,2   ; si -> repongo flag
   decfsz   TIEMPO,1
   goto    otro_tic   
   return     

   END

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Led con pic 16f886
« Respuesta #2 en: 09 de Octubre de 2008, 07:59:06 »
¡Uy! Doble personalidad contestándose a si mismo.  :5]
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Led con pic 16f886
« Respuesta #3 en: 09 de Octubre de 2008, 08:03:20 »
Jaja, no sólo se contesta, sino que encima se regaña

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2568
Re: Led con pic 16f886
« Respuesta #4 en: 11 de Octubre de 2008, 02:01:45 »
Ja, ja, ja ... que me troncho.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Led con pic 16f886
« Respuesta #5 en: 20 de Octubre de 2008, 09:55:08 »
Jaja, no sólo se contesta, sino que encima se regaña

 :D :D :D :D :D
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything