Percobaan ATMEGA-128 SEVEN SEGMENT
08.56Prosedur Percobaan:
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip kerja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply
KONDISI 12 PERCOBAAN SEVEN SEGMENT PADA MODUL ATMEGA 128
2. Rangkaian Simulasi [kembali]
Prinsip Kerja :
Pertama tentukan lebih dulu PORT apa saja yang akan digunakan dalam rangkaian dan tetapkan sebagai input ataupun output.
Setelah semua selesai ditentukan, buat fungsi tambahan untuk memudahkan dalam pemanggilan program,
Kemudian pada program utama kita menggunakan keypad sebagai input dan 7 segment sebagai keluarannya. Pada program, jika kita menekan karakter "#" pada keypad, maka huruf E akan keluar pada 7 segment. 7 segment yang digunakan adalah aktif low.
Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.
Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.
3. Flowchart [kembali]
4. Listing Program [kembali]
File HTML - Download
File Proteus - Download
File Program - Download
Video Rangkaian - Download
#include <mega128.h> // Library atmega 128
#include <delay.h> // Library delay
void tekan_keypad_tampil_sevseg() // Pemanggilan fungsi baru
{
PORTF = 0b1111011; // Kode untuk menekan kolom 1 kebawah
delay_ms(1); // Delay 1 ms
if (PINF.4 == 0) {PORTE=0X06; delay_ms(3);} // Jika PINF.4 ditekan maka akan keluar angka 1
if (PINF.5 == 0) {PORTE=0X66; delay_ms(3);} // Jika PINF.5 ditekan maka akan keluar angka 2
if (PINF.6 == 0) {PORTE=0X07; delay_ms(3);} // Jika PINF.6 ditekan maka akan keluar angka 3
if (PINF.7 == 0) {PORTE=0X3F; delay_ms(3);} // Jika PINF.7 ditekan maka akan keluar angka *
PORTF = 0b1111110; // Kode untuk menekan kolom 3 kebawah
delay_ms(1); // Delay 1 ms
if (PINF.4 == 0) {PORTE=0X4F; delay_ms(3);} // Jika PINF.4 ditekan maka akan keluar angka 3
if (PINF.5 == 0) {PORTE=0X7D; delay_ms(3);} // Jika PINF.5 ditekan maka akan keluar angka 4
if (PINF.6 == 0) {PORTE=0X6F; delay_ms(3);} // Jika PINF.6 ditekan maka akan keluar angka 5
if (PINF.7 == 0) {PORTE=0X79; delay_ms(3);} // Jika PINF.7 ditekan maka akan keluar angka #
}
// Fungsi utama
void main(void)
{
PORTF = 0xff; // Deklarasi PORTF aktif high
DDRF = 0x0f; // Deklarasi PORTF untuk keypad
PORTE=0X00; // Deklarasi PORTE aktif low
DDRE=0XFF; // Deklarasi PORTE sebagai output
while(1) // Perulangan
{
tekan_keypad_tampil_sevseg(); // Pemanggilan fungsi lain
};
}
5. Video [kembali]
6. Link Download [kembali]
#include <delay.h> // Library delay
void tekan_keypad_tampil_sevseg() // Pemanggilan fungsi baru
{
PORTF = 0b1111011; // Kode untuk menekan kolom 1 kebawah
delay_ms(1); // Delay 1 ms
if (PINF.4 == 0) {PORTE=0X06; delay_ms(3);} // Jika PINF.4 ditekan maka akan keluar angka 1
if (PINF.5 == 0) {PORTE=0X66; delay_ms(3);} // Jika PINF.5 ditekan maka akan keluar angka 2
if (PINF.6 == 0) {PORTE=0X07; delay_ms(3);} // Jika PINF.6 ditekan maka akan keluar angka 3
if (PINF.7 == 0) {PORTE=0X3F; delay_ms(3);} // Jika PINF.7 ditekan maka akan keluar angka *
PORTF = 0b1111110; // Kode untuk menekan kolom 3 kebawah
delay_ms(1); // Delay 1 ms
if (PINF.4 == 0) {PORTE=0X4F; delay_ms(3);} // Jika PINF.4 ditekan maka akan keluar angka 3
if (PINF.5 == 0) {PORTE=0X7D; delay_ms(3);} // Jika PINF.5 ditekan maka akan keluar angka 4
if (PINF.6 == 0) {PORTE=0X6F; delay_ms(3);} // Jika PINF.6 ditekan maka akan keluar angka 5
if (PINF.7 == 0) {PORTE=0X79; delay_ms(3);} // Jika PINF.7 ditekan maka akan keluar angka #
}
// Fungsi utama
void main(void)
{
PORTF = 0xff; // Deklarasi PORTF aktif high
DDRF = 0x0f; // Deklarasi PORTF untuk keypad
PORTE=0X00; // Deklarasi PORTE aktif low
DDRE=0XFF; // Deklarasi PORTE sebagai output
while(1) // Perulangan
{
tekan_keypad_tampil_sevseg(); // Pemanggilan fungsi lain
};
}
5. Video [kembali]
6. Link Download [kembali]
File Proteus - Download
File Program - Download
Video Rangkaian - Download