📄 inv.lst
字号:
178: ;------------------------------------------------------------------------------------------------
179: ; Routine buat proses masukan sumber data dari luar
180: ;------------------------------------------------------------------------------------------------
181: 0114 11 7C looping: acall initLCD
182: 0116 11 B3 acall judul
183: 0118 31 CB acall tulram
184: 011A 31 BA acall ADC
185:
186: 011C 31 2B muter: acall datascan
187: 011E 75 4C 4F mov 4ch,#'O' ;Inverter OFF
188: 0121 75 4D 46 mov 4dh,#'F' ;Cuman tampilan tok til..
189: 0124 75 4E 46 mov 4eh,#'F'
190: 0127 51 00 acall tampilB
191: 0129 80 F1 sjmp muter
192: ;---------------------------------------------------->>SCANNING
193: 012B 20 A2 55 datascan: jb p2.2,murup ;PLN mati ga?
194: 012E 75 44 4F mov 44h,#'O'
195: 0131 75 45 46 mov 45h,#'F'
196: 0134 75 46 46 mov 46h,#'F'
197: 0137 31 EE acall tampilA
198: ;+++++++++++++++++++++++++++++++++++++++++++++++++++
199: 0139 20 A3 3B dataINV: jb p2.3,mati ;Ada suara ga?
200: 013C 20 A3 38 jb p2.3,mati ;Ada suara ga?
201: 013F 20 A3 35 jb p2.3,mati ;Ada suara ga?
202: 0142 20 A3 32 jb p2.3,mati ;Ada suara ga?
203: 0145 20 A3 2F jb p2.3,mati ;Ada suara ga?
204: 0148 20 A3 2C jb p2.3,mati ;Ada suara ga?
205: 014B 20 A3 29 jb p2.3,mati ;Ada suara ga?
206: 014E 20 A3 26 jb p2.3,mati ;Ada suara ga?
207: 0151 20 A3 23 jb p2.3,mati ;Ada suara ga?
208: 0154 20 A3 20 jb p2.3,mati ;Ada suara ga?
209: ;+++++++++++++++++++++++++++++++++++++++++++++++++++
210: 0157 75 4C 4F mov 4ch,#'O'
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 5
Line I Addr Code Source
211: 015A 75 4D 4E mov 4dh,#'N'
212: 015D 75 4E 20 mov 4eh,#' '
213: 0160 51 00 acall tampilB
214: 0162 D2 8C setb tr0 ;INverter ON (nyumet timer0 buat layanan ISR)
215:
216: 0164 30 A2 0C loopingINV_ON: jnb p2.2,loopingINV_ON_GO ;PLN murup ga?
217: 0167 C2 8C clr tr0
218: 0169 C2 8E clr tr1
219: 016B C2 A0 clr p2.0
220: 016D C2 A1 clr p2.1
221: 016F 31 83 acall murup
222: 0171 80 04 sjmp mati
223:
224: 0173 31 97 loopingINV_ON_GO:acall dataV
225: 0175 80 ED sjmp loopingINV_ON
226: ; _
227: ; | WARNING!! FLAMMABLE DEVICE
228: ; | DONT DISPOSED ON IN FIRE..
229: ; |
230: ; | HEHE......
231: ; V
232: 0177 mati:
233: 0177 75 4C 4F mov 4ch,#'O' ;Inverter OFF
234: 017A 75 4D 46 mov 4dh,#'F'
235: 017D 75 4E 46 mov 4eh,#'F'
236: 0180 51 00 acall tampilB
237: 0182 22 balikmaningX: ret
238:
239:
240: 0183 C2 8C murup: clr tr0
241: 0185 C2 8E clr tr1
242: 0187 C2 A0 clr Q
243: 0189 C2 A1 clr Qinv
244: 018B 75 44 4F mov 44h,#'O' ;PLN murup
245: 018E 75 45 4E mov 45h,#'N'
246: 0191 75 46 20 mov 46h,#' '
247: 0194 31 EE acall tampilA
248: 0196 22 balikmaning: ret
249:
250: 0197 E5 90 dataV: mov a,p1
251: 0199 90 02 24 mov dptr,#Vtabel
252: 019C 93 movc a,@a+dptr
253: 019D FA mov r2,a
254: 019E 75 F0 64 mov b,#100
255: 01A1 84 div ab
256: 01A2 44 30 orl a,#30h ;Convert to ASCHII
257: 01A4 F5 5B mov 5bh,a ;Ratusan
258: 01A6 E5 F0 mov a,b
259: 01A8 75 F0 0A mov b,#10
260: 01AB 84 div ab
261: 01AC 44 30 orl a,#30h ;Convert to ASCHII
262: 01AE F5 5C mov 5ch,a ;Puluhan
263: 01B0 E5 F0 mov a,b
264: 01B2 44 30 orl a,#30h ;Convert to ASCHII
265: 01B4 F5 5D mov 5dh,a ;Satuan
266: 01B6 00 nop
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 6
Line I Addr Code Source
267: 01B7 51 12 acall tampilX
268: 01B9 22 ret
269: ;------------------------------------------------------------------------------------------------
270: ; Routine buat merintahin ADC tuk bekerja
271: ;------------------------------------------------------------------------------------------------
272: 01BA C2 A4 ADC: clr p2.4
273: 01BC D2 A4 setb p2.4
274: 01BE 71 24 acall delay
275: 01C0 71 24 acall delay
276: 01C2 C2 A4 clr p2.4
277: 01C4 71 24 acall delay
278: 01C6 71 24 acall delay
279: 01C8 D2 A4 setb p2.4
280: 01CA 22 ret
281:
282: 01CB 74 80 tulram: mov a,#80h ; letak kursor baris 1 tepatnya di 40h
283: 01CD C2 A6 clr rs ; ini perintah
284: 01CF 11 9D acall intruksi ; lakukan perintah itu
285: 01D1 D2 A6 setb rs ; siap menulis
286: 01D3 78 40 mov r0,#40h ; dimulai isi RAM 40h
287: 01D5 E6 bar1: mov a,@r0
288: 01D6 11 AA acall nulis
289: 01D8 08 inc r0
290: 01D9 B8 50 F9 cjne r0,#50h,bar1 ; diakhiri isi RAM 4fh "di kasih 50h biar 4fh ikut kebaca
"
291: 01DC 74 C0 mov a,#0c0h ; letak kursor baris 2 tepatnya di 50h
292: 01DE C2 A6 clr rs ; intruksi
293: 01E0 11 9D acall intruksi ; tulis intruksi
294: 01E2 D2 A6 setb rs ; siap menulis data
295: 01E4 78 50 mov r0,#50h ; dimulai isi RAM 50h
296: 01E6 E6 bar2: mov a,@r0
297: 01E7 11 AA acall nulis
298: 01E9 08 inc r0
299: 01EA B8 60 F9 cjne r0,#60h,bar2 ; diakhiri isi RAM 5fh "di kasih 60h biar 5fh ikut kebaca
"
300: 01ED 22 ret
301: ;------------------------------------------------------------------------------------------------
302: ; Procedure menampilkan kondisi PLN dan Inverter
303: ;------------------------------------------------------------------------------------------------
304: 01EE 74 84 tampilA: mov a,#084h ; letak kursor baris 1 084 (mulai nulis nang 44h)
305: 01F0 C2 A6 clr rs ; tulis intruksi
306: 01F2 11 9D acall intruksi ; lakukan perintah itu
307: 01F4 D2 A6 setb rs ; siap menulis
308: 01F6 78 44 mov r0,#44h ; dimulai isi RAM 44h
309: 01F8 E6 loop: mov a,@r0
310: 01F9 11 AA acall nulis
311: 01FB 08 inc r0
312: 01FC B8 47 F9 cjne r0,#47h,loop ; diakhiri isi RAM 47h "di kasih 55h biar 46h ikut kebac
a"
313: 01FF 22 ret
314:
315: 0200 74 8C tampilB: mov a,#08ch ; letak kursor baris 1 08c (mulai nulis nang 4ch)
316: 0202 C2 A6 clr rs ; tulis intruksi
317: 0204 11 9D acall intruksi ; lakukan perintah itu
318: 0206 D2 A6 setb rs ; siap menulis
319: 0208 78 4C mov r0,#4ch ; dimulai isi RAM 4ch
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 7
Line I Addr Code Source
320: 020A E6 loop2: mov a,@r0
321: 020B 11 AA acall nulis
322: 020D 08 inc r0
323: 020E B8 4F F9 cjne r0,#4fh,loop2 ; diakhiri isi RAM 4fh "di kasih 4fh biar 4eh ikut kebac
a"
324: 0211 22 ret
325:
326: ;------------------------------------------------------------------------------------------------
327: ; Procedure menampilkan hasil hitungan tegangan
328: ;------------------------------------------------------------------------------------------------
329: 0212 74 C2 tampilX: mov a,#0c2h ; letak kursor baris 2 0c2 (mulai nulis nang 52h)
330: 0214 C2 A6 clr rs ; tulis intruksi
331: 0216 11 9D acall intruksi ; lakukan perintah itu
332: 0218 D2 A6 setb rs ; siap menulis
333: 021A 78 52 mov r0,#52h ; dimulai isi RAM 52h
334: 021C E6 loop3: mov a,@r0
335: 021D 11 AA acall nulis
336: 021F 08 inc r0
337: 0220 B8 55 F9 cjne r0,#55h,loop3 ; diakhiri isi RAM 55h "di kasih 55h biar 54h ikut kebac
a"
338: 0223 22 ret
339:
340:
341: ;------------------------------------------------------
342: ;Data LOOKUP table untuk pengambilan data tegangan
343: ;------------------------------------------------------
344: 0224 00 01 02 03 Vtabel: DB 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
0228 04 05 06 07
022C 08 09 0A 0B
0230 0C 0D 0E
345: 0233 0F 10 11 12 DB 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
0237 13 14 15 16
023B 17 18 19 1A
023F 1B 1C 1D
346: 0242 1E 1F 20 21 DB 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44
0246 22 23 24 25
024A 26 27 28 29
024E 2A 2B 2C
347: 0251 2D 2E 2F 30 DB 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59
0255 31 32 33 34
0259 35 36 37 38
025D 39 3A 3B
348: 0260 3C 3D 3E 3F DB 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
0264 40 41 42 43
0268 44 45 46 47
026C 48 49 4A
349: 026F 4B 4C 4D 4E DB 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89
0273 4F 50 51 52
0277 53 54 55 56
027B 57 58 59
350: 027E 5A 5B 5C 5D DB 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100 ,101, 102, 103, 104
0282 5E 5F 60 61
0286 62 63 64 65
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -