jam-digital-berbbasis-mikrokontroler-at89s511. bayyu.rtf

download jam-digital-berbbasis-mikrokontroler-at89s511. bayyu.rtf

If you can't read please download the document

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.