Advertisement
patryk

Dioda zapalona tyle ile trzymany

Mar 30th, 2015
578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $mod52
  2. org 00H
  3. JMP start
  4.  
  5. org 03H
  6. JMP pressed
  7.  
  8. org 1BH
  9. JMP full
  10.  
  11. full:
  12.     INC R3
  13.     MOV TL1, #0
  14.     MOV TH1, #0
  15.     ANL TCON, #01111111b
  16.     RETI
  17.  
  18. pressed:
  19.     MOV R3, #0      ; ILE PRZERWAN ZEGAROWYCH PRZYSZLO
  20.     MOV R4, #0
  21.     MOV TMOD, #00010000b    ; START TIMERA
  22.     MOV TCON, #01000000b
  23.  
  24.     loop:           ; USUNIĘCIE DRGAŃ ZESTYKÓW
  25.         MOV A, R3
  26.         CJNE A, #5, loop
  27.         JB P3.2, return
  28.  
  29.     JNB P3.2, $ ; CZEKANIE DOPÓKI NIE PUŚCI SIĘ PRZYCISKU
  30.  
  31.        
  32. ;####### PRZYCISK ZOSTAŁ PUSZCZONY
  33.     MOV TMOD, #0
  34.     MOV TCON, #0
  35.     MOV IE, #10001000b  ; WYŁĄCZENIE PRZERWAN EX0
  36.    
  37.     MOV A, R3
  38.     MOV R4, A   ; PRZEPISANIE CZASU TRZYMANIA GUZIKA DO REJESTRU
  39.     MOV R3, #0
  40.  
  41.     MOV TL1, #0
  42.     MOV TH1, #0
  43.     CLR P3.4    ; ZAPALENIE DIODY
  44.  
  45.     MOV TMOD, #00010000b
  46.     MOV TCON, #01000000b
  47.    
  48.     light:
  49.         MOV A, R4   ; ILE CZASU GUZIK BYŁ PRZYTRZYMANY
  50.         CJNE A, 03H, light
  51.  
  52.     SETB P3.4
  53.     MOV IE, #10001001b
  54.    
  55.     return:
  56.         RETI
  57.        
  58. start:
  59.     MOV IE, #10001001b
  60.     SETB IP.3
  61.     sjmp $
  62. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement