Advertisement
Alan468

kLIKACZE

Jul 2nd, 2017
431
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $INCLUDE (REG52.INC)
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    VARIABLES
  3. BTN1            EQU     P1.4
  4. BTN2            EQU     P1.5
  5. BTN3            EQU     P1.6
  6. BTN4            EQU     P1.7
  7.  
  8. LED1            EQU     P3.7
  9. LED2            EQU     P3.6
  10. LED3            EQU     P3.5
  11. LED4            EQU     P3.4
  12.  
  13. SDA         EQU     P3.0
  14. SCL         EQU     P3.1
  15. LOAD            EQU     P3.2
  16. OFF         EQU     P3.3
  17.  
  18.             ORG 0
  19.             MOV R5 ,#0
  20. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    MAIN
  21. _MAIN_:
  22.  
  23.             JNB BTN1 ,CALL_BTN1
  24.             SJMP    SKIP_BTN1
  25. CALL_BTN1:      ACALL   BTN1_FUNCTION
  26. SKIP_BTN1:
  27.  
  28.             JNB BTN2 ,CALL_BTN2
  29.             SJMP    SKIP_BTN2
  30. CALL_BTN2:      ACALL   BTN2_FUNCTION
  31. SKIP_BTN2:
  32.  
  33.             JNB BTN3 ,CALL_BTN3
  34.             SJMP    SKIP_BTN3
  35. CALL_BTN3:      ACALL   BTN3_FUNCTION
  36. SKIP_BTN3:
  37.  
  38.             JNB BTN4 ,CALL_BTN4
  39.             SJMP    SKIP_BTN4
  40. CALL_BTN4:      ACALL   BTN4_FUNCTION
  41. SKIP_BTN4:
  42.  
  43.             SJMP    _MAIN_
  44. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    MAIN END
  45.  
  46.  
  47.  
  48. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     BTN 1 EVENT REFRESH
  49. BTN1_FUNCTION:
  50.  
  51.             CPL LED1
  52.  
  53. MOV A, R5
  54. ACALL   WPIS
  55. MOV A, #20
  56. ACALL   WPIS
  57. MOV A, #20
  58. ACALL   WPIS
  59. MOV A, #20
  60. ACALL   WPIS
  61.  
  62. CLR LOAD
  63. SETB    LOAD
  64. CLR OFF
  65.  
  66. LOOP_CALL_BTN1:     JNB BTN1 ,LOOP_CALL_BTN1
  67.             CPL LED1
  68.     RET
  69. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  70.  
  71. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     BTN 2 EVENT UP
  72. BTN2_FUNCTION:
  73.             CPL LED2
  74.             INC R5
  75. LOOP_CALL_BTN2:     JNB BTN2 ,LOOP_CALL_BTN2
  76.             CPL LED2
  77.             SJMP    BTN1_FUNCTION
  78.     RET
  79. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  80.  
  81. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     BTN 3 EVENT DOWN
  82. BTN3_FUNCTION:
  83.             CPL     LED3
  84.             DEC R5
  85. LOOP_CALL_BTN3:     JNB BTN3 ,LOOP_CALL_BTN3
  86.             CPL LED3
  87.             SJMP    BTN1_FUNCTION
  88.     RET
  89. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  90.  
  91. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     BTN 4 EVENT
  92. BTN4_FUNCTION:
  93.             CPL LED4
  94. LOOP_CALL_BTN4:     JNB BTN4 ,LOOP_CALL_BTN4
  95.             CPL LED4
  96.     RET
  97. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  98.  
  99. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     BIT STARTU
  100. BIT_STARTU:
  101.             SETB    SDA
  102.             SETB    SCL
  103.             CLR SDA
  104.             CLR SCL
  105.     RET
  106. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  107.  
  108. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     BIT STOPU
  109. BIT_STOPU:
  110.             CLR SCL
  111.             CLR SDA
  112.             SETB    SCL
  113.             SETB    SDA
  114.     RET
  115. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  116.  
  117. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     WYSLIJ BAJT
  118. WYSLIJ_BAJT:
  119.             MOV R0,#8
  120. SEND_BYTE_LOOP:
  121.             RLC A
  122.             MOV SDA ,C
  123.             SETB    SCL
  124.             CLR SCL
  125.             DJNZ    R0 ,SEND_BYTE_LOOP
  126.     RET
  127. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  128.  
  129. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     ODBIERZ BAJT
  130. ODBIERZ_BAJT:
  131.             SETB    SDA
  132.             MOV R0,#8
  133. RCV_BYTE_LOOP: 
  134.             MOV C,SDA
  135.             RLC A
  136.             SETB    SCL
  137.             CLR SCL
  138.             DJNZ    R0 ,RCV_BYTE_LOOP
  139.     RET
  140. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  141.  
  142. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     ACK
  143. ACK:
  144.             SETB    SDA
  145. ACK_LOOP:       JB  SDA ,ACK_LOOP
  146.             SETB    SCL
  147.             CLR SCL
  148.     RET
  149. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  150.  
  151. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     PROC ACK
  152. PROC_ACK:
  153.             CLR SDA
  154.             SETB    SCL
  155.             CLR SCL
  156.     RET
  157. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  158.  
  159. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     BEZ ACK
  160. NOACK:
  161.             SETB    SDA
  162.             SETB    SCL
  163.             CLR SCL
  164.     RET
  165. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  166.  
  167. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     WYSWIETLANIE
  168. WPIS:
  169.             MOV DPTR,#TABLICA
  170.             MOVC    A@A+DPTR
  171.             MOV R0, #8
  172. WPIS_LOOP:
  173.             RLC A
  174.             MOV SDA,C
  175.             CLR SCL
  176.             SETB    SCL
  177.             DJNZ    R0,WPIS_LOOP
  178.     RET
  179.  
  180. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  181.  
  182. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    TABLICA
  183. TABLICA:
  184.         DB 03H      ; 0
  185.         DB 9FH      ; 1
  186.         DB 25H      ; 2
  187.         DB 0DH      ; 3
  188.         DB 99H      ; 4
  189.         DB 49H      ; 5
  190.         DB 41H      ; 6
  191.         DB 1FH      ; 7
  192.         DB 01H      ; 8
  193.         DB 09H      ; 9
  194.  
  195.         DB 02H      ; 0.
  196.         DB 9EH      ; 1.
  197.         DB 24H      ; 2.
  198.         DB 0CH      ; 3.
  199.         DB 98H      ; 4.
  200.         DB 48H      ; 5.
  201.         DB 40H      ; 6.
  202.         DB 1EH      ; 7.
  203.         DB 00H      ; 8.
  204.         DB 08H      ; 9.
  205.  
  206.         DB 0FFH     ; END ;20
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement