school

thing1's amazing school repo
Log | Files | Refs | Submodules | README

5.asm (831B)


      1 start: 
      2 init: 
      3 	clrf     PORTA          ; make sure port A output latches are low 
      4 	clrf     PORTB          ; make sure port B output latches are low 
      5 	bsf      STATUS,RP0     ; select memory bank 1 
      6 	movlw 	 b'11111111'    ; set port A data direction to inputs 
      7 	movwf 	 TRISA         
      8 	movlw 	 b'00000000'    ; set port B data direction to outputs 
      9 	movwf 	 TRISB          
     10 	bcf      STATUS,RP0     ; select memory bank 0 
     11 	goto     main 
     12 
     13 main: 
     14 	btfsc 	 PORTA, 0
     15 	goto 	 led0
     16 
     17 	btfsc 	 PORTA, 1
     18 	goto 	 led1
     19 
     20 	btfsc 	 PORTA, 2
     21 	goto 	 led2
     22 
     23 	call 	 wait1000ms
     24 	call 	 wait1000ms
     25 
     26 	movlw 	 b'00000000'
     27 	movwf	 PORTB
     28 	goto 	 main
     29 
     30 led0:
     31 	movlw 	 b'00000001'
     32 	movwf	 PORTB
     33 	goto 	 main
     34 
     35 led1:
     36 	movlw 	 b'00000010'
     37 	movwf	 PORTB
     38 	goto 	 main
     39 
     40 led2:
     41 	movlw 	 b'00000100'
     42 	movwf	 PORTB
     43 	goto 	 main
     44 
     45 	end		        ; ends the program