Kamis, Maret 23, 2017

Simulasi LED 7-Segmen dan ATMega128 Menggunakan Codevision AVR dan ISIS Proteus

Simulasi LED 7-Segmen dan ATMEGA128 Menggunakan Codevision AVR dan ISIS Proteus


Selamat pagi teman-teman semua, berjumpa kembali bersama mimin +Hardiyan Kesuma Ramadhan, kali ini kita akan belajar Mikrokontroller selanjutnya setelah kemarin kita sudah belajar arduino, kali ini kita akan belajar tentang ATMega. Nah, ATMega sendiri masuk kedalam keluarga AVR.

AVR adalah salah satu contoh keluarga mikrokontroler yang berarsitektur RISC. Ada banyak tipe mikrokontroler yang termasuk keluarga AVR. Tetapi yang banyak dipakai adalah jenis ATMega, misalnya ATMEga32. ATMega memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program.

Nah, untuk memberikan program atau instruksi ke ATMega kita membutuhkan sebuah software, sama halnya seperti Arduino kita menggunakan Arduino IDE. Pada ATMega kita bisa menggunakan Codevision AVR. Sebelum kita lanjut ke praktek pastikan teman-teman semua sudah download Codevision AVR.

1. Pada praktek yang pertama kita akan membuat program yang menampilkan angka 0 s.d 7 secara berurutan pada digit 1 hingga digit 8. Seperti ini desain proteusnya.

program yang menampilkan angka 0 s.d 7 secara berurutan pada digit 1 hingga digit 8.

List programnya seperti ini ...

#include <mega128.h>
#include <delay.h>
#include <stdio.h>
#define data PORTE
#define kendali PORTF
void main(void){
DDRF=0xFF;
DDRE=0xFF;
while(1){
kendali=0x1;
data=0xC0;
delay_ms(100);
kendali=0x2;
data=0xF9;
delay_ms(100);
kendali=0x4;
data=0xA4;
delay_ms(100);
kendali=0x8;
data=0xB0;
delay_ms(100);
kendali=0x10;
data=0x99;
delay_ms(100);
kendali=0x20;
data=0x92;
delay_ms(100);
kendali=0x40;
data=0x82;
delay_ms(100);
kendali=0x80;
data=0xF8;
delay_ms(100);
}
}

Compile dan Build program diatas via Codevision AVR lalu upload file .hex nya ke ATMega di proteus.

Compile dan Build program diatas via Codevision AVR lalu upload file .hex nya ke ATMega di proteus.

Compile dan Build program diatas via Codevision AVR lalu upload file .hex nya ke ATMega di proteus.

2. Selanjutnya kita akan membuat program yang menampilkan angka 98765432 dalam display secara bersamaan.

List programnya seperti ini ...

#include <mega128.h>
#include <delay.h>
#include <stdio.h>
#define data PORTE
#define kendali PORTF
void main(void){
DDRF=0xFF;
DDRE=0xFF;
while(1){
kendali=0x1;
data=0x90;
delay_us(100);
kendali=0x2;
data=0x80;
delay_us(100);
kendali=0x4;
data=0xF8;
delay_us(100);
kendali=0x8;
data=0x82;
delay_us(100);
kendali=0x10;
data=0x92;
delay_us(100);
kendali=0x20;
data=0x99;
delay_us(100);
kendali=0x40;
data=0xB0;
delay_us(100);
kendali=0x80;
data=0xA4;
delay_us(100);
}
}

program yang menampilkan angka 98765432 dalam display secara bersamaan.

3. Yang ketiga kita akan membuat LED 7-Segment untuk menampilkan stopwatch

List programnya seperti ini ...

#include <mega128.h>
#include <delay.h>
#include <stdio.h>
#define data PORTE
#define kendali PORTF 
flash unsigned char segment (unsigned char c)
{char tab[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF}; //tabel data untuk seven segmen 
return tab[c];}
//Declare your global variables here
void tampil_seg(unsigned char jam, unsigned char menit, unsigned char detik){
unsigned char h,j,k,l,m,n;
h=jam/10;
j=jam%10;
k=menit/10;
l=menit%10;
m=detik/10;
n=detik%10;
kendali=0x80;
data=segment(n);
delay_us(100);
kendali=0x40;
data=segment(m);
delay_us(100);
kendali=0x20;
data=segment(10);
delay_us(100);
kendali=0x10;
data=segment(l);
delay_us(100);
kendali=0x8;
data=segment(k);
delay_us(100);
kendali=0x4;
data=segment(10);
delay_us(100);
kendali=0x2;
data=segment(j);
delay_us(100);
kendali=0x1;
data=segment(h);
delay_us(100);
}
void main(void)
{
unsigned char h,m,s;
int i,ulang;
int k;
int j;
DDRF=0xFF;
DDRE=0xFF;
while(1)
 {
 h=00;
 for (k=1;k<=24;k++)
 {
 m=00;
 for(j=1;j<=60;j++)
 {
 s=00;
 for(i=1;i<=60;i++)
 {
 for(ulang=1;ulang<=50;ulang++)
 {
 tampil_seg(h,m,s);
  }
  s=s++;
  }
  m=m++;
  }
  h=h++;
  }
  }
  }

membuat LED 7-Segment untuk menampilkan stopwatch

membuat LED 7-Segment untuk menampilkan stopwatch

Note:
Settingan pada Codevision AVR misal pada proteus menggunakan ATMega128 maka Codevision AVR pilih chip ATMega128.


Settingan pada Codevision AVR misal pada proteus menggunakan ATMega128 maka Codevision AVR pilih chip ATMega128.

Nah, itu dulu ya teman-teman jurnal saya hari ini tentang "Simulasi LED 7-Segmen dan ATMega128 Menggunakan Codevision AVR dan ISIS Proteus". Semoga bisa bermanfaat untuk teman-teman semua ya, sampai jumpa di postingan berikutnya ...

"Bagilah ilmu yang kau punya, walau satu ayat"

2 komentar


EmoticonEmoticon