Menampilkan Karakter Pada Seven Segment
1. Hardware [kembali]
2. Rangkaian Simulasi [kembali]
Prinsip Kerja:
Pada percobaan ini, terdapat beberapa komponen yaitu switch, sevensegment, keypad dan atmega128. Pada percobaan diatas kita menghubungkan switch ke PORT A sebagai input dari rangkaian. Keypad akan dihubungkan ke PORT F yang juga dijadikan sebagai input selain switch. Selanjutnya output dari rangkaian ini adalah Seven Segmen. Seven segmen yang kita gunakan terdapat dua buah yaitu satu sebagai satuan yang dihubungkan ke PORT E dan satu lagi sebagai puluhan yang dihubungkan ke PORT D. Pada rangkaian ini jika ditekan switch 1 maka akan muncul angka 1 pada seven segmen, lalu jika ditekan salah satu tombol pada keypad maka akan muncul angka sesuai dengan tombol yang ditekan pada keypad
3. Flowchart [kembali]
4. Listing Program [kembali]
#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.6 == 0) {PORTE=0X07; delay_ms(3);}
if (PINF.7 == 0) {PORTE=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.6 == 0) {PORTE=0X7F; delay_ms(3);}
if (PINF.7 == 0) {PORTE=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.6 == 0) {PORTE=0X6F; delay_ms(3);}
if (PINF.7 == 0) {PORTE=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();
};
}
Tidak ada komentar:
Posting Komentar