Menampilkan Karakter Pada 7Segment
1. Kondisi[kembali]
Ketika menekan angka 9 pada keypad akan muncul angka 99 pada seven segment
2. Gambar rangkaian[kembali]
Listing Program
#include <mega128.h>
#include <delay.h>
void tekan_keypad_tampil_sevseg()
{
PORTF = 0b11111011;
delay_ms(1);
if (PINF.4 == 0) {PORTE=0X06 ; delay_ms(3);}
if (PINF.4 == 0) {PORTD=0X06 ; delay_ms(3);}
if (PINF.5 == 0) {PORTE=0X66; delay_ms(3);}
if (PINF.5 == 0) {PORTD=0X66; delay_ms (3);}
if (PINF.6 == 0) {PORTE=0X07; delay_ms(3);}
if (PINF.6 == 0) {PORTD=0X07; delay_ms (3);}
if (PINF.7 == 0) {PORTE=0X3F; delay_ms(3);}
if (PINF.7 == 0) {PORTD=0X3F; delay_ms (3);}
PORTF = 0b11111101;
delay_ms(1);
if (PINF.4 == 0) {PORTE=0X5B; delay_ms(3);}
if (PINF.4 == 0) {PORTD=0X5B; delay_ms(3);}
if (PINF.5 == 0) {PORTE=0X6D; delay_ms(3);}
if (PINF.5 == 0) {PORTD=0X6D; delay_ms (3);}
if (PINF.6 == 0) {PORTE=0X7F; delay_ms(3);}
if (PINF.6 == 0) {PORTD=0X7F; delay_ms (3);}
if (PINF.7 == 0) {PORTE=0X3F; delay_ms(3);}
if (PINF.7 == 0) {PORTD=0X3F; delay_ms (3);}
PORTF = 0b11111110;
delay_ms(1);
if (PINF.4 == 0) {PORTE=0X4F; delay_ms(3);}
if (PINF.4 == 0) {PORTD=0X4F; delay_ms(3);}
if (PINF.5 == 0) {PORTE=0X7D; delay_ms(3);}
if (PINF.5 == 0) {PORTD=0X7D; delay_ms (3);}
if (PINF.6 == 0) {PORTE=0X6F; delay_ms(3);}
if (PINF.6 == 0) {PORTD=0X6F; delay_ms (3);}
if (PINF.7 == 0) {PORTE=0X3F; delay_ms(3);}
if (PINF.7 == 0) {PORTD=0X3F; delay_ms (3);}
}
void switch_on()
{
if (PINA.0 == 0) {PORTE=0X3f ; delay_ms(3);}
if (PINA.1 == 0) {PORTE=0X06; delay_ms(3);}
}
void main(void)
{
PORTF = 0xff;
DDRF = 0x0f;
PORTE=0X00;
DDRE=0XFF;
PORTA=0X00;
DDRA=0X00;
PORTD=0X00;
DDRD=0XFF;
while(1)
{
switch_on();
tekan_keypad_tampil_sevseg();
};
}
#include <delay.h>
void tekan_keypad_tampil_sevseg()
{
PORTF = 0b11111011;
delay_ms(1);
if (PINF.4 == 0) {PORTE=0X06 ; delay_ms(3);}
if (PINF.4 == 0) {PORTD=0X06 ; delay_ms(3);}
if (PINF.5 == 0) {PORTE=0X66; delay_ms(3);}
if (PINF.5 == 0) {PORTD=0X66; delay_ms (3);}
if (PINF.6 == 0) {PORTE=0X07; delay_ms(3);}
if (PINF.6 == 0) {PORTD=0X07; delay_ms (3);}
if (PINF.7 == 0) {PORTE=0X3F; delay_ms(3);}
if (PINF.7 == 0) {PORTD=0X3F; delay_ms (3);}
PORTF = 0b11111101;
delay_ms(1);
if (PINF.4 == 0) {PORTE=0X5B; delay_ms(3);}
if (PINF.4 == 0) {PORTD=0X5B; delay_ms(3);}
if (PINF.5 == 0) {PORTE=0X6D; delay_ms(3);}
if (PINF.5 == 0) {PORTD=0X6D; delay_ms (3);}
if (PINF.6 == 0) {PORTE=0X7F; delay_ms(3);}
if (PINF.6 == 0) {PORTD=0X7F; delay_ms (3);}
if (PINF.7 == 0) {PORTE=0X3F; delay_ms(3);}
if (PINF.7 == 0) {PORTD=0X3F; delay_ms (3);}
PORTF = 0b11111110;
delay_ms(1);
if (PINF.4 == 0) {PORTE=0X4F; delay_ms(3);}
if (PINF.4 == 0) {PORTD=0X4F; delay_ms(3);}
if (PINF.5 == 0) {PORTE=0X7D; delay_ms(3);}
if (PINF.5 == 0) {PORTD=0X7D; delay_ms (3);}
if (PINF.6 == 0) {PORTE=0X6F; delay_ms(3);}
if (PINF.6 == 0) {PORTD=0X6F; delay_ms (3);}
if (PINF.7 == 0) {PORTE=0X3F; delay_ms(3);}
if (PINF.7 == 0) {PORTD=0X3F; delay_ms (3);}
}
void switch_on()
{
if (PINA.0 == 0) {PORTE=0X3f ; delay_ms(3);}
if (PINA.1 == 0) {PORTE=0X06; delay_ms(3);}
}
void main(void)
{
PORTF = 0xff;
DDRF = 0x0f;
PORTE=0X00;
DDRE=0XFF;
PORTA=0X00;
DDRA=0X00;
PORTD=0X00;
DDRD=0XFF;
while(1)
{
switch_on();
tekan_keypad_tampil_sevseg();
};
}
3. Video Simulasi[kembali]
4. Prinsip Kerja[kembali]
Rangkaian terdiri dari 2 buah seven segment, keypad, 7 buah switch, dengan menggunakan mikrokontroller Atmega 128. Dimana salah satu seven segment terhubung pada PORT D dan seven segment satunya lagi terhubung ke PORT E. Keypad terhubung pada PORT F, dan ke 7 switch terhubung pada PORT A. Untuk memulai simulasi klik tombol PLAY. Kemudian tombol keypad ditekan, apabila tombol keypad 9 ditekan maka pada seven segment akan muncul 99. Yaitu angka 9 pada seven segment pertama dan angka 9 pada seven segment kedua. Munculnya angka 9 pada seven segment pertama dan kedua karena pada mikrokontroller Atmega 128 di dalamnya telah diinputkan program dengan menggunakan software Code Vision AVR. |
5. Link Download[kembali]
- File Proteus <Link Download>
- Listing Program <Link Download>
- Video Simulasi Proteus <Link Download>
Tidak ada komentar:
Posting Komentar