Devananda(13217061)
Asisten: Cheryl J. Ovani(13216109)
Tanggal Percobaan: 06/02/2020
EL3214-Praktikum Sistem Mikroprosesor
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB
3. METODOLOGI
Dalam percobaan kali ini kita akan
membutuhkan beberapa hal untuk mendukung
percobaan ini. Berikut ini merupakan daftar alat
dan bahan yang diperlukan untuk melakukan
eksperimen 1.
1. Komputer dengan perangkat lunak yang
sesuai.
2. Port B 2. Kit Module Praktikum]
3. Kabel
Amati hasilnya
Hubungkan Sismin ATMega8535
dengan PC
Modifikasi contoh
program Tugas I.C.1
Nyala
Mati
Hasilnya telah menunjukkan kesesuaian
yang tepat antara lampu yang menyala dengan isi
bit yang diberikan dalam port a.
Tugas 1.A.2
Flowchart
Tugas 1.B.3
Flowchart
Dapat diamati dari flowchart di bawah
bahwa program ini bukan pengulangan dengan Keterangan (Khusus)
menggunakan while lalu melakukan shift kiri
Nyala
sebanyak 1 di or kan dengan nilai save kanan
sejauh 7 terhadap nilai i. kemudian nilai inilah Mati
masukkan ke dalam port A. yang tentunya
Tugas 1.C.1
Flowchart
Tugas 1.C.2
Flowchart
return 0;
}
Tugas 1.A.2
#include <avr/io.h>
int main(void)
{
DDRA = 0xFF;
PORTA = (1<<PA3);
return 0;
}
Tugas 1.B.1
#include <avr/io.h>
#define F_CPU 7372800UL
#include <util/delay.h>
int main(void)
{
DDRA = 0xFF;
PORTA = 0xFF;
while(1)
{
PORTA = 0b00110011;
_delay_ms(500);
PORTA = 0b11001100;
_delay_ms(500);
}
return 0;
}
Tugas 1.B.2
#include <avr/io.h>
#define F_CPU 7372800UL
#include <util/delay.h>
int main(void)
{
DDRA = 0xFF;
PORTA = 0xFF;
while(1)
{
PORTA = 0b00111100;
_delay_ms(500);
PORTA = 0b00111101;
_delay_ms(500);
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1
0
}
return 0;
}
Tugas 1.B.3
#include <avr/io.h>
#define F_CPU 7372800UL
#include <util/delay.h>
int main(void)
{
unsigned char i = 0xFE;
DDRA = 0xFF;
PORTA = i;
while(1)
{
PORTA = i;
_delay_ms(120);
i=(i<<1)|(i>>7);
}
return 0;
}
Tugas 1.B.4
#include <avr/io.h>
#define F_CPU 7372800UL
#include <util/delay.h>
int main(void)
{
unsigned char i = 0xFE, j;
DDRA = 0xFF;
PORTA = i;
while(1)
{
for (j = 1; j < 8; j++){
PORTA = i;
_delay_ms(120);
i=(i<<1)|(i>>7);
}
for (j = 1; j < 8; j++){
PORTA = i;
_delay_ms(120);
i=(i<<7)|(i>>1);
}
}
return 0;
}
Tugas 1.C.1
#include <avr/io.h>
int main(void)
{
unsigned char i;
DDRA = 0xFF;
DDRD = 0x00;
Tugas 1.C.2
#include <avr/io.h>
#define F_CPU 7372800UL
#include <util/delay.h>
int main(void)
{
unsigned char i, n, m;
DDRA = 0xFF;
DDRD = 0x00;
SFIOR = 0<<PUD;
PORTA = 0xFF;
while(1)
{
i = PIND;
if (i == 0b00111100)
{
PORTA = 0b00111100;
_delay_ms(500);
PORTA = 0b00111101;
_delay_ms(500);
}
else if (i == 0b00111101)
{
m = 0xFE;
for (n = 1; n < 8; n++)
{
PORTA = m;
_delay_ms(120);
m=(m<<1)|(m>>7);
}
for (n = 1; n < 8; n++)
{
PORTA = m;
_delay_ms(120);
m=(m<<7)|(m>>1);
}
}
else
{
PORTA = 0x8;
}
}
return 0;
}