;############################################################# ; Fichero : ciclic.asm ; Autor : Juan Antonio Martinez ; Fecha: Noviembre 2001. ; Version:0.0 ; Sistema RAD-MICROS. ; Placa Microcontroladora: micro-p1684. ; Placa de Aplicaciones: apli-16leds. ; Placa de programacion: Programador Superpro II/P. ( Xeltek ) ; Bus: bus-40. ; Codigo para: PIC16C84 y PIC16F84 ; Clock: 4MHz , XT. -> Ciclo = 1 uS. ; Reset: Power On Reset. ; Watch dog: Inhabilitado. ; Proteccion de codigo: Inhabilitado. ; Ficheros requeridos: H16f84a.inc ; Funcion : Genera secuencia rotativa de izq a der en leds. ;############################################################# LIST p=PIC16F84A ; Directiva para definir micro. #include ; Fichero standard de cabezera. __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ;#################### DEFINICIONES ########################### con1 EQU 0x0C ; Variable para guardar contador1. con2 EQU 0x0D ; Variable para guardar contador2. ;################ COMIENZO DEL PROGRAMA ##################### ORG 0x00 ; Vector de Reset. GOTO inicio ; Programa Principal. ;################ PROGRAMA PRINCIPAL ######################### inicio ORG 0x05 BSF STATUS, RP0 CLRF TRISA CLRF TRISB BCF STATUS, RP0 MOVLW 0x7F MOVWF PORTA BSF STATUS,C ; Rotar PORTA a la izquierda rota_a BTFSC PORTA, 0 GOTO rota_i_b GOTO rota_b rota_a_d RLF PORTA, F CALL delay GOTO rota_a ; Rotar PORTA la derecha rota_b BTFSC PORTA,3 GOTO rota_i_b GOTO rota_a rota_i_b RRF PORTA, F CALL delay GOTO rota_b ; Condiciones del PORTA BFTSS PORTA,0 GOTO sigue_i BFTSS PORTA,1 GOTO encendido BFTSS PORTA,2 GOTO luces_b BTFSS PORTA,3 GOTO apagado ; Rotar PORTB hacia la izquierda sigue_i RLF PORTB, F CALL delay GOTO sigue_i ; Rotar PORTB hacia la derecha sigue_d RRF PORTB, F CALL delay GOTO sigue_d ; Todos PORTB encendido encendido MOVLW 0xF0 MOVWF PORTB ; Todos PORTB apagado apagado MOVLW 0xFF MOVWF PORTB ; Encenderse los leds de los extremos luces_b MOVLW 0xF6 MOVWF PORTB ;Rutina de retardo delay CLRF con1 MOVLW 0xF0 MOVWF con2 loop DECFSZ con1, F GOTO loop DECFSZ con2, F RETURN ;############### FIN DE PROGRAMA PRINCIPAL ################## END ; Fin de programa.