Sabtu, 25 Oktober 2014

Hujan

Puisi Hujan



eloknya hujan.,

datang memberi sejuk, mendamaikan jiwa yang letih.,

turun bersama gemuruh halilintar, menyentak pikiran yang jenuh.,

jatuh diselingi kilat cahaya petir, sejenak beri terang dalam gelapnya hati.,

cerianya hujan.,

basuh kalbu yg kering, hapus lara yang menjejak dalam sanubari.,

ajaibnya hujan.,

memukau ku.,

sebab ia hadir sebagai titik-titik air cinta kasih Sang Khalik.,

sirami dunia yang selalu haus akan karuniaNya.,

PLC (PROGRAMMABLE LOGIC CONTROLLER)


Programmable Logic Controllers (PLC) adalah komputer elektronik yang mudah digunakan (user friendly) yang memiliki fungsi kendali untuk berbagai tipe dan tingkat kesulitan yang beraneka ragam. Definisi Programmable Logic Controller menurut Capiel (1982) adalah :sistem elektronik yang beroperasi secara dijital dan didisain untuk pemakaian di lingkungan industri, dimana sistem ini menggunakan memori yang dapat diprogram untuk penyimpanan secara internal instruksi-instruksi yang mengimplementasikan fungsi-fungsi spesifik seperti logika, urutan, perwaktuan, pencacahan dan operasi aritmatik untuk mengontrol mesin atau proses melalui modul-modul I/O dijital maupun analog.


Berdasarkan namanya konsep PLC adalah sebagai berikut :

1.Programmable, menunjukkan kemampuan dalam hal memori untuk menyimpan program yang telah dibuat yang dengan mudah diubah-ubah fungsi atau kegunaannya.

2.Logic, menunjukkan kemampuan dalam memproses input secara aritmatik dan logic (ALU), yakni melakukan operasi membandingkan, menjumlahkan, mengalikan, membagi, mengurangi, negasi, AND, OR, dan lain sebagainya.

3.Controller, menunjukkan kemampuan dalam mengontrol dan mengatur proses sehingga menghasilkan output yang diinginkan.

PLC ini dirancang untuk menggantikan suatu rangkaian relay sequensial dalam suatu sistem kontrol. Selain dapat diprogram, alat ini juga dapat dikendalikan, dan dioperasikan oleh orang yang tidak memiliki pengetahuan di bidang pengoperasian komputer secara khusus. PLC ini memiliki bahasa pemrograman yang mudah dipahami dan dapat dioperasikan bila program yang telah dibuat dengan menggunakan software yang sesuai dengan jenis PLC yang digunakan sudah dimasukkan.Alat ini bekerja berdasarkan input-input yang ada dan tergantung dari keadaan pada suatu waktu tertentu yang kemudian akan meng-ON atau meng-OFF kan output-output. 1 menunjukkan bahwa keadaan yang diharapkan terpenuhi sedangkan 0 berarti keadaan yang diharapkan tidak terpenuhi. PLC juga dapat diterapkan untuk pengendalian sistem yang memiliki output banyak.

Fungsi dan kegunaan PLC sangat luas. Dalam prakteknya PLC dapat dibagi secara umum dan secara khusus. Secara umum fungsi PLC adalah sebagai berikut:

1.Sekuensial Control. PLC memproses input sinyal biner menjadi output yang digunakan untuk keperluan pemrosesan teknik secara berurutan (sekuensial), disini PLC menjaga agar semua step atau langkah dalam proses sekuensial berlangsung dalam urutan yang tepat.

2.Monitoring Plant. PLC secara terus menerus memonitor status suatu sistem (misalnya temperatur, tekanan, tingkat ketinggian) dan mengambil tindakan yang diperlukan sehubungan dengan proses yang dikontrol (misalnya nilai sudah melebihi batas) atau menampilkan pesan tersebut pada operator. 
                   
Sedangkan fungsi PLC secara khusus adalah dapat memberikan input ke CNC (Computerized Numerical Control). Beberapa PLC dapat memberikan input ke CNC untuk kepentingan pemrosesan lebih lanjut. CNC bila dibandingkan dengan PLC mempunyai ketelitian yang lebih tinggi dan lebih mahal harganya. CNC biasanya dipakai untuk proses finishing, membentuk benda kerja, moulding dan sebagainya.            

Prinsip kerja sebuah PLC adalah menerima sinyal masukan proses yang dikendalikan lalu melakukan serangkaian instruksi logika terhadap sinyal masukan tersebut sesuai dengan program yang tersimpan dalam memori lalu menghasilkan sinyal keluaran untuk mengendalikan aktuator atau peralatan lainnya. 

Keuntungan dan Kerugian PLC :

Dalam industri-industri yang ada sekarang ini, kehadiran PLC sangat dibutuhkan terutama untuk menggantikan sistem wiring atau pengkabelan yang sebelumnya masih digunakan dalam mengendalikan suatu sistem. Dengan menggunakan PLC akan diperoleh banyak keuntungan diantaranya adalah sebagai berikut:
  • Fleksibel, Pada masa lalu, tiap perangkat elektronik yang berbeda dikendalikan dengan pengendalinya masing-masing. Misal sepuluh mesin membutuhkan sepuluh pengendali, tetapi kini hanya dengan satu PLC kesepuluh  mesin tersebut dapat dijalankan dengan programnya masing-masing.
  • Perubahan dan pengkoreksian kesalahan sistem lebih mudah, Bila salah satu sistem akan diubah atau dikoreksi maka pengubahannya hanya dilakukan pada program yang terdapat di komputer, dalam waktu yang relatif singkat, setelah itu didownload ke PLC-nya. Apabila tidak menggunakan PLC, misalnya relay maka perubahannya dilakukan dengan cara mengubah pengkabelannya. Cara ini tentunya memakan waktu yang lama.
  • Jumlah kontak yang banyak, Jumlah kontak yang dimiliki oleh PLC pada masing-masing coil lebih banyak daripada kontak yang dimiliki oleh sebuah relay.
  • Harganya lebih murah, PLC mampu menyederhanakan banyak pengkabelan dibandingkan dengan sebuah relay. Maka harga dari sebuah PLC lebih murah dibandingkan dengan harga beberapa buah relay yang mampu melakukan pengkabelan dengan jumlah yang sama dengan sebuah PLC. PLC mencakup relay, timers, counters, sequencers, dan berbagai fungsi lainnya.
  • Pilot running, PLC yang terprogram dapat dijalankan dan dievaluasi terlebih dahulu di kantor atau laboratorium. Programnya dapat ditulis, diuji, diobserbvasi dan dimodifikasi bila memang dibutuhkan dan hal ini menghemat waktu bila dibandingkan dengan sistem relay konvensional yang diuji dengan hasil terbaik di pabrik.
  • Observasi visual, Selama program dijalankan, operasi pada PLC dapat dilihat pada layar CRT. Kesalahan dari operasinya pun dapat diamati bila terjadi.
  • Kecepatan operasi, Kecepatan operasi PLC lebih cepat dibandingkan dengan relay. Kecepatan PLC ditentukan dengan waktu scannya dalam satuan millisecond.
  • Metode Pemrograman Ladder atau Boolean, Pemrograman PLC dapat dinyatakan dengan pemrograman ladder bagi teknisi, atau aljabar Boolean bagi programmer yang bekerja di sistem kontrol digital atau Boolean.
  • Sifatnya tahan uji, Solid state device lebih tahan uji dibandingkan dengan relay dan timers mekanik atau elektrik. PLC merupakan solid state device sehingga bersifat lebih tahan uji.
  • Menyederhanakan komponen-komponen sistem kontrol, Dalam PLC juga terdapat counter, relay dan komponen-komponen lainnya, sehingga tidak membutuhkan komponen-komponen tersebut sebagai tambahan. Penggunaan relay membutuhkan counter, timer ataupun komponen-komponen lainnya sebagai peralatan tambahan.
  • Dokumentasi, Printout dari PLC dapat langsung diperoleh dan tidak perlu melihat blueprint circuit-nya. Tidak seperti relay yang printout sirkuitnya tidak dapat diperoleh.
  • Keamanan, Pengubahan pada PLC tidak dapat dilakukan kecuali PLC tidak dikunci dan diprogram. Jadi tidak ada orang yang tidak berkepentingan dapat mengubah program PLC selama PLC tersebut dikunci.
  • Dapat melakukan pengubahan dengan pemrograman ulang, Karena PLC dapat diprogram ulang secara cepat, proses produksi yang bercampur dapat diselesaikan. Misal bagian B akan dijalankan tetapi bagian A masih dalam proses, maka proses pada bagian B dapat diprogram ulang dalam satuan detik.
  • Penambahan rangkaian lebih cepat, Pengguna dapat menambah rangkaian pengendali sewaktu-waktu dengan cepat, tanpa memerlukan tenaga dan biaya yang besar seperti pada pengendali konvensional.
Selain keuntungan yang telah disebutkan di atas maka ada kerugian yang dimiliki oleh PLC, yaitu:
  • Teknologi yang masih baru, Pengubahan sistem kontrol lama yang menggunakan ladder atau relay ke konsep komputer PLC merupakan hal yang sulit bagi sebagian orang
  • Buruk untuk aplikasi program yang tetap, Beberapa aplikasi merupakan aplikasi dengan satu fungsi. Sedangkan PLC dapat mencakup beberapa fungsi sekaligus. Pada aplikasi dengan satu fungsi jarang sekali dilakukan perubahan bahkan tidak sama sekali, sehingga penggunaan PLC pada aplikasi dengan satu fungsi akan memboroskan (biaya).
  • Pertimbangan lingkungan, Dalam suatu pemrosesan, lingkungan mungkin mengalami pemanasan yang tinggi, vibrasi yang kontak langsung dengan alat-alat elektronik di dalam PLC dan hal ini bila terjadi terus menerus, mengganggu kinerja PLC sehingga tidak berfungsi optimal.
  • Operasi dengan rangkaian yang tetap, Jika rangkaian pada sebuah operasi tidak diubah maka penggunaan PLC lebih mahal dibanding dengan peralatan kontrol lainnya. PLC akan menjadi lebih efektif bila program pada proses tersebut di-upgrade secara periodik.

Bagian CPU ini antara lain adalah :

  • Power Supply, power supply mengubah suplai masukan listrik menjadi suplai listrik yang sesuai dengan CPU dan seluruh komputer.
  • Alterable Memory, terdiri dari banyak bagian, intinya bagian ini berupa chip yang isinya di letakkan pada chip RAM (Random Access Memory), tetapi isinya dapat diubah dan dihapus oleh pengguna / pemrogram. Bila tidak ada supplai listrik ke CPU maka isinya akan hilang, oleh sebab itu  bagian ini disebut bersifat volatile,  tetapi ada juga bagian yang tidak bersifat volatile.
  • Fixed Memory, berisi program yang sudah diset oleh pembuat PLC, dibuat dalam bentuk chip khusus yang dinamakan ROM (Read Only Memory), dan tidak dapat diubah atau dihapus selama operasi CPU, karena itu bagian ini sering dinamakan memori non-volatileyang tidak akan terhapus isinya walaupun tidak ada listrik yang masuk ke dalam CPU. Selain itu dapat juga ditambahkan modul EEPROM atau Electrically Erasable Programmable Read Only Memory yang ditujukan untuk back up program utama RAM prosesor sehingga prosesor dapat diprogram untuk meload program EEPROM ke RAM jika program di RAM hilang atau rusak.
  • Processor, adalah bagian yang mengontrol supaya informasi  tetap jalan dari bagian yang satu ke bagian yang lain, bagian ini berisi rangkaian clock, sehingga masing-masing transfer informasi ke tempat lain tepat sampai pada waktunya
  • Battery Backup, umumnya CPU memiliki bagian ini. Bagian ini berfungsi menjaga agar tidak ada kehilangan program yang telah dimasukkan ke dalam RAM PLC jika catu daya ke PLC tiba-tiba terputus. 
  • Programmer / monitor (PM). Pemrograman dilakukan melalui keyboard sehingga alat ini dinamakan Programmer. Dengan adanyaMonitor maka dapat dilihat apa yang diketik atau proses yang sedang dijalankan oleh PLC. Bentuk PM ini ada yang besar seperti PC, ada juga yang berukuran kecil yaitu hand-eld programmer dengan jendela tampilan yang kecil, dan ada juga yang berbentuk laptop. PM dihubungkan dengan CPU melalui kabel. Setelah CPU selesai diprogram maka PM tidak dipergunakan lagi untuk operasi proses PLC, sehingga bagian ini hanya dibutuhkan satu buah untuk banyak CPU.   
  • Modul input / output (I/O).Input merupakan bagian yang menerima sinyal elektrik dari sensor atau komponen lain dan sinyal itu dialirkan ke PLC untuk diproses. Ada banyak jenis modul input yang dapat dipilih dan jenisnya tergantung dari input yang akan digunakan. Jika input adalah limit switches dan pushbutton dapat dipilih kartu input DC. Modul input analog adalah kartu input khusus yang menggunakan ADC (Analog to Digital Conversion) dimana kartu ini digunakan untuk input yang berupa variable seperti temperatur, kecepatan, tekanan dan posisi. Pada umumnya ada 8-32 input point setiap modul inputnya. Setiap point akan ditandai sebagai alamat yang unik oleh prosesor.Output adalah bagian PLC yang menyalurkan sinyal elektrik hasil pemrosesan PLC ke peralatan output. Besaran informasi / sinyal elektrik itu dinyatakan dengan tegangan listrik antara 5 – 15 volt DC dengan informasi diluar sistem tegangan yang bervariasi antara 24 – 240 volt DC mapun AC. Kartu output biasanya mempunyai 6-32 output point dalam sebuah single module. Kartu output analog adalah tipe khusus dari modul output yang menggunakan DAC (Digital to Analog Conversion). Modul output analog dapat mengambil nilai dalam 12 bit dan mengubahnya ke dalam signal analog. Biasanya signal ini 0-10 volts DC atau 4-20 mA. Signal Analog biasanya digunakan pada peralatan seperti motor yang mengoperasikan katup dan pneumatic position control devices.Bila dibutuhkan, suatu sistem elektronik dapat ditambahkan untuk menghubungkan modul ini ke tempat yang jauh. Proses operasi sebenarnya di bawah kendali PLC mungkin saja jaraknya jauh, dapat saja ribuan meter. 
  • Printer. Alat ini memungkinkan program pada CPU dapat di printout atau dicetak. Informasi yang mungkin dicetak adalah diagram ladder, status register, status dan daftar dari kondisi-kondisi yang sedang dijalankan, timing diagram dari kontak, timing diagram dari register, dan lain-lain. 
  • The Program Recorder / Player. Alat ini digunakan untuk menyimpan program dalam CPU. Pada PLC yang lama digunakan tape, sistem floopy disk. Sekarang ini PLC semakin berkembang dengan adanya hard disk yang digunakan untuk pemrograman dan perekaman. Program yang telah direkam ini nantinya akan direkam kembali ke dalam CPU apabila program aslinya hilang atau mengalami kesalahan. Untuk operasi yang besar, kemungkinan lain adalah menghubungkan CPU dengan komputer utama (master computer) yang biasanya digunakan pada pabrik besar atau proses yang mengkoodinasi banyak Sistem PLC .

Konsep Perancangan Sistem Kendali dengan PLC :

Dalam merancang suatu sistem kendali dibutuhkan pendekatan-pendekatan sistematis dengan prosedure sebagai berikut :

1.   Rancangan Sistem Kendali

Dalam tahapan ini si perancang harus menentukan terlebih dahulu sistem apa yang akan dikendalikan dan proses bagaimana yang akan ditempuh. Sistem yang dikendalikan dapat berupa peralatan mesin ataupun proses yang terintegrasi yang sering secara umum disebut dengan controlled system.

2.  Penentuan I/O

Pada tahap ini semua piranti masukan dan keluaran eksternal yang akan dihubungkan PLC harus ditentukan. Piranti masukan dapat berupa saklar, sensor, valve dan lain-lain sedangkan piranti keluaran dapat berupa solenoid katup elektromagnetik dan lain-lain.

3.  Perancangan Program (Program Design)

Setelah ditentukan input dan output maka dilanjutkan  dengan proses merancang program dalam bentuk ladder diagram dengan mengikuti aturan dan urutan operasi sistem kendali.

4.  Pemrograman (Programming)

Melakukan Programming sesuai dengan apa yang akan dibuat.

5.  Menjalankan Sistem (Run The System)

Pada tahapan ini perlu dideteksi adanya kesalahan-kesalahan satu persatu (debug), dan menguji secara cermat sampai kita memastikan bahwa sistem aman untuk dijalankan.

Sistem Tertanam (Embedded System)

SEVEN SEGMENT AND RUNNING LED WITH LCD

BAB III
PERANCANGAN SISTEM

3.1 Analisa Rangkaian Secara Blok Diagram

Dalam hal menganalisa suatu rangkaian Seven Segment Counter dan Running Led With LCD ini, kami akan menerangkan bagaimana cara kerja alat ini secara blok diagram dan secara detail serta menganalisa listing program dari alat ini. Rangkaian Seven Segment Counter dan Running Led With LCD ini didasari dengan teori yaitu jika push ON pada PortC.1 di tekan maka led pada Port A akan melakukan Running Led dari PortA.0 - PortA.7 dan kembali ke PortA.0. Kemudian jika push ON pada PortC.0 di tekan maka seven segment pada Port B akan melakukan Counter-UP dari 0-9.
Berikut ini adalah blok diagram dari Seven Segment and Running Led With LCD :


Pada blok diagram diatas dijelaskan bahwa sebagai berikut :

1. Aktivator

Aktivator pada rangkaian Seven Segment Counter and Running Led With LCD ini untuk mengaktifkan catu daya pada alat. Sumber tegangan yang digunakan adalah +12V  dan ground yang diubah tegangannya menjadi 5V dengan menggunakan IC Regulator yang berada pada minsys ATMEGA8535.  

2. Blok Input

Dalam memproses dan mengolah 2 input dari saklar counter up dan saklar counter down diperlukan sebuah input yaitu berupa ATMEGA8535. Pada rangkaian running led akan masuk melalui PORTA , Seven Segment akan masuk melalui PORTB, dan kemudian LCD akan masuk melalui PORTC.

3. Blok Proses

Pada rangkaian ini untuk memproses suatu Seven Segment and Running Led diperlukan mikrokontroler ATMEGA8535 yang berfungsi sebagai kontrol pusat.

4. Blok Output

Output akan tampil pada LCD, LED dan seven segment. LCD di PORTA akan menerima perintah dari mikrokontroler untuk menampilkan karakter. LED menerima perintah dari mikrokontroler dalam bentuk biner, dan seven segment akan menampilkan angka.


3.2 Analisa Rangkaian Secara Detail


Sistem pengontrol pada alat ini dikendalikan oleh Mikrokontroler AVR ATMega8535, dimana port yang di gunakan adalah Port A, Port B, dan Port C. Cara kerja alat ini sederhana, jika push ON pada PortC.1 di tekan maka led pada Port A akan melakukan Running Led dari PortA.0 - PortA.7 dan kembali ke PortA.0. Kemudian jika push ON pada PortC.0 di tekan maka seven segment pada Port B akan melakukan Counter-UP dari 0-9. Program yang digunakan pada rangkaian ini adalah bahasa C menggunakan CodeVisionAVR.

Ketika adanya input, proses dan output mikrokontroler ATMEGA 8535 membutuhkan clock yang teratur untuk membaca setiap siklus mesinnya. Clock tersebut didapat dari Xtal sebesar 4Mhz yang dipasangkan pada pin 12 dan pin 13 ATMEGA 8535. Pin untuk clock ini juga terhubung dengan pin reset dengan switch1 sebagai jembatannya. Bentuk reset seperti ini dikategorikan sebagai reset manual, karena proses reset dapat terjadi jika pengguna alat menekan switch resetnya. Jadi ketika proses berlangsung dan switch1 ini ditekan, maka clock eksternal ini direfresh dengan memberi nilai logika 1.

3.3 Analisa Logika Program

Listing Program :


#include <mega8535.h>                                   // Memasukkan library mega8535.h
#include <delay.h>                                             // Memasukkan library delay.h
#include <lcd.h>                                                  // Memasukkan library lcd
#asm                                                                      // Menyisipkan bahasa assembly
                 .equ __lcd_port=0x15                       // Memberi nilai 0x15 pada __lcd_port, PORTC
                 #endasm                                              // Selesai menyisipkan bahasa assembly
int n,i;                                                                     // Deklarasi variable n dan I memiliki data integer
void sevenseg(){                             // Subrutin sevenseg, digunakan untuk memberikan nilai      pada seven segment yang terhubung pada PORTB
if(n==0){PORTB=0xc0;}                                      // Jika n=0 maka nilai PORTB=0xc0
if (n==1){PORTB=0xf9;}                                     // Jika n=1 maka nilai PORTB=0xf9
if (n==2){PORTB=0xa4;}                                    // Jika n=2 maka nilai PORTB=0xa4
if (n==3){PORTB=0xb0;}                                    // Jika n=3 maka nilai PORTB=0xb0
if (n==4){PORTB=0x99;}                                    // Jika n=4 maka nilai PORTB=0x99
if (n==5){PORTB=0x92;}                                    // Jika n=5 maka nilai PORTB=0x92
if (n==6){PORTB=0x82;}                                    // Jika n=6 maka nilai PORTB=0x82
if (n==7){PORTB=0xf8;}                                     // Jika n=7 maka nilai PORTB=0xf8
if (n==8){PORTB=0x80;}                                    // Jika n=8 maka nilai PORTB=0x80
if (n==9){PORTB=0x90;}}                                   // Jika n=9 maka nilai PORTB=0x90
void running_led(){                             // Subrutin running_led, digunakan untuk memberikan nilai pada seven segment yang terhubung pada PORTA
if(n==0){PORTA=0xff;}                                       // Jika n=0 maka nilai PORTA=0xff
if(n==1){PORTA=0xfe;}                                      // Jika n=1 maka nilai PORTA=0xfe
if(n==2){PORTA=0xfd;}                                      // Jika n=2 maka nilai PORTA=0xfd
if(n==3){PORTA=0xfb;}                                      // Jika n=3 maka nilai PORTA=0xfb
if(n==4){PORTA=0xf7;}                                      // Jika n=4 maka nilai PORTA=0xf7
if(n==5){PORTA=0xef;}                                      // Jika n=5 maka nilai PORTA=0xef
if(n==6){PORTA=0xdf;}                                      // Jika n=6 maka nilai PORTA=0xdf
if(n==7){PORTA=0xbf;}                                      // Jika n=7 maka nilai PORTA=0xbf
if(n==8){PORTA=0x7f;}                                      // Jika n=8 maka nilai PORTA=0x7f
if(n==9){PORTA=0x00;}}                                    // Jika n=9 maka nilai PORTA=0x00
void lcd_counter_up(){                       // Subrutin lcd_counter_up, digunakan untuk memberikan nilai pada LCD yang terhubung pada PORTC
lcd_gotoxy(0,0);                                                   // Meletakkan kursor pada baris 0 kolom 0
lcd_putsf("====COUNTER====");                   // Kirim data”===COUNTER===” ke LCD
lcd_gotoxy(0,1);                                                   // Meletakkan kursor pada baris 1 kolom 0
lcd_putsf("====UP====");}                               // Kirim data”=====UP=====” ke LCD   
void lcd_counter_down(){                  // Subrutin lcd counter down, digunakan untuk memberikan nilai pada LCD di PORTC
lcd_gotoxy(0,0);                                                   // Meletakkan kursor pada baris 0 kolom 0
lcd_putsf("====COUNTER====");                   // Kirim data”===COUNTER===” ke LCD
lcd_gotoxy(0,1);                                                   // Meletakkan kursor pada baris 1 kolom 0
lcd_putsf("====DOWN====");}                        // Kirim data”=====DOWN=====” ke LCD
void main(void){                                  // Merupakan bagian utama dari program
DDRB=0xFF;                                                        // Set register DDRB=0xFF, ini untuk membuat PORTB sebagai output
PORTA=0xFF;                                                      // Memberi nilai pada PORTA=0xFF
DDRA=0xFF;                                                        // Set register DDRA=0xFF, ini untuk membuat PORTA sebagai output
PORTD=0x0FF;                                                    // Memberi nilai pada PORTA=0xFF
DDRD=0x00;                                                        // Set register DDRD=0x00, ini untuk membuat PORTD sebagai input
n=0;                                                                        // Memberi nilai variable n bernilai 0
lcd_init(16);                                                           // Inisialisasi bahwa menggunakan LCD 16 kolom
lcd_gotoxy(0,0);                                                   // Letakkan kursor LCD ke kolom 0 baris 0
lcd_putsf("====COUNTER====");                   // Tampilkan =====COUNTER===== pada LCD
PORTB=0xC0;                                                      // Memberi nilai PORTB=0xC0, ini membuat seven segment menampilkan angka 0
while (1){                                               // Program didalam while akan terus berulang tanpa batas
if (PIND.2==0){{                                                   // Jika PIND.2 bernilai 0( saklar counter up ditekan)
delay_ms(1000);                                                 // Buat delay selama 1000 mili detik
while (PIND.2==0);                                              // Cek apakah PIND.2 sudah ditekan( sudah ditekan dan sesaat kemudian dilepas), jalankan program while
if(n<9){                                                                   // Jika  nilai variable n lebih kecil dari 9
i=0;                                                                         // Memberi nilai variable i bernilai 0
while(i<9){                                                             // Ulangi program dalam while, selama nilai variable i bernilai kurang dari 9
n=n+1;                                                                   // Nilai variable n ditambah 1 hasilnya disimpan kembali ke variable n
sevenseg();                                                           // Panggil subrutin sevenseg()
lcd_counter_up();                                                                // Panggil subrutin lcd_counter_up
running_led();                                                      // Panggil subrutin running led()
i++;                                                                         // Nilai variable I ditambah 1
delay_ms(1000);}}}}                                            // Buat delay selama 1000 mili detik
if (PIND.3==0){                                                     // Jika PIND.3 bernilai 0( saklar counter up ditekan)
lcd_counter_down();                                           // Panggil lcd_counter_down()
running_led();                                                      // Panggil subrutin running led()

PORTB=0x90;PORTA=0x00;delay_ms(1000);
PORTB=0x80;PORTA=0x7f;delay_ms(1000);
PORTB=0xf8;PORTA=0xbf;delay_ms(1000);
PORTB=0x82;PORTA=0xdf;delay_ms(1000);
PORTB=0x92;PORTA=0xef;delay_ms(1000);                                    //  Memberi nilai pada PORTB
PORTB=0x99;PORTA=0xf7;delay_ms(1000);                                    //  dan buat delay 1000 milidetik
PORTB=0xb0;PORTA=0xfb;delay_ms(1000);
PORTB=0xa4;PORTA=0xfd;delay_ms(1000);
PORTB=0xf9;PORTA=0xfe;delay_ms(1000);

PORTB=0xc0;PORTA=0xff;delay_ms(1000);

Template Copy by Blogger Templates | BERITA_wongANteng |MASTER SEO |FREE BLOG TEMPLATES