-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.a51
91 lines (88 loc) · 1.83 KB
/
main.a51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
PROG SEGMENT CODE
CSEG AT 0
JMP start
RSEG PROG
start:
sprawdz_diode0:
JNB P3.0,czy_trzymany0 ; sprawdzenie czy przycisk 0 zostal wcisniety
JMP sprawdz_diode1
czy_trzymany0:
CLR C ; jezeli przycisk 0 jest wcisniety to wyzeruj Carry Flag
ORL C, P3.0 ; Carry Flag OR przycisk 0, flaga bedzie ustawiona jezeli przycisk zostal juz zwolniony
JC klik0 ; Jezeli przycisk byl wcisniety, ale juz jest zwolniony to skocz to klik0
JMP czy_trzymany0 ; Jezeli przycisk do tego momentu nie zostal zwolniony (jest trzymany) to sprawdzaj
; do momentu az zostanie zwolniony.
klik0:
CPL P2.0 ; Przycisk zostal wcisniety i zwolniony, czyli klikniety, wiec zmieniamy stan diody (NOT)
sprawdz_diode1:
JNB P3.1 ,czy_trzymany1
JMP sprawdz_diode2
czy_trzymany1:
CLR C
ORL C, P3.1
JC klik1
JMP czy_trzymany1
klik1:
CPL P2.1
sprawdz_diode2:
JNB P3.2 ,czy_trzymany2
JMP sprawdz_diode3
czy_trzymany2:
CLR C
ORL C, P3.2
JC klik2
JMP czy_trzymany2
klik2:
CPL P2.2
sprawdz_diode3:
JNB P3.3 ,czy_trzymany3
JMP sprawdz_diode4
czy_trzymany3:
CLR C
ORL C, P3.3
JC klik3
JMP czy_trzymany3
klik3:
CPL P2.3
sprawdz_diode4:
JNB P3.4 ,czy_trzymany4
JMP sprawdz_diode5
czy_trzymany4:
CLR C
ORL C, P3.4
JC klik4
JMP czy_trzymany4
klik4:
CPL P2.4
sprawdz_diode5:
JNB P3.5 ,czy_trzymany5
JMP sprawdz_diode6
czy_trzymany5:
CLR C
ORL C, P3.5
JC klik5
JMP czy_trzymany5
klik5:
CPL P2.5
sprawdz_diode6:
JNB P3.6 ,czy_trzymany6
JMP sprawdz_diode7
czy_trzymany6:
CLR C
ORL C, P3.6
JC klik6
JMP czy_trzymany6
klik6:
CPL P2.6
sprawdz_diode7:
JNB P3.7 ,czy_trzymany7
JMP start
czy_trzymany7:
CLR C
ORL C, P3.7
JC klik7
JMP czy_trzymany7
klik7:
CPL P2.7
SJMP start
END