lunes, 12 de marzo de 2012

Reporte (Lab de Cómputo Integrado) Proyecto PIC Siete Segmentos v1.

Código utilizado para la programación del PIC:
list p=16f628a
                 include p16f628a.inc

                 cblock 0x20
                  NUMERO
   CONT1
   CONT2
   CONT3
   endc

   ;Inicio  
   org 0x00
   goto Inicio
   org 0x08

Inicio
   bsf    STATUS,5
   MOVLW    B'00000'        ; carga 00000 en W
   MOVWF    TRISA           ; puerto a todos salidas
   MOVLW    B'00000000'     ; carga 00000000 en W
   MOVWF    TRISB           ; puerto b todos salidaS
   clrf     EEADR
   bsf EECON1,RP0
   movf EEDATA, W
   bcf STATUS,5

Principal
   clrf    NUMERO

Ciclo   
   movf    NUMERO, w
   call   Despliega
   movwf   PORTB
   call   Retardo             ;ciclo iterativo de la serie de los números
   incf   NUMERO, f
   movf   NUMERO, w
   sublw   0x10
   btfss   STATUS, Z
   goto   Ciclo
   goto   Principal

Despliega
   addwf   PCL, 1
   retlw   b'00000000'   
   retlw   b'00000001'   
   retlw   b'00000010'        ;códigos binarios de los números de la serie
   retlw   b'00000011'   
   retlw   b'00000100'   
   retlw   b'00000101'   
   retlw   b'00000110'   
   retlw   b'00000111'   
   goto Principal
 

Retardo
   
   movlw   d'50'
   movwf   CONT3
   Ciclo3 movlw d'100'
   movwf   CONT2
   Ciclo2 movlw d'33'
   movwf   CONT1
   Ciclo1 decfsz CONT1 ,f     ;función encargada de definir los retardos  
   goto   Ciclo1
   decfsz   CONT2, f
   goto   Ciclo2   
   decfsz   CONT3, f
   goto   Ciclo3
   return
   end

Link a video en Youtube:
http://www.youtube.com/watch?v=A5vO_GUaP0o&feature=g-upl&context=G2bbd4a6AUAAAAAAAAAA