Documentos de Académico
Documentos de Profesional
Documentos de Cultura
d'2' BotonD equ d'3' ;Declaracion de datos en memoria ValorPORTA res 1 ;Variable que guarda el ultimo valor del puerto A ConteoRetardo res 1 ;Variable que guarda el conteo de retardo CONTADOR1 res 1 Cantidad res 1 ;======================================================================== ;Rutina principal ;---------------;Esta rutina se encuentra en la direccion 0x00000 (vector de arranque) clrf PORTA ;Se coloca el valor de los puertos a 0 antes de clrf PORTC ;establecerlos como salida bsf STATUS, RP0 ;Se selecciona el banco 1 movlw 0x06 ;Se establecen los canales del ADC en modo digital movwf ADCON1 movlw 0xFF ;Se colocan RA2 y RA3 como entradas, el resto son movwf TRISA clrf TRISB ;salidas clrf TRISC ;Todo el puerto C se establece como salidas bcf STATUS, RP0 ;Selecciona el banco 0 nuevamente Principal: movlw 0xC8 movwf Cantidad call Izquierda movlw 0xC8 movwf Cantidad call Izquierda movlw 0xC8 movwf Cantidad call Centro movlw 0xC8 movwf Cantidad call Centro movlw 0xC8 movwf Cantidad call Derecha movlw 0xC8 movwf Cantidad call Derecha ;En caso de haberlo estado, incrementa la
movlw 0xC8 movwf Cantidad call Centro movlw 0xC8 movwf Cantidad call Centro ;En caso de haberlo estado, incrementa la
goto Principal Derecha: bsf PORTB,0 movlw d'28' call Retardo bcf PORTB,0 movlw d'172' call Retardo decfsz Cantidad,F goto Derecha return Centro: bsf PORTB,0 movlw d'17' call Retardo bcf PORTB,0 movlw d'183' call Retardo decfsz Cantidad,F goto Centro return Izquierda: bsf PORTB,0 movlw d'6' call Retardo bcf PORTB,0 movlw d'194' call Retardo decfsz Cantidad,F goto Izquierda return
Retardo: movwf ConteoRetardo Nuevo_Retardo: movlw d'25' movwf CONTADOR1 Retardo_1ms: decfsz CONTADOR1,F goto Retardo_1ms decfsz ConteoRetardo,f goto Nuevo_Retardo return
end