Custom Search

Menuliskan angka atau huruf ke 7 Segmen

3.2. 7 Segmen

Seven segmen, merupakan sekumpulan LED yang dibangun sedemikian rupa sehingga menyerupai digit, seven segmen ada dua macam: common anoda dan common katoda.




Gambar 3.7. Rangkaian interface ke 7 segmen

Pada rangkaian tersebut dapat anda perhatikan bagian seven segmen, karena seven segmen yang digunakan adalah common anoda, maka segmen tersebut dapat nyala apabila mendapat logika '0' pada bagian katoda. Dengan kata lain untuk menghidupkan seven segmen yang terkoneksi ke mikrokontroler port paralel maka harus dioutputkan logika '0'.Sehingga pada contoh tersebut, agar dapat ditampilkan angka 3 pada seven segmen maka port P0 harus mengeluarkan data 00110000b

;Percobaan 3.5.1

;Program untuk menuliskan angka 3 pada seven segmen

Org 0h

Start: Mov P0,#00110000b ; tulis angka 3 pada 7 segmen

end

;Percobaan 3.5.2

;Program untuk menuliskan angka 8 pada seven segmen

Org 0h

Start: Mov P0,#00000000b ; tulis angkan 8 pada 7 segmen

end

;Percobaan 3.5.3

;Program untuk menuliskan angka 1,2,3,1,2,3..dst

;secara berturutan pada seven segmen

Org 0h

Start: Mov P0,#01111100b ; tulis angka 1 pada 7 segmen

Acall delay

Mov P0,#01000100b ; tulis angka 2 pada 7 segmen

Acall delay

Mov P0,#00110000b ; tulis angka 3 pada 7 segmen

Acall delay

Sjmp Start

;==============

;Subrutin Delay

;==============

Delay: Mov R0,#255 ; isi register R0 dengan 5

Delay1:Mov R1,#0FFh ; isi register R1 dengan FFh

Delay2:Mov R2,#0FFh ; isi register R2 dengan FFh

DJNZ R2,$ ; kurangi R2 dengan 1 dan loncat ke baris ini

DJNZ R0,Delay1 ; kurangi R0 dengan 1 dan loncat ke delay1 bila R0

Ret ; tidak nol

end

;Percobaan 3.5.4

;Program untuk menuliskan angka 1,2,3,1,2,3..dst pada sebuah 7 segmen

;secara berturutan pada seven segmen dengan menggunakan look up table

;bila anda bandingkan secara sekilas program 2.5.4. ini tidak ada perbedaan dari

;sisi tampilan, tetapi dari sisi program akan lebih memudahkan kita untuk

;mengganti data yang kita outputkan ke 7 segmen.


Org 0h

Start: Mov R1,#3 ; R1 = 3

Mov DPTR,#Angka ; DPTR = [ Angka ]

Next: CLR A ; A = 0

Movc A,@A+DPTR ; A = [A+ DPTR ]

Mov P0,A ; P0 = A

Inc DPTR ; DPTR = DPTR + 1

Acall delay ; Memanggil waktu tunda

DJNZ R1,Next ; R1 = R1-1, Jika R1 ≠ 0 maka lompat ke NEXT

Sjmp Start

;==============

;Subrutin Delay

;==============

Delay: Mov R0,#255 ; isi register R0 dengan 5

Delay1:Mov R1,#0FFh ; isi register R1 dengan FFh

Delay2:Mov R2,#0FFh ; isi register R2 dengan FFh

DJNZ R2,$ ; kurangi R2 dengan 1 dan loncat ke baris ini

DJNZ R0,Delay1 ; kurangi R0 dengan 1 dan loncat ke delay1 bila R0

Ret ; tidak nol

ANGKA:

DB 01111100b, 01000100b, 00110000b

end


;Percobaan 3.5.4b

;Program untuk menuliskan angka 1,2,3,4,5,6,7,8,9,0,1,2 dst pada sebuah 7 segmen

;seperti halnya pada percobaan 3.5.4 lakukan dengan menggunakan look up table


;Percobaan 3.5. 5

;Rencanakan program untuk menampilkan huruf pada sebuah 7 segmen

;A, b,C,d,E,F,g,h,i, A,b,...dst, dengan menggunakan look up table



Gambar 3.8. Rangkaian 8x 7 segmen

;Percobaan 3.5.6

;Program menghidupkan 8 x 7 segmen untuk menampilkan tulisan -LAbCOn-

Org 0h

Start: Mov DPTR, #Tulisan ; DPTR = [ Tulisan ]

Mov R6, #8h ; R6 = 8

Mov R1,#01111111b ; R1 = 01111111b

Again: CLR A ; A = 0

Movc A,@A+DPTR ; A = [A+DPTR]

Inc DPTR ; DPTR = DPTR + 1

Mov P0,A ; P0 = A

Mov A, R1 ; A = R1

Mov P1,A ; P1 = A

RR A ; A = 10111111b ( putar kanan 1 bit )

Mov R1,A ; R1 = A

Acall Delay ; memanggil waktu tunda

Mov P0,#11111111b ; P0 = 11111111

Djnz R6, Again ; R6 = R6 - 1, lompat ke Again bila R6 ≠ 0

; bila R6 = 0 maka melanjutkan program selanjutnya

Sjmp Start

;

Delay: Mov R2, #0FFh

Delay1:DJNZ R2, Delay1

ret

Tulisan: DB 00111111b, 01000111b, 00001000b, 00000011b

DB 01000110b, 01000000b, 01001000b, 00111111b

End

;Percobaan 3.5.7

;Rencanakan program untuk tulisan yang bergerak


0 comments:

Post a Comment

Informasi Pilihan Identitas:
Google/Blogger : Khusus yang punya Account Blogger.
Lainnya : Jika tidak punya account blogger namun punya alamat Blog atau Website.
Anonim : Jika tidak ingin mempublikasikan profile anda (tidak disarankan).

Artikel yang serupa