• Tidak ada hasil yang ditemukan

BAB V KESIMPULAN DAN SARAN

5.2 Saran

Hasil penelitian ini masih banyak kekurangan dan kelemahan, maka

penulis dapat menyarankan sebagai berikut;

1. Pengembangan pada rangkaian pendeteksi beban karena belum

berfungsi dengan baik.

2. Pada saat hour meter ini tidak digunakan untuk melakukan

1. 3.0 A Rectifier, 1N5400 thru 1N5408, STAD –JAN.07.2005

http://www.dataseheetcatalog.com

2. BT136 Series D, Rev 1.400 June 2001,http://www.datasheetcatalog.com

3. “DS1307 6x8, Serial, I

2

C Real Time Clock”, copyright 2004 Maxim

Integrated Product. Printed USA

http://www.maxim-ic.com/TechSupport/QA/ntrl.htm.

4. “Data Sheet 74HC/HCT595 8-bit serial – in / serial or parallel – out shift

register with output lacthes; 3 – state”, Philips Semiconductors. 1994June 04.

http://www.datasheetcatalog.com

5. Graf, Rudolf F. & William Sheets. 1995. Encyclopedia of ELEKTRONIC

CIRCUITS. Volume 5. TAB BOOKs Division of McGraw-Hill, Inc.

6. “M68HC08 Microcontrollers, MC68HC908QY4/D, Rev 1.0, 8/2003”,

http://www.datasheetcatalog.com/datasheets_pdf/M/C/6/8/MC68HC908QY4.s

html

7. Nalwan, P A. 2004. Panduan Praktis Penggunaan dan Antarmuka Modul

LCD M1632. PT Elex Media Komputindo Kelompok Gramedia, Jakarta.

8. Rusdianto, Eduard. 2002. Penerapan Konsep Dasar Listrik dan Elektronika,

Penerbit Kanisius, Yogyakarta.

9. “The I

2

C Bus Spefisication, Version 2.1”, January 2000.

http://www.semiconductors.philips.com/markets/mms/protocols/i2c/.

1

****************************************************

**

2 ;HOUR METER

3 ;BASE ON MOTOROLA MC68HC908QY4 4 ;I WAYAN SANTRA

5 ;005114006

6 ;UNIVERSITAS SANATA DHARMA 7

****************************************************

**

8 ;definisi macro dari: Raymond Weisling 9

0000 10 $MACRO bitset bitname 11 bset %1-(%1\8)*8,%1\8 0000 12 $MACROEND

13

0000 14 $MACRO bitclr bitname 15 bclr %1-(%1\8)*8,%1\8 0000 16 $MACROEND

17

0000 18 $MACRO braset bitname,bra_dest 19 brset %1-(%1\8)*8,%1\8,%2 0000 20 $MACROEND

21

0000 22 $MACRO braclr bitname,bra_dest 23 brclr %1-(%1\8)*8,%1\8,%2 0000 24 $MACROEND 25 **************************************************** **** 26 ************************* Inisialisasi************** **** 27 **************************************************** **** 28

29 * inisialisai Port I/O * 30

0000 31 PortA equ $00

;port I/O

0000 32 PTA0 equ PortA*8+0 0000 33 PTA1 equ PortA*8+1 0000 34 PTA2 equ PortA*8+2

Direction Register B

0000 40 DDRA0 equ DDRA*8+0 0000 41 DDRA1 equ DDRA*8+1 0000 42 DDRA2 equ DDRA*8+2 0000 43 DDRA3 equ DDRA*8+3 0000 44 DDRA4 equ DDRA*8+4 0000 45 DDRA5 equ DDRA*8+5 46

0000 47 PortB equ $01

;PortB

0000 48 SDA equ PortB*8+0 ;

0000 49 SCL equ PortB*8+1 ;

0000 50 Lclk_SPI equ PortB*8+2 ;12

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 2

STcp

0000 51 Sclk_SPI equ PortB*8+3 ;11

SHcp

0000 52 Data_SPI equ PortB*8+4 ;14

data

53

0000 54 Eclock equ PortB*8+5 ;E lcd warna hijau 0000 55 RS equ PortB*8+6 ;RS lcd 0000 56 PTB7 equ PortB*8+7 57 58 ;================================================= 59 ; PTA0 untuk switch 2 60 ; PTA1 untuk switch 1 61 ; PTA2 untuk IRQ 62 ; PTA3 untuk beban 1 63 ; PTA4 untuk beban 2

64 ; PTA5 untuk belum terpakai 65

dengan pin 12 74HC595

69 ; PTB3 untuk Shift clock 74HC595 70 ; PTB4 untuk data serial

71 ; PTB5 untuk clock LCD 72 ; PTB6 untuk RS LCD 73 ; PTB7 belum terpakai 74 ;================================================= 75 0000 76 DDRB equ $05 ;Data Direction Register B 0000 77 ambil_data equ DDRB*8+0 0000 78 DDRB1 equ DDRB*8+1 0000 79 DDRB2 equ DDRB*8+2 0000 80 DDRB3 equ DDRB*8+3 0000 81 DDRB4 equ DDRB*8+4 0000 82 DDRB5 equ DDRB*8+5 0000 83 DDRB6 equ DDRB*8+6 0000 84 DDRB7 equ DDRB*8+7 0000 85 PTBPUE equ $0C 86 ;BFCR equ $FE03 87 ;BCFE equ BFCR*8+7 88 ********************************************* 89 * inisialisai IRQ * 90 ********************************************* 0000 91 ISCR equ $1D 0000 92 ACK equ ISCR*8+2 93 94 ********************************************* 95 * inisialisasi timer * 96 ********************************************* 0000 97 TCNTH equ $21 0000 98 TCNTL equ $22 0000 99 TMODH equ $23 0000 100 TMODL equ $24 0000 101 TSC equ $20 0000 102 TIM_STOP equ TSC*8+5

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 3

;bit ke 7 TSC

105

106 ******************************************** 107 * inisialisasi keyboard interrupt * 108 ******************************************** 0000 109 KBSCR equ $1A

0000 110 IMASKK equ KBSCR*8+1 0000 111 ACKK equ KBSCR*8+2

0000 112 KBIER equ $1B

0000 113 KBIE0 equ KBIER*8+0 ;enable

bit KBI0

0000 114 KBIE1 equ KBIER*8+1 ;enable

bit KBI1

0000 115 KBIE2 equ KBIER*8+2 ;enable

bit KBI2

0000 116 KBIE3 equ KBIER*8+3 ;enable

bit KBI3

0000 117 KBIE4 equ KBIER*8+4 ;enable

bit KBI4

0000 118 KBIE5 equ KBIER*8+5 ;enable bit KBI5 119 120 ******************************************* 121 * inisialisasi memori * 122 ******************************************* 0000 123 UserRAM equ $80

0000 124 RAM equ $9E 0000 125 ROM equ $EE00 126

127 ******************************************* 128 *inisialisasi register config * 129 ******************************************* 0000 130 CONFIG2 equ $1E

0000 131 OSC1 equ CONFIG2*8+3

0000 132 IRQEN equ CONFIG2*8+6 0000 133 CONFIG1 equ $1F

0000 134 OSCSTAT equ $36

0000 135 ECGST equ OSCSTAT*8+0 0000 136 ECGON equ OSCSTAT*8+1

137 138 139

0000 142 DS_tulis equ $D0 ;alamat register DS1307 untuk tulis 0000 143 DS_baca equ $D1 ;alamat register DS1307 untuk baca 0000 144 detik equ $00 ;alamat register DS1307 untuk detik 0000 145 menit equ $01 ;alamat register DS1307 untuk menit 0000 146 jam equ $02 ;alamat register DS1307 untuk jam

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 4

0000 147 hari equ $03 ;alamat register DS1307

untuk hari

0000 148 tanggal equ $04 ;alamat register DS1307 untuk

tanggal 0000 149 bulan equ $05 ;alamat register DS1307 untuk bulan 0000 150 tahun equ $06 ;alamat register DS1307 untuk tahun 0000 151 control equ $07 ;alamat register DS1307 untuk

kontrol

152

153 ;RAM untuk menyimpan data hasil 154 ;pengukuran

155

156 ;RAM untuk alat pertama

0000 157 exram1 equ $08 ;3 byte data mulai

08,09,0A

0000 158 exram2 equ $0B ;3 byte data akhir

0B,0C,0D

0000 159 exram3 equ $0E ;3 byte data total

0E,0F,10

0000 160 exram4 equ $11 ;3 byte data jam

;3 byte data akhir 17,18,19

0000 165 exram7 equ $1A ;3 byte data total

1A,1B,1C

0000 166 exram8 equ $1D ;3 byte data jam

1D,1E,1F 167 0000 168 exram9 equ $20 ;1 byte flag 169 170 171 0080 172 ORG UserRAM 173 *---*

174 *---penyimpanan data untuk rtc---*

175 *---*

0080 176 data1_mulai ds 3 ;data mulai alat

digunakan 0083 177 data1_akhir ds 3 ;data tanggal,bulan,tahun terakhir 0086 178 data1_total ds 3 ;data jam total 0089 179 data1_jam ds 3 ;data jam pengukuran

terakhir 180 *---* 008C 181 data2_mulai ds 3 ;data mulai alat digunakan 008F 182 data2_akhir ds 3 ;data tanggal,bulan,tahun terakhir 0092 183 data2_total ds 3 ;data jam total

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 5

;data jam pengukuran terakhir 185 *---* 0098 186 data1_menit ds 1 0099 187 data1_detik ds 1 009A 188 data2_menit ds 1 009B 189 data2_detik ds 1 190 009C 191 key ds 1

009D 192 savekey1 equ key*8+0 009D 193 savekey2 equ key*8+1 009D 194 datamak equ key*8+2 009D 195 sisamenit ds 1 009E 196 sisamenit1 ds 1 009F 197 sisamenit2 ds 1 00A0 198 sisajam ds 1 199 ;sisajam1 ds 1 200 ;sisajam2 ds 1 201

009E 202 ORG RAM ;alamat awal RAM 203 009E 204 jam_set ds 1 ;00-23 009F 205 menit_set ds 1 ;00-59 00A0 206 detik_set ds 1 00A1 207 tgl_set ds 1 ; 00A2 208 bulan_set ds 1 ;01-12 00A3 209 tahun_set ds 1 ; 00A4 210 tgld1 ds 1 00A5 211 buland1 ds 1 00A6 212 tahund1 ds 1 213 214 215 00A7 216 flag ds 1

00A8 217 IRQ_flag equ flag*8+0 00A8 218 setting equ flag*8+1 00A8 219 f_tabel equ flag*8+2 00A8 220 key1 equ flag*8+3 00A8 221 key2 equ flag*8+4 00A8 222 timedelay equ flag*8+5

229 *---* 00AC 230 atur ds 1

00AD 231 aturjam equ atur*8+0 00AD 232 viewdata equ atur*8+1 00AD 233 space20 equ atur*8+2 234 *---*

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 6 235 00AD 236 Data_Serial ds 1 237 238 00AE 239 switch ds 1

00AF 240 sw00 equ switch*8+0 ;tombol 2

00AF 241 sw01 equ switch*8+1 ;tombol 1

00AF 242 sw02 equ switch*8+2 ;

00AF 243 sw03 equ switch*8+3 ;device10

00AF 244 sw04 equ switch*8+4 ;device11

00AF 245 sw05 equ switch*8+5 ;device20

00AF 246 sw06 equ switch*8+6 ;device21 247 248 00AF 249 switch1 ds 1 00B0 250 sw11 equ switch1*8+0 00B0 251 sw12 equ switch1*8+1 00B0 252 sw17 equ switch1*8+7 ;tombol 2 253 254 255 00B0 256 sisa ds 2 257

;RTC 00B3 260 menit_temp ds 1 00B4 261 jam_temp ds 1 00B5 262 hari_temp ds 1 00B6 263 tanggal_temp ds 1 00B7 264 bulan_temp ds 1 00B8 265 tahun_temp ds 1 266 267 268 ;--- 00B9 269 detik1 ds 1 00BA 270 menit1 ds 1 00BB 271 jam1 ds 3 00BE 272 detik2 ds 1 00BF 273 menit2 ds 1 00C0 274 jam2 ds 3 275 276

EE00 277 ORG ROM ;alamat awal ROM 278 EE00 [01] 9C 279 RESET rsp ;reset stack pointer EE01 [01] 4F 280 clra ;hapus accumulator EE02 [01] 8C 281 clrh ;hapus

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 7 isi register H EE03 [01] 5F 282 clrx ;hapus isi register X EE04 [02] AE80 283 ldx #!128

EE06 [03] E77F 284 HAPUS sta UserRAM-1,x ;hapus RAM

EE08 [03] 5BFC 285 dbnzx HAPUS

EE0A [04] 6E311F 286 mov #$31,CONFIG1 ;disable watchdog

290 ;init I\0

EE10 [04] 6EE404 291 mov #%11100100,DDRA EE13 [04] 6E7F05 292 mov #%01111111,DDRB ;PTB0-->PTB6 for output PTB7

EE16 [04] 6EFF01 293 mov #$FF,PortB

;untuk input

EE19 [04] 6EE700 294 mov #$E7,PortA EE1C [04] 6E030C 295 mov

#%00000011,PTBPUE ;aktifksn pullup internal 296 ;--- 297 ;init timer 298 ;mov #$50,TSC ;1100 0111-->TSC 299 ;mov #$FF,TMODH ; 300 ;mov #$FF,TMODL 301 ;--- 302 ;init keyboard 303 ;mov #$01,KBSCR 304 ;mov #$03,KBIER ;0000 0011 305 ;---

EE1F [04] 6EFFAE 306 mov #$FF,switch 307 ;mov #$FF,switch1 308

309

310 ;init_flag

EE22 [03] 3FA7 311 clr flag

EE24 [03] 3FA9 312 clr waktu EE26 [03] 3FAA 313 clr count EE28 [03] 3FA8 314 clr countsave EE2A [03] 3FAC 315 clr atur EE2C [03] 3FAF 316 clr switch1 317 318 *---* EE2E [05] CDF272 319 jsr Init_LCD ;inisialisas i LCD

EE31 [05] CDF67E 320 jsr WAVE_ON ;inisialisas

;aktifkan semua interupsi 323 324 *--- -* 325 *---program utama---*

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 8 326 *--- -* 327 ;jsr bacakey EE35 [05] CDF2EC 328 main1 jsr bacaRAM

EE38 macro 329 braset datamak,resetmak EE38 [05] 049C1B 330 BRSET %1-(%1\8)*8,%1\8,%2

EE3B [05] CDF6B2 331 mainloop jsr datawaktu

EE3E macro 332 braset PTA3,dev1_on ;jika

dev1 nyala

EE3E [05] 060018 333 BRSET %1-(%1\8)*8,%1\8,%2

EE41 macro 334 scandev2 bitclr sw11 ;else

matikan sw03

EE41 [04] 11AF 335 BCLR %1-(%1\8)*8,%1\8

EE43 macro 336 braset PTA4,dev2_on ;jika

dev2 nyala

EE43 [05] 08005F 337 BRSET %1-(%1\8)*8,%1\8,%2

EE46 macro 338 bitclr sw12 ;else matikan sw04 EE46 [04] 13AF 339 BCLR %1-(%1\8)*8,%1\8 340 341 ;braset key1,simpan ;flag simpan alat 1 342 343 ;braclr key2,look_TB ;flag simpan alat 2 344 ;bitclr key2 345 ;simpan bitclr key1 346 ; jsr savetoRTC EE48 [05] CDF789 347 look_TB jsr SCAN_TB

---

---*

EE53 [03] CCEEFB 353 jpmenu1 jmp menu1 354

EE56 [03] CCF020 355 resetmak jmp viewtotmak 356 ;bra 357 *--- ---* 358 *===================================* 359 *jika alat pertama dinyalakan program akan 360 *masuk ke bagian program berikut

361 *---

---*

362

EE59 [03] 3FB9 363 dev1_on clr detik1 EE5B [03] 3FBA 364 clr menit1 EE5D [03] 3FBB 365 clr jam1+0 366 ;bitset key1

EE5F macro 367 braset savekey1,dev1_on0 EE5F [05] 009C0A 368 BRSET %1-(%1\8)*8,%1\8,%2

EE62 macro 369 bitset savekey1 EE62 [04] 109C 370 BSET %1-(%1\8)*8,%1\8

371 ;mengetahui alat

pernah hidup

EE64 [02] A608 372 lda #exram1

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 9

EE66 [05] CDF298 373 jsr toRAM EE69 [05] CDF2B8 374 jsr toTEMP1A

EE6C macro 375 dev1_on0 bitset sw11 ;flag

pada IRQ

EE6C [04] 10AF 376 BSET %1-(%1\8)*8,%1\8

EE6E [05] CDF268 377 jsr clrscr

EE71 [01] 5F 378 clrx ;hapus

isi reg x

EE72 [04] D6F876 379 bacatab9 lda Tabel9,x ;baca

;tampilkan

EE78 [05] CDF28A 381 jsr Kirim_Karakter ; ALAT 1 ON EE7B [01] 5C 382 incx ;pada layar LCD

EE7C [03] 20F4 383 bra bacatab9 ;

EE7E [01] 5F 384 back0 clrx 385

EE7F macro 386 back1 braclr IRQ_flag,back1 EE7F [05] 01A7FD 387 BRCLR %1-(%1\8)*8,%1\8,%2

EE82 macro 388 bitclr IRQ_flag EE82 [04] 11A7 389 BCLR %1-(%1\8)*8,%1\8

EE84 [02] A6C2 390 lda #$C2

EE86 [05] CDF28E 391 jsr Kirim_Perintah ;

EE89 [05] CDF583 392 jsr view_JAM1

EE8C macro 393 braset PTA3,back1 ;baca terus alat1 EE8C [05] 0600F0 394 BRSET %1-(%1\8)*8,%1\8,%2 EE8F [05] CDF6B2 395 jsr datawaktu ;ambil data tanggal,bulan,tahun 396 ;lda #exram2 397 ;jsr toRAM EE92 [05] CDF2C5 398 jsr toTEMP1B ; EE95 [05] CDF42F 399 jsr saveTOTAL1 ;simpan ke temp mikro EE98 [05] CDF409 400 jsr save_JAM1 ;simpan ke temp mikro EE9B [05] CDF694 401 jsr savetoRTC EE9E macro 402 bitset timedelay EE9E [04] 1AA7 403 BSET %1-(%1\8)*8,%1\8

EEA0 macro 404 looping1 braset timedelay,looping1 EEA0 [05] 0AA7FD 405 BRSET %1-(%1\8)*8,%1\8,%2

EEA3 [03] 2096 406 bra mainloop ; 407 408 *--- ---* 409 *======================================* 410 *jika alat kedua dinyalakan program akan

EEA5 [03] 3FBE 414 dev2_on clr detik2 EEA7 [03] 3FBF 415 clr menit2 EEA9 [03] 3FC0 416 clr jam2+0 417 ;bitset key2

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 10

EEAB macro 418 braset savekey2,dev2_on0 EEAB [05] 029C0A 419 BRSET %1-(%1\8)*8,%1\8,%2

EEAE macro 420 bitset savekey2 EEAE [04] 129C 421 BSET %1-(%1\8)*8,%1\8

422 ;mengetahui alat

pernah hidup

EEB0 [02] A614 423 lda #exram5 EEB2 [05] CDF298 424 jsr toRAM EEB5 [05] CDF2D2 425 jsr toTEMP2A EEB8 macro 426 dev2_on0 bitset sw12 EEB8 [04] 12AF 427 BSET %1-(%1\8)*8,%1\8

EEBA [05] CDF268 428 jsr clrscr

EEBD [01] 5F 429 clrx ;hapus

isi reg x

EEBE [04] D6F888 430 bacatab10 lda Tabel10,x ;baca

tabel

EEC1 [04] 410F06 431 cbeqa #$0F,back2 ;tampilkan

EEC4 [05] CDF28A 432 jsr Kirim_Karakter ; ALAT 2 ON EEC7 [01] 5C 433 incx ;pada layar LCD

EEC8 [03] 20F4 434 bra bacatab10 ;

EECA [01] 5F 435 back2 clrx 436

EECB macro 437 back3 braclr IRQ_flag,back2 ;baca flag

interupsi

EECB [05] 01A7FC 438 BRCLR %1-(%1\8)*8,%1\8,%2

EED2 [05] CDF28E 442 jsr Kirim_Perintah ;

EED5 [05] CDF5AA 443 jsr view_JAM2

EED8 macro 444 braset PTA4,back3 ;baca terus alat 2 EED8 [05] 0800F0 445 BRSET %1-(%1\8)*8,%1\8,%2 EEDB [05] CDF6B2 446 jsr datawaktu ;ambil data tanggal,bulan,tahun 447 ;lda #exram6 448 ;jsr toRAM ; EEDE [05] CDF2DF 449 jsr toTEMP2B EEE1 [05] CDF4D9 450 jsr saveTOTAL2 EEE4 [05] CDF41C 451 jsr save_JAM2 EEE7 [05] CDF694 452 jsr savetoRTC EEEA macro 453 bitset timedelay EEEA [04] 1AA7 454 BSET %1-(%1\8)*8,%1\8

EEEC macro 455 looping1b braset timedelay,looping1b EEEC [05] 0AA7FD 456 BRSET %1-(%1\8)*8,%1\8,%2

EEEF [03] CCEE3B 457 jmp mainloop 458 ;jmp mainloop 459 *--- ---* 460 *==================================* EEF2 macro 461 viewtime braclr IRQ_flag,tomain EEF2 [05] 01A705 462 BRCLR %1-(%1\8)*8,%1\8,%2

EEF5 macro 463 bitclr IRQ_flag

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 11 EEF5 [04] 11A7 464 BCLR %1-(%1\8)*8,%1\8 EEF7 [05] CDF20D 465 jsr tampilwaktu EEFA [04] 81 466 tomain rts 467 468 *---*

469 *program untuk menampilkan menu 'pengaturan' *

470 *pada layar lcd *

471 *---*

472 menu1 ;mov #$00,CONFIG2

display lcd EF03 [01] 5F 477 clrx ;hapus reg x EF04 [01] 8C 478 clrh ;hapus reg h

EF05 [04] D6F82D 479 bacatab lda Tabel1,x

;ambil tabel

480 *---*

EF08 [04] 410F06 481 cbeqa #$0F,lagi ;tampilkan

pada lcd

EF0B [05] CDF28A 482 jsr Kirim_Karakter ;PENGATURAN

EF0E [01] 5C 483 incx

EF0F [03] 20F4 484 bra bacatab EF11 [01] 5F 485 lagi clrx

486 *---*

EF12 [05] CDF789 487 scan01 jsr SCAN_TB

EF15 macro 488 braclr sw00,setjamz ;cek flag

setjamz

EF15 [05] 01AE05 489 BRCLR %1-(%1\8)*8,%1\8,%2

EF18 macro 490 braclr sw01,menu2 EF18 [05] 03AE29 491 BRCLR %1-(%1\8)*8,%1\8,%2

EF1B [03] 20F5 492 bra scan01

493 *---*

EF1D [05] CDF09C 494 setjamz jsr setjam ;jump

to setjam

495

EF20 macro 496 bitset sw01 ;set

flag

EF20 [04] 12AE 497 BSET %1-(%1\8)*8,%1\8

EF22 [05] CDF268 498 bacatab70 jsr clrscr ;hapus layar lcd EF25 [01] 5F 499 clrx ;kosongkan reg x

;baca

tabel7

EF2A [04] 410F06 502 cbeqa #$0F,lagi7 ;akhir

karakter?

EF2D [05] CDF28A 503 jsr Kirim_Karakter ;tampilkan SIMPAN SETTING

EF30 [01] 5C 504 incx

;naikkan x

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 12

EF31 [03] 20F4 505 bra bacatab7 ;kembali baca tabel

EF33 [05] CDF789 506 lagi7 jsr SCAN_TB

;baca tombol

EF36 macro 507 braclr sw01,menu2 ;simpan

setting?

EF36 [05] 03AE0B 508 BRCLR %1-(%1\8)*8,%1\8,%2

EF39 macro 509 braset sw00,lagi7 ;

EF39 [05] 00AEF7 510 BRSET %1-(%1\8)*8,%1\8,%2

EF3C macro 511 bitset sw00 ;

EF3C [04] 10AE 512 BSET %1-(%1\8)*8,%1\8

EF3E [05] CDF60F 513 jsr toRTC ;setting di simpan

EF41 [03] CCEE4E 514 jmp main0 515

*===================================================

==*

EF44 macro 516 menu2 bitset sw01 EF44 [04] 12AE 517 BSET %1-(%1\8)*8,%1\8

EF46 [05] CDF268 518 menu20 jsr clrscr EF49 [01] 5F 519 clrx

EF4A [01] 8C 520 clrh

EF4B [04] D6F83A 521 bacatab2 lda Tabel2,x ;ambil

;tampilkan MULAI ke LCD

EF54 [01] 5C 524 incx

;naikkan x

EF55 [03] 20F4 525 bra bacatab2 ;

EF57 [01] 5F 526 lagi2 clrx ;x=0

527 ;jsr bacatmbl EF58 macro 528 braset space20,space20_1

;flag space 2

EF58 [05] 04AC16 529 BRSET %1-(%1\8)*8,%1\8,%2

530 ;jsr bacaRAM1 ;ambil data

dari RAM

EF5B [02] A631 531 lda #$31

;tampilkan 1

EF5D [05] CDF28A 532 jsr Kirim_Karakter ;

EF60 [02] A63A 533 lda #$3A

;tampilkan :

EF62 [05] CDF28A 534 lagi2a jsr Kirim_Karakter EF65 [05] CDF31B 535 jsr VIEW_MULAI1

EF68 [02] A6C0 536 lda #$C0 ;mulai

baris 2

EF6A [05] CDF28E 537 jsr Kirim_Perintah ;

EF6D macro 538 bitset space20 ;aktifkan flag

baris 2

EF6D [04] 14AC 539 BSET %1-(%1\8)*8,%1\8

EF6F [03] 20DA 540 bra bacatab2 ;baca

tabel

EF71 macro 541 space20_1 bitclr space20 ;

EF71 [04] 15AC 542 BCLR %1-(%1\8)*8,%1\8

EF73 [02] A632 543 lda #$32

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 13

;tampilkan 2

EF75 [05] CDF28A 544 jsr Kirim_Karakter ;

EF78 [02] A63A 545 lda #$3A ;

EF7A [05] CDF28A 546 lagi2b jsr Kirim_Karakter ;

EF7D [05] CDF339 547 jsr VIEW_MULAI2 EF80 [05] CDF789 548 menu2a jsr SCAN_TB

EF83 macro 549 braclr sw01,menu3 ;

EF83 [05] 03AE02 550 BRCLR %1-(%1\8)*8,%1\8,%2

EF86 [03] 20F8 551 bra menu2a ;

552 553

EF88 macro 554 menu3 bitset sw01 EF88 [04] 12AE 555 BSET %1-(%1\8)*8,%1\8

EF8A [05] CDF268 556 jsr clrscr EF8D [01] 5F 557 clrx

EF8E [01] 8C 558 clrh

EF8F [04] D6F840 559 bacatab3 lda Tabel3,x ;ambil

tabel3

EF92 [04] 410F06 560 cbeqa #$0F,lagi3

;tampilkan AKHIR

EF95 [05] CDF28A 561 jsr Kirim_Karakter ;ke LCD

EF98 [01] 5C 562 incx

EF99 [03] 20F4 563 bra bacatab3 564

EF9B [01] 5F 565 lagi3 clrx EF9C macro 566 braset space20,space30_1

;flag space 2

EF9C [05] 04AC16 567 BRSET %1-(%1\8)*8,%1\8,%2 EF9F [02] A631 568 lda #$31

EFA1 [05] CDF28A 569 jsr Kirim_Karakter EFA4 [02] A63A 570 lda #$3A

EFA6 [05] CDF28A 571 lagi3a jsr Kirim_Karakter EFA9 [05] CDF356 572 jsr VIEW_AKHIR1

EFAC [02] A6C0 573 lda #$C0 ;mulai

baris 2

EFAE [05] CDF28E 574 jsr Kirim_Perintah ;

tabel

EFB5 macro 578 space30_1 bitclr space20 ;

EFB5 [04] 15AC 579 BCLR %1-(%1\8)*8,%1\8

EFB7 [02] A632 580 lda #$32

;tampilkan 2

EFB9 [05] CDF28A 581 jsr Kirim_Karakter ;

EFBC [02] A63A 582 lda #$3A ;

EFBE [05] CDF28A 583 lagi3b jsr Kirim_Karakter ;

EFC1 [05] CDF374 584 jsr VIEW_AKHIR2 EFC4 [05] CDF789 585 menu30 jsr SCAN_TB

EFC7 macro 586 braclr sw01,menu4 EFC7 [05] 03AE02 587 BRCLR %1-(%1\8)*8,%1\8,%2

EFCA [03] 20F8 588 bra menu30 589

EFCC macro 590 menu4 bitset sw01 EFCC [04] 12AE 591 BSET %1-(%1\8)*8,%1\8

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 14

EFCE [05] CDF268 592 jsr clrscr EFD1 [01] 5F 593 clrx

EFD2 [01] 8C 594 clrh

EFD3 [04] D6F846 595 bacatab4 lda Tabel4,x ;ambil

tabel3

EFD6 [04] 410F06 596 cbeqa #$0F,lagi4 ;tampilkan

‘ LAMA ‘

EFD9 [05] CDF28A 597 jsr Kirim_Karakter ;ke LCD

EFDC [01] 5C 598 incx

EFDD [03] 20F4 599 bra bacatab4

600 ;braset space20,space40_1 ;flag space 2

EFDF [01] 5F 601 lagi4 clrx EFE0 [02] A631 602 lda #$31

EFE2 [05] CDF28A 603 jsr Kirim_Karakter EFE5 [02] A6C0 604 lda #$C0

EFE7 [05] CDF28E 605 jsr Kirim_Perintah EFEA [05] CDF3BA 606 jsr VIEW_LAMA1 EFED [05] CDF789 607 menu40 jsr SCAN_TB

EFF5 macro 612 menu4b bitset sw01 EFF5 [04] 12AE 613 BSET %1-(%1\8)*8,%1\8

EFF7 [05] CDF268 614 jsr clrscr EFFA [01] 5F 615 clrx

EFFB [01] 8C 616 clrh

EFFC [04] D6F846 617 bacatab4b lda Tabel4,x ;ambil

tabel3

EFFF [04] 410F06 618 cbeqa #$0F,lagi4b ;tampilkan ‘ LAMA ‘ F002 [05] CDF28A 619 jsr Kirim_Karakter ;ke LCD F005 [01] 5C 620 incx F006 [03] 20F4 621 bra bacatab4b 622 ;braset space20,space40_1 ;flag space 2 F008 [01] 5F 623 lagi4b clrx F009 [02] A632 624 lda #$32 F00B [05] CDF28A 625 jsr Kirim_Karakter F00E [02] A6C0 626 lda #$C0

F010 [05] CDF28E 627 jsr Kirim_Perintah F013 [05] CDF3E2 628 jsr VIEW_LAMA2 F016 [05] CDF789 629 menu40b jsr SCAN_TB

F019 macro 630 braclr sw01,menu5 F019 [05] 03AE02 631 BRCLR %1-(%1\8)*8,%1\8,%2

F01C [03] 20F8 632 bra menu40b 633

F01E macro 634 menu5 bitset sw01 F01E [04] 12AE 635 BSET %1-(%1\8)*8,%1\8

F020 [05] CDF268 636 viewtotmak jsr clrscr F023 [01] 5F 637 clrx

F024 [01] 8C 638 clrh

F025 [04] D6F84B 639 bacatab5 lda Tabel5,x ;ambil tabel3 F028 [04] 410F06 640 cbeqa #$0F,lagi5 ;tampilkan ' TOTAL ' F02B [05] CDF28A 641 jsr Kirim_Karakter ;ke LCD

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 15

F02E [01] 5C 642 incx

;flag space 2

F032 [05] 04AC16 647 BRSET %1-(%1\8)*8,%1\8,%2 F035 [02] A631 648 lda #$31

F037 [05] CDF28A 649 jsr Kirim_Karakter F03A [02] A63A 650 lda #$3A

F03C [05] CDF28A 651 lagi5a jsr Kirim_Karakter F03F [05] CDF392 652 jsr VIEW_TOTAL1 F042 [02] A6C0 653 lda #$C0 ;mulai baris 2 F044 [05] CDF28E 654 jsr Kirim_Perintah ;

F047 macro 655 bitset space20 ;aktifkan flag

baris 2

F047 [04] 14AC 656 BSET %1-(%1\8)*8,%1\8

F049 [03] 20DA 657 bra bacatab5 ;baca

tabel

F04B macro 658 space50_1 bitclr space20 ; F04B [04] 15AC 659 BCLR %1-(%1\8)*8,%1\8 F04D [02] A632 660 lda #$32 ;tampilkan 2 F04F [05] CDF28A 661 jsr Kirim_Karakter ;

F052 [02] A63A 662 lda #$3A ;

F054 [05] CDF28A 663 lagi5b jsr Kirim_Karakter ;

F057 [05] CDF3A6 664 jsr VIEW_TOTAL2 F05A [05] CDF789 665 menu50 jsr SCAN_TB

F05D macro 666 braclr sw01,menu6 F05D [05] 03AE02 667 BRCLR %1-(%1\8)*8,%1\8,%2

F060 [03] 20F8 668 bra menu50 669

F062 macro 670 menu6 bitset sw01 F062 [04] 12AE 671 BSET %1-(%1\8)*8,%1\8

F064 [05] CDF268 672 resetmakRAM jsr clrscr F067 [01] 5F 673 clrx

F068 [01] 8C 674 clrh

F069 [04] D6F851 675 bacatab6 lda Tabel6,x ;baca

tabel 3

layar LCD F072 [01] 5C 678 incx F073 [03] 20F4 679 bra bacatab6 F075 [01] 5F 680 lagi6 clrx F076 [05] CDF789 681 menu60 jsr SCAN_TB F079 macro 682 braclr sw00,rst F079 [05] 01AE05 683 BRCLR %1-(%1\8)*8,%1\8,%2

F07C macro 684 braclr sw01,menu7A F07C [05] 03AE15 685 BRCLR %1-(%1\8)*8,%1\8,%2 F07F [03] 20F5 686 bra menu60 687

F081 macro 688 rst bitset sw00 F081 [04] 10AE 689 BSET %1-(%1\8)*8,%1\8

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 16 F083 [05] CDF5E3 690 jsr resetRAM F086 [05] CDF789 691 ll jsr SCAN_TB F089 macro 692 braset sw01,ll F089 [05] 02AEFA 693 BRSET %1-(%1\8)*8,%1\8,%2 694

F08C macro 695 menu7 bitset sw01 F08C [04] 12AE 696 BSET %1-(%1\8)*8,%1\8

F08E [05] CDF67E 697 jsr WAVE_ON F091 [03] CCEE35 698 jmp main1 699

F094 macro 700 menu7A bitset sw01 F094 [04] 12AE 701 BSET %1-(%1\8)*8,%1\8

F096 [05] CDF67E 702 jsr WAVE_ON F099 [03] CCEE4E 703 jmp main0 704

705 *=====================================*

F09C macro 706 setjam bitset sw00 ;set flag F09C [04] 10AE 707 BSET %1-(%1\8)*8,%1\8 F09E [05] CDF268 708 jsr clrscr ;hapus layar lcd F0A1 [01] 8C 709 clrh F0A2 [01] 5F 710 clrx ;hapus isi reg x

F0A3 [04] D6F89A 711 bacatab11 lda Tabel11,x ;baca

; set jam F0AC [01] 5C 714 incx ;pada layar LCD

F0AD [03] 20F4 715 bra bacatab11 ; F0AF [01] 5F 716 back11 clrx 717 718 setjam0 ;jsr clrscr F0B0 [05] CDF1CB 719 jsr setdata ;tampilkan data setting jam F0B3 [05] CDF789 720 scanjam jsr SCAN_TB ;cek tombol

F0B6 macro 721 braclr sw01,setmenit

;set menit?

F0B6 [05] 03AE15 722 BRCLR %1-(%1\8)*8,%1\8,%2

F0B9 macro 723 braclr sw00,setjam1 ;set jam? F0B9 [05] 01AE02 724 BRCLR %1-(%1\8)*8,%1\8,%2 F0BC [03] 20F5 725 bra scanjam ;loop baca tombol 726 727 *=====================================*

F0BE macro 728 setjam1 bitset sw00

;set flag

F0BE [04] 10AE 729 BSET %1-(%1\8)*8,%1\8

F0C0 [04] 3C9E 730 inc jam_set

;naikkan jam

F0C2 [03] B69E 731 lda jam_set ;ambil

jam

F0C4 [04] 411802 732 cbeqa #!24,noljam

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 17

F0C9 [01] 4F 734 noljam clra

;nolkan jam

F0CA [03] B79E 735 sta jam_set ;ambil

jam

F0CC [03] 20E2 736 bra setjam0 ;loop

737

738 *=====================================* F0CE macro 739 setmenit bitset sw01 ;set

flag

F0CE [04] 12AE 740 BSET %1-(%1\8)*8,%1\8

F0D0 [05] CDF268 741 jsr clrscr ;hapus layar lcd F0D3 [01] 8C 742 clrh F0D4 [01] 5F 743 clrx ;hapus isi reg x

F0D5 [04] D6F8A2 744 bacatab12 lda Tabel12,x ;baca tabel F0D8 [04] 410F06 745 cbeqa #$0F,back12 ;tampilkan F0DB [05] CDF28A 746 jsr Kirim_Karakter ; set menit F0DE [01] 5C 747 incx ;pada layar LCD F0DF [03] 20F4 748 bra bacatab12 ; F0E1 [01] 5F 749 back12 clrx 750 751 setmenit0 ;jsr clrscr F0E2 [05] CDF1CB 752 jsr setdata ;tampilkan data setting menit

F0E5 [05] CDF789 753 scanmenit jsr SCAN_TB ;baca

tombol

F0EB [05] 01AE02 757 BRCLR %1-(%1\8)*8,%1\8,%2 F0EE [03] 20F5 758 bra scanmenit

759 *=====================================* F0F0 macro 760 setmenit1 bitset sw00 ;set flag F0F0 [04] 10AE 761 BSET %1-(%1\8)*8,%1\8 F0F2 [04] 3C9F 762 inc menit_set ;naikkan menit F0F4 [03] B69F 763 lda menit_set ;ambil menit F0F6 [04] 413C02 764 cbeqa #!60,nolmenit ;jika sama dengan 59

F0F9 [03] 20E7 765 bra setmenit0 ;kembali ke loop F0FB [01] 4F 766 nolmenit clra ;nolkan menit F0FC [03] B79F 767 sta menit_set ;ambil

F0FE [03] 20E2 768 bra setmenit0 769

770

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 18

771 *=====================================* F100 macro 772 setdetik bitset sw01 ;set flag F100 [04] 12AE 773 BSET %1-(%1\8)*8,%1\8 F102 [05] CDF268 774 jsr clrscr ;hapus layar lcd F105 [01] 8C 775 clrh F106 [01] 5F 776 clrx ;hapus isi reg x

F10A [04] 410F06 778 cbeqa #$0F,back13 ;tampilkan F10D [05] CDF28A 779 jsr Kirim_Karakter ; set detik F110 [01] 5C 780 incx ;pada layar LCD F111 [03] 20F4 781 bra bacatab13 ; F113 [01] 5F 782 back13 clrx 783 784 setdetik0 ;jsr clrscr F114 [05] CDF1CB 785 jsr setdata ;tampilkan data setting menit F117 [05] CDF789 786 scandetik jsr SCAN_TB ;baca tombol

F11A macro 787 braclr sw01,settgl ;set

tanggal?

F11A [05] 03AE15 788 BRCLR %1-(%1\8)*8,%1\8,%2

F11D macro 789 braclr sw00,setdetik1

;set menit?

F11D [05] 01AE02 790 BRCLR %1-(%1\8)*8,%1\8,%2 F120 [03] 20F5 791 bra scandetik

792 *=====================================* F122 macro 793 setdetik1 bitset sw00 ;set

flag

F122 [04] 10AE 794 BSET %1-(%1\8)*8,%1\8

F124 [04] 3CA0 795 inc detik_set

;naikkan menit

F126 [03] B6A0 796 lda detik_set ;ambil menit F128 [04] 413C02 797 cbeqa #!60,noldetik ;jika sama dengan 59

F12B [03] 20E7 798 bra setdetik0 ;kembali ke loop

803 *=====================================*

F132 macro 804 settgl bitset sw01 ;set flag F132 [04] 12AE 805 BSET %1-(%1\8)*8,%1\8 F134 [05] CDF268 806 jsr clrscr ;hapus layar lcd F137 [01] 8C 807 clrh F138 [01] 5F 808 clrx ;hapus isi reg x

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 19

F139 [04] D6F8B6 809 bacatab14 lda Tabel14,x ;baca tabel F13C [04] 410F06 810 cbeqa #$0F,back14 ;tampilkan F13F [05] CDF28A 811 jsr Kirim_Karakter ; set tanggal F142 [01] 5C 812 incx ;pada layar LCD F143 [03] 20F4 813 bra bacatab14 ; F145 [01] 5F 814 back14 clrx 815 settgl0 ;jsr clrscr F146 [05] CDF1EC 816 jsr datad1 ;tampilkan data setting tanggal

F149 [05] CDF789 817 scantgl jsr SCAN_TB

;baca tombol

F14C macro 818 braclr sw01,setbln

;set bulan?

F14C [05] 03AE16 819 BRCLR %1-(%1\8)*8,%1\8,%2

823 *=====================================*

F154 macro 824 settgl1 bitset sw00

;set flag

F154 [04] 10AE 825 BSET %1-(%1\8)*8,%1\8

F156 [04] 3CA1 826 inc tgl_set ;naikkan tanggal

F158 [03] B6A1 827 lda tgl_set ;ambil

tanggal

F15A [04] 412002 828 cbeqa #!32,noltgl ;jika sama

dengan 31

F15D [03] 20E7 829 bra settgl0 ;tidak,kembali ke loop

F15F [02] A601 830 noltgl lda #$01 ;tanggal

diisi 01

F161 [03] B7A1 831 sta tgl_set ;

F163 [03] 20E1 832 bra settgl0 ;kembali ke loop

833 *=====================================*

F165 macro 834 setbln bitset sw01 ;set flag F165 [04] 12AE 835 BSET %1-(%1\8)*8,%1\8 F167 [05] CDF268 836 jsr clrscr ;hapus layar lcd F16A [01] 8C 837 clrh F16B [01] 5F 838 clrx ;hapus isi reg x

F16C [04] D6F8C2 839 bacatab15 lda Tabel15,x ;baca tabel F16F [04] 410F06 840 cbeqa #$0F,back15 ;tampilkan F172 [05] CDF28A 841 jsr Kirim_Karakter ; set bulan F175 [01] 5C 842 incx ;pada

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 20 845 setbln0 ;jsr clrscr F179 [05] CDF1EC 846 jsr datad1 ;tampilkan data setting bulan F17C [05] CDF789 847 scanbln jsr SCAN_TB ;baca tombol

F17F macro 848 braclr sw01,setthn

;set tahun?

F17F [05] 03AE16 849 BRCLR %1-(%1\8)*8,%1\8,%2

F182 macro 850 braclr sw00,setbln1 ;tidak,set bulan? F182 [05] 01AE02 851 BRCLR %1-(%1\8)*8,%1\8,%2 F185 [03] 20F5 852 bra scanbln ;tidak,kembali baca tombol 853 *=====================================*

F187 macro 854 setbln1 bitset sw00

;set flag

F187 [04] 10AE 855 BSET %1-(%1\8)*8,%1\8

F189 [04] 3CA2 856 inc bulan_set

;naikkan bulan

F18B [03] B6A2 857 lda bulan_set ;ambil bulan F18D [04] 410D02 858 cbeqa #!13,nolbln ;jika sama dengan 12

F190 [03] 20E7 859 bra setbln0

;tidak,kembali loop

F192 [02] A601 860 nolbln lda #$01 ;bulan

diisi 01

F194 [03] B7A2 861 sta bulan_set ;

F196 [03] 20E1 862 bra setbln0 ;kembali ke loop

F19A [05] CDF268 866 jsr clrscr ;hapus layar lcd F19D [01] 8C 867 clrh F19E [01] 5F 868 clrx ;hapus isi reg x

F19F [04] D6F8CC 869 bacatab16 lda Tabel16,x ;baca

tabel

F1A2 [04] 410F06 870 cbeqa #$0F,back16 ;tampilkan

F1A5 [05] CDF28A 871 jsr Kirim_Karakter ; set tahun F1A8 [01] 5C 872 incx ;pada layar LCD

F1A9 [03] 20F4 873 bra bacatab16 ;

F1AB [01] 5F 874 back16 clrx

875 setthn0 ;jsr clrscr

F1AC [05] CDF1EC 876 jsr datad1 ;tampilkan data

setting tahun

F1AF [05] CDF789 877 scanthn jsr SCAN_TB

;baca tombol

F1B2 macro 878 braclr sw01,exitset ;keluar

setting?

F1B2 [05] 03AE15 879 BRCLR %1-(%1\8)*8,%1\8,%2

F1B5 macro 880 braclr sw00,setthn1

finalTGA_IWS_HM.asm Assembled with CASM08Z 28/09/2006 09:35:24 PAGE 21 ;tidak,set tahun F1B5 [05] 01AE02 881 BRCLR %1-(%1\8)*8,%1\8,%2 F1B8 [03] 20F5 882 bra scanthn ;tidak,kembali baca tombol 883 *=====================================*

;naikkan tahun

F1BE [03] B6A3 887 lda tahun_set ;ambil tahun F1C0 [04] 416402 888 cbeqa #!100,nolthn ;jika sama dengan 99

F1C3 [03] 20E7 889 bra setthn0

;tidak,kembali loop

F1C5 [01] 4F 890 nolthn clra

;nolkan tahun

F1C6 [03] B7A3 891 sta tahun_set ;

F1C8 [03] 20E2 892 bra setthn0 ;kembali ke loop F1CA [04] 81 893 exitset rts 894 *======================================* 895 896 897 898 *---* 899 *---subrutin set data waktu---* 900 * untuk menampilkan data jam:menit:detik *

Dokumen terkait