Akhirnya kita membuat tujuh buah gerbang logika dalam 1 mikrokontroler AVR ATmega, dengan menggunakan mikrokontroler kita bisa menggunakan rangkaian ini untuk media pembelajaran bagi adik2 kita di SMK, jadi buat mahasiswa jurusan elektro/elektronika yang belum punya judul tugas akhir/ skripsi bisa mempertimbangkan pembuatan media pembelajaran gerbang logika.
Untuk membuatnya kita memerlukan bahan2 minimal berikut ini
1. Rangkaian minimum mikrokontroler AVR ATMega, terserah mo pake seri berapa
2. satu buah LED sebagai output
3. 9 Push button, 7 digunakan sebagai gate mode selector, 2 push button sisanya digunakan sebagai input satu dan input dua.
4. resistor 220 Ohm secukupnya
5. Box, solder, tinol dan seperangkat alat elektronik lainnya
6. Tambahkan garam dan merica….. hadeh
Berikut listing programnya
/*****************************************************
This program was produced by the
CodeWizardAVR V2.03.4 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 18/06/2012
Author : priyo harjiyono
Company : https://anotherorion.com
Comments: membuat 7 gerbang logika
dengan AVR ATMega
Chip type : ATmega8535
Program type : Application
Clock frequency : 4,001000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 128
*****************************************************/
#include <mega8535.h>
void main(void)
{
DDRA=DDRC=PORTA=PORTB=PORTC=0x00;
DDRB=0x01;
while (1)
{
while(PINC.0==1) //AND gate
{
if(PINA.0 & PINA.1==1)
{
PORTB=0x01;
}
else {
PORTB=0x00;
}
}
while(PINC.1==1) //OR gate
{
if(PINA.0 | PINA.1==1)
{
PORTB=0x01;
}
else {
PORTB=0x00;
}
}
while (PINC.2==1)//NOT gate
{
PORTB.0= ~PINA.0;
}
while(PINC.3==1) //NOR gate
{
if(!PINA.0 & !PINA.1==1)
{
PORTB=0x01;
}
else {
PORTB=0x00;
}
}
while(PINC.4==1) // NAND gate
{
if(!PINA.0 | !PINA.1==1)
{
PORTB=0x01;
}
else {
PORTB=0x00;
}
}
while(PINC.5==1) //XOR gate
{
if(PINA.0 != PINA.1)
{
PORTB=0x01;
}
else {
PORTB=0x00;
}
}
while(PINC.6==1) //XNOR gate
{
if(PINA.0 == PINA.1)
{
PORTB=0x01;
}
else {
PORTB=0x00;
}
}
while (PINC==0x00) //untuk menetralkan output ketika tidak ada gerbang yang dipilih
{
PORTB=0x00;
}
};
}
dan untuk rangkaian skematiknya
Trimakasih bang
semoga bermanfaat bang
terimakasih banyak mas untuk artikel nya sangat membantu.