📄 flashee.lst
字号:
114
005A 115 BLINK: ; turn LED on or off for the duration
116 ; based on the value in EDATA3/2/1
FLASHEE PAGE 3
005A B2B4 117 CPL LED
118
005C 758200 119 MOV DPL,#0
005F 758300 120 MOV DPH,#0 ; clear DPTR
0062 758400 121 MOV DPP,#0
122
0065 A3 123 AGAIN1: INC DPTR ; increment DPTR.. 2
0066 E584 124 MOV A,DPP ; 1
0068 B5BE0A 125 CJNE A,EDATA3,CMPR3 ; 2
006B E583 126 MOV A,DPH ; 1
006D B5BD08 127 CJNE A,EDATA2,CMPR2 ; 2
0070 E582 128 MOV A,DPL ; 1
0072 B5BC06 129 CJNE A,EDATA1,CMPR1 ; 2
0075 00 130 CMPR3: NOP ; 1
0076 00 131 NOP ; 1
0077 00 132 NOP ; 1
0078 00 133 CMPR2: NOP ; 1
0079 00 134 NOP ; 1
007A 00 135 NOP ; 1
007B 40E8 136 CMPR1: JC AGAIN1 ; ..until DPTR>=EDATA3/2/1 2
137
007D 22 138 RET
139
140 ; this routine directly controls LED on and off times based on data
141 ; previously stored by a similar routine (GETVAL) which measures
142 ; BUTTON on and off times.
143
144 ;____________________________________________________________________
145
007E 146 GETVAL: ; get a value based on duration of
147 ; button press
007E 758200 148 MOV DPL,#0
0081 758300 149 MOV DPH,#0 ; clear DPTR
0084 758400 150 MOV DPP,#0
151
0087 B2B4 152 CPL LED
153
0089 A3 154 AGAIN2: INC DPTR ; keep incrementing DPTR.. 2
008A 00 155 NOP ; 1
008B 00 156 NOP ; 1
008C 00 157 NOP ; 1
008D 00 158 NOP ; 1
008E 00 159 NOP ; 1
008F 00 160 NOP ; 1
0090 00 161 NOP ; 1
0091 30B404 162 JNB LED,CHKB ; 2
0094 30B2F2 163 JNB BUTTON,AGAIN2 ; 2
0097 22 164 RET ; ..until the button changes state
0098 20B2EE 165 CHKB: JB BUTTON,AGAIN2 ; 2
009B 22 166 RET
167
168 ; DPTR (DPP,DPH,DPL) now holds a number that represents the length of
169 ; time between button edges. this data will be stored in FlashEE
170 ; space for use in controlling LED on and off times in "play" mode.
171
172 ;____________________________________________________________________
173
009C 174 DELAY: ; delay 100ms * A
FLASHEE PAGE 4
175
009C 7FC8 176 DLY0: MOV R7,#200 ; 200 * 500us = 100ms
009E 7EE5 177 DLY1: MOV R6,#229 ; 229 * 2.17us = 500us
00A0 DEFE 178 DJNZ R6,$ ; sit here for 500us
00A2 DFFA 179 DJNZ R7,DLY1 ; repeat 200 times (100ms total)
00A4 D5E0F5 180 DJNZ ACC,DELAY ; repeat 100ms delay ACC times
00A7 22 181 RET
182
183 ;____________________________________________________________________
184
185 END
VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
FLASHEE PAGE 5
ACC. . . . . . . . . . . . . . . D ADDR 00E0H PREDEFINED
AGAIN1 . . . . . . . . . . . . . C ADDR 0065H
AGAIN2 . . . . . . . . . . . . . C ADDR 0089H
BLINK. . . . . . . . . . . . . . C ADDR 005AH
BUTTON . . . . . . . . . . . . . NUMB 00B2H
CHKB . . . . . . . . . . . . . . C ADDR 0098H
CMPR1. . . . . . . . . . . . . . C ADDR 007BH
CMPR2. . . . . . . . . . . . . . C ADDR 0078H
CMPR3. . . . . . . . . . . . . . C ADDR 0075H
CMPRG. . . . . . . . . . . . . . C ADDR 0054H
CMPRR. . . . . . . . . . . . . . C ADDR 001CH
DELAY. . . . . . . . . . . . . . C ADDR 009CH
DLY0 . . . . . . . . . . . . . . C ADDR 009CH NOT USED
DLY1 . . . . . . . . . . . . . . C ADDR 009EH
DPH. . . . . . . . . . . . . . . D ADDR 0083H PREDEFINED
DPL. . . . . . . . . . . . . . . D ADDR 0082H PREDEFINED
DPP. . . . . . . . . . . . . . . D ADDR 0084H PREDEFINED
EADRL. . . . . . . . . . . . . . D ADDR 00C6H PREDEFINED
ECON . . . . . . . . . . . . . . D ADDR 00B9H PREDEFINED
EDATA1 . . . . . . . . . . . . . D ADDR 00BCH PREDEFINED
EDATA2 . . . . . . . . . . . . . D ADDR 00BDH PREDEFINED
EDATA3 . . . . . . . . . . . . . D ADDR 00BEH PREDEFINED
EDATA4 . . . . . . . . . . . . . D ADDR 00BFH PREDEFINED
EMPTY. . . . . . . . . . . . . . C ADDR 001EH
ERASE. . . . . . . . . . . . . . NUMB 0005H
ERASEALL . . . . . . . . . . . . NUMB 0006H
F0 . . . . . . . . . . . . . . . B ADDR 00D5H PREDEFINED
GETNEW . . . . . . . . . . . . . C ADDR 0031H
GETVAL . . . . . . . . . . . . . C ADDR 007EH
LED. . . . . . . . . . . . . . . NUMB 00B4H
P3 . . . . . . . . . . . . . . . D ADDR 00B0H PREDEFINED
PREVIOUS . . . . . . . . . . . . NUMB 00D5H NOT USED
READ . . . . . . . . . . . . . . NUMB 0001H
READPG . . . . . . . . . . . . . C ADDR 000AH
VERIFY . . . . . . . . . . . . . NUMB 0004H
WRITE. . . . . . . . . . . . . . NUMB 0002H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -