KATA PENGANTAR Puji dan syukur kami panjatkan kehadirat Allah SWT yang telah memberikan dan melimpahkan rezeki serta karunia-Nya sehingga penyusun dapat menyelesaikan makalah tugas resmi “MIKROKONTROLLER “MIKROKONTROLLER ” tanpa mengalami hambatan. Laporan ini disusun sebagai prasyarat telah menempuh mata kuliah MIKROKONTROLLER MIKROKONTROLLER semester ganjil. Tidak lupa kami ucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah banyak membantu dalam penyusunan makalah ini. Terutama ucapan ini kami sampaikan kepada semua pembina yang telah membimbing kami selama melaksanakan pembelajaran, Serta semua pihak yang telah membantu kami yang tidak dapat disebutkan satu persatunya. Kami penyusun telah berusaha untuk memberikan yang terbaik, tetapi kami sangat menyadari bahwa laporan ini tidak luput dari kesalahan dan masih jauh dari kesempurnaan. Oleh karena itu, penyusun mengharapkan kepada para pembaca untuk memberikan kritik dan saran yang bersifat membangun untuk pembangunan dimasa yang akan datang. Akhirnya kami berharap semoga makalah yang telah saya buat ini dapat bermanfaat khususnya bagi kami penyusun penyusun dan umumnya umumnya bagi semua pembaca.
Jember, 29 Desember 2013
Penyusun
DAFTAR ISI
1. Kata Pengantar 2. Daftar Isi 3. Makalah Tugas 1 Mikrokontroller dan Mikroprosesor Tugas 2 Running Led Tugas 3 Seven Segment Tugas 4 Keypad Tugas 5 Motor Stepper 4. Daftar Pustaka
Tugas 1 Mikrokontroller Mikroprosesor dan Mikrokontroller Mikrokontroller Disusun Oleh:
Nama
: Febriyanto
NIM
: 121910201012
Kelas
:C
Prod/Jur : S-1 Elektro Dosen
: Bambang Supeno, ST.MT
FAKULTAS TEKNIK UNIVERSITAS JEMBER 2013
1. Perbedaan Mikroprosesor dan Mikrokontroller
1.1. Mikroprosesor Mikroprosesor merupakan perangkat keras yang yang tidak bisa bekerja bekerja tanpa softwere dan mempunyai kemampuan untuk diprogram atau program ulang. Misalnya lampu pengatur lalin yang menggunakan mikroprosesor bisa diubah set waktunya dengan hanya mengubah program, dan bukan rangkaian rangkaian sirkuitnya. 1.2. MIKROKONTROLLER Mikrokontroller merupakan mikroprosesor yang dikhususkan untuk implementasi kendali. Misalnya untuk kendali motor berperan sebagai PLC (Programmable Logic Controller), pengaturan pengapian pada motor jenis injeksi, gerakan-gerakan pada robot, pengatur besaran, suhu, tekanan, kelembaban, lampu lalin, kamera pengintai dan lain-lain. Mikrokontroller adalah suatu kombinasi mikroprosesor, piranti I/O (Input/Output) dan memori, yang terdiri atas ROM (Read Only Memory) dan RAM (Random Access Memory), dalam bentuk keping tunggal (single chip). 2. Kelebihan Dan Kekurangan Mikroprosesor Dan Mikrokontroller Adapun
kelebihan
dan
kekurangan
mikroprosesor
dan
mikrokontroller adalah sebagai berikut: 2.2. KELEBIHAN 1. Programmable. 2. Rangkaian lebih terintegrasi, kompak, sederhana dan lebih mudah membuat PCB (Packet Circuit Block). 3. Pengembangan fleksibel.
2.3. KEKURANGAN 1. Kerusakan program menyebabkan sistem macet. 2. Tergantung pada softwere. 3. Lebih sensitif terhadap derau. 4. Cepat usang (obsolete).
3.
Mikrokontroller ATmega8535 AT mega8535 adalah mikrokontroller 8 bit buatan ATMEL dengan 8 KByte System Programable Flash dengan teknologi memori tak sumirna(nonvolatile), kepadatan tinggi, dan kompatibel dengan pin out dan set instruksi standar industri MCS51 INTEL. Arsitektur yang digunakan dengan RISC (Reduce Instruction set in singgle chip). 3.1. Karakteristik Mikrokontroller Atmega 8535 sebagai berikut : Adapun
Beberapa
Karakteristik
Mikrokontroller
ATmega8535 antara lain sebagai berikut : 1. Kompatibel dengan produk keluarga MCS51. 2. Dapat
digunakannya
bahasa
C
sebagai
bahasa
pemrogramannya. 3. Programmable Flash Memory sebesar 8 K Byte. 4. Memiliki 512 Bytes EEPROM yang dapat diprogram. 5. Ketahanan (endurance) : 10.000 siklus tulis/hapus. 6. Jangkauan operasi : 4,5 – 4,5 – 5,5 5,5 Volt. 7. Fully Static Operation : 0 Hz – Hz – 16 16 MHz untuk ATmega8535. 8. Dua level Program Memory Lock yaitu flash program dan EEPROM data seccurity. 9. RAM Internal 128 X 8 bit. 10. Memiliki 32 jalur I/O yang dapat diprogram. 11. Satu pencacah 8 bit dengan separate prescaler.
3.2. Susunan Kaki Mikrokontroler ATmega8535 Bentuk kemasan dan susunan kaki-kaki mikrokontroler dari ATmega8535 diperlihatkan seperti padaGambar berikut:
3.3. Fungsi dari kaki-kaki Mikrokontroler ATmega8535,antara lain: 1. VCC (kaki 40) dihubungkan ke Vcc. 2. GND (kaki 20) dihubungkan ke ground. 3. PortA (PA7..PA0) (kaki 32-39) merupakan port 8 bit dua arah (bidirectional) I/O. Port ini berfungsi sebagai port data/alamat I/O ketika menggunakan SRAM eksternal. 4. Port B (PB7..PB0) (kaki 1-8) merupakan port 8 bit dua arah (bidirectional) I/O, untuk berbagai keperluan (multi purpose). 5. Port C (PC7..PC0) (kaki 21-28) adalah port 8 bit dua arah I/O, dengan internal pull-up resistor. Port C ini juga berfungsi sebagai port alamat ketika menggunakan menggunakan SRAM eksternal. 6. Port D (PD7..PD0) (kaki 10-17) adalah port 8 bit dua arah I/O dengan resistor pull-up internal. Port D juga dapat berfungsi sebagai terminal khusus. 7. Reset (kaki 9) ketika kondisi rendah rendah yang lebih lama dari 50 nS mikrokontroler akan reset walaupun detak tidak berjalan.
8. XTAL1 (kaki 19) masukan bagi penguat osilator terbalik dan masukan bagi rangkaian operasi detak internal. 9. XTAL2 (kaki 18) keluaran dari penguat osilator terbalik. 10. ICP (kaki 31) adalah masukan bagi masukan fungsi Capture Timer/counter1. 11. OC1B (kaki 29) adalah kaki keluaran bagi fungsi Output CompareB keluaran Timer/Counter1. 12. ALE (Address Latch Enable) (kaki 30) digunakan ketika menggunakan SRAM eksternal. Kaki ini digunakan untuk mengunci 8 bit alamat bawah pada saat siklus akses pertama, dan berfungsi sebagai port data pada siklus akses kedua. 3.4. Blok Diagram dan Arsitektur ATmega8535 ATmega8535 mempunyai 32 general purpose register (R0..R31) yang
terhubung langsung dengan Arithmetic Logic Logic
Unit (ALU), sehingga register dapat diakses dan dieksekusi hanya dalam waktu satu siklus clock. ALU merupakan
tempat
dilakukannya operasi fungsi aritmetik, logika dan operasi bit. R30 disebut juga sebagai Z-Register, yang digunakan sebagai register penunjuk pada pengalamatan tak langsung. Didalam ALU terjadi terj adi operasi aritmetik dan logika antar register, antara register dan suatu konstanta, maupun operasi untuk register tunggal (single register). Berikut arsitekturnya yang ditunjukkan blok diagram pada gambar berikut:
3.5. Organisasi Memori AVR
menggunakan
arsitektur
Harvard,
sehingga
memisahkan memori serta bus data dengan program. Program ditempatkan Flash Memory, sedangkan memori data terdiri dari 32 buah buah register register serbaguna, 64 register serbaguna, 512
bytes
internal SRAM dan 64 Kbytes SRAM eksternal yang dapat ditambahkan Berdasarkan fungsinya fungsinya terdapat 4 macam memori pada ATmega8535.
3.6. Memori Program ATmega8535 mempunyai kapasitas memori program sebesar 8 Kbytes. Karena semua format instruksi berupa kata (word), Format word yang biasa digunakan adalah 16 atau 32 bit. Pada ATmega8535 ini format memori program yang digunakan adalah 16 bit, sehingga format memori program yang digunakan adalah 4Kx16bit. Memori Flash ini dirancang untuk dapat di hapus dan tulis sebanyak seribu kali. Program Counter (PC)-nya sepanjang 12 bit, sehingga mampu mengakses hingga 4096 alamat program memori. Memori program pada ATmega8535. Setelah reset CPU memulai eksekusi dari lokasi 0000h. Setiap interupsi
mempunyai lokasi tetap dalam memori program.
Interupsi menyebabkan CPU melompat ke lokasi tersebut dimana pada lokasi tersebut terdapat subrutin yang harus dilaksanakan. Berikut merupakan gambar dari bagian bawah memori program:
Tugas 2 Mikrokontroller Running LED Disusun Oleh:
Nama
: Febriyanto
NIM
: 121910201012
Kelas
:C
Prod/Jur : S-1 Elektro Dosen
: Bambang Supeno, ST.MT
FAKULTAS TEKNIK UNIVERSITAS JEMBER 2013
A
B
C
D
E
F
G
H
J
K
0
0
VCC
1
1 RUNNING LED
Rangkaian ini menggunakan mikrokontroler er D1
ATMEGA8535untuk mengontrol 8LED.
VCC
LED yang dihubungkan pada PortC
2
D5 D2
D7
D12
D3
LED-YELLOW LED-GREEN LED-BLUE
akan menyala secara bergantian dalam interval waktu tertentu. LED akan menyala
U3
LED
bila diberi logika "1". 2 3 4 5
3
6 7 8
1B
1C
2B
2C
3B
3C
4B
4C
5B
5C
6B
6C
7B
7C
8B
8C
D14
2
LED
10
COM
1
D8
LED-YELLOW LED-GREEN LED-BLUE
18
R17
330R
17
R15
330R
16
R16
330R
15
R14
330R
14
R13
330R
13
R12
330R
12
R11
330R
R10
330R
11
3
ULN2803
4
2 3 4 5
5
6 7 8 14 15 16
6
17 18 19 20 21 13
7
PB0/T0/XCK
PA0/ADC0
PB1/T1
PA1/ADC1
PB2/AIN0/INT2
PA2/ADC2
PB3/AIN1/OC0
PA3/ADC3
PB4/SS
PA4/ADC4
PB5/MOSI
PA5/ADC5
PB6/MISO
PA6/ADC6
PB7/SCK
PA7/ADC7
PD0/RXD
PC0/SCL
PD1/TXD
PC1/SDA
PD2/INT0
PC2
PD3/INT1
PC3
PD4/OC1B
PC4
PD5/OC1A
PC5
PD6/ICP1
PC6/TOSC1
PD7/OC2
PC7/TOSC2
9
40 39 38 37
D9
36
VCC
35
D13 D4
D10
D15
D6
LED-YELLOW LED-GREEN LED-BLUE
34 U2
33 22
1
23
2
24
3
25
4
26
5
27
6
28
7
29
8
LED
1C
2B
2C
3B
3C
4B
4C
5B
5C
6B
6C
7B
7C
8B
8C
D16
5
10
COM 1B
D11
LED-YELLOW LED-GREEN LED-BLUE
LED
18
R2
330R
17
R3
330R
16
R4
330R
15
R5
330R
14
R6
330R
13
R7
330R
12
R8
330R
11
R9
330R
6
ULN2803
XTAL1
12
4
VCC
U1 1
XTAL2
AREF
RESET
AVCC
7
32 30
ATMEGA8535
8
8
FILE NAME:
DATE: running led versi febriyanto.DSN
DESIGN TITLE:
RUNNING LED
PATH:
9 E:\FCB\mari belajar yuk\data semester 3\microcontroller\tugas C 1 of 1
30/11/2013 PAGE:
9
BY:
A
B
C
D
E
F
G
REV:
H
Program dari ruangkaian running LED diatas: /***************************************************** Chip type
: Atmega8535
Program type
: Application
AVR Core Clock frequency : 12,000000 MHz Memory model
: Small
External RAM size
:0
Data Stack size
: 128
*****************************************************/ #include #include while (1)
J
T IM IM E :
1 3: 28 :0 1
K
{ PORTC=0b00010001; delay_ms(606); PORTC=0b00100010; delay_ms(605); PORTC=0b01000100; delay_ms(604); PORTC=0b10001000; delay_ms(603); PORTC=0b00010001; delay_ms(602); PORTC=0b00100010; delay_ms(601); PORTC=0b01000100; delay_ms(600); PORTC=0b10001000; delay_ms(599);
} }
Tugas 3 Mikrokontroller Seven Segment Disusun Oleh:
Nama
: Febriyanto
NIM
: 121910201012
Kelas
:C
Prod/Jur : S-1 Elektro Dosen
: Bambang Supeno, ST.MT
FAKULTAS TEKNIK UNIVERSITAS JEMBER 2013
1. Sekilas Seputar Seven Segment
Seven-segment, biasanya dikenal sebagai suatu seven-segment indikator, adalah suatu format dari alat tampilan yang suatu alternative ke dot-matrix tampilan yang semakin kompleks. Seven-Segment adalah biasanya digunakan di dalam elektronika sebagai metoda dari mempertunjukkan umpan balik klasifikasi sistim decimal dengan operasi yang internal tentang alat. 7 segmen diatur sebagai segiempat panjang dari dua segmen yang vertikal pada [atas] masing-masing sisi dengan satu segmen yang horizontal di bagian atas dan alast. Apalagi, segmen yang ketujuh membagi dua bgian segiempat panjang secara horizontal. Berikut gambar rangkaian dari seven segment menggunakan proteus 7.10 dan codevision AVR AVR sebagai pemrogramannya:
RP1 9 8 7 6 5 4 3 2 1 330 b
c
DSW1 9
OFF
ON
a
1
4
3
2
5
U1 1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
DIPSWC_8
a b c 1 2
C1
3 4 5
22pF
14 15 16 17 18 19 20 21 13
X1
12
CRYSTAL
9
C2
PB0/T0/XCK
PA0/ADC0
PB1/T1
PA1/ADC1
PB2/AIN0/INT2
PA2/ADC2
PB3/AIN1/OC0
PA3/ADC3
PB4/SS
PA4/ADC4
PB5/MOSI
PA5/ADC5
PB6/MISO
PA6/ADC6
PB7/SCK
PA7/ADC7
PD0/RXD
PC0/SCL
PD1/TXD
PC1/SDA
PD2/INT0
PC2
PD3/INT1
PC3
PD4/OC1B
PC4
PD5/OC1A
PC5
PD6/ICP1
PC6/TOSC1
PD7/OC2
PC7/TOSC2
40 39 38 37 36
D1
35 34 33 22 1 23 2 24 3 25 4 26 5 27 6 28 7 29 8
COM 1B
1C
2B
2C
3B
3C
4B
4C
5B
5C
6B
6C
7B
7C
8B
8C
ULN2803
XTAL1 XTAL2
AREF
RESET
AVCC
D2
D3
D4
10 18 17 16 15 14 13 12 11
R1 R2 R3 330 R4 330 330 R5 R6 330 R7 330 330 R8 330 330
32 30
ATMEGA8535 22pF
R9 10k
C3 10uF
Program dari rangkaian seven segment diatas: /***************************************************** Chip type Program type
: ATmega8535 : Application
D5
D6
D7
LED-BLUE LED-BLUE LED-BLUE LED-BLUE LED-BLUE LED-BLUE LED-BLU L
U2
-
AVR Core Clock frequency: 4.000000 MHz Memory model Data Stack size
: Small : 128
*****************************************************/ #include #include unsigned int satuan, puluhan, ratusan; unsignedcharbil[10]={0x3f,0x06,0x5b,0x4f,0x66, unsignedcharbil[10]={0x3f,0x06, 0x5b,0x4f,0x66,0x6d,0x7d,0x0 0x6d,0x7d,0x07,0x7f,0x 7,0x7f,0x 6f},nama[5]={0x71,0x79,0x7c,0x50,0x30}; void main(void) while (1) { PORTC=PINB; satuan=PINB%10; puluhan=(PINB/10)%10; ratusan=(PINB/100)%10; PORTD=0b11111110; PORTA=bil[satuan]; delay_ms(1); PORTD=0B11111101; PORTA=bil[puluhan]; delay_ms(1);
PORTD=0b11111011; PORTA=bil[ratusan]; delay_ms(1); PORTD=0B11110111; PORTA=nama[0]; delay_ms(1); PORTD=0B11101111; PORTA=nama[1]; delay_ms(1); PORTD=0B11011111; PORTA=nama[2]; delay_ms(1); PORTD=0B10111111; PORTA=nama[3]; delay_ms(1); PORTD=0B01111111; PORTA=nama[4]; delay_ms(1); }
}
Tugas 4 Mikrokontroller Keypad Disusun Oleh:
Nama
: Febriyanto
NIM
: 121910201012
Kelas
:C
Prod/Jur : S-1 Elektro Dosen
: Bambang Supeno, ST.MT
FAKULTAS TEKNIK UNIVERSITAS JEMBER 2013
Keypad dengan Teknik DTMF 1. Definisi DTMF (Dual Tone Multi Frekuency)
DTMF (Dual Tone Multi Frekuency) adalah teknik mengirimkan angka-angka nomor telephon yang dikodekan dengan 2 nada yang dipilih dari 8 buah frekuensi yang telah ditentukan. Delapan frekuensi tersebut adalah 697 hz, 770 hz, 852 hz, 941 hz, 1209 hz, 1336 hz, 1477 hz dan 1633 hz. Sebagai contoh jika tombol 1 maka angka 1 dikodekan dengan 697 hz dan 1209 hz, dan angka 9 dikodekan dengan 852 hz dan 1477 hz. Teknik dtmf mungkin memliki banyak keunggulan dibanding dengan cara memutar piringan angka,tapi secara teknis lebih sulit diselesaikan decoding sinyalnya. Dimana alat pengirim kode dtmf merupakan 8 rangkaian oscilator yang masing-masing membangkitkan frekuensi unik. Multiple frequency adalah suatu teknik dari proses signaling dimana menggunakan campuran dari dua buah sinyal (sine wave sound). Pada awalnya metode ini dikembangkan oleh bell system and CCITT. Dimana penggunaannya diperuntukan sebagai penentu tujuan antar publik switching pada sistem telepon jarak jauh. Ternyata dengan metode ini dapat menambah kecepatan dan efisiensi layanan telepon saat itu.teknologi dtmf atau yang dikenal dengan dengan
touch-tone pertama kali dipergunakan
secara komersil oleh at&t sebuah perusahan telekomunikasi di amerika pada 5 juli 1960. Yang dituangkan dalam publikasinya pada buletin no.105 at&t berjudul customerstation
using
“a method for pushbutton signaling from the
voice
transmission
path”.
Kemudian
perkembangan selanjutnya banyak vendorain menggunakan teknologi ini dalam aplikasi telepon mereka. Dikarenakan kekhawatiran akan adanyan interferensi sinyal antar pengguna pengguna telepon
yang menggunakan konsep
multiple frequency, maka di buatlah berbagai aturan dan protokol untuk itu seperti : mf/r1,r2,ccs4,ccs5,ss7, hingga terakhir disepakati itu-t q.23. Jadi dapat kita ketahui bahwa keypad merupakan suatu tombol perintah hasil representasi dari pemanfaatan frekuensi pada teknologi DTMF
dimana
menjumlahkan
frekuensi
tinggi
dengan
frekuensi
rendah
berdasarkan kode-kode tertentu. 2. DTMF (Dual Tone Multiple Frequency Frequency Signal) 2.1 Cara Kerja
Setelah beralih ke teknologi digital , proses dialing nomor telepon tidak lagi dengan memutar piringan angka, namun dengan cara menekan tombol-tombol angka. Diilustrasikan sebagai berikut, ketika kita menekan tombol pada keypad telepon, sebuah hubungan terjadi karena gabungan atau penjumlahan dua buah sinyal suara pada saat bersamaan. Penjumlahan sinyal frekuensi tersebut disebut dual tone multiple frequency. Dimana sinyal ini identik dan unik.DTMF sinyal adalah penjumlahan dua buah sinyal audio frekwensi yang berbeda, dimana dapat direpresentasikan sebagai persamaan aljabar :
Dimana setiap grup frekuensi terdiri dari empat frekuensi , empat frekuensi tinggi tinggi dan empat frekuensi frekuensi rendah.
Sedangkan a dan dan b
merepresentasikan nilai amplitudo dari masing-masing frekuensi. Dimana setiap tombol yang ditekan merupakan hasil dari penjumlahan satu frekuensi tinggi dan satu frekuensi rendah yang menghasilkan sebuah sinyal dtmf yang merupakan representasi dari tombol tersebut.
Sebagai ilustrasi ketika user menekan tombol nomor telepon pada keypad
pesawat telepon¸maka setiap tombol tersebut akan
menghasilkan sinyal sinyal dtmf dari penjumlahan dua buah buah frekwensi frekwensi yang merepresentasikan masing-masing tombol.
Misalnya user menekan
tombol 5 pada keypad, maka terjadi penjumlahan sinyal suara dari frekuensi tinggi (1336hz) dan frekuensi rendah (770hz). Maka akan terjadi penjumlahan sinyal frekuwnsi dengan persamaan :
Kemudian sinyal dtmf tersebut mengalir melewati kabel dan menuju kepada server telepon, kemudian server mengidentifikasi sinyal tersebut dan melihat nomor tujuan lalu membangun hubungan komunikasi dengan user penerima.kemudian masing-masing dapat saling berkomunikasi. Sedangkan besarnya amplitudo pada sinyal dtmf yang merupakan hasil penjumlahan dua buah frekwensi tersebut berkisar antara :
Dimana biasanya pada suatu grafik frekwensi, garis y disebut amplitudo dengan besaran v (voltase) dan garis y merepresentasikan waktu (t).teknik dtmf mempunyai banyak keuntungan dibanding dengan memutar piringan angka, tetapi secara teknis lebih sulit. Alat pengirim kode dtmf merupakan 8 rangkaian oscilator yang masing-masing membangkitkan frekuensi diatas, ditambah dengan rangkaian pencampur frekuensi untuk mengirimkan 2 nada yang terpilih. Sedangkan penerima kode lebih rumit lagi, dibentuk dari 8 filter yang tidak sederhana dan rangkaian tambahan lainnya. 2.2 Rangkaian Pembuat DTMF 2.2.1. DTMF signal generation Untuk membuat sistem kerja dtmf untuk kontrol sistem pada telepon biasanya digunakan ic (um-91214,um91214b,dll). Dimana ic ini dapat merepresentasikan setiap frekuensi pada tombol, dikarenakan ic tersebut mampu memuat representasi array empat baris dan tiga kolom, sama seperti keypad telepon.
Dapat dilihat pada gambar rangkaian tersebut, sisi inputan pada ic um-91214 ada pada pin 12-14 menghasilkan frekuensi tinggi pada grup kolom, sedangkan pin 15-18 menghasilkan frekuensi rendah pada grup baris. Sedangkan untuk output ada pada pin 7, sebagai tempat keluar sinyal dtmf hasil penjumlahan frekuensi, yang nantinya akan dikirim kepada sistem kontrol server melalui kabel.untuk menghasilkan sinyal yang hasilnya tepat, maka diperlukan beberapa komponen dan properti tambahan pada rangkaian, yaitu berupa crystal oscillator 3,58 mhz yang dihubungkan pada pin 3 dan 4 sehingga dapat menjadi bagian dari oscillator internal. internal.
Sedangkan untuk sumber daya ic ini ini
membutuhkan tegangan sebesar 3 v. Dimana biasanya disupply dari sebuah zener diode berkapasitas 3,2 v. Diode ini berfungi sebagai penstabil tegangan pada rangkaian. 2.2.2
DTMF decoder Pada sisi penerima telepon, sistem rangkaian dtmf akan menganalisa nilai dari sinyal dtmf yang masuk. Rangkaian decoder ini intinya ada pada ic mt-8870/ ic kt3170 / ic mt-8888, dengan cara kerja sebagai penerjemah sinyal yang datang dari kabel telepon menjadi sebuah nilai bcd
(binary
code-decimal).
Prinsip
kerjanya
adalah
memisahkan sinyal dtmf atas frekuensi rendah dan frekuensi tinggi, kemudian masing-masing sinyal tersebut diproses secara terpisah dengan membandingkan frekuensi masukan dengan clock referensi yang ada pada rangkaian ic. Pokok permasalahan yang perlu diperhatikan adalah toleransi kecacatan sinyal karena noise atau gangguan lain yang mengakibatkan kesalahan pembacaan sinyal.pada ic mt-8870 menggunakan crystal oscillator dengan frkwensi 3,85 mhz. Ic
ini menggunakan prinsip kerja bandpass filter. Hal ini dikarenakan fungsinya yang dapat melewatkan sinyal yang frekwensinya berada pada batas yang ditentukan. Sehingga dapat dipisahkan mana sinyal dengan frekwensi rendah, dan mana sinyal dengan frekwensi tinggi. Sedangkan pada bagian decodernya
mampu
pasangan frekwensi
mendeteksi sinyal dtmf
dan
merubah
menjadi
4-bit
semua code.
Kemudian dapat menentukan frekuensi dari batas suara yang ada dan memeriksa dengan frekwensi dtmf standar.untuk komponen eksternal yang dibutuhkan diantaranya adalah crystal oscillator 3,58 mhz, timing
resistor, dan dan timing
capasitor.
Kelompok frekwensi rendah dan tinggi dipisahkan dengan memasukan sinyal dtmf kedalam input dari dua 6thorders switched capacitor bandpass filter dengan batasan nilai yang sesuai dengan nilai grup sinyal frekwensi. Filter ini juga menyertakan bentuk frekuensi 350 hz dan 440 hz untuk penolakan call tone bila terjadi kesalahan. Kemudian masing-masing keluaran dari filter dimasukan kepada switch
order
tunggal
pada
bagian
kapasitor
filter,
memperlancar sinyal masukan sebelum dipartisi.
untuk Caranya
dengan membandingkan membandingkan sinyal dengan high-gain comparator dengan hysteresis
untuk mencegah
adanya sinyal-sinyal
yang tidak diinginkan atau noise.kemudian ketika detector mengenali adanya sinyal yang sesuai dengan standar,maka detector akan menaikan early steering flag (est). Namun jika detector tidak megenali adanya sinyal yang sesuai maka est akan turun. Proses mengenali sinyal yang sesuai yaitu dengan memeriksa delay dari sinyal yang masuk ke decoder pada eksernal rc time (resistor and capacitor time). Jika delaynya sebentar atau sedikit, maka akan menaikan est dan berlaku sebaliknya jika delaynya lama maka akan menurunkan est. Hal ini berdampak pada proses pengkodean pengkodean pada rangkaian. Jika est naik maka control output akan merepresentasikan sebagai nilai logika tinngi (1) dan sebaliknya jika est turun maka control output akan merepresentasikan nilai logika (0). Kemudian rangkaian 4-bit tersebut direpresentasikan sebagai nilai pada tombol keypad.
Berikut adalah salah satu contoh rangkaian dtmf decoder yang biasa digunakan.
Pada rangkaian penerima dtmf yang dibangun dengan at89c2051 dan mt8870 ini terlihat bahwa
at89c2051
dilengkapi xtal y2 (12 mhz) ditambah kapasitor c3 dan c4 membentuk rangkaian oscilator, dilengkapi pula dengan rangkaian reset yang dibentuk dengan c5 dan r4, kedua rangkaian ini merupakan rangkaian baku at89c2051.mt8870 dilengkapi dengan xtal y1 (3.579545 mhz), c2 dan r3 dipakai untuk menentukan waktu minimal untuk mengenali nada dtmf yang diterima, rangkaian penguat sinyal dtmf dibentuk dengan r1, c1 dan r2. Nilai-nilai komponen ini langsung diambil dari lembaran data (data sheet) mt8870 yang sudah disesuaikan dengan karakteristik sinyal dtmf pada umumnya. Std (delayed steering - kaki 15 mt8870) merupakan output yang menandakan mt8870 mempunyai data dtmf baru yang bisa diambil. Saat tidak ada nada dtmf kaki std=‟0‟, jika sinyal yang masuk mt8870 mengandung
nada dtmf dan
nada itu lamanya melebihi konstanta waktu yang ditentukan oleh c2 dan r3,
std
akan menjadi „1‟ memberitahu
at89c2051 bahwa ada data di d0..d3 (kaki 11 sampai dengan 14 mt8870) yang bisa di ambil. Sinyal std akan tetap bertahan =‟1‟ manakala manakala nada dtmf masih ada. Dalam gambar, std dipantau lewat kaki kaki p1.7 at89c2051.toe at89c2051.toe (tristate ouput enable - kaki 10 mt8870) mt8870) merupakan input untuk mengatur data di d0..d3, jika
toe=0 rangkaian output
d0..d3d0..d3 d0..d3d0..d3
tidak
digabungkan dengan jalur data peralatan lainnya, kaki toe bisa saja dihubungkan ke „1‟. Akan mengambang (high impedance state) sehingga data tidak bisa diambil. Jika dalam gambar, toe di kendalikan dengan kaki p1.6at89c.
Gambar tabel representasi sinyal dtmf ke biner 4-bit
2.3 Aplikasi DTMF
2.3.1 DTMF Pada Pesawat Telepon Pada
tahun
1940-1n
bell
laboratories
mengembangkan sistem pensinyalan
berhasil
touch tone dialing
dengan membangkitkan nada sebagai pengganti sistem pendialan pulsa pada pesawat telepon model lama yang menggunakan cakram. Teknik dan prinsip kerja sama seperti penjelasan diatas.
Dimana masing-masing tombol pada
keypad di representasikan sebagai spenjumlahan dua buah sinyal frekuensi.
2.3.2 Pengolahan Data Keluaran DTMF Decoder Untuk
mengendalikan
peralatan
listrik
memanfaatkan prinsip kerja dari dtmf untuk mengendalikan peralatan listrik yang ada di rumah. Dengan tambahan aplikasi sms, maka handphone yang ditambahi dengan ic dtmf decoder mampu mengendalikan sistem perangkat listrik di rumah.
Sehingga memungkinkan pengguna
mengendalikan alat listrik dimana saja dan kapan saja. Proses kerja secara garis besar adalah ketika program dijalankan user, maka program mulai melakukan proses pembacaan nilai dtmf. Selanjutnya nilai dtmf tersebut dibandinkan dengan nilai referensi yang yang ada pada sistem. Setelah nilainya sesuai maka dimulai proses pengendalian peralatan
listrik
sesuai
dengan
nilai
dtmf
yang
direpresentasikan oleh peralatan tersebut. Misalnya nilai 1 untuk mematikan lampu dan sebagainya.
Pegembangan
teknologi dtmf sangat luas, dan banyak digunakan sebagai bagian dari fungsi kontrol suatu sistem dalam kehidupan sehari-hari. 2.4 Regulasi Tentang DTMF
a) Pengaturan mengenai sistem dan dan spesifikasi dari dibuat
dtmf sudah
dalam itu-telecommunication i tu-telecommunication recomendation series q-23,
yang kemudian di ratifikasi oleh depkominfo melalui dirjen postel dalam suatu peraturan sebagai berikut. b) Pengkodean sinyal register dtmf untuk pelanggan analog : pemakaian dtmf sebagai sinyal register untuk pelanggan analog diatur dalam itu-telecomunication recommendation series q-23.
Sedangkan standar Dial DTMF adalah saat dimana nada selama tombol telepon ditekan, tak perduli berapa lamanya, nada dikodekan sebagai satu digit. Pengiriman digit dalam durasi yang pendek ± 100 ms dapat juga dilakukan, tapi tidak oleh tangan manusia karena hal tersebut tidak mungkin, dan hanya dilakukan dengan cara otomatis.
2.6 DTMF In Labview
Pada labview aplikasi DTMF masuk kedalam pokok bahasan dari dsp(digital signal processing). Pada labview, dtmf di representasikan dengan algoritma goertzel. Dimana algoritma ini diasumsikan lebih efisien dari fft (fast fouier transform) algorithm dalam implementasi dtmf berdasarkan jumlah opersai pembentuknya, kecepatan eksekusi dan alokasi memori. Namun tidak seperti fft algorithm, goertzel tidak mengijinkan
adanya
inputan
dari
seluruh
data.
Jadi
hanya
mengeksekusi data-data yang ditentukan saja. Oleh karenanya algoritma goertzel digunakan pada aplikasi dtmf yang mana memiliki nilai frekuensi yang tetap.
Algoritma goertzel pertama kali
dipublikasikan oleh dr.gerald goertzel pada tahun 1985.perasamaan dari algoritma goertzel filter adalah sebagai berikut :
Fs
adalah nilai frekuensi
yang diambil, sedangkan adalah
frekuensi sampling. Pada algoritma goertzel yang digunakan sebagai filter pada dtmf Detection adalah magnitude square output :
Dimana nilai koefisien dari frekuensi dtmf sebagai berikut :
dipilih dari nilai sinyal
Penjelasan dari flowchart : 1.
ketika sinyal suara dtmf diterima oleh device, maka terdapat dua buah nilai frekuensi komponen yaitu 679, 770, 852, 941, 1209,1336, 1447 hz.
2. gunakan algoritma goertzel goertzel untuk mencari nilai nilai rkrusif dari sunyaltersebut. Yang mana berkorespodensi dengan nilai frekuensi standar. 3. kemudian hitung nilai dari frekuensi index-nya (k) yang berdasarkan kepada nilai dari frekuensi sampling(fs) dan ukuran data (n). Dimana nilai dari fs= 8000hz dan n=205. 4. kemudian nilai yang didapat dibandingkan dengan
nilai
treshold yang ada pada decoder. Dimana nilai treshold merupakan penjumlahan dari seluruh spectral frequency dari tujuh frekwensi dtmf dibagi 4. Dimana nilai treshold yang ideal adalah ½ dari nilai individual spectral. 5. jika nilai spectral frequeny lebih besar dari nilai tresholdnya maka pada output operation akan bernilai logic 1 dan selain itu bernilai logic 0.
3. Penutup 3.1
Kesimpulan
Teknologi dtmf merupakan aplikasi yang memanfaatkan penjumlahan frekuensi untuk dapat merepresentasikan suatu tombol (pada keypad). Dengan adanya DTMF proses signaling pada telepon switching menjadi lebih cepat dan efisien daripada dengan metode rotary dial.
Selain itu dtmf ternyata dapat
dimanfaatkan dalam berbagai aplikasi yang yang melibatkan sistem kontrol dengan bantuan alat lain misalnya mikrokontroler.
Berikut gambar rangkaian dari seven segment menggunakan proteus 7.10 dan codevision AVR AVR sebagai pemrogramannya:
U1 U2 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 XTAL1 XTAL2 RESET
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 13 12 9
PB0/T0/XCK
PA0/ADC0
PB1/T1
PA1/ADC1
PB2/AIN0/INT2
PA2/ADC2
PB3/AIN1/OC0
PA3/ADC3
PB4/SS
PA4/ADC4
PB5/MOSI
PA5/ADC5
PB6/MISO
PA6/ADC6
PB7/SCK
PA7/ADC7
PD0/RXD
PC0/SCL
PD1/TXD
PC1/SDA
PD2/INT0
PC2
PD3/INT1
PC3
PD4/OC1B
PC4
PD5/OC1A
PC5
PD6/ICP1
PC6/TOSC1
PD7/OC2
PC7/TOSC2
XTAL1 XTAL2
AREF
RESET
AVCC
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29
PA0 PA1 PA2 PA3
1
PC0
2
PC1
3
PC2
4
PC3
5
PA4
6
PA5
7
PA6 PA7
COM 1B
1C
2B
2C
3B
3C
4B
4C
5B
5C
6B
6C
7B
7C
9 16
8 . 8
15
8 +
14 13
0 A P
1 A P
2 A P
1
2
3
12 11 10
ULN2003A
PA3
A
1
2
3
PA4
B
4
5
6
PA5
C
7
8
9
PA6
D
0
#
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 S D E 0 1 2 3 4 5 6 7 S D E S W V V V R R E D D D D D D D D
32 30
1 2 3
4 5 6
7 8 9 0 1 2 3 4 1 1 1 1 1
ATMEGA8535 0 1 2 D D D P P P
C1
4 5 6 7 D D D D P P P P
XTAL1 22pF
C2
X1 CRYSTAL XTAL2
22pF
***************************************************** Chip type
: ATmega8535
Program type
: Application
AVR Core Clock frequency
: 8,000000 MHz
Memory model
: Small
External RAM size
:0
Data Stack size
: 128
*****************************************************/ #include #include // Alphanumeric LCD functions #include #include
// Declare your global variables here unsigned char buf[33], pencet, kecepatan[11]={100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0}; int temp, mode = 0; int kecepatanku = 5; char anu; void kepet (void){ DDRA = 0b00000111; PORTA = 0b11111110; switch(PINA) { case 0b11110110: pencet='1'; delay_ms(100);break; case 0b11101110: pencet='4'; delay_ms(100);break; case 0b11011110: pencet='7'; delay_ms(100);break; case 0b10111110: pencet='*'; delay_ms(100);break; }
//delay_ms(100); DDRA = 0b00000111; PORTA = 0b11111101; switch(PINA){ case 0b11110101: pencet='2'; delay_ms(100);break;
case 0b11101101: pencet='5'; delay_ms(100);break; case 0b11011101: pencet='8'; delay_ms(100);break; case 0b10111101: pencet='0'; delay_ms(100);break; } //delay_ms(100); DDRA = 0b00000111; PORTA = 0b11111011; 0b11111011;
switch(PINA){ case 0b11110011: pencet='3'; delay_ms(100);break; case 0b11101011: pencet='6'; delay_ms(100);break; case 0b11011011: pencet='9'; delay_ms(100);break; case 0b10111011: pencet='#'; delay_ms(100);break; } //delay_ms(100); } void main(void) lcd_init(16); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Demo keypad dan");
lcd_gotoxy(0,1); lcd_putsf("stepper oleh"); delay_ms(100); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Awang Karisma"); lcd_gotoxy(4,1); lcd_putsf("121910201069"); delay_ms(100);
while (1) { // Place your code here kepet(); while(mode!='4' && mode!='6'){ kepet(); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Arah stepper:"); lcd_gotoxy(0,1); sprintf(buf, "(4:%c, 6:%c) : %c", 0b01111111,0b01111110, pencet); lcd_puts(buf);
if(pencet=='5'){mode=temp;} else {temp=pencet;}; } lcd_clear(); lcd_gotoxy(0,0); sprintf(buf, "Speed: %i Arah:%c", kecepatanku, anu); lcd_puts(buf); lcd_gotoxy(0,1); sprintf(buf, "Nilai: %c", pencet); lcd_puts(buf); if(mode=='4'){ anu = 0b01111111; PORTC=1; delay_ms(kecepatan[kecepatanku]); PORTC=2; delay_ms(kecepatan[kecepatanku]); PORTC=4; delay_ms(kecepatan[kecepatanku]); PORTC=8; delay_ms(kecepatan[kecepatanku]); } if(mode=='6'){ anu = 0b01111110; PORTC=8; delay_ms(kecepatan[kecepatanku]); PORTC=4; delay_ms(kecepatan[kecepatanku]);
PORTC=2; delay_ms(kecepatan[kecepatanku]); PORTC=1; delay_ms(kecepatan[kecepatanku]); } if(pencet=='4' || pencet=='6'){mode=pencet;} else if(pencet=='2'){kecepatanku++;} else if(pencet=='8'){kecepatanku--;} pencet = 0; //lcd_clear(); } }
Tugas 5 Mikrokontroller Motor Stepper Disusun Oleh:
Nama
: Febriyanto
NIM
: 121910201012
Kelas
:C
Prod/Jur : S-1 Elektro Dosen
: Bambang Supeno, ST.MT
FAKULTAS TEKNIK UNIVERSITAS JEMBER 2013
Prinsip Kerja dan Pengendalian Motor Stepper 1. Prinsip Kerja Motor Stepper Meskipun pada saat ini terdapat berbagai jenis motor stepper di pasaran, namun pada p ada dasarnya mereka memiliki prinsip kerja yang sama. sam a. Seperti halnya pada motor induksi, motor stepper memiliki bagian-bagian utama berupa berupa stator magnet
permanen, dan lilitan kawat pada pada rotor. Hal
yang membedakan motor stepper dari motor induksi biasa adalah motor stepper memiliki beberapa lilitan pada rotor, yang jumlahnya ditunjukkan oleh jumlah bit motor stepper tersebut dan juga menunjukkan besar derajat pada setiap langkah putaran. Pada motor stepper empat bit terdapat empat lilitan yang menentukan gerakan rotor. Dengan bantuan gambar di bawah ini,akan dijelaskan prinsip kerja dari motor stepper.
Jika suatu lilitan induktor dengan arah tertentu dialiri arus listrik searah, akan timbul medan magnet berkutub utara-selatan pada ujungujung inti besinya. Medan magnet pada keempat lilitan stator motor stepper SA, SB, SC, dan SD, dapat diaktifkan masing-masing. Pengaktifan medan magnet pada satu lilitan stator akan menarik ujung rotor R untuk mensejajarkan dirinya dengan stator penarik. Dimisalkan gambar di atas menunjukkan kondisi awal suatu motor stepper, dimana salah satu ujung rotor R sedang sejajar dengan lilitan stator SA. Jika dalam keadaan tersebut aktivitas pemberian arus dipindahkan ke lilitan SB, maka ujung rotor R yang terdekat dengan SB akan segera mensejajarkan diri dengan
SB. Berarti, rotor akan berputar searah jarum jam sejauh 18º. Sebaliknya, jika dari kondisi awal lilitan pada stator SD yang diaktifkan,maka rotor akan berputar berlawanan dengan arah jarum jam sejauh 18º, hingga ujung rotor yangterdekat menjadi sejajar dengan SD. Jadi,
untuk
memutar
rotor
sejauh
360º
searah
jarum
jam,diperlukan 20 langkah aktivasi (360º= 20 x 18º), yaitu SB, SC, SD, SA, SB, ... dst. Dari uraian di atas, dapat disimpulkan bahwa jika lilitan stator diaktifkan satu persatu secara bergiliran, maka stator akan berputar sejauh 18º langkah. Namun, besarnya sudut putar ini bisa diperkecil lagi dengan menambahkan kombinasi berupa aktivasi dua lilitan stator. Sebagai contoh, dari kondisi awal pada gambar di atas, jika lilitan stator SAdan SBdiaktifkan, maka rotor akan bergerak searah jarum jam sebesar 9º (half step). Jika keadaan terakhir dilanjutkan lagi dengan mengaktifkan lilitan stator SB, maka putaran akan berlanjut sejauh 9º lagi. Putaran sebesar 9º berikutnya, dapat dilakukan dengan mengaktifkan lilitan stator SBdan SC, dan demikian seterusnya. Cara ini dapat dilakukan untuk memperhalus sudut putar motor stepper. Disamping cara tersebut, penghalusan putaran dapat juga dilakukan dengan menggunakan roda gigi atau roda bertali, yang dapat memperkecil derajat putar dalam setiap langkahnya. 2. Prinsip Pengendalian Motor Stepper Pada gambar dan tabel berikut ini dapat dilihat prinsip pengendalian motor stepper. Jika seluruh saklar dalam keadaan terbuka (OFF alias berkondisi 0), maka motor berada dalam keadaan diam. Jika saklar ditutup dan dibuka secara bergiliran sebagai berikut, berikut, TA, TA, TB, TB, TC, TD, maka motor akan bergerak sejauh 4 langkah (4 x 18º) searah jarum jam. Sebaliknya, motor akan bergerak sejauh 4 langkah berlawanan dengan arah jarum jam, jika saklar ditutup dan dibuka menurut urutan TD,TC, TB, TA.
CW : Clock Wise (Searah jarum Jam) CCW : Counter Clock Wise (Berlawanan dengan arah jarum jam) Agar bisa dikendalikan secara elektronis (termasuk pengendalian melalui komputer), posisi saklar dapat diganti dengan rangkaian yang terdiri atas transistor, dioda, dan resistor, seperti pada gambar:
Pada rangkaian di atas, transistor digunakan sebagai saklar. Jika satu transistor mendapatkan arus bias pada basisnya (yang telah diperkecil oleh resistor 10 k), transistor langsung memasuki kondisi saturasi, sehingga timbul kesan seolah-olah kaki kolektor dan emitor terkontak langsung. Hal ini menyebabkan arus dari VCC dapat mengalir melalui lilitan menuju ground. Arus bias pada jalur IN di sini bisa berasal ,misalnya, dari port paralel suatu komputer. Sebaliknya, jika transistor tidak mendapat bias, hubungan antara kaki kolektor dan emitor akan “terputus”,
sehingga arus tidak bisa mengalir melalui lilitan menuju
ground. Umumnya motor stepper membutuhkan daya yang cukup besar. Untuk mengendalikan motor stepper dengan spesifikasi arus 1,2 A dan tegangan 5 V / fasa dapat digunakan transistor bertipe BD 677, yang merupakan transistor Darlingtonbertipe NPN yang dikemas dalam satu transistor. Penggunaan transistor Darlington ini dimaksudkan agar pasokan daya dan switching dapat berlangsung dengan cepat. Dalam rangkaian diatas, dioda berfungsi untuk membuang energi dalam bentuk medan listrikyang timbul pada lilitan ketika tidak aktif (mati / OFF), sehingga kerusakan transistor dapat dicegah. Untuk rangkaian di atas, dapat digunakan dioda bertipe IN4002.
Berikut rangkaian motor stepper menggunakan proteus 7.10 dan pemrogramannya menggunakan codevision AVR:
S D E S D E V V V 1 2 3
S W R R E 4 5 6
0 1 2 3 4 5 6 7 D D D D D D D D 7 8 9 0 1 2 3 4 1 1 1 1 1
y
z
1
2
3
a
A
1
2
3
b
B
4
5
6
c
C
7
8
9
0
#
U1 1 2 3 4 5 6 7 8 14 15 16 17 18
C1
19 20 21
1nF
CRYSTAL C2
x
13 12
CRYSTAL
9
PB0/T0/XCK
PA0/ADC0
PB1/T1
PA1/ADC1
PB2/AIN0/INT2
PA2/ADC2
PB3/AIN1/OC0
PA3/ADC3
PB4/SS
PA4/ADC4
PB5/MOSI
PA5/ADC5
PB6/MISO
PA6/ADC6
PB7/SCK
PA7/ADC7
PD0/RXD
PC0/SCL
PD1/TXD
PC1/SDA
PD2/INT0
PC2
PD3/INT1
PC3
PD4/OC1B
PC4
PD5/OC1A
PC5
PD6/ICP1
PC6/TOSC1
PD7/OC2
PC7/TOSC2
XTAL1 XTAL2
AREF
RESET
AVCC
40
d
D x
39
y
38
z
37
a
36
b
35
c
34
U2d
33 22
1
23
2
24
3
25
4
26
5
27
6
28
7
29
COM 1B
1C
2B
2C
3B
3C
4B
4C
5B
5C
6B
6C
7B
7C
9 16 15 14 13 12 11 10
ULN2001A 32 30
ATMEGA8535 1nF
R1 10k
C3 1nF
Program dari rangkaian motor stepper diatas: /***************************************************** Chip type
:ATmega8535
Program type
:Application
AVR Core Clock frequency : 12,000000 MHz Memory model
: Small
External RAM size
:0
Data Stack size
: 128
+88.8
*****************************************************/ #include #include // Alphanumeric LCD functions #include // Declare your global variables here int key, a=20; void keypad() { PORTA=0b11111110; if(PINA.4==0){key=4;} PORTA=0b11111101; if(PINA.3==0){a-=2;} if(PINA.4==0){key=5;} if(PINA.5==0){a+=2;} if(PINA.6==0){key=0;} PORTA=0b11111011; if(PINA.4==0){key=6;} } void main(void) {
DDRA=0x07; DDRB=0x00; DDRC=0xFF; // Alphanumeric LCD initialization // Connections are specified in the // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTB Bit 0 // RD - PORTB Bit 1 // EN - PORTB Bit 2 // D4 - PORTB Bit 4 // D5 - PORTB Bit 5 // D6 - PORTB Bit 6 // D7 - PORTB Bit 7 // Characters/line: 16 lcd_init (16); while (1) { keypad(); while(key!=5) { lcd_gotoxy(0,0);
lcd_puts("STEPPER MATI"); keypad(); if(key==5){lcd_clear();break;} } while(1) { lcd_gotoxy(0,0); lcd_puts("STEPPER HIDUP"); keypad(); while(key==4) { PORTC=1; delay_ms(a); keypad(); PORTC=2; delay_ms(a); keypad(); PORTC=4; delay_ms(a); keypad(); PORTC=8;
delay_ms(a); keypad(); lcd_gotoxy(0,1); lcd_puts("PUTAR KIRI "); if(key==6||key==0){break;} } while(key==6) { PORTC=8; delay_ms(a); keypad(); PORTC=4; delay_ms(a); keypad(); PORTC=2; delay_ms(a); keypad(); PORTC=1; delay_ms(a); keypad(); lcd_gotoxy(0,1);
lcd_puts("PUTAR KANAN"); if(key==4||key==0){break;} } if(key==0){break;} } key=0; } }
\-
DAFTAR PUSTAKA
Kaur, jasleen m.eng. “design and development of a voice based based machine control at remote location” . Departement of electrical &instrumentation &instrumentation engineering. Thapar institute of engineering. India.2006
Loker,r. David and erie,state penn. “dtmf encoder and decoder using labview”. The behrend college.2002
Tim teknik elektro. “rancang bangun sistem pengendali peralatan listrik melalui media telepon berbasis mekrkontroler at89c51”. Universitas nasional. Jakarta.
Kehtarnavaz,nasser.
”digital signal processing system system design : labview labview--
based hybrid programing”. Unversity of texas, usa.2008
Http://wikipedia.com/dual-tone-multi-frequency : diakses pada hari minggu 2 januari 2011.
Http://tutorialelektonika.com/dual-tone-multiple-frequency
: diakses pada
hari minggu, 2 januari 2011.
Peraturan direktur jenderal pos dan telekomunikasi. Nomor : 19/ dirjen/ 2006 tentang : persyaratan teknis alat dan perangkat telekomunikasi interactive voice respone (ivr) pendukung penyelenggaraan jasa nilai tambah teleponi.