Anda di halaman 1dari 36

MODUL

MIKROKONTROLLER
ARDUINO

Oleh:
TIM Laboratorium Mikrokontroller

LABORATORIUM MIKROKONTROLLER
JURUSAN TEKNIK ELEKTROMEDIK
POLTEKKES KEMENKES SURABAYA
2019
PENGANTAR

Gambar P1. Konfigurasi pin ATMEGA328

Gambar P2. Konfigurasi pin modul Arduino Nano


Gambar P3. Layout Schematic Modul
BAB 1
LED DAN SW

1.1. Tujuan
Mehasiswa mampu menggunakan Arduino untuk mengendalikan LED
melalui saklar push button.

1.2. Skematik

(a) (b)
Gambar 1.1. (a) Rangkaian koneksi LED dan (b) Rangkaian koneksi Saklar
SW

1.3. Contoh Listing Program


Listing program 1: Mengedipkan sebuah LED yang terhubung ke PIN 13 (on board LED)
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever


void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

Listing program 2: Mengedipkan dua buah led atau lebih


int databaca;
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}

void loop()
{
digitalWrite(2, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(3, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(2, LOW); // turn the LED off by making the voltage LOW
digitalWrite(3, LOW); // turn the LED off
delay(1000); // wait for a second
}

Listing program 3: Mengendalikan LED melalui SW


int databaca;
void setup()
{
pinMode(2, OUTPUT);
pinMode(9, INPUT);
}

void loop()
{
if (digitalRead(9) == LOW)
{
// turn LED on:
digitalWrite(2, HIGH);
}
else if (digitalRead(9) == HIGH)
{
// turn LED off:
//digitalWrite(2, LOW);
}
}
1.4. Lembar Kerja Praktikum
Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: Rencanakan program untuk mengedipkan 4 buah LED
secara terus menerus pada D0, D1, D2, D3
Gambar rangkaian : (contoh)
R3 D1
D0
220 LED
R4 D2
D1
220 LED
R5 D3
D2
220 LED
R18 D4
D3
220 LED
0

Listing Program:

Lembar kerja no.2: Rencanakan program untuk mengendalikan dua buah


LED D0, D1 masing-masing dengan menggunakan S1 dan S2.
Gambar rangkaian:

Listing Program:
Lembar kerja no.3: Rencanakan program untuk mengendalikan dua buah
LED D0, D1 masing-masing dengan menggunakan S1 dan S2.
Gambar rangkaian:

Listing Program:

Lembar kerja no.4: Rencanakan program untuk mengendalikan dua buah


LED D0, D1, D2, D3 masing-masing dengan menggunakan S1, S2, S2, dan
S3.
Gambar rangkaian:

Listing Program:
BAB 2
7 SEGMEN
2.1. Tujuan
Mahasiswa mampu menggunakan mikrokontroller Arduino untuk
mengendalikan display 7 segmen common anoda.
2.2. Skematik

Digit 4
Digit 3
Digit 2
Digit 1

Gambar 3.1. Rangkaian skematik 7 segmen

2.2. Listing Program


Listing program 1: Mencetak tulisan angka “1” pada 7 segmen digit ke “1”
void setup() {
// put your setup code here, to run once:
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(A4, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(A1, 1);
digitalWrite(A2, 1);
digitalWrite(A3, 1);
digitalWrite(A4, 0);
//
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
}

Listing program 2: Mencetak tulisan angka “1” dan “2” pada 7 segmen digit
ke “1” dan “2”
void setup() {
// put your setup code here, to run once:
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(A4, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(A1, 1);
digitalWrite(A2, 1);
digitalWrite(A3, 1);
digitalWrite(A4, 0);
//
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
//
delay(200);
digitalWrite(A1, 1);
digitalWrite(A2, 1);
digitalWrite(A3, 0);
digitalWrite(A4, 1);
//
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
//
delay(200);
}

2.3. Lembar Kerja Praktikum


Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: Rencanakan program untuk cetak angka 1, 2, 3 dan 4
pada 7 segmen
Gambar rangkaian:

Listing Program:

Lembar kerja no.2: Rencanakan program untuk cetak huruf A, b, C, d


pada 7 segmen
Gambar rangkaian:

Listing Program:
Lembar kerja no.3: Rencanakan program untuk cetak huruf pada 7
segmen 1, cetak karakter A bila SW1 ditekan, cetak huruf b bila SW2
ditekan.
Gambar rangkaian:

Listing Program:

Lembar kerja no.4: Rencanakan program untuk cetak huruf pada 7


segmen 1, cetak karakter A bila SW1 ditekan, cetak huruf b bila SW2
ditekan, cetak karakter C bila SW3 ditekan dan cetak karakter d bila SW4
ditekan
Gambar rangkaian:

Listing Program:
BAB 3
LCD KARAKTER 2 X 16

3.1. Tujuan
Mahasiswa mampu menggunakan mikrokontroller Arduino untuk
mengoperasikan LCD karakter 2x16
3.2. Skematik

Gambar 3.1. Rangkaian skematik LCD Karakter

3.3. Listing Program


Listing Program 1: percobaan mencetak karakter “ MIKROKONTROLLER”
pada baris BAWAH (1)
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);
}

void loop() {
// put your main code here, to run repeatedly:
lcd.setCursor(0,1);
lcd.print("MIKROKONTROLLER");
}
3.4. Lembar Kerja Praktikum
Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: Rencanakan program untuk cetak angka 1, 2, 3 dan 4
pada lcd karakter yang masing-masing pada lokasi (0,0); (16,0); (0,1); dan
(16,1).
Gambar rangkaian:

Listing Program:

Lembar kerja no.2: Rencanakan program untuk cetak huruf “A”, bila SW1
ditekan, cetak huruf “B” bila SW2 ditekan.
Gambar rangkaian:

Listing Program:

Lembar kerja no.3: Rencanakan program untuk cetak huruf P, Q, R, S,


pada LCD Karakter masing-masing dengan menggunakan tombol SW1,
SW2, SW3, dan SW4.
Gambar rangkaian:

Listing Program:
Lembar kerja no.4: Rencanakan program untuk cetak huruf P pada LCD
Karakter, bila SW1 ditekan maka karakter akan bergeser ke kanan dan bila
SW2 ditekan maka karakter akan bergeser ke kiri. (Gunakan fungsi shift di
library LCD)
Gambar rangkaian:

Listing Program:

Lembar kerja no.5: Rencanakan program untuk cetak huruf P pada LCD
Karakter, bila SW2 ditekan maka karakter akan bergeser ke kanan dan bila
SW3 ditekan maka karakter BLANK. (Gunakan fungsi shift di library LCD)
Gambar rangkaian:

Listing Program:
BAB 4
ADC
4.1. Tujuan
Mahasiswa mampu menggunakan ADC pada mikrokontroller Arduino
dengan menggunakan tampilan ke LCD atau 7 Segmen.
4.2. Skematik

Gambar 4.1. Konektor yang menghubungkan ke ADC Arduino (channel 0


atau channel 5)

4.3. Listing Program


Listing program: Rencanakan program untuk mengambil tegangan analog
A0 dan ditampilkan pada LCD
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
int sensorValue;

void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);
}
void loop() {
// put your main code here, to run repeatedly:
sensorValue = analogRead(0);// A0
lcd.setCursor(0,0);
lcd.print("Value is");
lcd.setCursor(10,0);
lcd.print(sensorValue);
delay(50);
lcd.clear();
sensorValue = analogRead(5);
lcd.setCursor(0,1);
lcd.print("Value is");
lcd.setCursor(10,1);
lcd.print(sensorValue);
delay(50);
lcd.clear();
}

4.4. Lembar Kerja Praktikum


Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: Rencanakan program untuk mengambil tegangan
analog A5 dan ditampilkan pada LCD
Gambar rangkaian:

Listing Program:

Lembar kerja no.2: Rencanakan program untuk mengambil tegangan


analog A0 dan A5 dan kedua pengukuran ditampilkan pada LCD (Baris atas
dan baris bawah).
Gambar rangkaian:

Listing Program:
Lembar kerja no.3: Rencanakan program untuk mengambil tegangan
analog A0 dan ditampilkan pada 7 segmen.
Gambar rangkaian:

Listing Program:

Lembar kerja no.4: Rencanakan program untuk mengambil tegangan


analog A5 dan ditampilkan pada 7 segmen pada saat tombol SW1 ditekan.
Pada saat tombol belum ditekan maka tampilan 7 segmen BLANK (mati).
Gambar rangkaian:

Listing Program:

Lembar kerja no.5: Rencanakan program untuk mengambil tegangan


analog A5 dan ditampilkan pada LCD pada saat tombol SW1 ditekan. Pada
saat tombol belum ditekan maka tampilan LCD tertulis “TEKAN SW”
Gambar rangkaian:

Listing Program:
BAB 5
SERVO
5.1. Tujuan
Mahasiswa mampu mengoperasikan motor servo dengan menggunakan
mikrokontroller Arduino
5.2. Skematik

(a) (b)

(c)
Gambar 5.1. (a) pin pada PCB, (b) modul fisik, dan (c) konfigurasi pin

5.3. Listing Program


Listing program: Rencanakan program untuk menggerakkan servo
#include<Servo.h>
int servoPin=3;
int adc;
int adcmap;
Servo Servo1;
//
void setup()
{
Servo1.attach(servoPin);
}
//
void loop()
{
Servo1.write(0);
delay(1500);
Servo1.write(180);
delay(1500);
}

Listing program: Rencanakan program untuk menggerakkan servo dengan


menggunakan input ADC
#include<Servo.h>
int servoPin=3;
int adc;
int adcmap;
Servo Servo1;
//
void setup()
{
Servo1.attach(servoPin);
}
//
void loop()
{
adc=analogRead(0);
adcmap=map(adc, 0, 1023, 0, 180);
Servo1.write(adcmap);
}

5.4. Lembar Kerja Praktikum


Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: Rencanakan program untuk menggerakkan motor
servo untuk putar kanan dan kiri berdasarkan SW1 dan SW2.
Gambar rangkaian:

Listing Program:
Lembar kerja no.2: Rencanakan program untuk mengambil tegangan
analog A0, gunakan tegangan analog ini untuk mengatur posisi servo putar
kanan atau kiri. Jika dataADC>500 maka servo putar kanan, dan jika
dataADC<500 maka servo akan putar kiri.
Gambar rangkaian:

Listing Program:
BAB 6
DHT 11

6.1 Tujuan
Mahasiswa mampu menggunakan mikrokontroller Arduino untuk
melakukan pengukuran kelembaban dan suhu dengan sensor DHT11.
6.2. Skematik

(a) (b)
Gambar 6.1. (a) koneksi ke board dan (b) koneksi ke pin

6.3. Listing Program


Listing program: program pembacaan sensor DHT11 (suhu dan
kelembaban) dan ditampilkan ke LCD Karakter
#include <DHT.h> //Memasukan Library DHT ke Program
#define DHTPIN 12 //menggunakan pin 2 untuk pemasangan sensornya
#define DHTTYPE DHT11 //memilih tipe DHT11, bisa diubah menjadi
DHT22, DHT21
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // lcd initialization
DHT dht(DHTPIN, DHTTYPE); //setting pin yang dipilih dan tipe DHT
void setup() {
lcd.begin(16,2);
}

void loop()
{
float kelembaban = dht.readHumidity(); //menyimpan nilai Humidity pada
variabel kelembaban
float suhu = dht.readTemperature(); //menyimpan nilai Temperature pada
variabel suhu
lcd.setCursor(0, 0);
lcd.print("Humidity: ");
lcd.setCursor(15, 0);
lcd.print("%");// print a message
lcd.setCursor(10, 0);
lcd.print(kelembaban);

lcd.setCursor(0, 1);
lcd.print("Temp: "); // print a message
lcd.setCursor(12, 1);
lcd.print("C");
lcd.setCursor(6, 1);
lcd.print(suhu);
}

6.4. Lembar Kerja Praktikum


Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: rencanakan program pembacaan sensor DHT11 pada
parameter SUHU dan ditampilkan ke 7 segmen.
Gambar rangkaian:

Listing Program:

Lembar kerja no.2: rencanakan program pembacaan sensor DHT11 pada


parameter KELEMBABAN dan ditampilkan ke 7 segmen
Gambar rangkaian:

Listing Program:
Lembar kerja no.3: rencanakan program pembacaan sensor DHT11 pada
untuk parameter KELEMBABAN ke LCD karakter. Bila kelembaban diatas
60 maka akan muncul tulisan di LCD karakter “Kelembaban LEBIH” dan
bila dibawah 60 maka akan muncul tulisan “Kelembaban NORMAL”.
Gambar rangkaian:

Listing Program:

Lembar kerja no.4: rencanakan program pembacaan sensor DHT11 pada


untuk parameter SUHU ke LCD karakter. Bila suhu diatas 40 maka akan
muncul tulisan di LCD karakter “SUHU LEBIH” dan bila dibawah 40 maka
akan muncul tulisan “Kelembaban NORMAL”.
Gambar rangkaian:

Listing Program:

Lembar kerja no.5: rencanakan program pembacaan sensor DHT11 pada


untuk parameter SUHU dan KELEMBABAN ke LCD karakter. Parameter
akan tampil ke LCD bila SW1 ditekan dan tampilan akan BLANK bila SW2
ditekan.
Gambar rangkaian:

Listing Program:
BAB 7
PWM

7.1. Tujuan:
Mahasiswa mampu menggunakan fungsi PWM (pulse width modulation)
untuk mengendalikan daya pada LED.

Gambar 7.1. Duty cycle pada PWM


7.2. Skematik

Gambar 7.2. Koneksi pin Arduino PWM (pin 6) ke LED


7.3. Listing Program
Listing program: rencanakan program untuk mengendalikan LED
menggunakan PWM sehingga nyala LED mulai dari redup menuju ke
terang.
//Initializing LED Pin
int led_pin = 6;

void setup() {
//Declaring LED pin as output
pinMode(led_pin, OUTPUT);
}

void loop() {
//Fading the LED
for(int i=0; i<255; i++){
analogWrite(led_pin, i);
delay(5);
}

for(int i=255; i>0; i--){


analogWrite(led_pin, i);
delay(5);
}
}

Listing program 2: Rencanakan program untuk mengendalikan LED


menggunakan potentiometer yang terhubung ke ADC (yang telah ada di
board).
int led_pin = 6;
int pot_pin = A0;
int output;
int led_value;

void setup() {
pinMode(led_pin, OUTPUT);
}

void loop() {
//Reading from potentiometer
output = analogRead(pot_pin);
//Mapping the Values between 0 to 255 because we can give output
//from 0 -255 using the analogwrite funtion
led_value = map(output, 0, 1023, 0, 255);
analogWrite(led_pin, led_value);
delay(1);
}
7.4. Lembar Kerja Praktikum
Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: rencanakan program PWM untuk mengendalikan
terang redup sebuah LED. Bila SW1 ditekan maka LED akan semakin
terang dan sebaliknya bila SW2 ditekan maka LED akan semakin redup.
Gambar rangkaian:

Listing Program:

Lembar kerja no.2: rencanakan program PWM untuk mengendalikan


terang redup LED 1 dan LED 2 masing-masing dengan menggunakan ADC
channel 0 dan channel 5 dengan potentiometer yang telah tersedia.
Gambar rangkaian:

Listing Program:
BAB 8
TIMER INTERRUPT (COUNTER)

8.1 Tujuan:
Mahasiswa mampu menggunakan fungsi TIMER pada microcontroller
Arduino untuk mendeteksi clock yang masuk pada pin (4) atau (5).

Gambar 8.1. Prescaler untuk Timer/Counter 0 dan 1

Gambar 8.2. Pemilihan sumber clock untuk TIMER0


Gambar 8.4. Register TCCR0B

Gambar 8.5. Register TCCR0B

Gambar 8.6. Pilihan mode pada TIMER0

8.2. Skematik
Gambar 8.1. Konfigurasi pin pada Arduino nano (ATMEGA328)

8.3. Listing Program (CONTOH)


Listing Program: rencanakan program untuk mengambil data dari
COUNTER 0 dan menampilkan ke LCD Karakter. Hubungkan rangkaian
pembangkit oscillator dengan IC 555.
// http://learningembedded.com/

#include <LiquidCrystal.h>
LiquidCrystal lcd(16, 17, 18, 20, 21, 22, 23); // lcd initialization
int data; // variable to read sensor value
void setup()
{

lcd.begin(16, 2); // set up the LCD's


lcd.print("Mikrokontroller"); // Print a message to the LCD.
delay(2000); // delay of 2 sec
lcd.clear(); // clear the screen
TCCR0A =0;
TCCR0B =0;
TCCR0B |= (1 << CS02) | (1 << CS01); // T0 on falling edge
TCNT0=0;
}
void loop()
{
data = TCNT0; // to DETECT the CLOCK
lcd.setCursor(0, 0); // set cursor position at 0,0
lcd.print("Counter is "); // print a message
lcd.setCursor(0, 1); // set cursor position at 0,1
lcd.print(data);// prints the analog value
delayMicroseconds(50000);
lcd.clear();
}
8.4. Lembar Kerja Praktikum
Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: rencanakan program untuk mengambil data dari
COUNTER 0 dan menampilkan ke LCD Karakter. Hubungkan rangkaian
pembangkit oscillator dengan IC 555. Program akan menampilkan data
mulai dari 255 ke 0.
Gambar rangkaian:

Listing Program:

Lembar kerja no.2: rencanakan program untuk mengambil data dari


COUNTER 0 dan menampilkan ke LCD Karakter. Hubungkan rangkaian
pembangkit oscillator dengan IC 555. Program akan menampilkan data
mulai dari 100 ke 255.
Gambar rangkaian:

Listing Program:

Lembar kerja no.3: rencanakan program untuk mengambil data dari


COUNTER 1 dan menampilkan ke LCD Karakter. Hubungkan rangkaian
pembangkit oscillator dengan IC 555. Program akan menampilkan data
mulai dari 0 ke 65535.
Gambar rangkaian:

Listing Program:

Lembar kerja no.4: rencanakan program untuk mengambil data dari


COUNTER 1 dan menampilkan ke LCD Karakter. Hubungkan rangkaian
pembangkit oscillator dengan IC 555. Program akan menampilkan data
mulai dari 0 ke 65535 dan mencacah turun 65535 ke 0, setelah itu berhenti
Gambar rangkaian:

Listing Program:
BAB 9
TIMER INTERRUPT (TIMER)

9.1. Tujuan
Mahasiswa memahami fungsi timer interrupt pada Arduino
9.2. Register TIMER 1

Gambar 9.1. Register TCCR1A


Gambar 9.2. Pemilihan sumber clock untuk TIMER1

Gambar 9.3. Register TIMSK1


9.3. Listing Program
Listing Program: rencanakan program mengedipkan LED yang terhubung
ke PIN 13. Berkedip dengan frekuensi 2 Hz.
#define ledPin 13

void setup()
{
pinMode(ledPin, OUTPUT);

// initialize Timer1
noInterrupts(); // disable all interrupts
TCCR1A = 0;
TCCR1B = 0;

TCNT1 = 34286; // preload timer 65536-16MHz/256/2Hz


TCCR1B |= (1 << CS12); // 256 prescaler
TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt

interrupts(); // enable all interrupts


}

ISR(Timer1_OVF_vect) // interrupt service routine that wraps a user


defined function supplied by attachInterrupt
{
TCNT1 = 34286; // preload timer
digitalWrite(ledPin, digitalRead(ledPin) ^ 1);
}

void loop()
{
// your program here…
}

9.4. Lembar Kerja Praktikum


Lakukan kegiatan praktikum sesuai dengan lembar kerja berikut, salin
LISTING PROGRAM hasil percobaan tersebut dengan tulisan tangan (masing-
masing dikerjakan perorangan) lembar kertas F4. Beri nama, NIM, kelompok
praktek.
Lembar kerja no.1: rencanakan program mengedipkan LED yang
terhubung ke PIN 0. Berkedip dengan frekuensi 1 Hz. (TIMER1)
Gambar rangkaian:
Listing Program:

Lembar kerja no.2: rencanakan program mengedipkan LED yang


terhubung ke PIN 0, berkedip dengan frekuensi 1 Hz, gunakan TIMER0 dan
kedipkan LED yang terhubung ke PIN 1, berkedip dengan frekuensi 2 Hz,
gunakan TIMER1.
Gambar rangkaian:

Listing Program:

Lembar kerja no.2: rencanakan program jam digital untuk bagian DETIK
saja dengan menggunakan sistem interupsi TIMER1. Tampilkan hitungan
detik dari 00 sd. 59 selanjutnya akan kembali lagi ke 00.
Gambar rangkaian:

Listing Program:
BAB 10
TIMER INTERRUPT (EXTERNAL)

Anda mungkin juga menyukai