I/O Dasar
Iman Sianturi (1181300035)
Asisten : Tri Wijaya(13117033)
Tanggal Percobaan : 20/03/2021
EL 2209 Praktikum Sistem Mikroprosesor
Laboratorium Teknik Elektro
Institut Teknologi Sumatera
Tiga lokasi I/O memory address dialokasikan untuk masing- 2.4 Rekomendasi Inisialisai Pin Input
masing port, satu untuk Data Register – PORTx, satu untuk
Data Direction Register – DDRx, satu untuk Port Input Pins – Jika terdapat pin yang tidak digunakan, sebaiknya pin tersebut
PINx. Lokasi I/O Port Input Pins hanya bisa dibaca (read only), di-define. Meskipun sebagian besar input digital tidak aktif
sedangkan Data Register dan Data Direction Register readwrite dalam deep sleep mode, floating input haruslah dihindari. Hal
ini dilakukan untuk mengurangi komsumsi arus pada mode lain Tugas 1A.2
dimana input digital aktif.Cara palig sederrhana untuk men-
define level sebuah pin yang tidaj terpakai dengan
mengaktifkan internal pull-up.Pull-up tidak dapat digunakan Compile dan build all
selama reset.Jika daya rendah selama reset adalah hal yang source code pada lampiran
penting sebaikknya digunakan eksternal pull-up. tugas B1di CVAR dengan
keluaran LED 3 digit
2.5 Deskripsi Register angka terakhir NIM
Tugas 1 B.2
Jalankan source code Pada source code terlihat bawasannya nilai dari DDRB yaitu
pada lampiran tugas C1 0xFF berarti nilai dari 8 bit portnya yaitu sebesar 1.Dimana
semua bit pada port tersebut berfungsi sebagai
output.Selanjutnya output terhubung ke LED yang kemudian di
indikasi apakaha output tersebut HIGH atau LOW.Source code
diatas menunjukkan bawasanya output bernilai HIGH.
Tugas 1 C.2
#include <mega8535.h>
#include <delay.h>
#include <mega8535.h> void main(void)
#include <delay.h> {
void main(void) DDRB = 0xFF; //Seluruh Port B
{ dikonfigurasi sebagai OUTPUT
DDRB = 0xFF; //Seluruh Port B PORTB = 0x23; // Semua Port B
dikonfigurasi sebagai OUTPUT mengeluarkan logika �1’Sehingga LED tidak
PORTB = 0xFF; // Semua Port B menyala.
mengeluarkan logika �1’ Sehingga LED while(1)
tidak menyala. {
while(1) PORTB = 0x00; // LED menyala
{ delay_ms(500);
PORTB = 0x00; // LED menyala PORTB = 0x23; // LED mati
delay_ms(500); delay_ms(500);
PORTB = 0xFF; // LED mati }
delay_ms(500); }
} Pada percobaan ini ,masih sama halnya dengan percobaan
} sebelumnya akan tetapi untuk outputnya menggunakan
representasi 3 digit angka terakhir NIM,dimana PORTB dengan
Pada percobaan ini untuk source codenya diambil dari modul nilai 0x00 akan mempertahnkan kondisinya selama waktu delay
praktikum ,tetapi percobaan menggunakan delay sebesar 500 yang ditentukan yaitu sebesar 500ms,yang kemudian akan
ms.sama seperti percobaan sebelumnya DDRB bernilai 0xFF berganti ke nilai PROTB 0x23 dan akan mempertahankan juga
atau bernilai 1 untuk 8 bit portnya.Pada source code diatas kondisinya selama waktu delay yang ditentukan.
PORTB dengan nilai 0x00 akan menyala dengan
mempertahankan waktu yang sesuai dengan delaynya,begitu Tugas 1 C.1
juga dengan PORTB dengan nilai 0xff akan mati dan juga
mempertahankan waktu delaynya.setiap selang waktu 500
millisekon output akan berganti dari nilai 0xff ke nilai 0x00.
Tugas 1 B.2
#include <mega8535.h>
#include <delay.h> void main(void)
void main(void) {
{ DDRB = 0x23; // Seluruh port B
DDRB = 0xFF; // Seluruh port B dikonfigurasi sebagai output
dikonfigurasi sebagai output PORTB = 0x00;
PORTB = 0xFF; DDRD = 0x23; // Port D dikonfigurasi
DDRD = 0xFF; // Port D dikonfigurasi sebagai input
sebagai input PORTD = 0x00;
PORTD = 0x00; #asm("nop")
#asm("nop")
while(1){ while(1){
PORTB = PIND ;// Membaca penekanan push- PORTB = PIND;
button di port D
// dan outputnya dikeluarkan di port B. delay_ms(200);
} PORTB = 0x00;
} delay_ms(200);
. Tugas 1 C.2 Pada percobaaan kali ini hasil keluaran akan menampilkan
LED yang menyala dengan representasi 3digit angka terakhir
NIM .pada souce code terdapat delay sebesar 200 ms,dimana
LED akan mempertahankan menyala atau PORT B akan
meyala Kembali dengan selang waktu 200 ms.
V. SIMPULAN
REFERENSI
[1].Modul 1 Praktikum Teknik Elektro -Institut Teknologi Sumatera
#include <mega8535.h>
#include <delay.h>
Lampiran
Link Rekaman Vidio ; https://drive.google.com/drive/folders/1Gme78b-9HAXQNZRQLGDnm8DLkY0u1MJH?usp=sharing