Anda di halaman 1dari 51

pudyastowo@gmail.

com

Pengertian Mikrokontroler

Mikrokontroler adalah salah satu dari bagian dasar suatu sistem komputer. Meskipun

mempunyai bentuk yang jauh lebih kecil dari pada suatu komputer pribadi,

mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana,

komputer akan menghasilkan output spesifik berdasarkan input yang diterima dan

program yang dikerjakan.

Pada tahun 1970 mikroposesor (‘computer on a chip’) intel 4004 pertama diproduksi

secara masal, pertumbuhannya sangat cepat. Pengembangan mikoprosesor

dengan menggunakan teknik pabrikasi yang sama dan konsep pemrograman

yang sama melahirkan mikrokontroler. Mikrokontroler tidak dikenal secara luas

karena hanya ditujukan untuk komunitas teknik. Mikroprosesor adalah cpu computer,

untuk dapat digunakan secara umum,masih diperlukan:

• Memory (RAM, ROM) dan juga decoder memory

• I/O dan decoder I/O

• Piranti khusus (Interupsi, timer, counter, etc)

• Clock Generator

Seperti umunya komputer, mikrokonroler adalah alat yang mengerjakan intruksi-

intruksi yang di berikan kepadanya. Artinya,bagian terpenting dan utama suatu sistem

terkkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programer.

Program ini menginstrusikan komputer untuk melakukan jalinan yang panjang dari

aksi-aksi sederhan untuk melakukan tugas yang lebih kompleks yang diinginkan oleh
pudyastowo@gmail.com

programer.

Mikrokontroler didesain sebagai True computer on a chip, jadi mikrokontroler

sudah mempunyai piranti-piranti tambahan untuk membangun suatu sistem computer

digital. Mikrokontroler dirancang dengan intruksi yang bisa mengakses piranti

terprogram dan dioptimalkan untuk instruksi bit dan byte, sementara computer PC

didesain dengan instruksi untuk mengases data data multy byte.

Moikrokontroler merupakan sistem komputer yang seluruh atau sebagian besar

elemennya dikemas dalam satu chip IC, sehingga sering juga di sebut dengan single

chip microcomputer. Mikrokontroler biasa dikelompokan dalam satu keluarga,

masing masing mikrokontroler mempunyai spesifikasi tersendiri namun masih

kompatibekl dalam pemprogramanya. Misalnya keluarga MCS-51 yang di produksi

oleh ATMEL sepeti AT89C51, AT89S52 dengan kapasitas memori program internal

sebesar 8kByte dan 3buah timer AT98cX051 jumlah port 2 dan sebagainya.
pudyastowo@gmail.com

Kontruksi Mikrokontroler

Gambar Diagram Blok Arsitektur AT89X51/52


pudyastowo@gmail.com

Pin-pin Mikrokontroler

Gambar Susunan Pin Atmel-51

Fungsi masing-masing pin pada mikrokontroler :

VCC

Berfungsi sebagai sumber tegangan +5v

GND

Berfungsi sebagai pentanahan (ground)

Port0

Port 0 adalah masukan/keluaran 8 bit dengan nam P0.0-P0.7 jenisnya kerap

terbuka masukan dua arah (open drain bi directional I/O port). Jika port 0

berlogika 1 maka dapat di gunakan sebagai masukan yang mempunyai

impedansi tinggi.

Selain sebagai berfungsi sebagai masukan/keluaran, port 0 juga berfungsi


pudyastowo@gmail.com

sebagai

1. Multipleks antara byte alamat rendah (A0 s/d A7) dan data (D0 s/d 07) pada

saat mengakses memori program eksternal atau memori data internal.

2. Masukan byte kode program selama pemprograman flas memori (memori

program internal atau onchip)dan keluaran saat verifikasi. Resistor pullup dibutuhkan

selama verivikasi.

Port1

Port 1 adalah masukan/keluaran 8 bit dengan nama masing-masng P1.0-P1.7

yang bersifat dua arah. Port 1 sudah di pasang resitor pullup secara internal. Jika

logika satu di tuliskan pada port 1 maka keluaran akan berlogika 1 dan dapat di

gunakan sebagai masukan.

Fungsi lain port 1 :

a. Untuk mikrokontoler AT89C51/52

• Port 1 sebagaoi masukan alamat rendah pada saat pemprograman

memori flas internal dan verifikasi

• Khusus untuk AT89C52 port P1.0 dan P1.1 mempunyai fungsi lain

yaitu

Pin Fungsi
pudyastowo@gmail.com

P1.0 T2 (masukan pencacah eksternal ke timer/counter

2)keluaran clock.
P1.1 T2EX (Timer/counter 2 reloed trigger dan kendali arah)
Tabel Fungsi dari mikrokontroler AT89C52 di port P1.0 dan P1.1

b. Untuk mikrokontroler AT89Cx051

• Port 1 sebagai masukan byte kode program saat pemprograman dan

keluaran kode program saat verivikasi.

• Port P1.0 dan P1.1 membutuhkan resistor pull-up dan mempunyai fungsi

lain yaitu :

Pin Fungsi
P1.0 Masukan positif (AND) untuk komparator analog
P1.1 Masukan negatif (AN1) untuk komparator analog
Tabel Fungsi dari mikkrokontroler AT89Cx051 di port P1.0 dan P1.1

Port2 (Pada AT89CX051 tidak ada)

Port 2 sama dengan port 1 yautu masukan/keluaran 8 bit dengan nam masing-

masing P1.0-P1.7 yang bersifat dua arah. Port 2 sudah di pasang resistor pullup

secara internal. Jika logika 1 di tuliskan pada port 2 maka keluaran akan

berlogika 1 dan dapat digunakan sebagai masukan.

Fungsi lain port 2 adalah :

• Sebagai byte alamat tinggi pada saat menjalankan program dan memori

program eksternal dan mengakses data data pada memori dat eksternal dengan

mengunakan pengalamatan 16 bit (intruksi MOVX@DPTR) sedangjan jika

mengunakan pengalamatan 8 bit (intrksi MOX @RI)maka port 2 berisi SFR P2.

• Sebagai bit alamat atas (AB s/d A12 untuk AT89C51 dan AB s/d A13 untuk
pudyastowo@gmail.com

AT89C52) dan kendali saat pemprograman memori flas internal dan verivikasi.

Port3

Port 3 sama denga port 1 dan port 2 yaitu masukan/keluaran 8 bit dengan nama

masing-masing P3.0 s/d P3.7

Yang bersifat dua arah. Port 3 sudah di pasang resistor pullup secara internal.

Jika logika 1 dituliskan pada port 3 maka keluaran akan berlogika 1 dan dapat

digunakan sebagai masukan.

Selain sebagai masukan/keluaran biasa, port 3 juga mempunyai fungsi khusus

seperti pada tabel di bawah

Pin Port Fungsi khusus AT89C52/51 AT89CX

051
P3.0 RXD (port masukan serial) Ada Ada
P3.1 TXD (port keluaran serial) Ada Ada
P3.2 INT0 (interupsi eksternal 0, aktif rendah) Ada Ada
P3.3 INT1 (interupsi internel 1, aktif rendah) Ada Ada
P3.4 T0 (masukan eksternal timer 0) Ada Ada
P3.5 T1 (masukan eksternal timer 1) Ada Ada
P3.6 WR (signal tulis untuk memori eksternal, Ada Tidak ada

aktif rendah)
pudyastowo@gmail.com

P3.7 RD (signal baca untuk memori eksternal, Ada Tidak ada

aktif rendah)
Tabel Fungsi khusus mikrokontroler AT89C51/52 di port 3

Fungsi lain adalah sebagai masukan signal signal kendali pada saat pemprograman

memori flash dan ferivikasi. Khusus pada AT89Cx051 P3.6 tidak ada pin yang keluar

dari IC karena digunakan secara internal untuk membaca keluaran komparator analog.

RST

Berfungsi sebagai masukan reset. Jika RST diberi logika tinggi dalam waktu 2 siklus

mesin maka mikrokontroler akan di rest. Pada AT89CX051 pin RST juga di gunakan

sebagai masukan tegangan pemprograman (VPP) pada saat tegangan memori flash

internal.

ALE/PROG (AT89CX051 tidak punya)

Signal Address Latch Enable (ALE) dugunakan untuk mengaktifkan IC latc agar data

alamat rendah di simpan. ALE aktif ketika mengakses program eksternal. Pin ini juga

digunakan untuk memberikan pulsa pemprograman memori flas internal. Dalam

keadaan normal ALE mengeluarkan pulsadengan frekuensi konstan yaitu 1/6


pudyastowo@gmail.com

frekuensi osilator. Sehingga dapat digunakan untuk pewaktuaan eksternal.

PSEN (Program Store Enable) (Pada AT89XC051 tidak ada)

PSEN adalah keluaran signal strobe untuk membaca kode program. Ketika

AT89C51/52 mengeksekusi memori program eksternal signal PSEN diaktifkan dua

kali setiap siklus mesinya.

EA/Vpp (Eksternal Access Enable) (Pada AT89XC051 tidak ada)

EA harus dihubungkan dengan ground ika semua program diakses dari memori

program ekstrenal yang dimulai dari alamat 0x0000 s/d 0xFFFF. Jika program yang

akan dieksekusi berasal dari memori program internal dan eksternal maka EA

dihubungkan dengan VCC.

Pin EA juga digunakan sebagai masukan teganggan pemprograman ketika akan

memprpogram memori flash internal.

XTAL-1

Masukan penguat osilator membalik dan masukan rangkaian clock internal.

XTAL-2

Keluaran dari penguat osilator membalik.

Struktur Memori

AT89S52 memiliki struktur memori program dan memori data terpisah yang

masing-masing berkapasitas 64 KByte. Seperti yang terlihat pada Gambar 2.3

memori data internal dialamati oleh (Random Acces Memory) RAM Address

Register (Register Alamat RAM) sedangkan memori program internal (Flash


pudyastowo@gmail.com

PEROM) dialamati oleh Program Address Register (Register Alamat

Program). Adanya struktur memori yang terpisah menyebabkan memori data

(RAM) internal dan memori program internal (Flash PEROM) memiliki alamat

awal yang sama (alamat $00H), namun secara fisik kedua memori

tersebut tidak saling berhubungan.

Memori Program Internal ( Flash PEROM)

AT89S52 memiliki 8 Kbyte Flash PEROM (Programmable and Erasable Read

Only Memory) , yaitu ROM yang dapat ditulis ulang atau dihapus. Flash

PEROM di dalam AT89S52 menggunakan Atmel’s High-Density Non

Volatile Technology yang memiliki kemampuan untuk ditulis ulang hingga

1000 kali. Untuk dapat mempergunakan memori program internal, pin 31 ( EA

/Vpp) diberi logika ‘1’. Dengan kapasitas memori program internal sebesar 8

Kbyte , maka memori program internal memiliki alamat 0000h hingga 0FFFh. Bila

dikehendaki penggunaan memori eksternal dengan alamat yang sama, maka pin

31 (EA /Vpp) diberi logika ‘0’.

Pin 29 AT89S58 PSEN (Program Store Enable) digunakan untuk

membedakan antara pengaksesan memori program eksternal dan memori data

eksternal. Bila PSEN berlogika ‘0’ maka memori program eksternal aktif,

sedangkan bila PSEN berlogika ‘1’ maka memori data eksternal yang aktif.

Memori Data ( RAM) Intrenal


pudyastowo@gmail.com

AT89S52 memiliki Memori Data Internal (RAM Internal) dengan

kapasitas 256 Byte. RAM internal AT89S51 terdiri dari dua bagian yaitu 128 Byte

bagian bawah dan 128 Byte bagian atas. Memori program dan memori data

internal ditunjukkan pada Gambar.

Gambar Memori program dan data AT89S52


Memori data internal AT89S52 bagian bawah menempati alamat 00H-7FH

yang digunakan sebagai pengelompokan register (Register Banks),

segmen memori yang dapat dialamati secara per bit (Bit Addressable

Segment), dan area memori data yang dapat digunakan untuk berbagai

keperluan. Memori data internal AT89S52 bagian atas menempati alamat

80H-FFH yang digunakan sebagai SFR (special function register).

Pembagian memori data internal ditunjukkan pada gambar (a), dan memori

data bagian bawah pada gambar (b).


pudyastowo@gmail.com

(a) (b)

Gambar Memori data (RAM) internal AT89S51

Spesial Function Register (SFR)

SFR merupakan register khusus yang digunakan sebagai kendali, buffer atau fungsi

khusus lainya. SFR dipetakan mulai alamat 0x80 s/d 0xFF. Tidak seluruh ruang

alamat diimplementasikan dengan suatu register.

0F8H 0FFH
B
0F0H 0F7H
00000000

0E8H 0EFH
ACC
0E0H 0E7H
00000000

0D8H 0DFH
PSW
0D0H 0D7H
00000000
T2CON # T2MOD # RCAP2L # RCPA2H # TL2 # TH2 #
0C8H 0CFH
00000000 xxxxxx00 00000000 00000000 00000000 00000000

0C0H 0C7H
pudyastowo@gmail.com

IP
0B8H 0BFH
XX000000
P3
0B0H 0B7H
11111111
IE
0A8H 0AFH
0X000000
P2 AUXR1 WDTRST
0A0H 0A7H
11111111 XXXXXXX0 XXXXXXXX
SCON SBUF
098H 09FH
00000000 XXXXXXXX
P1
090H 097H
11111111
TCON TMOD TL0 TL1 TH0 TH1 AUXR
088H 08FH
00000000 00000000 00000000 00000000 00000000 00000000 XXX00XX0
P0 SP DP0L DP0H DP1L DP1H PCON
080H 087H
11111111 00000111 00000000 00000000 00000000 00000000 0XXX0000

Tabel Peta Memori SFR AT89S52 beserta nilai awalnya.

Kegunaan dan pemakaian register-register dasar tersebut antara lain sebagai berikut:

a. Program Counter

Program Counter (PC) dalam AT89S52 merupakan register dengan kapasitas 16

bit. Di dalam PC dicatat nomor memori program yang menyimpan instruksi

berikutnya yang akan diambil (fetch) sebagai instruksi untuk dikerjakan (execute).

Saat setelah reset PC bernilai 0000h. Hal ini berarti MCS51 akan segera

mengambil isi memori-program nomor 0 sebagai instruksi. Nilai PC otomatis

bertambah 1 setelah prosesor mengambil instruksi 1 byte. Pertambahan nilai PC

setelah menjalankan instruksi, tergantung pada jumlah byte instruksi

bersangkutan. Ada instruksi yang hanya 1 byte, ada instruksi yang sampai 4 byte.

b. Akumulator (ACC)
pudyastowo@gmail.com

Akumulator AT89S52 memiliki lebar data 8 bit (1 Byte). Akumulator berfungsi

untuk menampung (accumulate) hasil dari hampir semua operasi aritmatik dan

operasi logika, serta digunakan pada proses pengambilan dan pengiriman data ke

memori eksternal.

c. Port

AT89S52 memiliki empat buah Port yaitu Port 0, Port 1, Port 2 dan Port 3 yang

terletak pada alamat 80H, 90H, A0H dan B0H.

d. Stack Pointer (SP)

Stack Pointer merupakan sebuah register 8 bit yang dipakai untuk menyimpan

alamat dari sebuah data. Isi register ini menunjukkan dimana data selanjutnya

yang harus diambil dari stack pada RAM internal.

e. Program Status Word

Program Status Word (PSW) berfungsi mencatat kondisi prosessor setelah

melaksanakan sebuah instruksi. Tabel menunjukkan susunan bit-bit register PSW

pada mikrokontroler AT89S52.

PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0


CY AC F0 RS1 RS0 OV - P
Register PSW (Program Status Word).

Flag Carry (CY) berfungsi mendeteksi terjadinya kelebihan/limpahan pada

operasi penjumlahan atau terjadi peminjaman pada operasi pengurangan.

Flag Auxiliary Carry (AC) akan berlogika ‘1’ (set) bila terjadi limpahan dari bit

ketiga hingga keempat pada proses penjumlahan.


pudyastowo@gmail.com

Flag 0 (F0) digunakan untuk tujuan umum yang disediakan untuk kebutuhan

pengguna.

Bit pemilih register Bank (RS1 dan RS0) digunakan untuk menentukan lokasi

Register Bank (R0 hingga R7) yang akan digunakan pada memori.

Flag Overflow (OV) akan berlogika ‘1’ (set) apabila pada operasi aritmetik

menghasilkan bilangan yang lebih besar dari 128 atau lebih kecil dari -128.

Bit Paritas (P) akan berlogika ‘1’ (set) apabila bit berlogika ‘1’ dalam akumulator

berjumlah ganjil, dan bit paritas (P) akan berlogika ‘0’ (clear) bila bit berlogika

‘1’ dalam akumulator berjumlah genap.

f. Register B

Register B merupakan register dengan kapasitas 8 bit yang merupakan register

pembantu Akumulator saat menjalankan instruksi perkalian dan pembagian.

Register B juga dapat digunakan sebagai register serbaguna.

g. DPH dan DPL

Data Pointer High Byte (DPH) dan Data Pointer Low Byte (DPL) masing-masing

merupakan register dengan kapasitas 8 bit. Dalam pemakaiannya, kedua register

ini digabungkan menjadi satu register 16 bit yang dinamakan sebagai Data

Pointer Register (DPTR). Register ini biasa dipakai untuk mengakses kode atau

data yang terletak di memori eksternal.

h. Register Timer

AT89S52 memiliki tiga buah 16 bit Timer/Counter, yaitu Timer 0,Timer dan

Timer2. Timer 0 terletak di alamat 8AH untuk TL0, dan di alamat 8CH untuk
pudyastowo@gmail.com

TH0. Timer 1 terletak di alamat 8BH untuk TL1, dan di alamat 8DH untuk

TH1.Timer 2 terletak di alamat 0C8H sampai dengan 0CFH

i. Register TMOD

Untuk mengatur mode kerja Timer 0 dan Timer 1, digunakan register TMOD yang

terletak di alamat 89H. Timer bisa diatur menjadi mode Timer 16 bit, Timer 13

bit, Timer 8 bit yang bisa isi ulang secara otomatis, atau 2 buah Timer 8 bit yang

terpisah. Selain itu, dapat juga diatur agar proses proses pencacahan timer bisa

dikendalikan lewat sinyal dari luar IC AT89S51, atau timer dipakai untuk

mencacah sinyal-sinyal dari luar IC.

j. Register TCON

Untuk memulai proses pencacahan timer, menghentikan proses pencacahan timer

dan untuk memantau apakah terjadi limpahan dalam proses pencacahan

digunakan register TCON yang terletak di alamat 88H.

k. Register Port Serial

AT89S52 memiliki sebuah port komunikasi serial yang telah terintegrasi di dalam

keping IC mikrokontroler (on chip serial port) yang dapat digunakan untuk

berkomunikasi dengan peralatan lain yang juga menggunakan serial port seperi

modem, shift register.

l. Register SBUF

Register Port Serial terletak di alamat 99H dengan nama SBUF (Serial Buffer).

Penyangga (Buffer) berfungsi untuk proses pengiriman dan pengambilan data.

m. Register SCON
pudyastowo@gmail.com

Untuk mengatur mode komunikasi serial, dapat dilakukan dengan mengubah isi

register SCON yang terletak pada alamat 98H.

n. Register Interupsi

AT89S52 memiliki lima buah interupsi dengan dua tingkat prioritas interupsi.

Interupsi akan selalu nonaktif setiap kali sistem AT89S52 reset. Register-register

yang berhubungan dengan interupsi adalah register pengaktif interupsi (Interrupt

Enable Register, IE) dan register prioritas interupsi (Interrupt Priority Register,

IP). IE terletak di alamat A8H, dan berfungsi untuk mengatur keaktifan tiap-tiap

interupsi. IP terdapat di alamat B8H dan befungsi untuk menentukan prioritas

interupsi

Sistem Interupsi

Pelaksanaan program pada CPU mikrokontroler AT89S52 dapat

dihentikan sementara dengan cara meminta sebuah interupsi. Apabila

CPU mendapat permintaan interupsi, maka program counter akan diisi

alamat dari vektor interupsi. CPU kemudian melaksanakan rutin pelayanan

interupsi mulai dari alamat tersebut. Bila rutin pelayanan interupsi selesai

dilaksanakan, maka CPU AT89S52 kembali ke pelaksanaan program

utama yang ditinggalkan. Instruksi RETI (return from interupt routine) harus

digunakan untuk kembali dari layanan rutin interupsi. Instruksi ini digunakan

agar saluran interupsi kembali dapat dipakai.


pudyastowo@gmail.com

Mikrokontoler AT89S52 menyediakan 5 sumber interupsi yaitu: interupsi eksternal

(Eksternal interupt) yang berasal dari pin INT0 dan INT1 interupsi timer (Timer

Interupt) yang berasal dari Timer 0 maupun Timer 1, dan yang terakhir adalah

interupsi port serial (Serial Port Interupt) yang berasal dari bagian penerima dan

pengirim port serial.

Masing-masing interupsi dapat diaktifkan dan dimatikan secara individual atau

dengan me-nol kan bit-bit IE (interup enable) dalam SFR.

Alamat awal layanan rutin interupsi dari setiap sumber interupsi ditunjukkan pada

Tabel berikut.

Interupsi Alamat Prioritas Interupsi


INT0 03h 1
Interupsi Timer 0Bh 2
INT1 13h 3
Interupsi Timer 1 1Bh 4
Interupsi Port Serial 23h 5
Alamat Layanan Interupsi.

Ada dua buah register yang mengontrol interupsi, yaitu IE (Interupt Enable)

dan IP (Interupt Priority). Register IE berfungsi untuk mengaktifkan atau

menonaktifkan sumber interupsi, sedangkan register IP digunakan untuk

menentukan prioritas suatu sumber interupsi terhadap sumber interupsi lainnya,

yaitu apabila ada dua atau lebih interupsi secara bersamaan. Jika register IP tidak
pudyastowo@gmail.com

didefinisikan, maka prioritas interupsi menggunakan urutan prioritas seperti

dicantumkan pada Tabel

Optocoupler

Ouptocoupler di bentuk dari penggabungan dari sebuah sumber cahaya dengan

phototransistor (Malvino, 1999:167). Dioda hanya sebagai sumber cahaya dipasang

langsung dengan sumber tegagan. Keluaran sumber cahaya akan berbanding lurus

denag tegangan masukan pada dioda cahaya. Dioda cahaya sebagai masukan biasa

terdiri atas sutu/beberapa buah dioda untuk menambah intensitas cahya, demikian

pula dengan jenis cahaya yang di pakai, bisa cahaya infra merah atau cahay tampak

mata.

Aplikasi dari optocoupler yang semula berupa phototransistor berkembang menjadi

photothyristor dan opto isolator Triac drive. Kontruksi masing-masing jenis

optocoupler tersebut dapat di lihat pada gambar di bawah ini :

5 1 5 1 5

4
2 4 2
4
(C)
(a) (b)

Gambar Jenis-jenis optocoupler


Keteragan:

(a) Phototransistor Optocoupler

(b) Phototransistor Optocoupler

(c) Optosilator Triac driver


pudyastowo@gmail.com

Pengunaan optocoupler adalah sebgai isolasi. Optocoupler merupakan komponen

yang digunakan sebagai kendali I/O untuk peralatan yang beroprasi dengan

teganggan rendah maupun teganggan tinggi, sehingga tidak terjadi kerusakan antara

pengendali dan peralatan yang dikendalikan.

Seven Segment

Sevet Segmen merupakan peraga angka yang dapat memperagakan angka dari 0

sampai 9. Seven Segment ini dibentuk oleh 7 buah segmen yang tersusun sedemikian

rupa sehingga jika ada beberapa segmen tertentu yang aktif maka akan membentuk

sebuah angka. Penampil 7 segment yang digunakan adalah common anoda. Data yang

digunakan untuk menghasilkan angka atau huruf tertentu didapatkan dengan cara

seperti pada tabel.. jika A, B dan C hidup maka yang akan di tampilkan angka 7 dan

seterusnya.

.dt
Gambar Seven Segment
pudyastowo@gmail.com

Gambar Rangkaian Dasar Seven Segment

Prinsip Kerja dari sevent segment adalah :

Jika saklar di a ditutup, maka arus mengalir dari Ground melalui tahanan

pembatas hingga LED segmen-a dan keluar melalui hubungan anoda biasa ke catu

daya. Dengan demikian hanya segmen a saja yang menyala. Jika kita ingin

menampilkan angka 8 desimal pada peraga, saklar a, b, c, d, e, f, dan g ditutup,

sehingga pada rangkaian akan menyala decimal 8. Dalam hal ini tegangan ground

(LOW) mengaktifkan segmen LED.

Sevent segment disini di gunakan sebagai pewaktu untuk setiap pergantian iklan

dan kita dapat mengatur waktunya sesuai dengan keinginan kita.. Dalam alat ini

di pasang dua buah sevent segment..7 segment adalah komponen elektronika yang

berfungsi menmpilkan data dalam bentuk 7 buah led yang disususn membentuk

display. 7 Segment ada yang betipe common anoda (CA) atau common cathoda

(CA). Sedangakan proses penampilan data pada 7 segment tersebut dapat


pudyastowo@gmail.com

menggunakan teknik scanning display. Biasanya digunakan IC serial shift register

seperti 74HC164, yang mampu mengeluarkan data QA-QG sebagai sumber input

bagi 7 segment.Untuk memberikan sumber daya ke sebuah 7 segment, maka basis

resistor yang men-drive 7 segment terebut harus diberi logika 0. Sementara itu,

kedelapan segment dari semua sevent segment di-parelkan dan dihubungkan juga

ke sebuah shift register SIPO.

Data Karakter Angka Pada 7 Segment

P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 Titik


Dt G F E D C B A Heksa Karakter
(dt)
1 1 0 0 0 0 0 0 0xC0 0 Padam
1 1 1 1 1 0 0 1 0xF9 1 Padam
1 0 1 0 0 1 0 0 0xA4 2 Padam
1 0 1 1 0 0 0 0 0xB0 3 Padam
1 0 0 1 1 0 0 1 0x99 4 Padam
1 0 0 1 0 0 1 0 0x92 5 Padam
1 0 0 0 0 0 1 0 0x82 6 Padam
1 1 1 1 1 0 0 0 0xF8 7 Padam
1 0 0 0 0 0 0 0 0x80 8 Padam
1 0 0 1 0 0 0 0 0x90 9 Padam

0 1 0 0 0 0 0 0 0x40 0 nyala
0 1 1 1 1 0 0 1 0x79 1 nyala
0 0 1 0 0 1 0 0 0x24 2 nyala
pudyastowo@gmail.com

0 0 1 1 0 0 0 0 0x30 3 nyala
0 0 0 1 1 0 0 1 0x19 4 nyala
0 0 0 1 0 0 1 0 0x12 5 nyala
0 0 0 0 0 0 1 0 0x02 6 nyala
0 1 1 1 1 0 0 0 0x78 7 nyala
0 0 0 0 0 0 0 0 0x00 8 nyala
0 0 0 1 0 0 0 0 0x10 9 nyala

Catatan : Logika 0 segment menyala, logika 1 segment padam

Motor Steper

Motor stepper adalah salah satu jenis motor elektromagnetik yang dapat mengubah

masukan berupa sinyal digital menjadi keluaran yang berupa putaran. Berbeda

dengan motor DC biasa, yang berputar secara tetap selama mendapat energi listrik.

Pada motor stepper bergerak langkah demi langkah sesuai urutan pulsa digital yang

diberikan. Setiap perubahan yang tepat dari urutan kombinasi pulsa digital akan

menyebabkan motor bergerak beberapa derajat.

Pada umumnya motor stepper hanya mempunyai kumparan pada statornya sedangkan

pada bagian rotornya merupakan permanen magnet. Dengan model rotor seperti ini

maka motor stepper dapat diatur posisinya pada posisi tertentu dan atau berputar

kearah yang diinginkan, searah jarum jam atau sebaliknya.

Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data

pada statornya. Semakin cepat data yang diberikan maka motor stepper akan semakin

cepat pula berputarnya. Pada kebanyakan motor stepper kecepatannya dapat diatur

dalam daerah frekuensi audio dan menghasilkan putaran yang cukup cepat.
pudyastowo@gmail.com

Pada dasarnya motor stepper terdiri atas sebuah rotor yang dikelilingi stator. Rotor ini

merupakan magnet permanen, sedangkan stator merupakan magnet listrik. Apabila

stator dialiri arus listrik, maka terjadilah medan listrik. Karena kutub medan rotor dan

kutub medan listrik pada stator sama, terjadilah gaya saling tolak menolak antar kutub

tersebut yang mengakibatkan rotor akan bergerak.

Motor stepper dibedakan menjadi dua macam berdasarkan magnet yang digunakan,

yaitu tipe permanen magnet dan tipe variabel reluktansi. Pada umumnya motor

stepper yang digunakan saat ini adalah motor stepper yang mempunyai variabel

reluktansi. Cara yang paling mudah untuk membedakan antara tipe motor stepper

diatas adalah dengan cara memutar motor dengan dengan tangan ketika tidak

dihubunglan dengan power supply.

Pada motor stepper yang mempunyai permanen magnet maka ketika diputar dengan

tangan akan terasa lebih tersendat karena adanya gaya yang ditimbulkan oleh

permanen magnet. Tetapi ketika menggunakan motor dengan variabel reluktansi

maka ketika diputar akan terasa lebih halus karena sisa reluktansinya cukup kecil.

Variabel Reluktansi Motor Stepper

Pada motor yang mempunyai variabel reluktansi maka semua lilitan pada ujungnya

dijadikan satu pada sebuah pin common. Untuk dapat menggerakan motor ini maka

aktivasi tiap-tiap lilitan harus sesuai urutannya.


pudyastowo@gmail.com

Gambar berikut merupakan struktur dari gambar motor stepper dengan variabel

reluktansi dimana tiap stepnya adalah 300 mempunyai 4 buah kutub pada rotor dan 6

buah kutub pada statornya yang terletak saling berseberangan.

Gambar Variabel Reluktansi Motor Stepper


(Koselan, 2002:1)

Jika lilitan 1 dilewati mole arus, lilitan 2 dan 3 akan mati maka kumparan 1 akan

menghasilkan gaya tolakan kepada rotor dan rotor akan berputar sejauh 300 searah

jarum jam.

Jika kondisi seperti ini berulang terus menerus secara berurutan maka lilitan 2

dilewati arus kemudian lilitan 3 maka motor akan berputar secara terus menerus.

Step Lilitan 1 Lilitan 2 Lilitan 3


1 On Off Off
2 Off On Off
3 Off Off On
4 Off Off Off
1 On Off Off
Data pemberian pulsa pada variabel reluktansi motor stepper.

Kondisi on pada data diatas diartikan bahwa lilitan yang bersangkutan dilewati

arus sehingga menghasilkan gaya tolak pada rotor. Sedangkan kondisi off

diartikan bahwa lilitan tidak dialiri arus.


pudyastowo@gmail.com

Permanen Magnet

1. Unipolar Motor Stepper

Motor stepper dengan tipe unipolar adalah motor stepper yang memiliki lilitan

dengan masing-masing lilitan ditengah-tengahnya diberi tap seperti tampak

pada gambar.

Gambar Lilitan Stator Unipolar Motor Stepper


(Koselan, 2002:1)

Motor ini mempunyai step tiap300 dan mempunyai dua buah lilitan yang

didistribusikan berseberangan 1800 diantara kutub pada stator. Sedangkan

pada rotornya menggunakan magnet permanen yang berbentuk silinder

dengan mempuyai 6 buah kutub, 3 kutub selatan dan 3 kutub utara.

Dengan konstruksi seperti ini jika dibutuhkan kepresisian dari motor stepper

yang lebih tinggi dibutuhkan pula kutub-kutub pada stator dan rotor yang

semakin banyak pula. Pada gambar motor tersebut akan bergerak setiap step
pudyastowo@gmail.com

sebesar 300 dengan 4 bit urutan data (terdapat dua buah lilitan dengan tap,

total lilitan menjadi 4 lilitan).

Ketika arus mengalir melalui tap tengah pada lilitan pertama akan

menyebabkan kutub pada stator bagian atas menjadi kutub utara sedangkan

kutub stator bagian bawah menjadi kutub selatan. Kondisi ini akan

menyebabkan rotor mendapat gaya tarik menuju kutub-kutub ini.

Ketika arus yang mengalir melalui lilitan 1 dihentikan dan lilitan 2 diberi arus

maka rotor akan bergerak lagi menuju kutub-kutub ini. Sampai disini rotor

sudah berputar sampai 300 atau 1 step.

Urutan data pemberian pulsa untuk motor stepper dengan tipe unipolar

ditunjukan pada table

Urutan pulsa motor stepper dengan tipe unipolar (Torsi Normal)

Step Lilitan 1a Lilitan 1b Lilitan 2a Lilitan 2b


1 On Off Off Off
2 Off Off On Off
3 Off On Off Off
4 Off Off Off On
1 On Off Off Off
(Koselan. 2002:2)

Urutan pemberian pulsa motor stepper tipe unipolar (Torsi Besar)


Step Lilitan 1a Lilitan 1b Lilitan 2a Lilitan 2b
1 Off On Off On
2 Off On On Off
3 On Off On Off
4 On Off Off On
1 Off On Off On
(Koselan. 2002:2)
pudyastowo@gmail.com

Untuk meningkatkan torsi yang tidak terlalu besar maka dapat diberikan

urutan penberian dimana terdapat dua buah lilitan yang diberi arus pada satu

waktu yang sama. Dengan pemberian urutan data seperti ini akan

menghasilkan torsi yang lebih besar dan tentunya membutuhkan daya yang

lebih besar.

2. Bipolar Motor Stepper

Motor dengan tipe bipolar ini mempunyai konstruksi yang hampir sama

dengan konstruksi motor stepper tipe unipolar namun tidak terdapat tap pada

lilitannya, seperti tampak pada gamba.

Gambar Lilitan Stator Bipolar Motor Stepper


(Koselan, 2002:1)

Penggunaan motor dengan tipe bipolar ini membutuhkan rangkaian yang

sedikit lebih rumit untuk mengatur agar motor ini dapat berputar dua arah.

Biasanya untuk menggerakan motor stepper ini membutuhkan driver motor

yang sering dikenal sebagai H Bridge. Rangkaian ini akan mengontrol tiap-

tiap lilitan secara independen termasuk dengan polaritasnya untuk tiap-tiap

lilitan. Untuk mengontrol agar motor ini dapat berputar 1 step maka perlu

diberikan arus untuk tiap-tiap lilitan dengan polaritas tertentu pula.


pudyastowo@gmail.com

Perancangan alat dalam pembuatan alat sleading reklame berbasis mikrokontroler

meliputi perancangan perangkat keras (hardware) dan perancangan perangkat

lunak (software). Perancangan perangkat keras mencakup perancangan seluruh

bagian/blok/rangkaian pembentuk sistem. Perancangan perangkat lunak mencakup

perancangan program untuk mikrokontroler AT89S52 yang mengatur kerja sistem

dengan fungsi utama yaitu perintah sensor dalam mendeteksi warna putih dan hitam.

Alat ini bekerja dengan sistem mengulumg iklan dari atas ke bawah dan sebaliknya

dari bawah ke atas. Jadi kita dapat mengisi jumlah iklan sesuai dengan keinginan kita.

Sistem kendali sleading reklame berbasis mikrokontroler AT89S52 merupakan

aplikasi perpaduan antara sistem kendali dalam bentuk perangkat keras maupun

perangkat lunak, sehingga perlu dipersiapkan beberapa hal yang mendukung jalannya

penelitian.

Metode penulisan Tugas Akhir ini menggunakan teknik studi pustaka dan percobaan

laboratorium. Studi kepustakaan dilakukan untuk mencari materi yang mendukung

dan yang sesuai dengan materi Tugas Akhir ini, sedangkan percobaan laboratorium

dilakukan untuk menguji cara kerja yang sebenarnya alat yang akan dibuat dan

melakukan perbaikan jika terjadi kesalahan.


pudyastowo@gmail.com

Diagram Blok Rangkaian

Driver Steper M. Steper

Driver Sen
Mikrokontroler sensor Layar Reklame
AT89S52 sor

Driver 7 segment 7 segment

Gambar Diagram Blok Rangkaian

Perencanaan rangkaian

Rangkain sensor dan komparator

Sleading reklame berbasis mikrokontroler ini menggunakan sensor yang berfungsi

sebagai pengepas posisi iklan. Dimana sensor ini di pasang di dekat reklame dan di

setiap sudut reklame di kasih tanda warna hitam agar sensor dapat mendeteksi iklan

dan iklan akan berhenti. Masing-masing sensor dipasang sedemikian rupa sehingga

output yang diumpankan ke mikrokontroller dapat diolah dan diteruskan ke motor

sebgai penggeraknya.
pudyastowo@gmail.com

Komparator adalah pembanding. Prinsip kerja dari komparator adalah Output akan

mengeluarkan logic 1 saat tegangan input lebih besar dari pada tegangan referensi

dan output akan mengeluarkan logic 0 saat tegangan input lebih kecil dari pada

tegangan referensi.

Tegangan referensi (+V) > (-V) Vo = 1

Tegangan referensi (+V) < (-V) Vo = 0

Atau Jika tegangan referensi lebih kecil dari masukannya maka keluarannya

mendekati +VCC, tetapi apabila tegangan referensi lebih besar dari masukannya maka

tegangan keluarannya mendekati –VEE. Hal ini terjadi bila tegangan referensi

diberikan ke masukan membalik. Jika tegangan referensi diberikan ke masukan tak

membalik maka akan terjadi hal yang sebaliknya.


pudyastowo@gmail.com

Gambar Rangkaian Sensor dan Komparator


pudyastowo@gmail.com

Kompaator sebagai pengubah media sinyal dalam pengertian bahwa sinyal yang

diubah merupakan bentuk analog ke digital. Sinyal analog dapat diketahui apabila

dalam pengukuran dengan mengunakan alat bantu multimeter. Sedangkan sinyal

digital dapat diketahui perhitunganya dengan perubahan pada masing-masing

komparator apabila dalam keadaan On atau Off.

Rangkaian kendali

untuk menghidupkan dan mematikan motor tersebut pada perencangan ini

dikendalikan oleh sensor IC mikrokontroler yaitu sebagai sentral kendali penggerak

motor steper pada sleading reklame. Mikrokontroller mempunyai empat port 0, port

1, port 2, port 3, yang memiliki resistor pull up jika di gunakan sebagai masukan. Pin

pada port 0, port 1, port 2, port 3 akan berada pada posisi HIGH jika dalam keadaan

terbuka akan menjadi sumber arus jika dihubungkan dengan piranti eksternal ke

ground. Port 0 tidak memilki pull up dan akan mempunyai impedansi yang tinggi jika

digunakan sebagi masukan.


pudyastowo@gmail.com

Gambar Rangkaian Kendali


pudyastowo@gmail.com

Driver motor

12VD C

1N4002

1N4002
4K7 4K7
BD 139 BD 139
2N 3055 2N 3055

D 0 4 1 C
2 L1
D 1 3
D 2 2 3 L2
D 3 1 4 L3
5
L4
1N4002

1N4002
4K7 4K7
BD 139 BD 139
2N 3055 2N 3055

Gambar Driver Motor

Driver motor ini merupakan driver motor yang mampu mengerakan motor secara

bolak balik dimana mengunakan transistor jenis BD139 dan 2N3055. Driver motor

disini mengunakan catu daya sendiri. Masukan dari driver motor ini adalah dari pin-

pin IC komparator LM339. Pada driver motor disini juga mengunakan resistor 4K7

dan dioda 1N4002. Motor yang digunkan dalam alat ini motor steper yang

mempunysi tegangan sebesar 12 volt. Dimana driver motor yang satu dengan yang

lain di paralelkan dan akan masuk kerangkaian kendali.


pudyastowo@gmail.com

Rangkaian keseluruhan

Gambar Rangkaian Keseluruhan

Rangkaian catu daya +12 Volt


12 D I0 D E 5 A
S W IT C H 2 5
2 4 V D C
C T + 1
2

2 2 0 V A C 25 2 2 0 0 u F /2 5 V
T R A F O 5 A

Gambar Catu daya +12 volt

Rangkaian catu daya ini akan berfungsi untuk menyediakan tegangan catu yang

nantinya dipakai untuk beban motor. Dimana tegangan motor yang digunakan sebesar

12 volt. Catu daya Catu daya ini dengan keluaran 12 volt prinsipnya adalah keluaran
pudyastowo@gmail.com

12 volt DC yang melalui diode 5A dilakukan filter oleh kapasitor 2200uF/25V

sehingga menghasilkan tegangan +24 volt.

Rangkain catu daya +5 Volt


2N305
S LM780 5
1 1 V
1 2 5 V 3

GN
1 I O

D
5

2
5VD
220 2200uF/31N40
1

Trafo 100uF/2 1000uF/25


VAC + 01 5V + V + C12
2A 2 - +4 5V
GN
D
BRIDG
3

Catu daya +5 Volt

Catu daya +5 volt digunakan untuk suplai daya penggerak tampilan sevent segment

sekaligus sebagai suplai daya pada Mikrokontroler. Keluaran +5 volt diatur oleh IC

regulator LM7805 yang sebelumnya telah dilakukan filter dengan dua kapasitor

100uF/25V dan 1000uF/25V untuk menghasilkan tegangan konstan +5 volt.


pudyastowo@gmail.com

Prinsip kerja alat

Timer

Cek Tidak
iklan
I

Ya

Putar atas

Timer

Cek
iklan
terakhir
Tidak

Ya

Putar bawah

Timer

Cek iklan
I Tidak

ya

Gambar Flow chart prinsip kerja alat


pudyastowo@gmail.com

Cara Kerja Alat :

Pada saat kondisi ON maka timer akan berjalan dan akan mulai menghitung waktu

yang telah diset. Setelah timer selesai maka relame akan berjalan dan mengecek

apakah itu iklan I kalau ya motor akan berputar ke atas dan timer akan berjalan, kalau

tidak maka akan mengecek apakah itu iklan terakhir seandainya tidak juga maka

motor akan berputar ke atas tapi seandainya tadi iklan terakhir maka akan berputar ke

bawah. Jika sensor 3 off maka timer akan mulai berjalan setelah timer menunjukan 00

maka reklame berjalan dan akan mengecek kembali apakah itu iklan I kalau ya motor

akan berputar ke atas lagi kalau tidak motor akan berputar ke bawah dan seterusnya.

Perencanaan software

Mikrokontroler AT89S52 membutuhkan perangkat lunak agar dapat menjadi alat

kendali. Perangkat lunak yang digunakan untuk pemograman mikrokontroler

AT89S52 adalah menggunakan syn Text Editor. Program ini bekerja dibawah sistem

operasi windows. Keuntungan penggunaan bahasa pemograman ini adalah hasil

pemograman pada chip yang sudah selesai dapat langsung ditampilkan pada monitor

dan apabila terjadi kesalahan pemograman atau ingin mengganti isi program suatu

chip tidak perlu melepas chip. Sedangkan kelemahan utamanya bahasa pemograman

ini hanya bisa digunakan untuk keluarga mikrokontroler MSC-51.

listing program sleading reklame berbasis mikrokontroler AT89S52 dengan

menggunakan program bahasa C.


pudyastowo@gmail.com

Program sensor
else if(P2==0xf2) //apakah ini iklan tengahan?
{
if(arah==1)
{
while(P2_1==1) //masih si atas tanda
{
put_mot_atas();
}
while(P2_1==0) //masuk ke garis hitam
{
put_mot_atas();
}
}
else if(arah==0)
{
while(P2_1==1)
{
put_mot_bawah();
}
while(P2_1==0)
{
put_mot_bawah();
}
}
else{}
}

else if(P2==0xf6) //apakah ini iklan paling bawah?


pudyastowo@gmail.com

{
while(P2_1==1) //putih =1 hitam=0
{
put_mot_bawah();
}
while(P2_1==0)
{
put_mot_bawah();
}
arah = 0;

Program menampilkan sevent segment


unsigned char bin7seg(unsigned char c,bit status)
{
code char
d7seg_dt_off[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
code char
d7seg_dt_on[10]={0x40,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};

if (status)
return d7seg_dt_on[c];
else
return d7seg_dt_off[c];
}

void display(unsigned int angka)


{
unsigned char i;
char dig1,dig2,dig3,dig4;
pudyastowo@gmail.com

dig1=angka/600;
angka%=600;
dig2=angka/60;
angka%=60;
dig3=angka/10;
angka%=10;
dig4=angka%10;

for(i=0;i<50;i++)
{
P1=bin7seg(dig1,0);
P3=0x10;
tunda(5);

P1=bin7seg(dig2,0);
P3=0x08;
tunda(5);

P1=bin7seg(dig3,0);
P3=0x02;
tunda(5);

P1=bin7seg(dig4,0);
P3=0x01;
tunda(5);
}
pudyastowo@gmail.com

Program jalanya motor


void put_mot_atas()
{
P0=0x80;
tunda(5);
P0=0xc0;
tunda(5);
P0=0x40;
tunda(5);
P0=0x60;
tunda(5);

P0=0x20;
tunda(5);
P0=0x30;
tunda(5);
P0=0x10;
tunda(5);
P0=0x90;
tunda(5);
}

void put_mot_bawah()
{
P0=0x08;
tunda(5);
P0=0x0c;
tunda(5);
P0=0x04;
pudyastowo@gmail.com

tunda(5);
P0=0x06;
tunda(5);

P0=0x02;
tunda(5);
P0=0x03;
tunda(5);
P0=0x01;
tunda(5);
P0=0x09;
tunda(5);
}
pudyastowo@gmail.com

LISTING PROGRAM UTUH

#include<at89x52.h>
void tunda1ms();
void tunda(unsigned int n);
void display(unsigned int angka);
void put_mot_atas();
void put_mot_bawah();
char arah;

void main()
{
unsigned int i;
arah = 1;

while(1)
{
P0=0x00;
for(i=10;i>0;i--) //maksimal i=5940 !!! ingat
{
P0=0x00;
display(i);
while(P2_7==0)
{
put_mot_atas();
}
while(P2_6==0)
{
put_mot_bawah();
pudyastowo@gmail.com

}
}
display(i);

if(P2==0xf3) //apakah ini iklan paling atas?


{
while(P2_1==1)
{
put_mot_atas();
}
while(P2_1==0)
{
put_mot_atas();
}
arah = 1;
}

else if(P2==0xf2) //apakah ini iklan tengahan?


{
if(arah==1)
{
while(P2_1==1) //masih si atas tanda
{
put_mot_atas();
}
while(P2_1==0) //masuk ke garis hitam
{
put_mot_atas();
}
pudyastowo@gmail.com

}
else if(arah==0)
{
while(P2_1==1)
{
put_mot_bawah();
}
while(P2_1==0)
{
put_mot_bawah();
}
}
else{}
}

else if(P2==0xf6) //apakah ini iklan paling bawah?


{
while(P2_1==1) //putih =1 hitam=0
{
put_mot_bawah();
}
while(P2_1==0)
{
put_mot_bawah();
}
arah = 0;
}
else
{
pudyastowo@gmail.com

while(P2_1==0)
{
put_mot_atas();
}
}
}
}

unsigned char bin7seg(unsigned char c,bit status)


{
code char
d7seg_dt_off[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
code char d7seg_dt_on[10]={0x40,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};

if (status)
return d7seg_dt_on[c];
else
return d7seg_dt_off[c];
}

void display(unsigned int angka)


{
unsigned char i;
char dig1,dig2,dig3,dig4;

dig1=angka/600;
angka%=600;
dig2=angka/60;
angka%=60;
pudyastowo@gmail.com

dig3=angka/10;
angka%=10;
dig4=angka%10;

for(i=0;i<50;i++)
{
P1=bin7seg(dig1,0);
P3=0x10;
tunda(5);

P1=bin7seg(dig2,0);
P3=0x08;
tunda(5);

P1=bin7seg(dig3,0);
P3=0x02;
tunda(5);

P1=bin7seg(dig4,0);
P3=0x01;
tunda(5);
}
}

void put_mot_atas()
{
P0=0x80;
tunda(5);
P0=0xc0;
pudyastowo@gmail.com

tunda(5);
P0=0x40;
tunda(5);
P0=0x60;
tunda(5);

P0=0x20;
tunda(5);
P0=0x30;
tunda(5);
P0=0x10;
tunda(5);
P0=0x90;
tunda(5);
}

void put_mot_bawah()
{
P0=0x08;
tunda(5);
P0=0x0c;
tunda(5);
P0=0x04;
tunda(5);
P0=0x06;
tunda(5);

P0=0x02;
tunda(5);
pudyastowo@gmail.com

P0=0x03;
tunda(5);
P0=0x01;
tunda(5);
P0=0x09;
tunda(5);
}

void tunda1ms()
{
unsigned int i;
for(i=0;i<100;i++);
}

void tunda(unsigned int n)


{
unsigned int i;
for(i=0;i<n;i++)
tunda1ms();

Anda mungkin juga menyukai