Anda di halaman 1dari 13

21/03/2022

Zainal Abidin, Vani Virdyawan, Budi Heriyadi


FTMD ITB 2022

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

1
21/03/2022

Family ATMega:

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

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


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

2
21/03/2022

 merupakan CPU 8 bit


 memiliki ROM internal sebesar 8 kByte
 ROM internal dapat ditulis dan dihapus sebanyak
1000 kali
 memiliki RAM internal sebesar 256 Byte
 memiliki 32 jalur masukan/keluaran yang dapat
diprogram
 memiliki tiga buah timer/counter 16 bit
 memiliki delapan buah sumber interupsi
 memiliki port serial yang dapat diprogram
 memiliki kecepatan pelaksanaan instruksi
1 mikrodetik persiklus pada frekuensi clock12 MHz

 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.

3
21/03/2022

 Kaki 18 berfungsi sebagai  Kaki 31 yaitu kaki EA


(External Access) berfungsi
masukan ke rangkaian untuk mengijinkan
osilator internal. Osilator pelaksanaan instruksi dari
eksternal juga dapat ROM internal.
digunakan pada kaki ini.
 Kaki 32-39 (port 0)
 Kaki 19 dipakai bila merupakan port paralel 8
digunakan kristal pasif bit dua arah yang juga
untuk membangkitkan memiliki fungsi alternatif
untuk mengirimkan data
osilator internal dan alamat byte rendah
(AD0-AD7) pada memori
 Kaki 20 merupakan jalur eksternal secara
ground. demultiplexing.

 Kaki 40 merupakan jalur
Vcc.

 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.

4
21/03/2022

 Perbandingan lengkap lihat:


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

5
21/03/2022

 Using Atmel
Atmega328P-AU
MCU, Support ISP
download

6
21/03/2022

 Atmel
Atmega328 &
Atmega16

 Atmel
Atmega2560

7
21/03/2022

8
21/03/2022

9
21/03/2022

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

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

 setup : It is called only when the Arduino is


powered on or reset. It is used to initialize
variables and pin modes

 loop : The loop functions runs continuously


till the device is powered off. The main logic
of the code goes here. Similar to while (1) for
micro-controller programming.

10
21/03/2022

 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

 digitalWrite(13, LOW); // Makes the output


voltage on pin 13 , 0V

 digitalWrite(13, HIGH); // Makes the output


voltage on pin 13 , 5V

 int buttonState = digitalRead(2); // reads the


value of pin 2 in buttonState

11
21/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

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


value from the pin A0

 analogWrite(2,128);

12
21/03/2022

 // 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);
}

13

Anda mungkin juga menyukai