• Domingo 28 de Abril de 2024, 21:30

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - hailander

Páginas: [1]
1
Microcontroladores / Re: Ds1307
« en: Miércoles 29 de Agosto de 2007, 01:54 »
Bueno el programa lo estoy trabajando en ASM; aqui les va:

LIST   P=16F877
         INCLUDE   P16F877.INC



CBLOCK   H'F0'
SEGUNDO         
MINUTO         
HORA         
DIASEMANA      
DIA            
MES            
AÑO            
I2C_BANDERAS   
PDel0         
PDel1         
ENDC

            ORG      0x00
            GOTO   INICIO
            ORG      0x05
   
INICIO         CLRF   PORTB
            CLRF   PORTC
            CLRF   PORTA
            CLRF   PORTD
            CALL   BAN1
            MOVLW   b'00000110'   
            MOVWF   ADCON1
            CLRF   TRISB
            BSF      TRISB,0
            MOVLW   0xFF
            MOVWF   TRISC
            CLRF   TRISD
            MOVLW   0xCF
            MOVWF   OPTION_REG
            MOVLW   0x80
            MOVWF   SSPSTAT
            MOVLW   .9
            MOVWF   SSPADD
            CALL   BAN0

;CONFIGURACION DEL MODO MSSP EN MODO MAESTRO I2C

            MOVLW   0x28
            MOVWF   SSPCON
            CLRF   I2C_BANDERAS
            CALL   CARGA_INICIAL
            CALL   ESCRIBIR
            MOVLW   0x28
            MOVWF   SSPCON
            CALL   CONDICION_START
            MOVLW   b'11010000'
            CALL   ENVIAR_BYTE
            MOVLW   b'00000111'
            CALL   ENVIAR_BYTE
            MOVLW   b'00010000'
            CALL   ENVIAR_BYTE
            CALL   CONDICION_STOP

RTC_LEE         MOVLW   0x28
            MOVWF   SSPCON
            CALL   CONDICION_START
            MOVLW   0xD0
            CALL   ENVIAR_BYTE
            MOVLW   0x00
            CALL   ENVIAR_BYTE
            CALL   CONDICION_STOP
            
            CALL   CONDICION_START
            MOVLW   0xD1
            CALL   ENVIAR_BYTE
            CALL   LEER_BYTE
            MOVWF   SEGUNDO
            CALL   LEER_BYTE
            MOVWF   MINUTO
            CALL   LEER_BYTE
            MOVWF   HORA
            CALL   LEER_BYTE
            MOVWF   DIASEMANA
            CALL   LEER_BYTE
            MOVWF   DIA
            CALL   LEER_BYTE
            MOVWF   MES
            BSF      I2C_BANDERAS,0
            CALL   LEER_BYTE
            MOVWF   AÑO
            CALL   CONDICION_STOP
            BCF      I2C_BANDERAS,0
            

;VISUALIZACION

         CALL   RETARDO
         CALL    RETARDO
         MOVLW   H'01'      ;Activa transistor
         MOVWF   PORTA
         MOVF   MINUTO,F
         RLF      MINUTO,W
         MOVWF   PORTD
         CALL   RETARDO
         CALL    RETARDO
         
         MOVLW   H'02'      ;Activa transistor
         MOVWF   PORTA
         SWAPF   MINUTO,F
         RLF      MINUTO,W
         MOVWF   PORTD
         CALL   RETARDO
         CALL    RETARDO
         
         MOVLW   H'04'      ;Activa transistor
         MOVWF   PORTA
         MOVF   SEGUNDO,F
         RLF      SEGUNDO,W
         MOVWF   PORTD
         CALL   RETARDO
         CALL   RETARDO

         MOVLW   H'08'      ;Activa transistor
         MOVWF   PORTA
         SWAPF   SEGUNDO,F
         RLF      SEGUNDO,W
         MOVWF   PORTD
         CALL   RETARDO
         CALL    RETARDO
         GOTO   RTC_LEE


CONDICION_START   BCF      PIR1,SSPIF
            CALL   BAN1
            BSF      SSPCON2,SEN
            CALL   BAN0
TERMINO_START   BTFSS   PIR1,SSPIF
            GOTO   TERMINO_START
            RETURN

CONDICION_STOP   BCF      PIR1,SSPIF
            CALL   BAN1
            BSF      SSPCON2,PEN
            CALL   BAN0
TERMINO_STOP   BTFSS   PIR1,SSPIF
            GOTO   TERMINO_STOP
            RETURN
      
ENVIAR_BYTE      BCF      PIR1,SSPIF
            MOVWF   SSPBUF
ENVIAR_BYTE_ACK   BTFSS   PIR1,SSPIF
            GOTO   ENVIAR_BYTE_ACK
            RETURN

LEER_BYTE      BCF      PIR1,SSPIF
            CALL   BAN1
            BSF      SSPCON2,RCEN
            CALL   BAN0
LEER_W         BTFSS   PIR1,SSPIF
            GOTO   LEER_W
            BTFSC   I2C_BANDERAS,0
            GOTO   NO_ACK
ACK            BCF      PIR1,SSPIF
            CALL   BAN1
            BCF      SSPCON2,ACKDT
            BSF      SSPCON2,ACKEN
            CALL   BAN0
ACK_W         BTFSS   PIR1,SSPIF
            GOTO   ACK_W
            RETURN

NO_ACK         BCF      PIR1,SSPIF
            CALL   BAN1
            BSF      SSPCON2,ACKDT
            BSF      SSPCON2,ACKEN
            CALL   BAN0
NO_ACK_W      BTFSS    PIR1,SSPIF
            GOTO   NO_ACK_W
            MOVF   SSPBUF,W
            RETURN

CARGA_INICIAL   MOVLW   0x00
            MOVWF   SEGUNDO
            MOVLW   0x00
            MOVWF   MINUTO
            CLRF   HORA
            MOVLW   0x06
            MOVWF   DIASEMANA
            MOVLW   0x02
            MOVWF   DIA
            MOVLW   0x03
            MOVWF   MES
            MOVLW   0x07
            MOVWF   AÑO
            RETURN


ESCRIBIR      CALL   CONDICION_START
            MOVLW   0xD0
            CALL   ENVIAR_BYTE
            MOVLW   0x00
            CALL   ENVIAR_BYTE
            MOVF   SEGUNDO,W
            CALL   ENVIAR_BYTE
            MOVF   MINUTO,W
            CALL   ENVIAR_BYTE
            MOVF   HORA,W
            CALL   ENVIAR_BYTE
            MOVF   DIASEMANA,W
            CALL   ENVIAR_BYTE
            MOVF   DIA,W
            CALL   ENVIAR_BYTE
            MOVF   MES,W
            CALL   ENVIAR_BYTE
            MOVF    AÑO,W
            CALL   ENVIAR_BYTE
            CALL   CONDICION_STOP
            RETURN


BAN0         BCF      STATUS,RP0
            BCF      STATUS,RP1
            RETURN   
BAN1         BSF      STATUS,RP0
            BCF      STATUS,RP1
            RETURN   
BAN2         BCF      STATUS,RP0
            BSF      STATUS,RP1
            RETURN
BAN3         BSF      STATUS,RP0
            BSF      STATUS,RP1
            RETURN   
 
RETARDO   movlw     .7        ; 1 set numero de repeticion  (B)
        movwf     PDel0     ; 1 |
PLoop1  movlw     .213      ; 1 set numero de repeticion  (A)
        movwf     PDel1     ; 1 |
PLoop2  clrwdt              ; 1 clear watchdog
        decfsz    PDel1, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto      PLoop2    ; 2 no, loop
        decfsz    PDel0,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto      PLoop1    ; 2 no, loop
PDelL1  goto    PDelL2         ; 2 ciclos delay
PDelL2  clrwdt              ; 1 ciclo delay
        return      
            END

2
Microcontroladores / Ds1307
« en: Domingo 26 de Agosto de 2007, 02:46 »
:hola:  Hola a todos, estoy trajando en un relog con ds1307 para visualizarlo en display de 4 segmentos, pero he tenido varios problemitas; al momento de visualizar solo me aparecen el numero 0 y el 5. Ademas lo he intentado simular en proteus pero me aparece lo mismo.

Alguien me podria dar idea de que esta pasando.

GRACIAS  :comp:  :comp:

3
Microcontroladores / Re: Programar Un Ds1307 Con El Pic16f877 Con I2c
« en: Miércoles 22 de Agosto de 2007, 05:03 »
hola: igual que ustedes tengo problemas con el ds1307; intento visulizar la hora en unos display de 7 segmentos pero solo me muestra u 0 y un 5 y de alli no pasa, tambien intente simularlo en proteus pero me aparece lo mismo.

me pueden dar ideas sobre que puede estar pasando.

gracias :comp:  :comp:  :comp:

4
Microcontroladores / Comunicacion Serial Entre Pics
« en: Jueves 18 de Mayo de 2006, 03:59 »
:kicking:  hola otra vez

deseo comunicar serialmente dos pics pero no se hasta que distancia puedo manejar con la usart o con i2c, porque necesito  cubrir  20 o 30 metros de distancia.

o que protocolos seriales puedo utilizar para realizar esta comunicacion.

gracias. :lightsabre:

5
Microcontroladores / Re: Programadores De Pics
« en: Sábado 29 de Abril de 2006, 02:33 »
:lightsabre: Si me refiero a como programar el pic receptor, porque en los quemadores que ya mencione no esta dentro de las librerias.

o que quemador me recomiendas para programar tanto el transmisor como el receptor.

Gracias :lightsabre:

6
Microcontroladores / Programadores De Pics
« en: Jueves 27 de Abril de 2006, 03:48 »
:lightsabre: estoy trabajando en un proyecto con rf pic pero en los programadores que he revisado (pic startplus y epicwin) solo programan tranmisores como el 12c509 y 12c675.

alguien me puede decir que programador puedo utilizar.

gracias  :lightsabre:

7
Microcontroladores / Problemas Con Epicwin
« en: Miércoles 12 de Abril de 2006, 02:41 »
:lightsabre: hola: cuando programo el pic 16f877A con el epicwin, siempre queda con codigo de proteccion, lo que no ocurre con el 16f877.

Alguien me puede explicar porque sucede esto?

Gracias

 :blink:

Páginas: [1]