Facebook
From Tacky Meerkat, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 64
  1. WSKAZNIK1 DATA 030h
  2. WSKAZNIK2 DATA 031h
  3. WSKAZNIK3 DATA 032h
  4. WSKAZNIK4 DATA 033h
  5. WSKAZNIK5 DATA 034h
  6. WSKAZNIK6 DATA 035h
  7.  
  8. _KBD_KOD DATA 037h
  9. _KBD_FLG_0 BIT 00h
  10. _KBD_FLG_1 BIT 01h
  11. _KBD_FLG_2 BIT 02h
  12. _KBD_FLG_3 BIT 03h
  13. _KBD_FLG_4 BIT 04h
  14. _KBD_FLG_5 BIT 05h
  15.  
  16. POM DATA 36h
  17.  
  18. ORG 0000h
  19. _RESET:
  20.         LJMP _INIT
  21. ORG 0100h
  22. _INIT:
  23.         CALL _7SEG_INIT
  24.         MOV _KBD_KOD,#0d
  25.         CLR _KBD_FLG_0
  26.         CLR _KBD_FLG_1
  27.         CLR _KBD_FLG_2
  28.         CLR _KBD_FLG_3
  29.         CLR _KBD_FLG_4
  30.         CLR _KBD_FLG_5
  31.         CALL _7SEG_INIT
  32. _PROGRAM:
  33.         CALL _DELAY
  34.         CALL _7SEG_REFRESH
  35.         CALL _KBD_REFRESH
  36.         JNB _KBD_FLG_0, _LOOP_END
  37.         CLR _KBD_FLG_0
  38.         MOV R0, _KBD_KOD
  39.         CJNE R0,#00000001b,_CD30
  40.         CLR P1.7
  41.         JMP _LOOP_END
  42. _CD30:
  43.         SETB P1.7
  44.         MOV _KBD_KOD,#0d
  45. _LOOP_END:
  46.         LJMP _PROGRAM
  47. _7SEG_INIT:
  48.     MOV WSKAZNIK6,#00100000b
  49.         MOV WSKAZNIK5,#00010000b
  50.         MOV WSKAZNIK4,#00001000b
  51.         MOV WSKAZNIK3,#00000100b
  52.         MOV WSKAZNIK2,#00000010b
  53.         MOV WSKAZNIK1,#00000001b
  54.         MOV POM,#128d
  55.         MOV A, POM
  56.         MOV DPTR, #0FF30h
  57.         MOVX @DPTR,A
  58.         CALL _7SEG_REFRESH
  59. RET
  60. _7SEG_REFRESH:
  61.         SETB P1.6
  62.        
  63.         MOV DPTR, #0FF30h
  64.         MOVX @DPTR,A
  65.         CJNE A,WSKAZNIK1, _LABEL1
  66.     MOV A,#0d
  67.         LJMP _LOOP
  68. _LABEL1:
  69.         CJNE A,WSKAZNIK2, _LABEL2
  70.         MOV A,#1d
  71.         LJMP _LOOP
  72. _LABEL2:
  73.         CJNE A,WSKAZNIK3, _LABEL3
  74.         MOV A,#2d
  75.         LJMP _LOOP
  76. _LABEL3:
  77.         CJNE A,WSKAZNIK4, _LABEL4
  78.         MOV A,#3d
  79.         LJMP _LOOP
  80. _LABEL4:
  81.         CJNE A,WSKAZNIK5, _LABEL5
  82.         MOV A,#4d
  83.         LJMP _LOOP
  84. _LABEL5:
  85.         CJNE A,WSKAZNIK6, _LOOP
  86.         MOV A,#5d
  87.         LJMP _LOOP
  88. _LOOP:
  89.         MOV DPTR, #_CYFRY
  90.         MOVC A, @A+DPTR
  91.         MOV DPTR, #0FF38h
  92.         MOVX @DPTR, A
  93.         CLR P1.6
  94. RET
  95. _DELAY:
  96.         MOV R6,#2D
  97. LABEL1:
  98.         MOV R7,#2D
  99. LABEL2:
  100.         DJNZ R7,LABEL2
  101.         DJNZ R6,LABEL1
  102. RET
  103. _KBD_REFRESH:
  104.  
  105.         SETB P1.6
  106.         MOV A, #1b
  107.         MOV DPTR, #0FF30h
  108.         MOVX @DPTR, A
  109.         JNB P3.5, _ELSE00
  110.         MOV R0, _KBD_KOD
  111.         CJNE R0, #1b, _CD00
  112.         JMP _CD20
  113.        
  114. _CD00:
  115.         SETB _KBD_FLG_0
  116.         ORL _KBD_KOD, #1b
  117.         JMP _CD20
  118. _ELSE00:
  119.         MOV R0, _KBD_KOD
  120.         CJNE R0, #00000000b, _CD10
  121.         JMP _CD20
  122.        
  123. _CD10:
  124.         SETB _KBD_FLG_0
  125.         ANL _KBD_KOD, #11111110b
  126.        
  127. _CD20:
  128.        
  129.         MOV A, POM
  130.         MOV DPTR, #0FF30h
  131.         MOVX @DPTR,A
  132.         MOV A, #10b
  133.         MOV DPTR, #0FF30h
  134.         MOVX @DPTR, A
  135.         JNB P3.5, _ELSE01
  136.         MOV R0, _KBD_KOD
  137.         CJNE R0, #10b, _CD01
  138.         JMP _CD21
  139.        
  140. _CD01:
  141.         SETB _KBD_FLG_1
  142.         ORL _KBD_KOD, #10b
  143.         JMP _CD21
  144. _ELSE01:
  145.         MOV R0, _KBD_KOD
  146.         CJNE R0, #00000000b, _CD11
  147.         JMP _CD21
  148.        
  149. _CD11:
  150.         SETB _KBD_FLG_1
  151.         ANL _KBD_KOD, #11111101b
  152.        
  153. _CD21:
  154.        
  155.         MOV A, POM
  156.         MOV DPTR, #0FF30h
  157.         MOVX @DPTR,A
  158.         MOV A, #100b
  159.         MOV DPTR, #0FF30h
  160.         MOVX @DPTR, A
  161.         JNB P3.5, _ELSE02
  162.         MOV R0, _KBD_KOD
  163.         CJNE R0, #100b, _CD02
  164.         JMP _CD22
  165.        
  166. _CD02:
  167.         SETB _KBD_FLG_2
  168.         ORL _KBD_KOD, #100b
  169.         MOV A,POM
  170.         RR A
  171.         MOV POM,A
  172.         JMP _CD22
  173. _ELSE02:
  174.         MOV R0, _KBD_KOD
  175.         CJNE R0, #00000000b, _CD12
  176.         JMP _CD22
  177.        
  178. _CD12:
  179.         SETB _KBD_FLG_2
  180.         ANL _KBD_KOD, #11111011b
  181.        
  182. _CD22:
  183.        
  184.         MOV A, POM
  185.         MOV DPTR, #0FF30h
  186.         MOVX @DPTR,A
  187.         MOV A, #1000b
  188.         MOV DPTR, #0FF30h
  189.         MOVX @DPTR, A
  190.         JNB P3.5, _ELSE03
  191.         MOV R0, _KBD_KOD
  192.         CJNE R0, #1000b, _CD03
  193.         JMP _CD23
  194.        
  195. _CD03:
  196.         SETB _KBD_FLG_3
  197.         ORL _KBD_KOD, #1000b
  198.         JMP _CD23
  199. _ELSE03:
  200.         MOV R0, _KBD_KOD
  201.         CJNE R0, #00000000b, _CD13
  202.         JMP _CD23
  203.        
  204. _CD13:
  205.         SETB _KBD_FLG_3
  206.         ANL _KBD_KOD, #11110111b
  207.        
  208. _CD23:
  209.        
  210.         MOV A, POM
  211.         MOV DPTR, #0FF30h
  212.         MOVX @DPTR,A
  213.         MOV A, #10000b
  214.         MOV DPTR, #0FF30h
  215.         MOVX @DPTR, A
  216.         JNB P3.5, _ELSE04
  217.         MOV R0, _KBD_KOD
  218.         CJNE R0, #10000b, _CD04
  219.         JMP _CD24
  220.        
  221. _CD04:
  222.         SETB _KBD_FLG_4
  223.         ORL _KBD_KOD, #10000b
  224.         JMP _CD24
  225. _ELSE04:
  226.         MOV R0, _KBD_KOD
  227.         CJNE R0, #00000000b, _CD14
  228.         JMP _CD24
  229.        
  230. _CD14:
  231.         SETB _KBD_FLG_4
  232.         ANL _KBD_KOD, #11101111b
  233.        
  234. _CD24:
  235.        
  236.         MOV A, POM
  237.         MOV DPTR, #0FF30h
  238.         MOVX @DPTR,A
  239.         MOV A, #100000b
  240.         MOV DPTR, #0FF30h
  241.         MOVX @DPTR, A
  242.         JNB P3.5, _ELSE05
  243.         MOV R0, _KBD_KOD
  244.         CJNE R0, #100000b, _CD05
  245.         JMP _CD25
  246.        
  247. _CD05:
  248.         SETB _KBD_FLG_5
  249.         ORL _KBD_KOD, #100000b
  250.         JMP _CD25
  251. _ELSE05:
  252.         MOV R0, _KBD_KOD
  253.         CJNE R0, #00000000b, _CD15
  254.         JMP _CD25
  255.        
  256. _CD15:
  257.         SETB _KBD_FLG_5
  258.         ANL _KBD_KOD, #11011111b
  259. _CD25:
  260.         MOV A, POM
  261.         MOV DPTR, #0FF30h
  262.         MOVX @DPTR,A
  263.         CLR P1.6
  264. RET
  265. _CYFRY:
  266.        
  267.         DB 3Fh
  268.         DB 06h
  269.         DB 5Bh
  270.         DB 4Fh
  271.         DB 66h
  272.         DB 6Dh
  273.         DB 7Dh
  274.         DB 07h
  275.         DB 7Fh
  276.         DB 67h
  277. END
  278.