PERCOBAAN 3
Seven Segmen dengan Mikrokontroler AT89S51
Pada dasarnya seven segmen ialah 8 buah led yang dikemas dalam membentuk digit digital yang dikemas dalam satu kemasan kotak plastik, sehingga dalam pemrograman mikrokontroler perlakuan seven segmen akan sama dengan melakukan pemrograman led.
Dalam aplikasinya sebuah mikrokontroler AT89S51 jika digunakan semua port untuk mengontrol seven segmen secara paralel makan jumlah digit maksimum hanyalah 4digit. disisi lain aplikasi menggunakan lebih dari 4digit, maka diperlukanlah cara lain untuk mengatasi hal ini.
Berikut ini merupakan tabel data penggunaan seven segmen :
Untuk menghemat penggunaan port maka diperlukan teknik MULTIPLEXING dalam mengontrol display seven segmen, sehingga digit yang dikontrol bisa lebih dari 4digit tetapi menggunakan port pada mikrokontroler yang minimal. teknik multiplexing ini di tunjukan pada gambar uji coba di bawah ini :
Langkah Percobaan :
Program 1 :
Menampilkan angka 0 pada digit 1 dan angka 0 pada digit 2
org 0h
$mod51
start:
mov p2,#00000001b ;aktifkan digit 1
mov p1,#10000001b ;tampilkan angka 0 pada digit 1 (lihat tabel)
call delay ;render
mov p2,#00000010b ;aktifkan digit 2
mov p1,#10011111b ;tampilkan angka 1 pada digit 2
call delay ;render
sjmp start
;-------------------------------
;---Sub rutin waktu tunda-------
;-------------------------------
delay: mov R1,#255
ret1: mov R2,#255
ret2: djnz R2,ret2
djnz R1,ret1
ret
end
$mod51
start:
mov p2,#00000001b ;aktifkan digit 1
mov p1,#10000001b ;tampilkan angka 0 pada digit 1 (lihat tabel)
call delay ;render
mov p2,#00000010b ;aktifkan digit 2
mov p1,#10011111b ;tampilkan angka 1 pada digit 2
call delay ;render
sjmp start
;-------------------------------
;---Sub rutin waktu tunda-------
;-------------------------------
delay: mov R1,#255
ret1: mov R2,#255
ret2: djnz R2,ret2
djnz R1,ret1
ret
end
Program 2:
Counter 0 - 99