You are on page 1of 4

list p=18f4550 include "p18f4550.

inc" __CONFIG _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L __CONFIG _CONFIG1H, _FOSC_HSPLL_HS_1H & _IESO_OFF_1H __CONFIG _CONFIG2L, _VREGEN_OFF_2L __CONFIG _CONFIG2H, _WDT_OFF_2H __CONFIG _CONFIG3H, _MCLRE_OFF_3H & _PBADEN_OFF_3H __CONFIG _CONFIG4L, _LVP_OFF_4L UNIDAD DECENA ORG TABLA: DB 0X80,0XD9,0X44,0X50,0X19,0X12,0X02,0XD8,0X00,0X18,0X80 ;direccion de in ;carga 0x0f al registro ;apaga las resistencias ;carga 0x07 al registro ;apaga los comparadores ;configura el puerto A c ;configura el puerto B c ;carga 00001111 al regis ;configura los 4 pines d ;pone en cero el puerto ;pone en cero el puerto ;ACCESO A MEMORIA FLASH DEL uC ;ACCESOA MEMORIA ;INICIO DEL PUNTERO DE L ;INICIO DEL PUNTERO DE L ;INICIO DEL PUNTERO DE L ;pone en cero el registr ;pone en cero el registr ;rutina para dec ORG 0X100 icio del programa MOVLW 0X0F del trabajo MOVWF ADCON1 internas movlw 0x07 de trabajo MOVWF CMCON de voltaje clrf TRISA,A omo salida CLRF TRISB,A omo salida MOVLW B'00001111' tro de trabajo MOVWF TRISE,A el puerto E como salida. clrf PORTA,A A CLRF PORTB,A B EECON1,EEPGD BCF EECON1,CFGS FLASH DEL uC MOVLW 0X00 MOVWF TBLPTRU,A A TABLA bits altos MOVLW 0X10 MOVWF TBLPTRH,A A TABLA bits medios MOVLW 0X00 MOVWF TBLPTRL,A A TABLA bits bajos CLRF UNIDAD o UNIDAD CLRF DECENA o DECENA LEE_PORT BSF equ equ 0X82 0X83

0X1000 ;direccion de inicio de la tabla para BCD

idir que caso escoger ;movf PORTE,W,A arda en W ;ANDLW 0X02 solo los datos necesarios BTFSS PORTE,1 GOTO INCREMENTO GOTO DECREMENTO INCREMENTO: VER BTFSC GOTO CALL OSTRAR BTFSC PORTE,0 egistro AUX1 es cero GOTO VER ontador del programa a la etiqueta VER CALL retardo_5ms crea 5ms de retardo CALL CONTAR del programa a la etiqueta CONTAR CALL VER1 ER1 GOTO VER ontador del programa a la etiqueta VER VER1 CALL VISUALIZAR rutina MOSTRAR BTFSS PORTE,0 uerto E es uno GOTO VER1 del programa a la etiqueta VER1 CALL retardo_5ms crea 5ms de retardo CALL VISUALIZAR rutina MOSTRAR RETURN rutina y retorna el valor de la pila VISUALIZAR: MOVFF UNIDAD,TBLPTRL TBLRD* MOVF TABLAT,W,A BCF LATA,1,A bit 1 del puerto A BSF LATA,2,A bit 2 del puerto A MOVWF LATB,A l valor del registro W CALL retardo_5ms MOVFF DECENA,TBLPTRL TBLRD* MOVF TABLAT,W,A BCF LATA,2,A bit 1 del puerto A

;lee el puerto E y lo gu ;hace una AND para tener

PORTE,1 DECREMENTO VISUALIZAR ;llama a la subrrutina M ;salta si el bit 6 del r ;direcciona el c ;llama a la subrrutina q ;direcciona el contador ;llama a la subrrutina V ;direcciona el c

;llama a la subr ;salta si el bit 0 del p ;direcciona el contador ;llama a la subrrutina q ;llama a la subr ;sale de la subr

;pone en cero el ;pone en uno el ;carga el puerto B con e

;pone en cero el

BSF LATA,1,A bit 2 del puerto A MOVWF LATB,A l valor del registro W CALL retardo_5ms RETURN CONTAR INCF MOVF UNIDAD XORLW .10 i W es 10 el resultado sera cero BTFSS STATUS,Z,A s cero GOTO SALIR del programa a la etiqueta SALIR CLRF UNIDAD INCF DECENA,F MOVF DECENA,W DECENA XORLW .10 i W es 10 el resultado sera cero BTFSS STATUS,Z,A s cero GOTO SALIR del programa a la etiqueta SALIR CLRF DECENA o DECENA CALL VER1 ER1 GOTO LEE_PORT del programa a la etiqueta LEE_PORT DECREMENTO: VER2 BTFSS GOTO UNIDAD,F UNIDAD,W

;pone en uno el ;carga el puerto B con e

;incrementa UNIDAD ;carga W con el valor de ;XOR W con 10, s ;salta si el resultado e ;direcciona el contador ;pone en cero a UNIDAD ;incrementa DECENA ;carga W con el valor de ;XOR W con 10, s ;salta si el resultado e ;direcciona el contador ;pone en cero el registr ;llama a la subrrutina V ;direcciona el contador

PORTE,1 INCREMENTO ;llama a la subr ;salta si el bit 6 del r ;direcciona el contador ;llama a la subrrutina q ;direcciona el contador ;llama a la subrrutina V ;direcciona el contador

CALL VISUALIZAR rutina MOSTRAR BTFSC PORTE,0 egistro AUX1 es cero GOTO VER2 del programa a la etiqueta VER CALL retardo_5ms crea 5ms de retardo CALL RESTAR del programa a la etiqueta CONTAR CALL VER1 ER1 GOTO VER2 del programa a la etiqueta VER RESTAR: MOVLW CPFSEQ GOTO MOVLW MOVWF .0 UNIDAD RESUNI .9 UNIDAD

MOVLW CPFSEQ GOTO MOVLW MOVWF GOTO RESUNI DECF GOTO RESDEC DECF GOTO SALIR

.0 DECENA RESDEC .9 DECENA SALIR UNIDAD,F SALIR DECENA,F SALIR

RETURN ;sale de la subrrutina, retorna el valor de la pila goto LEE_PORT include "C:\micros\LABC\RETARDO5MS.INC" ; incluye las subrrutinas de re tardos END

You might also like