Anda di halaman 1dari 6

UTS Sistem Mikroprosesor 2019/2020

M. Ikhwanul Hakim
13115022

1. Jelaskan
a. Interrupt pada Mikrokontroler dan contoh aplikasi nya selain ENCODER (tachometer)

Jawab :

Interupsi adalah pengubahan urutan pelaksanaan program karena adanya suatu kejadian atau
instruksi yang perlu dikerjakan lebih dahulu dan setelah itu kembali lagi ke urutan proses di
program utama lagi. Contohnya :

b. Perbedaan Mikrokontroler dan Mikroprosesor

Jawab :

Mikrokontroler adalah komputer mikro dalam satu chip tunggal. Mikrokontroler memadukan
CPU, ROM, RWM, I/O paralel, I/O seri, counter-timer, dan rangkaian clock dalam satu chip
tunggal.

Mikroprosesor dalam perkembangan dunia komputer digital disebut sebagai Central Processing
Unit (CPU). Mikroprosesor diberi sebutan CPU karena fungsinya sebagai unit pemroses pusat.

Untuk melihat perbedaan konsep diantara mikroprosesor dan mikrokontroler di bawah ini
ditunjukan tabel perbandingan konfigurasi, arsitektur, dan set instruksi diantara mikroprosesor Z-
80 CPU dengan mikrokontroler AT89C51.
2. Jelaskan secara singkat blok diagram dari SRAM 6264 di bawah ini:

JAwab :
Pada SRAM 6264 memiliki sub bagian system dengan masing masing fungsinya yaitu sebagai
berikut :
- Decoder
adalah untuk memastikan satu perangkat dapat berkomunikasi dengan prosesor pada satu
waktu.
- Input Buffer
Adalah inputan yang diberikan dari hasil luaran sense amps.
- Sense Amps
Adalah sebagai sub bagian input/outpun pada SRAM

3. Buat Kode Program Mikrokontroler terkait Input output. Minimal menggunakan delay, 2 buah
Digital Input dan 3 buah Digital Output. Simulasikan pada proteus dan berikan keterangan setiap
baris kode yang ditulis.
Jawab :
Program yang akan dibuat adalah LED mengedipkan cahaya ketika pushbutton ditekan dan mati
ketika pushbutton dilepas.
const int pinButton = 2;
const int pinLed = 3;

// variabel untuk menyimpan nilai input pin button


int nilaiButton = 0;

void setup() {
// set mode input pada pin untuk button, ga wajib
pinMode(pinButton, INPUT);

// set pin untuk LED ke mode output


pinMode(pinLed, OUTPUT);
}

void loop() {
// baca nilai pin untuk button
nilaiButton = digitalRead(pinButton);
// cek apakah button ditekan
if (nilaiButton == HIGH) {
// buat LED berkedip
digitalWrite(pinLed, HIGH);
delay(100);
digitalWrite(pinLed, LOW);
delay(100);
}
else {
// kalo nilai pin LOW
// matikan LED
digitalWrite(pinLed, LOW);
}
}
4. Jika Kita ingin menggunakan pin INT 2 untuk mendeteksi perubahan input dari Low ke High,
dan pin INT 0 untuk mendeteksi setiap ada perubahan sinyal input,dan INT 1 untuk mendeteksi
perubahan dari HIGH ke low. Seperti apakah program yang harus dibuat? Berikan keterangan
pada setiap baris program.
Jawab :

#include <avr/io.h> // avr header file for IO ports


#include <avr/interrupt.h> // avr header file for interrupts
int main(void)
{
// INT 0 : On
// INT 1 : On
// INT 2 : On
// INT 0 mode : Any Logical Change
// INT 1 mode : Falling edge
// INT 2 mode : Rising edge

GICR|=0xE0; //deklarasi keaktifan INT 0, INT 1, dan INT 2


MCUCR=0x03; //deklarasi any logical change pada INT 0 dan Falling edge pada INT 1
MCUCSR=0xE0; //deklarasi keaktifan
GIFR=0x00; //Flag off

DDRA = 0xFF; // set PORTB for output


PORTA = 0xFF; // turn OFF LED initially
sei();
while(1);
return 1;
}
5. Diketahui keterangan sebagai berikut:
# CPU ATMega8515
# Address bus 16 bit
# External RAM #1 8KB at 4000h
# External RAM #2 16KB at 8000h
Buatlah sebuah prosedur untuk merancang pengalamatan decoder untuk memory dengan
menggunakan:
a. Full Full address decoder

Jawab :

RAM #1

- Alamat awal 4000H


- Size 8KB
8KB = 2000H
Dari 0000H ke 1FFFH
- Alamat Akhir pada 4000H + 1FFFH = 5FFFH

RAM #2

- Alamat awal 8000H


- Size 16KB
16KB = 4000H
Dari 0000H ke 3FFFH
- Alamat Akhir 8000H + 3FFFH = BFFFH

Alamat Bus 16 Bit : 216 = 64KB

- Dari 0000H ke FFFFH


- Notasi Alamatnya adalah A0 ke A15 (LSB to MSB)

- RAM #1: 8K - 4000H ke 5FFFH

o Address lines required:

2x = 8000
x log(2) = log(8000)
log ⁡( 8000)
x= =13
log ⁡( 2)
o Alamatnya dari A0 ke A12

o Garis alamat yang keluar dari alamat decoding :

16 – 13 = 3 garis

Artinya A13 sampai A15

- RAM #2: 16K - 8000H ke BFFFH

o Address lines required:

2x = 16000
x log(2) = log(16000)
log ⁡( 16 000)
x= =14
log ⁡( 2)
o Alamatnya dari A0 ke A13

o Garis alamat yang keluar dari alamat decoding :

16 – 14 = 2 garis

Artinya A14 sampai A15

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0


RAM 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000H
0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 5FFFH
#1
RAM 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000H
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BFFFH
#2
Full address decoder :

CSRAM#1 = A̅15 dan A14 dan A̅13

CSRAM#2 = A15 dan A̅14

b. Partial address decoder yang paling minimal

Jawab :

CSRAM#1 = A̅15 dan A14

CSRAM#2 = A15 dan A̅14

Anda mungkin juga menyukai