Bermain dengan Codevision AVR (5) All Seven Logic Gates

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

BACA JUGA:   Buku: Mikrokontroler ATmel AVR (ISIS Proteus & Codevision AVR)

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

all logic gate with AVR atmega

 

3 Comments

Add a Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

(Note, links and most HTML attributes are not allowed in comments)

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.