Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. WYSW_LED_STATE DATA 02Fh
  2. SUPER_FLAGA BIT 0000h
  3. WYSW_POWER BIT P1.6
  4. CSDS XDATA 0FF30h
  5. CSDB XDATA 0FF38h
  6. WYSW_INDEKS DATA 036h
  7. WYSW_W6 DATA 030h
  8. WYSW_W5 DATA 031h
  9. WYSW_W4 DATA 032h
  10. WYSW_W3 DATA 033h
  11. WYSW_W2 DATA 034h
  12. WYSW_W1 DATA 035h
  13. WYSW_W7 DATA 037h
  14. WYSW_W8 DATA 038h
  15. WYSW_W9 DATA 039h
  16. WYSW_W0 DATA 03Ah
  17. LICZNIK DATA 03Bh
  18.  
  19. ORG 000Bh
  20.     _FAJNA_OBSLUGA_PRZERWANIA:
  21.     SETB SUPER_FLAGA
  22.     RETI
  23.  
  24. ORG 0000h
  25. _RESET:
  26.     LJMP _INIT
  27.    
  28. ORG 0100h
  29. _INIT:
  30.     LCALL WYSW_INIT
  31.     MOV TMOD, #00000001B
  32.     CLR SUPER_FLAGA
  33.     MOV IE, #10000010B
  34.     SETB TR0
  35. _LOOP:
  36.     JNB SUPER_FLAGA, _LOOP
  37.     CLR SUPER_FLAGA
  38.     LCALL OBSLUGA_FLAGI
  39.     LCALL WYSW_REFRESH
  40.     LJMP _LOOP
  41.  
  42. WYSW_INIT:
  43.     SETB WYSW_POWER
  44.     MOV WYSW_W1,#00000110b;
  45.     MOV WYSW_W2,#01011011b;
  46.     MOV WYSW_W3,#01001111b;
  47.     MOV WYSW_W4,#01100110b;
  48.     MOV WYSW_W5,#01101101b;
  49.     MOV WYSW_W6,#01111101b;
  50.     MOV WYSW_W7,#00000111b;
  51.     MOV WYSW_W8,#01111111b;
  52.     MOV WYSW_W9,#01101111b;
  53.     MOV WYSW_W0,#00111111b;
  54.     MOV WYSW_INDEKS,#00000001b;
  55.     MOV LICZNIK,#00000000b;
  56.     MOV DPTR,#CSDS
  57.     MOV A,WYSW_INDEKS
  58.     MOVX @DPTR,A
  59.     MOV WYSW_LED_STATE,#00111111b
  60.     MOV DPTR,#CSDB
  61.     MOV A,#WYSW_LED_STATE
  62.     MOVX @DPTR,A
  63.     CLR WYSW_POWER
  64.     RET
  65. WYSW_REFRESH:
  66.     SETB WYSW_POWER
  67.     MOV A,LICZNIK
  68.     INC A
  69.     MOV LICZNIK,A
  70.     MOV DPTR,#CSDS
  71.     MOV A,WYSW_INDEKS
  72.     MOVX @DPTR, A
  73.     MOV A, LICZNIK
  74.     _IF_W10:
  75.         CJNE A,#00001010b,_IF_W0
  76.         MOV A, LICZNIK
  77.         MOV A, #00000000b
  78.         MOV LICZNIK, A
  79.         JMP _IF_W0
  80.  
  81.     _IF_W0:
  82.         CJNE A,#00000000b,_IF_W9
  83.         MOV A,WYSW_W0
  84.         JMP _WYKONAJ
  85.     _IF_W9:
  86.         CJNE A,#00001001b,_IF_W8
  87.         MOV A,WYSW_W9
  88.         JMP _WYKONAJ
  89.     _IF_W8:
  90.         CJNE A,#00001000b,_IF_W7
  91.         MOV A,WYSW_W8
  92.         JMP _WYKONAJ
  93.     _IF_W7:
  94.         CJNE A,#00000111b,_IF_W6
  95.         MOV A,WYSW_W7
  96.         JMP _WYKONAJ
  97.     _IF_W6:
  98.         CJNE A,#00000110b,_IF_W5
  99.         MOV A,WYSW_W6
  100.         JMP _WYKONAJ
  101.     _IF_W5:
  102.         CJNE A,#00000101b,_IF_W4
  103.         MOV A,WYSW_W5
  104.         JMP _WYKONAJ
  105.     _IF_W4:
  106.         CJNE A,#00000100b,_IF_W3
  107.         MOV A,WYSW_W4
  108.         JMP _WYKONAJ
  109.     _IF_W3:
  110.         CJNE A,#00000011b,_IF_W2
  111.         MOV A,WYSW_W3
  112.         JMP _WYKONAJ
  113.     _IF_W2:
  114.         CJNE A,#00000010b,_IF_W1
  115.         MOV A,WYSW_W2
  116.         JMP _WYKONAJ
  117.     _IF_W1:
  118.         CJNE A,#00000001b,_WYKONAJ
  119.         MOV A,WYSW_W1
  120.         JMP _WYKONAJ
  121.     _WYKONAJ:
  122.     MOV DPTR,#CSDB
  123.     MOVX @DPTR,A
  124.     CLR WYSW_POWER
  125.     RET
  126.  
  127. OBSLUGA_FLAGI:
  128.     NOP
  129.     RET
  130.    
  131. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement