Advertisement
Guest User

2_lab_4_var

a guest
Mar 28th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.00 KB | None | 0 0
  1. #INCLUDE "P16F877A.INC"
  2.     COUNT EQU 20h
  3.     COUNT_1 EQU 21h
  4.     COUNT_2 EQU 22h
  5.     COUNT_3 EQU 23h
  6.     COUNT_4 EQU 24h
  7.     COUNT_5 EQU 25h
  8.     ORG 0
  9.    
  10. START:  
  11.     BSF STATUS,RP0
  12.     BCF TRISA,RB4
  13.     CLRF TRISD
  14.     BCF STATUS,RP0
  15.     CLRF PORTD
  16.        
  17. RUN:
  18. main_part
  19. ;   start main part
  20. call PROVERKA
  21. BTFSC COUNT_5,0
  22. INCF PORTD,F
  23. DECF PORTD,F
  24. CLRF COUNT_5
  25. goto main_part
  26. ;   end main part
  27.    
  28. PROVERKA:
  29.     MOVLW 50
  30.     MOVWF COUNT_1
  31.     LOOP_COUNT_1:
  32.     MOVLW 50
  33.     MOVWF COUNT_2
  34.     LOOP_COUNT_2:
  35.         MOVLW 50
  36.         MOVWF COUNT_3
  37.         LOOP_COUNT_3:
  38.         BSF PORTB,4
  39.         BTFSC PORTB,4
  40.         NOP
  41.         CALL DELAY
  42.         CALL DELAY
  43.         BTFSC PORTB,4
  44.         NOP
  45.         BSF COUNT_5,0
  46.         DECFSZ COUNT_3,F
  47.         GOTO LOOP_COUNT_3
  48.         DECFSZ COUNT_2,F
  49.     GOTO LOOP_COUNT_2
  50.     DECFSZ COUNT_1,F
  51.     GOTO LOOP_COUNT_1
  52. RETURN  
  53.    
  54. DELAY:
  55.     MOVLW 50
  56.     MOVWF COUNT
  57.     MOVLW 50
  58.     MOVWF COUNT_4
  59.     LOOP_4:
  60.         LOOP:
  61.         DECFSZ COUNT,F
  62.         GOTO LOOP
  63.         DECFSZ COUNT_4,F
  64.     GOTO LOOP_4
  65.     RETURN
  66.  
  67. END ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement