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
2C 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
2C 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 *