Semaforo de crucero en Asemble.
Enviado por Kate • 8 de Abril de 2018 • 664 Palabras (3 Páginas) • 309 Visitas
...
call TEMPO ;llamamos al contador
movlw d'4'
movwf par
INTER2
movlw b'00000001' ;movemos la literal "00100001" a w
movwf TRISD ;movemos w a la salida
movlw b'00010000' ;movemos la literal "00010001" a w
movwf TRISC ;movemos w a la salida
movlw d'1' ;fijamos tiempo de ensendido
movwf acum ;movemos el valor al contador
call TEMPO ;llamamos al contador
movlw b'00011100' ;movemos la literal "00010001" a w
movwf TRISC ;movemos w a la salida
movlw d'1' ;fijamos tiempo de ensendido
movwf acum ;movemos el valor al contador
call TEMPO ;llamamos al contador
call FP2
FP2
decfsz par, f
goto INTER2
R2A1
movlw b'00000001' ;movemos la literal "00100001" a w
movwf TRISD ;movemos w a la salida
movlw b'00010010' ;movemos la literal "00010001" a w
movwf TRISC ;movemos w a la salida
movlw d'8' ;fijamos tiempo de ensendido
movwf acum ;movemos el valor al contador
call TEMPO ;llamamos al contador
R1R2
movlw b'00010001' ;movemos la literal "00010001" a w
movwf TRISC ;movemos w a la salida
movlw b'00000100' ;movemos la literal "00100001" a w
movwf TRISD ;movemos w a la salida
movlw d'32' ;fijamos tiempo de ensendido
movwf acum ;movemos el valor al contador
call TEMPO ;llamamos al contador
movlw d'4'
movwf par
INTER3
movlw b'00010001' ;movemos la literal "00010001" a w
movwf TRISC ;movemos w a la salida
movlw b'00000000' ;movemos la literal "00010001" a w
movwf TRISD ;movemos w a la salida
movlw d'1' ;fijamos tiempo de ensendido
movwf acum ;movemos el valor al contador
call TEMPO ;llamamos al contador
movlw b'00000100' ;movemos la literal "00010001" a w
movwf TRISD ;movemos w a la salida
movlw d'1' ;fijamos tiempo de ensendido
movwf acum ;movemos el valor al contador
call TEMPO ;llamamos al contador
call FP3
FP3
decfsz par, f
goto INTER3
A3
movlw b'00010001' ;movemos la literal "00010001" a w
movwf TRISC ;movemos w a la salida
movlw b'00000010' ;movemos la literal "00010001" a w
movwf TRISD ;movemos w a la salida
movlw d'8' ;fijamos tiempo de ensendido
movwf acum ;movemos el valor al contador
call TEMPO ;llamamos al contador
goto V1V2
TEMPO
c4
movlw d'5' ;1 ciclo maquina
movwf t3 ;1 ciclo maquina
c3
movlw d'200' ;1 ciclo maquina
movwf t2 ;1 ciclo maquina
c2
movlw d'82' ;1 ciclo maquina
movwf t1 ;1 ciclo maquina
c1
decfsz t1, f ;1 ciclo maquina
goto c1 ;2 ciclo maquina
decfsz t2, f ;1 ciclo maquina
goto c2 ;2 ciclo maquina
decfsz t3, f ;1 ciclo maquina
goto
...