Seven Segmen

Embed Size (px)

DESCRIPTION

eleltronika

Citation preview

MIKROKONTROLERPROGRAMMABLE PERIPHERAL INTERFACErface9 / 9

PRAKTIKUM IVSEVEN SEGMENT

I. Tujuan1. Mengetahuitipe seven segment.2. Membuat program untuk seven segment..II. TeoriDasarSecaraumumperangkatperaga (display) digunakanuntukmenampilkan data untukdapatdilihatmata. Di bidangelektronikterdapatbanyaktipeperaga, salahsatunyaadalahseven segment. Bentukdasar seven segment diperlihatkansepertipadaGambar5.1.

Gambar4.1

Dalamkonstruksinya seven segment dibagimenjadi 2 tipeyaitu common anode dan common cathode. Padatipe common anode kutubanoda LED tersambungsatusamalainnya, sedangkanpadatipe common cathode kutubkatoda LED tersambungsatusamalainnya.Standarkarakternumerikpada seven segment ditunjukkansepertipadatabel4.1.Tabel 4.1

III. DaftarAlatdanBahan Utama: 8031 central proccessing unit Seven Segment LED matriks Kabel Serial/Kabel USB ke Serial Kabelpenghubungsecukupnya Komputer/ program aplikasiSciTE [PT981702 Microcontroller Trainer] (for Windows)IV. KeselamatanKerjaUntukmelaksanakanpraktikumMikrokontrolerinidiperlukanlangkah-langkahuntukkeselamatan:a. Sebelumpraktikumdimulai, masing-masingpraktikanmenyiapkanjobsheet.b. Pastikanhubungankabel power padakomputer / laptop sudahtersambungdantidakadakabel yang terbuka, kemudianhidupkan (turn on) MCB panel padamejapraktikum.c. Pastikanhubungankomputerdenganperalatanlainnya, seperti keyboard dan mouse sudahterhubung.d. Hidupkankomputer, dantunggusampaisistemoperasiselesai loading dansudahdapatdigunakan.

V. LangkahKerja1) Siapkanperalatan yang diperlukan.2) RangkaiperalatansepertipadaGambar4.2

Gambar4.2

1) Atursaklar 8031 CPU padaposisi CCLK.2) Atursaklarnomor4 pemilihalamatA/D Converter padaposisi ON.3) Buat program berikutinipada editor program aplikasiSciTE [PT981702 Microcontroller Trainer], simpandengannama file SEGMENT.ASM.

4) Kompilasikan file SEGMENT.ASM menjadi file berupaheksa SEGMENT.HEX.5) Konversikan file SEGMENT.HEX kebentuk file binermenjadi SEGMENT.BIN.6) Nyalakancatudayadan reset 8031 CPU.7) Download file SEGMENT.BIN kemikrokontrolerdenganperintah Go pada menuTools.8) Reset 8031 CPU.9) Amati dancatatpadatabel 6.2 karakter yang terbentukpada seven segment.10) Ulangilangkah 4 sampai 9 untuksetiap data karaktersepertipadatabel5.2.

11) Matikancatudaya.

VI. Evaluasi

1) Bandingkan data hasilpengamatandengan data standarnumerikjelaskanmengapaterjadiperbedaan? (bit paling kiri data karakterdaritabel4.2 tidakperlu di bandingkan).2) Termasuktipeapakah seven segment yang digunakan?

VII. Analisa

org 0hProgram dimulai pada alamat nol. Tempat menyimpan data, dan apabila program direset maka program akan kembali ke alamat 00h ini.

MULAI:Ini adalah sub rutin

MOV P0,#1100000bMemindahkan data biner 11000000 ke PORT0, sehingga mengaktifkan segmen a,b,c,d,e, dan f maka terbentuk angka 0. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL DELAYMemanggil waktu tunda.

MOV P0,#11111001bMemindahkan data biner 11111001 ke PORT0, sehingga mengaktifkan segmen b dan c, maka terbentuk angka 1. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL DELAYMemanggil waktu tunda.

MOV P0,#10100100bMemindahkan data biner 10100100 ke PORT0, sehingga mengaktifkan segmen a,b,g,e dan d, maka terbentuk angka 2. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL DELAYMemanggil waktu tunda.

MOV P0,#10110000bMemindahkan data biner 10110000 ke PORT0, sehingga mengaktifkan segmen a,b,g,c dan d, maka terbentuk angka 3. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL LDELAYMemanggil waktu tunda.

MOV P0,#10011001bMemindahkan data biner 10011001 ke PORT0, sehingga mengaktifkan segmen b,f,c dan g , maka terbentuk angka 4. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL LDELAYMemanggil waktu tunda.

MOV P0,#10010010bMemindahkan data biner 10010010ke PORT0, sehingga mengaktifkan segmen a,c,d,f dan g. maka terbentuk angka 5. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL LDELAYMemanggil waktu tunda.

MOV P0,#10000010bMemindahkan data biner 10000010 ke PORT0, sehingga mengaktifkan segmen a,c,d,f,e dan g, maka terbentuk angka 6. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL LDELAYMemanggil waktu tunda.

MOV P0,#11111000bMemindahkan data biner 11111000 ke PORT0, sehingga mengaktifkan segmen a,b dan c, maka terbentuk angka 7. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL LDELAYMemanggil waktu tunda.

MOV P0,#10000000bMemindahkan data biner 10000000 ke PORT0, sehingga mengaktifkan segmen a,b,c,d,f,e dan g , maka terbentuk angka 8. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL LDELAYMemanggil waktu tunda.

MOV P0,#10010000bMemindahkan data biner 10010000 ke PORT0, sehingga mengaktifkan segmen a,b,c,d,f dan g, maka terbentuk angka 9. Pada seven segmen ini digunakan common Anoda, jadi ketika diberi logika 0 maka akan mengaktifkan segmen yang dituju.

ACALL LDELAYMemanggil waktu tunda.

SJMP MULAIMerupakan instruksi untuk Melompat ke Subrutin MULAI.

DELAY:MOVR0,#0FFhSubrutin dengan instruksi time delay/waktu tunda. Instruksi yang ada didalamnya yaitu memindahkan 0FF heksa ke Register 0 (R0) secara lansung.

DELAY1:DJNZR0,DELAY1Mengurangi R0 dengan 1 kemudian ke subrutinDELAY1 jika R0 = 0.

RETKembali ke pemanggilan semula

LDELAY:MOV R1,#0FFHSubrutin dengan instruksi time delay/waktu tunda. Instruksi yang ada didalamnya yaitu memindahkan 0FF heksa ke Register 1 (R1) secara lansung.

LDELAY1:ACALL DELAYMemanggil waktu tunda

DJNZ R1,LDELAY1Mengurangi R1 dengan 1 kemudian ke subrutinDELAY1 jika R1 = 0.

RETKembali ke pemanggilan semula

ENDMengakhiri Program

MIKROKONTROLERSEVEN SEGMENTInterface8 / 9

VIII. KesimpulanRangkaian BCD-to-seven-segment decoder adalah rangkaian digital yang berfungsi untuk mengkonversi bilangan BCD menjadi bilangan desimal. Alat ini menggunakan sebuah IC Decoder yang untuk menampilkan kode-kode biner menjadi tanda-tanda yang dapat ditanggapi secara visual di dalam sebuah Display.Rangkaian ini disertai dengan 4 buah Switch yang digunakan untuk menentukan masukan (input) yakni berupa bilangan BCD (Binary-Coded Decimal). Rangkaian ini juga disertai dengan sebuah 7 Segment Display yang berfungsi sebagai output dari rangkaian ini, yakni berupa bilangan/ angka dalam bentuk desimal..