Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CLASES DE P16f877a
CLASES DE P16f877a
ENDC
ORG 0X2007
DW 0X3F7A
ORG 0X0000
BANKSEL TRISA
; Bank 1
BANKSEL PORTA
; Bank 0
INICIO:
; Inicio de programa
MOVLW 0X00
MOVWF DIRECCION
MOVLW .1
MOVWF DATO
CALL ESCRITURA
INCF DIRECCION,F ; Direccin 01H de la EEPROM
MOVLW .7
MOVWF DATO
CALL ESCRITURA
MOVWF DATO
CALL ESCRITURA
MOVWF DATO
CALL ESCRITURA
GOTO $
; Fin de programa
ESCRITURA:
MOVFW DIRECCION
; Bank 0
BANKSEL EEDATA
; Bank 2
MOVWF EEADR
; Direccin de EEPROM
BANKSEL PORTA
; Bank 0
MOVFW DATO
BANKSEL EEDATA
; Bank 2
MOVWF EEDATA
BANKSEL EECON1
; Bank 3
BSF EECON1,WREN
; Habilita la escritura
MOVLW 0X55
; Asegurando la escritura
MOVWF EECON2
MOVLW 0XAA
MOVWF EECON2
BSF EECON1,WR
SENSA:
; Escritura
BTFSC EECON1,WR
GOTO SENSA
BCF EECON1,WREN
; Deshabilita la escritura
BANKSEL PORTA
; Bank 0
RETURN
END
---------------------------------------------------
T1
T2
T3
ENDC
ORG 0X2007
DW 0X3F7A
ORG 0X0000
BANKSEL TRISA
; Bank 1
CLRF TRISB
BANKSEL PORTA
; Bank 0
MOVWF DIRECCION
CALL LECTURA
MOVFW DATO
MOVWF PORTB
; Primer dato
CALL DELAY
INCF DIRECCION,F ; Direccin 01H de la EEPROM
CALL LECTURA
MOVFW DATO
MOVWF PORTB
; Segundo dato
CALL DELAY
INCF DIRECCION,F ; Direccin 01H de la EEPROM
CALL LECTURA
MOVFW DATO
MOVWF PORTB
; Tercer dato
CALL DELAY
INCF DIRECCION,F ; Direccin 01H de la EEPROM
CALL LECTURA
MOVFW DATO
MOVWF PORTB
CALL DELAY
; Cuarto dato
GOTO $
; Fin de programa
LECTURA:
MOVFW DIRECCION
BANKSEL EEDATA
; Bank 2
MOVWF EEADR
; Direccin de EEPROM
BANKSEL EECON1
; Bank 3
BSF EECON1,RD
; Lectura
BANKSEL EEDATA
; Bank 2
MOVFW EEDATA
BANKSEL PORTA
MOVWF DATO
RETURN
DELAY: MOVLW .10
MOVWF T1
LAZO1:
CALL T100MS
DECFSZ T1,F
GOTO LAZO1
RETURN
CALL T1MS
; Bank 0
DECFSZ T2,F
GOTO LAZO2
RETURN
T1MS:
MOVLW .250
MOVWF T3
LAZO3:
NOP
DECFSZ T3,F
GOTO LAZO3
RETURN
END
---------------------------------------------------
ENDC
ORG 0X2007
DW 0X3F7A
ORG 0X0000
BANKSEL TRISA
; Bank 1
BANKSEL PORTA
; Bank 0
INICIO:
; Inicio de programa
MOVLW 0X00
MOVWF DIRECCION
ABC:
MOVFW DIRECCION
CALL TABLA
MOVWF DATO
CALL ESCRITURA
INCF DIRECCION,F ; Direccin 01H,02H,03H,04H
BTFSS DIRECCION,2
GOTO ABC
GOTO $
; Fin de programa
ESCRITURA:
MOVFW DIRECCION
; Bank 0
BANKSEL EEDATA
; Bank 2
MOVWF EEADR
; Direccin de EEPROM
BANKSEL PORTA
; Bank 0
MOVFW DATO
BANKSEL EEDATA
; Bank 2
MOVWF EEDATA
BANKSEL EECON1
; Bank 3
BSF EECON1,WREN
; Habilita la escritura
MOVLW 0X55
; Asegurando la escritura
MOVWF EECON2
MOVLW 0XAA
MOVWF EECON2
BSF EECON1,WR
SENSA:
; Escritura
BTFSC EECON1,WR
GOTO SENSA
BCF EECON1,WREN
; Deshabilita la escritura
BANKSEL PORTA
; Bank 0
RETURN
TABLA: ADDWF PCL,F
DT .6,.2,.6,.1
END
T1
T2
T3
ENDC
ORG 0X2007
DW 0X3F7A
ORG 0X0000
BANKSEL TRISA
; Bank 1
CLRF TRISB
BANKSEL PORTA
; Bank 0
MOVWF DIRECCION
ABC:
CALL LECTURA
MOVFW DATO
MOVWF PORTB
; 1er,2do, datos
CALL DELAY
INCF DIRECCION,F ; Direccin 01H de la EEPROM
BTFSS DIRECCION,2
GOTO ABC
GOTO $
; Fin de programa
LECTURA:
MOVFW DIRECCION
BANKSEL EEDATA
; Bank 2
MOVWF EEADR
; Direccin de EEPROM
BANKSEL EECON1
; Bank 3
BSF EECON1,RD
; Lectura
BANKSEL EEDATA
; Bank 2
MOVFW EEDATA
BANKSEL PORTA
; Bank 0
MOVWF DATO
RETURN
DELAY: MOVLW .10
MOVWF T1
LAZO1:
CALL T100MS
DECFSZ T1,F
GOTO LAZO1
RETURN
CALL T1MS
DECFSZ T2,F
GOTO LAZO2
RETURN
T1MS:
MOVLW .250
MOVWF T3
LAZO3:
NOP
DECFSZ T3,F
GOTO LAZO3
RETURN
END
-----------------------------------------------------------------------------------------------------------------------------------
T1
T2
T3
DIGITO1
DIGITO2
DIGITO3
DIGITO4
ENDC
ORG 0X2007
DW 0X3F7A
ORG 0X0000
BANKSEL TRISA
; Bank 1
MOVLW 0X1F
MOVWF TRISB
CLRF TRISD
BANKSEL PORTA
; Bank 0
LEE11:
; Pulso
BTFSS PORTB,4
GOTO LEE11
MOVFW PORTB
ANDLW 0X0F
CALL TABLA
MOVWF DIGITO1
LEE12:
BTFSC PORTB,4
; Libero
GOTO LEE12
LEE21:
BTFSS PORTB,4
; Pulso
GOTO LEE21
MOVFW PORTB
ANDLW 0X0F
CALL TABLA
MOVWF DIGITO2
LEE22:
BTFSC PORTB,4
; Libero
GOTO LEE22
LEE31:
BTFSS PORTB,4
GOTO LEE31
MOVFW PORTB
; Pulso
ANDLW 0X0F
CALL TABLA
MOVWF DIGITO3
LEE32:
BTFSC PORTB,4
; Libero
GOTO LEE32
LEE41:
BTFSS PORTB,4
; Pulso
GOTO LEE41
MOVFW PORTB
ANDLW 0X0F
CALL TABLA
MOVWF DIGITO4
LEE42:
BTFSC PORTB,4
; Libero
GOTO LEE42
COMPARACION:
DGTO1:
MOVLW 0X00
MOVWF DIRECCION
CALL LECTURA
MOVFW DATO
XORWF DIGITO1
BTFSS STATUS,Z
GOTO ERROR
DGTO2:
DGTO3:
DGTO4:
BIEN:
BSF PORTD,3
; Led verde ON
GOTO FIN
ERROR:
BSF PORTD,2
; Led rojo ON
FIN:
GOTO $
; Fin de programa
; Bank 2
MOVWF EEADR
; Direccin de EEPROM
BANKSEL EECON1
; Bank 3
BSF EECON1,RD
; Lectura
BANKSEL EEDATA
; Bank 2
MOVFW EEDATA
BANKSEL PORTA
MOVWF DATO
RETURN
DELAY: MOVLW .10
MOVWF T1
LAZO1:
CALL T100MS
DECFSZ T1,F
GOTO LAZO1
RETURN
CALL T1MS
DECFSZ T2,F
; Bank 0
GOTO LAZO2
RETURN
T1MS:
MOVLW .250
MOVWF T3
LAZO3:
NOP
DECFSZ T3,F
GOTO LAZO3
RETURN
TABLA:
ADDWF PCL,F
DT .1,.2,.3,.0,.4,.5,.6,.0,.7,.8,.9,.0,.0,.0,.0,.0
END
0X20
ENDC
ORG 0X2007
DW 0X3F7A
ORG 0X0000
BANKSEL TRISA
CLRF TRISB
; Bank 1
; Port B de salida a leds
CLRF TRISC
MOVLW
0x8E
Conversor A/D
MOVWF ADCON1
BANKSEL PORTA
MOVLW
0x01
; Bank 0
; Programacion del
Conversor A/D
MOVWF ADCON0
CLRF
PORTB
; LEDs off
CLRF
PORTC
; LEDs off
INICIO:
BSF ADCON0,2
SENSA:
BTFSC ADCON0,2
GOTO SENSA
MOVFW ADRESH
MOVWF PORTB
BANKSEL TRISA
; Bank 1
MOVFW ADRESL
BANKSEL PORTA
MOVWF PORTC
GOTO INICIO
END
; Bank 0