jam-digital-berbbasis-mikrokontroler-at89s511. bayyu.rtf
-
Upload
rizqi-abdulrohman -
Category
Documents
-
view
220 -
download
0
Transcript of jam-digital-berbbasis-mikrokontroler-at89s511. bayyu.rtf
JAM DIGITAL
BERBBASIS MIKROKONTROLER AT89S51
BAYU SARNUBI
UNIVERSITAS MUHAMMADIYAH TANGERANG
e-mail: [email protected]
PENDAHULUAN
Jam digital merupakan salah satu aplikasi dari mikrokontroler AT89S51, hal ini sangat masuk akal karena harga dari mirokontroler cukup ekonomis apabila dijadikan sebuah jam digital, masalah utama dalam pembuatannya adalah pada penyingkronan waktu dan bagaimana mengendalikan display yang dalam hal ini digunakan seven segmen melalui port serial yang terdapat pada mikrokontroler, disini juga digunakan Shif Register untuk mengeser data pada Seven Segment, adapun pemogramannya disini digunakan bahasa pemograman assembly yang sesuai dengan mata kuliah pada tugas ini.
URAIAN SINGKAT
Mikrokontroler AT 89S51
Mikrokontroler AT89S51 merupakan salah satu seri Mikrokontroler keluaran ATMEL yang relatif lebih murah dipasaran. Pada dasarnya dapat juga digunakan Mikrokontroler yang lain namun saya lebih akrab dengan seri yang ini.
AT89S51 memiliki 40 kaki, 4 port paralel yang masing masing terdiri dari 8 bit, dan disamping itu juga terdapat port serial, komunikasi serial inilah yang kita gunakan pada kesempatan ini.
Seven Segment
Seven Segment merupakan Kombinasi dari beberapa ruas Led yang disusun sedemikian rupa sehingga membentuk suatu karakter angka yang biasa dikenal dalam kehidupan sehari-hari. Seven Segmen terbagi atas dua jenis yaitu: Comon anoda dan comon katoda, disini yang kita pakai adalah comon anoda, yang merupakan seven segmen aktif low. Dimana seven segment ini akan aktif apabila inputnya diberi logika low.
Shif register 4094
Shif register 4094 memiliki 8 output paralel yang dalam hal ini dapat langsung dihubungkan pada seven segment. Shif register ini digunakan supaya tampilan dari angka angka dapat digeser kekanan. Setiap tampilan seven Segment digunakan satu Shif Register. Karena sesungguhnya data dimasukkan satu-persatu secara seri.
o
Gambar Rangkaian.
Dalam mengendalikan tampilan Seven segmen, disini hanya digunakan port serial yang terdapat pada kaki ke 10 dan 11 pada Mikrokontroler . Sedangkan suplay arus dapat berasal dari PSA 5V atau baterai yang memungkinkan
Page 2
Program.
Karena mata kuliah ini adalah bahasa pemograman Assembly maka yang digunakan disini adalah bahasa assembly untuk mikrokontroler AT89S51. Waktu tunda pada program sengaja disesuaikan agar mendekati satu detik.
bil0 equ 20h bil1 equ 0ech bil2 equ 18h bil3 equ 88h bil4 equ 0c4h bil5 equ 82h bil6 equ 2h bil7 equ 0e8h bil8 equ 0h bil9 equ 80h
utama:
mov 70h,#0h mov 71h,#0h mov 72h,#0h mov 73h,#0h mov 74h,#0h mov 75h,#0h
loop:
mov r0,70h acall transfer mov 76h,r1 mov r0,71h acall transfer mov 77h,r1 mov r0,72h acall transfer mov 78h,r1 mov r0,73h acall transfer mov 79h,r1 mov r0,74h acall transfer mov 7ah,r1 mov r0,75h acall transfer
mov 7bh,r1satu:
acall displaycjne r0,#1h,dua
inc 70hmov r1,#bil1
mov r2,70hret
cjne r2,#09h,loopdua:
mov 70h,#0hcjne r0,#2h,tiga
inc 71hmov r1,#bil2
mov r2,71hret
cjne r2,#05h,looptiga:
mov 71h,#0hcjne r0,#3h,empat
inc 72hmov r1,#bil3
mov r2,72hret
cjne r2,#09h,loopempat:
mov 72h,#0hcjne r0,#4h,lima
inc 73hmov r1,#bil4
mov r2,73hret
cjne r2,#05h,looplima:
mov 73h,#0hcjne r0,#5h,enam
in 74hmov r1,#bil5
mov r2,74hret
mov r3,75henam:
cje r3,02h, loop2cjne r0,#6h,tujuh
cjne r2,#09h,loopmov r1,#bil6
loop1:ret
dec 75htujuh:
mov r2,75hcjne r0,#7h,delapan
cjne r2,#02h,loopmov r1,#bil7
mov 75h,#0hret
jmp loopdelapan:
cjne r0,#8h,sembilan
loop2: cjne r2,#04h,loopmov r1,#bil8
jmp loop1ret
sembilan:
cjne r0,#9h,transfer
transfer:mov r1,#bil9
cjne r0,#0h,saturet
mov r1,#bil0sjmp utama
retdisplay:
mov sbuf,76h
clr ti
tnd:
jnb ti,$
mov sbuf,7ah
mov r6,#255
clr ti
jnb ti,$
td:
mov sbuf,77h
clr ti
mov r7,#16
jnb ti,$
mov sbuf,7bh
djnz r7,$
clr ti
jnb ti,$
djnz r6,td
mov sbuf,78h
clr ti
djnz r5,tunda
jnb ti,$
acall tunda
ret
clr ti
ret
end
acall tunda
mov sbuf,79h
tunda:
jnb ti,$
mov r5,#255
Pada program sesungguhnya data yng dimasukkan satu-persatu, namun pemanggilan program tunda hanya dilakukan satu kali setelah mangirim 6 data pada display secara secara beruntun, maka tampilan pada Seven segment kelihatan serentak
PENUTUP
Mikrokontroler AT89S51 dapat dirancang menjasi sebuah jam digital, meskipun disini kelihatannya tidak begitu parktis,. Pada program, waktu pertama dimulai jam 00.00.00, maka dalam awal pengoperasiannya perlu menunggu waktu tengah malam supaya jam ini sesuai dengan waktu yang sebenarnya. Hai ni merupakan salah satu kelemahan jam ini, namun jika kita tidak ingin menunggu waktu sampai tengah malam maka perlu ada sedikit modifikasi pada awal program.