A. JUDUL PERCOBAAN SEVEN SEGMEN B. Tujuan Percobaan 1. Mahasiswa dapat memahami rangkaian mikrokontroller dengan menggunakan seven segmen 2. Mampu membuat program untuk mikrokontroller yang menggunakan saklar untuk menampilkan huruf dan angka pada seven segmen 3. Memahami instruksi yang digunakan dalam mikrokontroller yang menggunakan saklar untuk menampilkan huruf dan angka pada seven segmen. C. Teori Dasar Gambar Rangkaian Mikrikontroller Seven Segmen dengan PushButton dan Saklar geser. NASRULLAH YUSUF_1129040100 | 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
A.JUDUL PERCOBAAN
SEVEN SEGMEN
B.Tujuan Percobaan
1. Mahasiswa dapat memahami rangkaian mikrokontroller dengan
menggunakan seven segmen
2. Mampu membuat program untuk mikrokontroller yang menggunakan saklar
untuk menampilkan huruf dan angka pada seven segmen
3. Memahami instruksi yang digunakan dalam mikrokontroller yang
menggunakan saklar untuk menampilkan huruf dan angka pada seven
segmen.
C.Teori Dasar
Gambar Rangkaian Mikrikontroller Seven Segmen dengan PushButton dan
Saklar geser.
Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu chip.
Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat
atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa
port masukan maupun keluaran, dan beberapa peripheral seperti
pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog
NASRULLAH YUSUF_1129040100 | 1
converter) dan serial komunikasi. Salah satu mikrokontroler yang banyak
digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC
(Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara
umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu
keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan
masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti
mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri
atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register
kerja, register dan dekoder instruksi, dan pewaktu serta komponen kendali
lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori
dalam chip yang sama dengen prosesornya (in chip).
Saklar dan PushButton
Saklar dan PushButton adalah sebuah perangkat yang digunakan untuk
memutuskan jaringan listrik, atau untuk menghubungkannya. Jadi saklar dan
PushButton pada dasarnya adalah alat penyambung atau pemutus aliran listrik.
Selain untuk jaringan listrik arus kuat, saklar berbentuk kecil juga dipakai untuk
alat komponen elektronika arus lemah.
Seven Segment
Seven segment (7-segments) adalah sebuah komponen untuk
menampilkan bilangan 0 sampai 9 yang banyak digunakan pada aplikasi yang
memerlukan tampilan angka. 7-segments pada dasarnya adalah LED (Light
Emitting Diode), yaitu diode yang dapat mengeluarkan cahaya bila diberi
tegangan pada pin-nya. Gambar di bawah ini memperlihatkan gambaran tentang
7-segment yang masing-masing segment diberi notasi mulai dari a, b, c, d, e, f,
dan g.
NASRULLAH YUSUF_1129040100 | 2
D.Langkah Kerja dan Hasil
Percobaan 1
Flowchartnya :
1. Buka aplikasi BASCOM-AVR
2. Buat file baru, klik File lalu pilih New (Ctrl+N)
3. Ketikkan Programnya
NASRULLAH YUSUF_1129040100 | 3
4. Simpan program yang telah anda buat, klik File lalu pilih Save (Ctrl S)
5. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
6. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
7. Hasil Program
Tampil Karakter A pada Segmen 1.
NASRULLAH YUSUF_1129040100 | 4
Percobaan 2
Flowchartnya :
NASRULLAH YUSUF_1129040100 | 5
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
NASRULLAH YUSUF_1129040100 | 6
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
6. Hasil Program
Bisa tampil karakter 0 pada semua Segmen
NASRULLAH YUSUF_1129040100 | 7
Bisa tampil karakter 1 pada semua Segmen
Bisa tampil karakter 2 pada semua Segmen
Bisa tampil karakter 3 pada semua Segmen
Bisa tampil karakter 4 pada semua Segmen
NASRULLAH YUSUF_1129040100 | 8
Percobaan 3
Flowchartnya :
NASRULLAH YUSUF_1129040100 | 9
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
6. Hasil Program
Tampil Angka 1 pada Segmen 1, Angka 2 pada Segmen 2, Angka 3 pada
Segmen 3, dan Angka 9 pada Segmen 4.
NASRULLAH YUSUF_1129040100 | 10
Percobaan 4
Flowchartnya :
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
NASRULLAH YUSUF_1129040100 | 11
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
6. Hasil Program
Tampil Angka 1 pada Segmen 1, Angka 2 pada Segmen 2, Angka 3 pada
Segmen 3, dan Angka 4 pada Segmen 4.
NASRULLAH YUSUF_1129040100 | 12
Tantangan 1
Flowchartnya :
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
NASRULLAH YUSUF_1129040100 | 13
6. Hasil Program
Tantangan 2
Flowchartnya :
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
NASRULLAH YUSUF_1129040100 | 14
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
6. Hasil Program
Tantangan 3
Flowchartnya :
NASRULLAH YUSUF_1129040100 | 15
1. Buat file baru, Klik lalu pilih New (Ctrl N)
2. Ketikkan Programnya
NASRULLAH YUSUF_1129040100 | 16
3. Simpan Program, klik File lalu pilih Save.
4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.
5. Langkah pembuatan program sampai dengan compile program telah selesai.
Langkah selanjutnya kita mendownload program yang telah kita buat ke
Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba
untuk melihat kebenaran hasil program.
6. Hasil Program
NASRULLAH YUSUF_1129040100 | 17
E. ANALISA DATA
Percobaan 1
Pada percobaan ini kita akan menampilkan Huruf A pada Segmen 1,
adapun program untuk percobaan 3a ini adalah sebagai berikut :
Untuk mendeklarasikan mikrocontroller apa yang kita gunakan maka kita
memeberikan library $regfile = "m16def.dat" yang menyatakan bahwa
mikrokontroller yang kita pakai adalah atmega16, selanjutnya untuk
mendeklarasikan berapa besar crystal yang kita gunakan dan untuk
menyesuaikan waktu delay dengan waktu yang sebenarnya maka kita
memberikan pendeklarasian cristal dengan cara ketik $crystal = 1000000 yang
artinya kita menggunakan crystal 1MHz, selanjutnya kita menkonfigurasi bahwa
Port D menjadi Output Config Portd = Output dimana Port D ini yang akan
dihubungkan dengan Segmen pada Seven Segmen. selanjutnya kita
menkonfigurasi bahwa Port B menjadi Output Config Portb = Output dimana Port
B ini yang akan dihubungkan dengan Tampilan pada Seven Segmen.
Selanjutnya kita melangkah pada instruksi untuk menampilkan karakter pada
seven segmen, langkah pertama yaitu kita akan mendeklarasikan bahwa kita
akan menampilkan karakter tersebut, di segmen 1 dengan cara mengetik Portd =
&B00000001, selanjutnya kita mendeklarasikan bahwa karakter A yang akan di
tampilkan pada segmen tersebut dengan cara ketik Portb = &B01110111 dan
Instruksi selesai.
Percobaan 2
Pada percobaan ini kita dapat menampilkan angka Satu, Dua, Tiga, dan
Empat pada semua Segmen. Berikut analisa programnya
Untuk mendeklarasikan mikrocontroller apa yang kita gunakan maka kita
memeberikan library $regfile = "m16def.dat" yang menyatakan bahwa
mikrokontroller yang kita pakai adalah atmega16, selanjutnya untuk
mendeklarasikan berapa besar crystal yang kita gunakan dan untuk
menyesuaikan waktu delay dengan waktu yang sebenarnya maka kita
memberikan pendeklarasian cristal dengan cara ketik $crystal = 1000000 yang
artinya kita menggunakan crystal 1MHz, selanjutnya kita menkonfigurasi bahwa
Port D menjadi Output Config Portd = Output dimana Port D ini yang akan
NASRULLAH YUSUF_1129040100 | 18
dihubungkan dengan Segmen pada Seven Segmen. selanjutnya kita
menkonfigurasi bahwa Port B menjadi Output Config Portb = Output dimana Port
B ini yang akan dihubungkan dengan Tampilan pada Seven Segmen.
Selanjutnya kita reset Port D dengan perintah Portd = &H00, Selanjutnya kita
memasukkan perintah Do Perintah Perulangan, program utama dimulai. Jadi
ketika terjadi perulangan, perulangannya akan dimulai dari sini. Selanjutnya kita
masukkan instruksi If Pina.0 = 1 Then artinya terjadi pengecekan kondisi disini
jika Pina.0 = 1 maka statement dibawahnya akan dilaksanakan, jika tidak maka
lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If Pina.0=1.
Statementnya adalah Portd = &H01 artinya kita mengaktifkan Segmen 1.
Kemudian instruksi End If Mengakhiri statement untuk instruksi If Pina.0=1 then.
Jika kondisi instruksi tadi bernilai salah lagi maka dicek lagi untuk instruksi if
selanjutnya yaitu If Pina.1 = 1 Then artinya Jika Pina.1 = 1 maka statement
dibawahnya akan dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya
tanpa mengeksekusi statement If Pina.1=1. Statement dari If Pina.1=1 adalah
Portd = &H02 artinya mengeset PortD.2 yang terhubung dengan segmen 2, jadi
instruksi ini akan mengaktifkan Segmen 2. Kemudian instruksi End If Mengakhiri
statement untuk instruksi If Pina.1=1 then. Jika kondisi instruksi tadi bernilai salah
lagi maka dicek lagi untuk instruksi if selanjutnya yaitu If Pina.2 = 1 Then artinya
Jika Pina.2 = 1 maka statement dibawahnya akan dilaksanakan, jika tidak maka
lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If Pina.2=1.
Statement dari If Pina.2=1 adalah Portd = &H04 artinya mengeset PortD.3 yang
terhubung dengan segmen 3, jadi instruksi ini akan mengaktifkan Segmen 3.
Kemudian instruksi End If Mengakhiri statement untuk instruksi If Pina.2=1 then.
Jika kondisi instruksi tadi bernilai salah lagi maka dicek lagi untuk instruksi if
selanjutnya yaitu If Pina.3 = 1 Then artinya Jika Pina.3 = 1 maka statement
dibawahnya akan dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya
tanpa mengeksekusi statement If Pina.3=1. Statement dari If Pina.3=1 adalah
Portd = &H08 artinya mengeset PortD.4 yang terhubung dengan segmen 4, jadi
instruksi ini akan mengaktifkan Segmen 4. Kemudian instruksi End If Mengakhiri
statement untuk instruksi If Pina.3=1 then. Selanjutnya instruksi untuk tampilan
pada Segmen yang diaktifkan, If Pinc.0 = 1 Then artinya jika Pinc.0 = 1 maka
statement dibawahnya akan dilaksanakan, jika tidak maka lanjut ke instruksi
selanjutnya tanpa mengeksekusi statement If Pinc.0=1. Statement dari If
NASRULLAH YUSUF_1129040100 | 19
Pinc.0=1 yaitu Portb = &H3F artinya mengeset PortB=&H3F yang dimana Port B
terhubung dengan tampilan pada Seven Segmen dan &H3F akan menampilkan
angka 0 pada Segmen yang diaktifkan. Kemudian instruksi End If Mengakhiri
statement untuk instruksi If Pinc.0=1 then. Instruksi selanjutnya jika kondisi If tadi
bernilai salah, yaitu If Pinc.1 = 1 Then artinya jika Pinc.1 = 1 maka statement
dibawahnya akan dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya
tanpa mengeksekusi statement If Pinc.1=1. Statementnya adalah Portb = &H06
artinya mengeset PortB=&H06 yang dimana Port B terhubung dengan tampilan
pada Seven Segmen dan &H06 akan menampilkan angka 1 pada Segmen yang
diaktifkan. Kemudian instruksi End If Mengakhiri statement untuk instruksi If
Pinc.1=1 then. Instruksi selanjutnya jika kondisi If tadi bernilai salah juga, yaitu If
Pinc.2 = 1 Then artinya jika Pinc.2 = 1 maka statement dibawahnya akan
dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya tanpa mengeksekusi
statement If Pinc.2=1. Statementnya adalah Portb = &H5B artinya mengeset
PortB=&H5B yang dimana Port B terhubung dengan tampilan pada Seven
Segmen dan &H06 akan menampilkan angka 2 pada Segmen yang diaktifkan.
Kemudian instruksi End If Mengakhiri statement untuk instruksi If Pinc.1=1 then.
Instruksi selanjutnya jika kondisi If tadi bernilai salah juga, yaitu If Pinc.3 = 1 Then
artinya jika Pinc.3 = 1 maka statement dibawahnya akan dilaksanakan, jika tidak
maka lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If Pinc.3=1.
Statementnya adalah Portb = &H4F artinya mengeset PortB=&H4F yang dimana
Port B terhubung dengan tampilan pada Seven Segmen dan &H4F akan
menampilkan angka 3 pada Segmen yang diaktifkan. Kemudian instruksi End If
Mengakhiri statement untuk instruksi If Pinc.3=1 then. Instruksi selanjutnya jika
kondisi If tadi bernilai salah juga, yaitu If Pinc.4 = 1 Then artinya jika Pinc.4 = 1
maka statement dibawahnya akan dilaksanakan, jika tidak maka lanjut ke
instruksi selanjutnya tanpa mengeksekusi statement If Pinc.4=1. Statementnya
adalah Portb = &H66 artinya mengeset PortB=&H66 yang dimana Port B
terhubung dengan tampilan pada Seven Segmen dan &H66 akan menampilkan
angka 4 pada Segmen yang diaktifkan. Kemudian instruksi End If Mengakhiri
statement untuk instruksi If Pinc.4=1 then. Lalu kita masukkan instruksi Loop
artinya Perintah perulangan, ulangi ke awal (mulai dari instruksi do). Kemudian
instruksi End artinya program selesai.
NASRULLAH YUSUF_1129040100 | 20
Percobaan 3
Untuk mendeklarasikan mikrocontroller apa yang kita gunakan maka kita
memeberikan library $regfile = "m16def.dat" yang menyatakan bahwa
mikrokontroller yang kita pakai adalah atmega16, selanjutnya untuk
mendeklarasikan berapa besar crystal yang kita gunakan dan untuk
menyesuaikan waktu delay dengan waktu yang sebenarnya maka kita
memberikan pendeklarasian cristal dengan cara ketik $crystal = 1000000 yang
artinya kita menggunakan crystal 1MHz, Selanjutnya kita buat variable dengan
type data byte yaitu Satu, Dua, Tiga, dan Empat dengan instruksi Dim Satu As
Byte , Dua As Byte , Tiga As Byte , Empat As Byte. Setelah itu kita buat lagi
variable dengan type data byte juga yaitu Angka1, Angka2, Angka3, dan Angka 9
dengan instruksi Dim Angka1 As Byte , Angka2 As Byte , Angka3 As Byte ,
Angka9 As Byte. selanjutnya kita menkonfigurasi bahwa Port D menjadi Output
Config Portd = Output dimana Port D ini yang akan dihubungkan dengan
Segmen pada Seven Segmen. selanjutnya kita menkonfigurasi bahwa Port B
menjadi Output Config Portb = Output dimana Port B ini yang akan dihubungkan
dengan Tampilan pada Seven Segmen. Setelah itu kita ketikkan instruksi Saklar1
Alias Pina.0 artinya Saklar1 sama dengan PinA.0 jadi ketika kita memanggil
Saklar1 sama saja dengan kita memanggil PinA.0. selanjutnya kita ketikkan
instruksi Saklar2 Alias Pina.1 artinya Saklar2 sama dengan PinA.1 jadi ketika kita
memanggil Saklar2 sama saja dengan kita memanggil PinA.1. selanjutnya lagi
kita ketikkan Saklar3 Alias Pina.2 artinya Saklar3 sama dengan PinA.2 jadi ketika
kita memanggil Saklar3 sama saja dengan kita memanggil PinA.2. Selanjutnya
lagi kita ketikkan instruksi Saklar4 Alias Pina.3 artinya Saklar4 sama dengan
PinA.3 jadi ketika kita memanggil Saklar4 sama saja dengan kita memanggil
PinA.3. lalu kita ketikkan instruksi Segmen Alias Portd artinya Segmen sama
dengan PortD jadi ketika kita memanggil Segmen sama saja dengan kita
memanggil PortD. Selanjutnya kita ketikkan Tampilan Alias Portb artinya
Tampilan sama dengan PortB jadi ketika kita memanggil Tampilan sama saja
dengan kita memanggil PortB. Setelah itu kita beri nila pada variable yang kita
buat tadi instruksinya sebagai berikut Satu = &H01 : Dua = &H02 : Tiga = &H04 :