Anda di halaman 1dari 11

14/03/2022

Zainal Abidin, Vani Virdyawan, Budi Heriyadi


FTMD ITB 2022

Sumber:
https://www.guru99.com/difference-between-
microprocessor-and-microcontroller.html#2

1
14/03/2022

SPI = Serial Peripheral Interface, I2C = Komunikasi seri antar IC


PDIP = Plastic Dual In-line Package,TQFP = Thin Quad Flat Package

Family ATMega:

https://www.futurlec.com/ICAtmel_ATMega_Comparison.shtml

2
14/03/2022

 Kaki 1-8 (port 1) merupakan port


paralel 8 bit dua arah
 Jenisnya banyak & dapat dipilih (bidirectional) yang dapat
dipergunakan untuk berbagai
 Dapat dikembangkan sesuai kebutuhan kebutuhan.
 Sudah memiliki kanal ADC (dan DACPWM)  Kaki 9 yaitu kaki reset berfungsi
 Dapat diprogram dalam C (bukan assembly) untuk mengembalikan program
counter ke alamat 0000h jika
 In System Programming (ISP) terjadi perubahan kondisi dari low
ke high.

 Kaki 10-17 (port 3) merupakan


port paralel 8 bit dua arah yang
juga memiliki fungsi alternatif
yaitu: TxD, RxD, Int0, Int1, T0, T1,
WR, dan RD.

 Kaki 18 berfungsi sebagai


 merupakan CPU 8 bit masukan ke rangkaian
 memiliki ROM internal sebesar 8 kByte osilator internal. Osilator
 ROM internal dapat ditulis dan dihapus sebanyak eksternal juga dapat
1000 kali digunakan pada kaki ini.
 memiliki RAM internal sebesar 256 Byte
 memiliki 32 jalur masukan/keluaran yang dapat  Kaki 19 dipakai bila
diprogram digunakan kristal pasif
 memiliki tiga buah timer/counter 16 bit untuk membangkitkan
 memiliki delapan buah sumber interupsi osilator internal
 memiliki port serial yang dapat diprogram
 memiliki kecepatan pelaksanaan instruksi  Kaki 20 merupakan jalur
1 mikrodetik persiklus pada frekuensi clock12 MHz ground.

3
14/03/2022

 Kaki 21-28 (port 2) merupakan


port paralel 8 bit dua arah yang
juga memiliki fungsi alternatif  Open Source electronic prototyping platform
untuk mengirimkan alamat byte
tinggi (AD8-AD15) pada
based on flexible easy to use hardware and
memori eksternal. software.
 Kaki 29 yaitu kaki PSEN
(Program Store Enable)
berfungsi untuk mengijinkan
program memori eksternal
masuk ke dalam bus selama
proses pengambilan instruksi.

 Kaki 30 yaitu kaki ALE (Address


Latch Enable) berfungsi untuk
menahan alamat memori
eksternal selama pengiriman
data dari/ke memori eksternal
berlangsung.

 Kaki 31 yaitu kaki EA


(External Access) berfungsi
untuk mengijinkan
pelaksanaan instruksi dari
ROM internal.

 Kaki 32-39 (port 0)


merupakan port paralel 8
bit dua arah yang juga
memiliki fungsi alternatif
untuk mengirimkan data
dan alamat byte rendah
(AD0-AD7) pada memori
eksternal secara
demultiplexing.

 Kaki 40 merupakan jalur


Vcc.

4
14/03/2022

 Perbandingan lengkap lihat:


 https://www.arduino.cc/en/products/compare
 Using Atmel
Atmega328P-AU
MCU, Support ISP
download

5
14/03/2022

 Atmel
Atmega328 &
Atmega16

 Using Atmel
Atmega328P-AU
MCU, Support ISP
download

6
14/03/2022

 Atmel
Atmega2560

7
14/03/2022

void setup() {
// put your setup code here, to run once:
}

void loop() {
// put your main code here, to run
repeatedly:
}

8
14/03/2022

 setup : It is called only when the Arduino is  digitalWrite(13, LOW); // Makes the output
powered on or reset. It is used to initialize voltage on pin 13 , 0V
variables and pin modes
 digitalWrite(13, HIGH); // Makes the output
 loop : The loop functions runs continuously voltage on pin 13 , 5V
till the device is powered off. The main logic
of the code goes here. Similar to while (1) for  int buttonState = digitalRead(2); // reads the
micro-controller programming. value of pin 2 in buttonState

 A pin on arduino can be set as input or  What is analog ?


output by using pinMode function.  It is continuous range of voltage values (not
just 0 or 5V)
 pinMode(13, OUTPUT); // sets pin 13 as
output pin  Why convert to digital ?
 Because our microcontroller only understands
 pinMode(13, INPUT); // sets pin 13 as input digital.
pin

9
14/03/2022

 The Arduino Uno board contains 6 pins for


ADC

 10-bit analog to digital converter

 This means that it will map input voltages


between 0 and 5 volts into integer values
between 0 and 1023

10
14/03/2022

 analogRead(A0); // used to read the analog


value from the pin A0

 analogWrite(2,128);

 // These constants won't change. They're used to give names to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
// change the analog out value:
analogWrite(analogOutPin, outputValue);
// print the results to the serial monitor:
Serial.print("sensor = " );
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);
// wait 2 milliseconds before the next loop
// for the analog-to-digital converter to settle
// after the last reading:
delay(2);
}

11

Anda mungkin juga menyukai