Projek ini menerangkan perkara paling asas dalam usaha kita untuk mempelajari bidang ini.
Dengan menggunakan microcontroller, pattern nyalaan lampu LED boleh di kawal secara automatik sepenuhnya mengikut kehendak cita rasa pengguna.
SOURCE CODE : KAEDAH 1
------------------------------------------------------------------------------------------------------------
#include <18F4620.h>
#fuses HS,NOWDT,NOLVP,NOPROTECT
#use delay (clock=20M)
#define LED1_ANODE PIN_C0 // LED 1 COMMON ANODE
#define LED2_ANODE PIN_C1 // LED 2 COMMON ANODE
#define LED3_ANODE PIN_C2 // LED 3 COMMON ANODE
#define LED4_ANODE PIN_C3 // LED 4 COMMON ANODE
#define LED5_ANODE PIN_C4 // LED 5 COMMON ANODE
#define LED6_ANODE PIN_C5 // LED 6 COMMON ANODE
#define LED7_ANODE PIN_C6 // LED 7 COMMON ANODE
#define LED8_ANODE PIN_C7 // LED 8 COMMON ANODE
#define LED1_CATHODE PIN_D0 // LED 1 COMMON CATHODE
#define LED2_CATHODE PIN_D1 // LED 2 COMMON CATHODE
#define LED3_CATHODE PIN_D2 // LED 3 COMMON CATHODE
#define LED4_CATHODE PIN_D3 // LED 4 COMMON CATHODE
#define LED5_CATHODE PIN_D4 // LED 5 COMMON CATHODE
#define LED6_CATHODE PIN_D5 // LED 6 COMMON CATHODE
#define LED7_CATHODE PIN_D6 // LED 7 COMMON CATHODE
#define LED8_CATHODE PIN_D7 // LED 8 COMMON CATHODE
#define BUTTON1 PIN_B0 // PRESET BUTTON 1
#define BUTTON2 PIN_B1 // PRESET BUTTON 2
#define BUTTON3 PIN_B2 // PRESET BUTTON 3
#define BUTTON4 PIN_B3 // PRESET BUTTON 4
void main()
{
set_tris_b(0xFF); // SET ALL PORT B AS INPUT PORT
set_tris_c(0x00); // SET ALL PORT C AS OUTPUT PORT
set_tris_d(0x00); // SET ALL PORT D AS OUTPUT PORT
output_b(0xFF); // RESET PORT B
output_c(0xFF); // RESET PORT C
output_d(0x00); // RESET PORT D
while(TRUE) // always repeat program
{
output_high(LED1_ANODE);
output_high(LED2_ANODE);
output_high(LED3_ANODE);
output_high(LED4_ANODE);
output_high(LED5_ANODE);
output_high(LED6_ANODE);
output_high(LED7_ANODE);
output_high(LED8_ANODE);
output_low(LED1_CATHODE);
output_low(LED2_CATHODE);
output_low(LED3_CATHODE);
output_low(LED4_CATHODE);
output_low(LED5_CATHODE);
output_low(LED6_CATHODE);
output_low(LED7_CATHODE);
output_low(LED8_CATHODE);
delay_ms(500); // wait for 500m seconds
output_low(LED1_ANODE);
output_low(LED2_ANODE);
output_low(LED3_ANODE);
output_low(LED4_ANODE);
output_low(LED5_ANODE);
output_low(LED6_ANODE);
output_low(LED7_ANODE);
output_low(LED8_ANODE);
output_high(LED1_CATHODE);
output_high(LED2_CATHODE);
output_high(LED3_CATHODE);
output_high(LED4_CATHODE);
output_high(LED5_CATHODE);
output_high(LED6_CATHODE);
output_high(LED7_CATHODE);
output_high(LED8_CATHODE);
delay_ms(500); // wait for 500m seconds
}
}
------------------------------------------------------------------------------------------------------------
SOURCE CODE : KAEDAH 2
----------------------------------------------------------------------------------------------------------------------------------
#include <18F4620.h>
#fuses HS,NOWDT,NOLVP,NOPROTECT
#use delay (clock=20M)
#define LED1_ANODE PIN_C0 // LED 1 COMMON ANODE
#define LED2_ANODE PIN_C1 // LED 2 COMMON ANODE
#define LED3_ANODE PIN_C2 // LED 3 COMMON ANODE
#define LED4_ANODE PIN_C3 // LED 4 COMMON ANODE
#define LED5_ANODE PIN_C4 // LED 5 COMMON ANODE
#define LED6_ANODE PIN_C5 // LED 6 COMMON ANODE
#define LED7_ANODE PIN_C6 // LED 7 COMMON ANODE
#define LED8_ANODE PIN_C7 // LED 8 COMMON ANODE
#define LED1_CATHODE PIN_D0 // LED 1 COMMON CATHODE
#define LED2_CATHODE PIN_D1 // LED 2 COMMON CATHODE
#define LED3_CATHODE PIN_D2 // LED 3 COMMON CATHODE
#define LED4_CATHODE PIN_D3 // LED 4 COMMON CATHODE
#define LED5_CATHODE PIN_D4 // LED 5 COMMON CATHODE
#define LED6_CATHODE PIN_D5 // LED 6 COMMON CATHODE
#define LED7_CATHODE PIN_D6 // LED 7 COMMON CATHODE
#define LED8_CATHODE PIN_D7 // LED 8 COMMON CATHODE
#define BUTTON1 PIN_B0 // PRESET BUTTON 1
#define BUTTON2 PIN_B1 // PRESET BUTTON 2
#define BUTTON3 PIN_B2 // PRESET BUTTON 3
#define BUTTON4 PIN_B3 // PRESET BUTTON 4
void main()
{
set_tris_b(0xFF); // SET ALL PORT B AS INPUT PORT
set_tris_c(0x00); // SET ALL PORT C AS OUTPUT PORT
set_tris_d(0x00); // SET ALL PORT D AS OUTPUT PORT
output_b(0xFF); // RESET PORT B
output_c(0xFF); // RESET PORT C
output_d(0x00); // RESET PORT D
while(TRUE) // always repeat program
{
output_c(0xFF); // all led at port c OFF
output_d(0x00); // all led at port d OFF
delay_ms(500); // wait for 500m seconds
output_c(0x00); // all led at port c ON
output_d(0xFF); // all led at port d ON
delay_ms(500); // wait for 500m seconds
}
}
------------------------------------------------------------------------------------------------------------
LITAR SIMULASI
LEDANG EMBEDDED SYSTEM ENTERPRISE
TEKNOLOGI MICROCONTROLLER DAN PLC
Wednesday, April 2, 2014
Monday, March 31, 2014
PENGENALAN KEPADA PIC18F4620
Microcontroller ini adalah keluaran daripada Microchip Technology..
Model ini adalah tergolong dari keluarga microcontroller 8 bit..
Secara umumnya, microcontroller ini dapat melakukan perkara-perkara asas di dalam bidang kawalan. Ianya mempunyai kapasiti untuk menyokong aplikasi asas seperti yang tertera di bawah:
1) Keluaran digital
2) Keluaran analog (PWM)
3) Penerimaan digital
4) Penerimaan analog
Selain itu, microcontroller ini di juga di lengkapi dengan kemampuan untuk aplikasi yang lain.
Jika merujuk kepada paparan pin diagram PIC18F4620, pin yang berlabel RA, RB, RC, RD dan RE mempunyai kapasiti untuk melakukan tugasan sebagai keluaran digital mahupun penerimaan digital. Tetapi, adalah harus di ingat bahawa, di dalam satu-satu masa, pin ini hanya boleh berfungsi sebagai satu tujuan sahaja. Sama ada untuk di jadikan keluaran digital ATAU penerimaan digital.
Manakala, untuk keluaran analog, ianya dapat di manipulasikan dengan menggunakan teknik "Pulse Width Modulation" atau dengan kata singkatnya PWM. PWM ini dalah beroperasi pada kemampuan 8 bit.
Untuk penerimaan analog pula, pin yang berlabel dengan AN adalah di khususkan untuk aplikasi ini. Untuk analog input, ianya adalah beroperasi pada kemampuan 10 bit.
Secara kesimpulanya, pin yang terdapat pada PIC18F4620 adalah seperti berikut:
Keluaran / Penerimaan Digital:
1) RA0, RA1, RA2, RA3, RA4 dan RA5
2) RB0, RB1, RB2, RB3, RB4, RB5, RB6 dan RB7
3) RC0, RC1, RC2, RC3, RC4, RC5, RC6 dan RC7
4) RD0, RD1, RD2, RD3, RD4, RD5, RD6 dan RD7
5) RE0, RE1 dan RE2
Keluaran Analog (PWM):
1) CCP1
2) CCP2
Penerimaan Analog:
1) AN0, AN1, AN2, AN3, AN4, AN5, AN6, AN7, AN8, AN9, AN10, AN11 dan AN12
Rajah di bawah merupakan penerangan yang boleh di dapati daripada datasheet PIC18F4620
Tuesday, November 26, 2013
LITAR PENGATUR KELUARAN VOLTAN
Tujuan utama adalah untuk memastikan voltan keluaran yang di hasilkan adalah stabil dan berada di dalam julat yang telah di tetapkan. Ada pelbagai jenis IC pengatur voltan di pasaran. Antaranya adalah seperti berikut:
1) LM7805 => Keluaran voltan 5VDC (1Amp)
2) LM7806 => Keluaran voltan 6VDC (1Amp)
3) LM7808 => Keluaran voltan 8VDC (1Amp)
4) LM7809 => Keluaran voltan 9VDC (1Amp)
5) LD1117 => Keluaran voltan 3.3VDC (800mA)
Sebagai contoh, PIC microcontroller memerlukan bekalan kuasa dengan nilai voltan sebanyak 5VDC. Jika anda mempunyai bateri dengan nilai voltan sebanyak 12VDC atau 9VDC, masalah ini dapat di selesaikan dengan menggunakan IC LM7805 di mana walaupun input 12VDC atau 9VDC di berikan kepada IC ini, keluaran dari IC ini akan memberikan nilai keluaran 5VDC yang stabil dan berupaya beroperasi sehingga nilai arus sebanyak 1 Amp...
Gambaran pin LM7805
Litar pengatur keluaran voltan 5VDC
Wednesday, November 20, 2013
SELAMAT DATANG KE BLOG LEDANG EMBEDDED SYSTEM...
Assalamualaikum wbt,
Blog ini di harap agar dapat menjadi platform untuk sesiapa sahaja yang ingin belajar perkara-perkara ASAS di dalam bidang microcontroller dan juga PLC...
Di harapakan ianya dapat membantu tidak kira para pelajar yang sedang belajar di jurusan elektrik dan elektronik, mahupun sesiapa sahaja yang berminat untuk memdalami bidang ini...
Semoga semua ilmu yang di kongsikan dapat memberikan manfaat kepada semua..
InsyaALLAH..
Wassalam..
Team Manager,
Ledang Embedded System Enterprise
Blog ini di harap agar dapat menjadi platform untuk sesiapa sahaja yang ingin belajar perkara-perkara ASAS di dalam bidang microcontroller dan juga PLC...
Di harapakan ianya dapat membantu tidak kira para pelajar yang sedang belajar di jurusan elektrik dan elektronik, mahupun sesiapa sahaja yang berminat untuk memdalami bidang ini...
Semoga semua ilmu yang di kongsikan dapat memberikan manfaat kepada semua..
InsyaALLAH..
Wassalam..
Team Manager,
Ledang Embedded System Enterprise
Subscribe to:
Posts (Atom)