JAM DIGITAL SEDERHANA
1. Farhan Maulana Y (3.32.19.3.09)
2. Imam Adi P (3.32.19.3.12)
3. Listiana Nur'aini (3.32.19.3.14)
INPUT : Push button
OUTPUT : LCD Display
LATAR BELAKANG
POWER POINT (DOWNLOAD PPT)
;=== Deklarasi variabel ===
karX equ R2 ;menyimpan detik satuan
posX equ 11001010b
karY equ R3 ;menyimmpan puluhan
posY equ 11001001b
karZ equ R4 ;menyimmpan menit satuan
posZ equ 11000111b
karA equ R5 ;menyimmpan menit puluhan
posA equ 11000110b
karB equ R6 ;menyimmpan jam satuan
posB equ 11000100b
karC equ R7 ;menyimmpan jam puluhan
posC equ 11000011b
lcd equ P0
RS equ P3.5
En equ P3.7
perda equ 3Ch
jeda equ 20
;=== Pengesetan Awal ====
ORG 0
MOV R7 ,#30H ; mengeset jam puluhan pada kondisi jam 0,menit 0,detik 0
MOV R6 ,#30H ; mengeset jam satuan pada kondisi jam 0,menit 0,detik 0
MOV R5 ,#30H ; mengeset menit puluhan pada kondisi jam 0,menit 0,detik 0
MOV R4 ,#30H ; mengeset menit satuan pada kondisi jam 0,menit 0,detik 0
MOV R3 ,#30H ; mengeset detik puluhan pada kondisi jam 0,menit 0,detik 0
MOV R2 ,#30H ; mengeset detik satuan pada kondisi jam 0,menit 0,detik 0
awal:
CALL init
;=== Program Utama ===
JAM2:
MOV perda,#posC ;mengeset possisi jam puluhan pada LCD
CALL tulisPerintah ;perintah
MOV perda,karC ;tampilkan karakter jam puluhan
CALL tulisData ;data
JAM1:
MOV perda,#posB ;mengeset possisi jam satuan pada LCD
CALL tulisPerintah ;perintah
MOV perda,karB ;tampilkan karakter jam satuan
CALL tulisData ;data
MENIT1:
MOV perda,#posA ;mengeset possisi menit puluhan pada LCD
CALL tulisPerintah ;perintah
MOV perda,karA ;tampilkan karakter menit puluhan
CALL tulisData ;data
MENIT:
MOV perda,#posZ ;mengeset possisi menit satuan pada LCD
CALL tulisPerintah ;perintah
MOV perda,karZ ;tampilkan karakter menit satuan
CALL tulisData ;data
DETIK1:
MOV perda,#posY ;mengeset possisi detik puluhan pada LCD
CALL tulisPerintah ;perintah
MOV perda,karY ;tampilkan karakter detik puluhan
CALL tulisData ;data
DETIK :
MOV perda,#posX ;mengeset possisi detik satuan pada LCD
CALL tulisPerintah ;perintah
MOV perda,karX ;tampilkan karakter detik satuan
CALL tulisData ;data
;-----------------------------------------------------------------------
TAMBAHDET:
JB P2.0,TAMBAHMEN ;menyeting detik
INC R2 ;menambah detik satuan
JMP DET ;melompat ke detik
TAMBAHMEN:
JB P2.1,TAMBAHJAM ;menyeting menit
INC R4 ;menambah menit satuan
JMP PROGRAM ;melompat sesuai program
TAMBAHJAM :
JB P2.2,PROGRAM ;menyeting program
INC R6 ;menambah jam satuan
JMP PROGRAM ;melompat sesuai program
;-----------------------------------------------------------------------
PROGRAM:
CALL DELAY ;memanggil delay
INC R2 ;menambah detik satuan
DET:
CJNE R2, #3AH,MEN ;membandingkan #30h dengan #3Ah,melompat jika tidak sama
INC R3 ;menambah detik puluhan
MOV R2, #30H ;mengisi R2 dengan karakter 0
CJNE R3, #36H,MEN ;membandingkan #30h dengan #36h,melompat jika tidak sama
MOV R3, #30H ;mengisi R3 dengan karakter 0
INC R4 ;menambah menit satuan
MEN:
CJNE R4,#3AH,JA ;membandingkan #30h dengan #3Ah,melompat jika tidak sama
MOV R4,#30H ;mengisi R4 dengan karakter 0
INC R5 ;menambah menit puluhan
CJNE R5,#36H,JA ;membandingkan #30h dengan #36h,melompat jika tidak sama
MOV R5,#30H ;mengisi R5 dengan karakter 0
INC R6 ;menambah jam satuan
JA:
CJNE R7, #32H,JAM ;membandingkan #30h dengan #32h,melompat jika tidak sama
CJNE R6, #34H,JAM ;membandingkan #30h dengan #34h,melompat jika tidak sama
MOV R6,#30H ;mengisi R6 dengan karakter 0
MOV R7,#30H ;mengisi R7 dengan karakter 0
JMP JAM2 ;melompat sesuai program
JAM:
CJNE R6,#3AH,JAM1 ;membandingkan #30h dengan #34h,melompat jika tidak sama
MOV R6,#30H ;membandingkan #30h dengan #34h,melompat jika tidak sama
INC R7 ;menambah jam puluhan
JMP JAM2 ;melompat sesuai program
;=== Sub program ===
;- init: inisialisasi tampilan LCD -------------------------------------
init:
;DB5-Set Fungsi (001D NFxx) D:8bit N:baris0 F:kecil
MOV perda,#00111000b
CALL tulisPerintah
;DB3-Kontrol Tampilan (0000 1DCB) D:tampilan nyala C:kursor tidak B:berkedip tidak
MOV perda,#00001100b
CALL tulisPerintah
;DB0-Hapus Layar (0000 0001)
MOV perda,#00000001b
CALL tulisPerintah
;DB2-Mode Entri (0000 01IS) I:inkremen S:geser tidak
MOV perda,#00000110b
CALL tulisPerintah
RET ;kembali
;-------------------------------------------------------------------------
;- tulisPerintah/Data: menulis perintah / data ke LCD --------------------
tulisPerintah:
CLR RS ;RS=0 Perintah
SJMP tulisPerda
tulisData:
SETB RS ;RS=1 Data
tulisPerda:
MOV LCD,perda ;kirim ke LCD <== perda
SETB En ;buat pulsa Enable sesaat
CALL tunda
CLR En
RET ;kembali
;---------------------------------------------------------------------------
;- tunda: penunda waktu ----------------------------------------------------
tunda: ;tunda:
MOV 71h,#1 ;nilai awal t1 (sesuai jeda)
tunda1: ; tunda1
MOV 72h,#100 ;nilai awal t2
tunda2: ; tunda2:
MOV 73h,#10 ;nilai awal t3
tunda3: ;diam
DJNZ 73h,tunda3 ;balik ke tunda3
DJNZ 72h,tunda2 ;balik ke tunda2
DJNZ 71h,tunda1 ;balik ke tunda1
RET
DELAY:
MOV 74h,#255 ;nilai awal t1 (sesuai jeda)
tunda4: ; tunda1
MOV 75h,#100 ;nilai awal t2
tunda5:
MOV 76h,#17
DJNZ 76h,$
DJNZ 75h,tunda5 ;balik ke tunda2
DJNZ 74h,tunda4
RET ;kembali
;----------------------------------------------------------------------------
END ;selesai
VIDEO PRESENTASI DAN SIMULASI
AJO_QQ poker (k)
BalasHapuskami dari agen poker terpercaya dan terbaik di tahun ini
Deposit dan Withdraw hanya 15.000 anda sudah dapat bermain
di sini kami menyediakan 9 permainan dalam 1 aplikasi
- play aduQ
- bandar poker
- play bandarQ
- capsa sunsun
- play domino
- play poker
- sakong
-bandar 66
-perang baccarat (new game )
Dapatkan Berbagai Bonus Menarik..!! :d
PROMO MENARIK
di sini tempat nya Player Vs Player ( 100% No Robot) Anda Menang berapapun Kami
Bayar tanpa Maksimal Withdraw dan Tidak ada batas maksimal
withdraw dalam 1 hari.Bisa bermain di Android dan IOS,Sistem pembagian Kartu
menggunakan teknologi yang mutakhir dengan sistem Random
Permanent (acak) |
Whatshapp : +855969190856 ;-)