Pages

Sabtu, 16 April 2011

Belajar Bahasa C untuk Mikrokontroller 8051

Bahasa Pemrograman C udah 30 tahun dipake manusia untuk membuat berbagai aplikasi yang berhubungan dengan komputer,mulai tahun 60-an si pencipta bahasa C….mrxxx saya lupa tuh…namanya dan hingga sekarang terus dipake untuk menciptakan program aplikasi baru misal operasi sistem komputer, mesin CNC,dan masih banyak lagi deh…..mungkin pembaca tau sendiri juga..
pada tutorial ini Saya mengajak pembaca mengenal bahasa pemrograman  C …namun pemrograman untuk perangkat keras..mikrokontroller…tipe 8051- sya kompile menggunakan SDCC dan KEIL compiler jangan lupa header filenya di sesuaikan dengan program Kompiler masing-masing.bila ingin bljar lebih lengkap lagi silahkan langsung menuju ke situs http://belajar-elektronika.com ok langsung ajach kita bljar !!!

light at PORT 1
#include <reg8252.h>
void time (void)
{
unsigned int i;
for(i=0; i<0xffff;i++);
}
void main()
{
unsigned char a,rotate;
while(1)
{
a = 0×01;
P1=~a;
time();
for(rotate=1;rotate<8;rotate++)        //Right Rotate
{
a = a*2;
P1 = ~a;
time();
}
a = 0×80; //data hexa jika di ubah jadi biner…  11110000
P1=~a;
time();
for(rotate=1;rotate<8;rotate++)        //Right Rotate
{
a = a/2;
P1 = ~a;   //komplemen  kalau di assembler pake perintah CPL
time();
}
}
}
Rotate Blink….
#include <reg8252.h>
#include <stdio.h>
void time (void)
{
unsigned int i;
for(i=0; i<0xffff;i++);
}
void rotate_left()
{
unsigned char a,rotate;
a = 0×01;
P1=~a;
time();
do
{
a  *=2;
P1 = ~a;
time();
}while(a<0×80);
}
void rotate_right()
{
unsigned char a,rotate;
a = 0×80;
P1=~a;
time();
do
{
a /=2;
P1 = ~a;
time();
}while(a > 0×01);
}
void blink()
{
do
{
P1=0xff;
time();
P1=0×00;
time();
}while(1);
}
void main(void)
{
while(1)
{
if(INT1 == 0)
{
if (INT0 == 1)
rotate_right();
else
rotate_left();
}
else
blink();
}
}

mudah kan???silahkan di coba bila ada yang belum dimengerti silahkan tinggalkan koment dan contact me Jack Å parrow's AvatarJack Å parrow's Avatar



By@Si OTAK MATI

Tidak ada komentar:

Posting Komentar

Thankz For Your Koment