ervinne

Micro Sys. Lab 4 Ex. 03 - Alternating Lights

Sep 8th, 2012
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.06 KB | None | 0 0
  1.     #INCLUDE "P16F84A.INC"
  2.  
  3.     __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
  4.  
  5.     ERRORLEVEL -302
  6.  
  7.     ;----------------------------------------------------------
  8.     ;   variable declaration
  9.     COUNTERA EQU H'10'
  10.     COUNTERB EQU H'11'
  11.  
  12.     ORG 0x00
  13.     GOTO START
  14.  
  15.     ORG 0x04
  16.     GOTO START
  17.  
  18. START
  19.     ;----------------------------------------------------------
  20.     ;   register configurations
  21.     BSF STATUS, RP0
  22.     MOVLW 0x00
  23.     MOVWF TRISB
  24.  
  25.     MOVLW 0x07
  26.     MOVWF OPTION_REG
  27.  
  28.     BCF STATUS, RP0
  29.     CLRF PORTB
  30.  
  31. MAIN
  32.     ;---------------------------------------------------------
  33.     ;   start of the program
  34.     MOVLW H'55'
  35.     MOVWF PORTB
  36.     CALL DELAY
  37.  
  38.     MOVLW H'AA'
  39.     MOVWF PORTB
  40.     CALL DELAY
  41.  
  42.     GOTO MAIN
  43.  
  44. DELAY
  45.     ;---------------------------------------------------------
  46.     ;   create a delay
  47.     MOVLW D'1'
  48.     MOVWF COUNTERA
  49.  
  50. LOOPA
  51.     CALL DELAYA
  52.     DECFSZ COUNTERA, 1
  53.     GOTO LOOPA
  54.     RETLW 0x00
  55.  
  56. DELAYA
  57.     MOVLW D'15'
  58.     MOVWF COUNTERB
  59.  
  60. LOOPB
  61.     CALL DELAYB
  62.     DECFSZ COUNTERB, 1
  63.     GOTO LOOPB
  64.     RETLW 0x00
  65.  
  66. DELAYB
  67.     CLRF TMR0
  68.     BCF INTCON, T0IF
  69. LOOPC
  70.     BTFSS INTCON, T0IF
  71.     GOTO LOOPC
  72.     RETLW 0x00
  73.  
  74.     END
Advertisement
Add Comment
Please, Sign In to add comment