Mikrokontroler
Trend Industri
Elektronika dengan TI
⚫ Programmer Embedded.
(Orang yang mampu melakukan
pemrograman dan pengisian program ke
dalam sistem mikroprosesor/mikrokontroler
untuk keperluan Industri)
Peluang Karir di bidang TI
berbasiskan Elektronika
⚫ Developer aplikasi embedded dan kontrol
(Sistem kontrol, robotika, instrumentasi, Monitoring, PDA, Aplikasi SMS dll)
Hardware:
⚫ Pemrograman dan Interfacing mikrokontroler dan PLC
⚫ Teknologi GSM dan CDMA
Bidang Elektronika Saat ini
Mengapa Mikrokontroler ?
Chip teknologi terkini yang mampu melaksanakan
tugas-tugas kontrol sistem, karena di dalamnya
umumnya sudah mencakup:
⚫ CPU
⚫ RAM
⚫ ROM
⚫ EEPROM (Tidak semua)
⚫ I/O (Serial /paralel)
⚫ Timer
4 KByte No
AT89C51/ AT89S51 8 X 128 Byte
8 KByte No
AT89C52/ AT89S52 8 X 256 Byte
20 KByte No
AT89C55 8 X 256 Byte
12 KByte No
AT89S53 8 X 256 Byte
8 KByte 2 KByte
AT89S8252 8 X 256 Byte
8KByte 512B
Atmega 8535 512
Minsys. Mikrokontroler
U1
1
PB0 (XCK/T0) PA0 (ADC0)
40 Kelip.bas
2 39
PB1 (T1) PA1 (ADC1)
3
PB2 (AIN0/INT2) PA2 (ADC2)
38 ‘Konfigurasi port B sebagai output
4 37
5
PB3 (AIN1/OC0) PA3 (ADC3)
36
Config portb=output
PB4 (SS) PA4 (ADC4)
6 35
PB5 (MOSI) PA5 (ADC5)
LED 7
8
PB6 (MISO) PA6 (ADC6)
34
33
Do ’pengulangan
PB7 (SCK) PA7 (ADC7) Portb=255 ‘hidup semua
14
PD0 (RXD) PC0 (SCL)
22 Waitms 100 ’delay 100ms
15 23
16
PD1 (TXD) PC1 (SDA)
24 Portb=0 ’mati semua
PD2 (INT0) PC2
17
PD3 (INT1) PC3
25 Waitms 100 ’delay 100ms
18 26
19
PD4 (OC1B) PC4
27
Loop
PD5 (OC1A) PC5
20 28
PD6 (ICP) PC6 (TOSC1)
21 29
PD7 (OC2) PC7 (TOSC2)
VCC
9 10
RESET VCC
C1 30
AVCC
12 32
XTAL2 AREF
13
2
XTAL1
Cap 31
18pF GND
11
GND
C2
1
ATmega8535
Cap 11.0592MHz
18pF
Pengubah Analog ke Digital
VCC
VCC
Q1
U1
ADC.bas
R3 1 40 R1 R? Start Adc
PB0 (XCK/T0) PA0 (ADC0)
390 2 39 1K
10K Dim W As Word
PB1 (T1) PA1 (ADC1)
2N3904 3 38
PB2 (AIN0/INT2) PA2 (ADC2)
4 37
8 X LED 5
PB3 (AIN1/OC0) PA3 (ADC3)
36
Channel = 0
R4 6
PB4 (SS)
PB5 (MOSI)
PA4 (ADC4)
PA5 (ADC5)
35 ‘Baca data di channel
390 7 34
8
PB6 (MISO)
PB7 (SCK)
PA6 (ADC6)
PA7 (ADC7)
33 Do
14 22
W = Getadc(channel)
PD0 (RXD) PC0 (SCL)
15
PD1 (TXD) PC1 (SDA)
23 ‘kirim ke port serial
16 24
17
PD2 (INT0)
PD3 (INT1)
PC2
PC3
25 Print "Channel " ; Channel ; " value " ; W
18
19
PD4 (OC1B) PC4
26
27
Portb=w ‘keluarkan ke port B
PD5 (OC1A) PC5
20
PD6 (ICP) PC6 (TOSC1)
28 Loop
21 29
PD7 (OC2) PC7 (TOSC2)
VCC End
9 10
RESET VCC
C1 30
AVCC
12 32
XTAL2 AREF
13
2
Cap XTAL1
31
GND
18pF 11
GND
C2
1
ATmega8535
Cap 11.0592MHz
18pF
Dasar Kendali
kendali.bas:
’ Dasar kontrol
Config PortD = Input
Config Portb = Output
Dim A As Byte
Pulsin.bas: Pulsout.bas:
Dim w As Byte Dim A As Byte
‘terima pulsa Config Portb = Output
‘misal dari rotary encoder motor DC Portb = 0
pulsein w , PIND , 1 , 0 'detect time from 0 'all pins 0
to 1 Do
print w For A = 0 To 7
end ‘Misal untuk menggerakkan servo
Pulseout Portb , A , 60000
Waitms 250
'wait a bit
Next
Loop
Fungsi
Fungsi.bas:
Dim a As Byte, b1 As Byte, c As Byte
Declare Sub Test(a As Byte)
a = 1 : b1 = 2: c = 3
Print a ; b1 ; c
Call Test(b1)
End
Config lcd=20*4
Suhu=getadc(0)
LCD “Digital Termometer”
lowerline
LCD “Suhu saat ini “; suhu
Desain Robot Sederhana
Desain Robot
Implementasi AVR pada Robot
Penerapan Pada Robot
Robot.bas
Config Portb = Output
Dim W As Word
Start ADC
Do
W = Getadc(0) ‘baca sensor jarak
If W < 200 Then ‘jika tdk ada halangan
Portb = 8 ‘maju
Wait 2 ‘delay 2 detik
Else ‘jika ada halangan
Portb = 0 'belok kiri
Wait 2
End If
Loop
Sistem Minimum Mikro
Dasar Pemrograman
;Program menerima input, ditampilkan ke led
$Mod51 ; file library