Arsip

Posts Tagged ‘Bahasa C’

Membuat Sendiri Stop Watch Counter Up-Down Menggunakan Mikrokontroller AT89S51

Februari 11, 2012 1 komentar

Bagaimana Membangun aplikasi Stop watch – memanfaatkan 6 buat seven segment yang di rangkai Multiplexer ( Bahasa assembler )
Stop watch dapat digunakan untuk kegiatan renang,lari, dan panjat tebing. Biasanya pelatih ataupun juri menggunakan stopwatch dalam ukuran kecil ( banyak dijual di toko olahraga), Namun kenyataannya penonton wajib tahu lamanya atau hasil pertandingan dalam sebuah lomba kejuaraan.
Dalam artikel ini kami membuat contoh sederhana menggunakan mikrokontroller AT89S51 (MCS51) dengan seven segment 6 digit atau lebih dengan teknik multiplexer. dalam artikel terdahulu digunakan bahasa C. Bahasa program yang digunakan pada artikel kali ini adalah bahasa Asembler.
And dapat menambahkan 3 (tiga) tombol yang terhubung dengan ground , untuk memodifikasi program tombol mulai, tombol stop, atau tombol naik, tombol turun, dan reset (counter up counter down). silahkan dibaca diunduh dan dicoba….untuk source code dapat di ambil di web http://laros-edu.net  lengkap dengan rangkaian dan copy file eagle cad.

Untuk gambar rangkaian lengkap dengan minimum sistemnya anda dapat menghubungkan pin kontroller (transistor switch ) dengan port 2, dan kontroll data angka pada port 1 ( bisa menyesuaikan dengan listing program ygn anda buat)

lengkapnya di alamat http://laros-edu.net

Iklan

Tutorial Mikrokontroller – part 1 (latihan 2)

Maret 1, 2011 3 komentar

Hmm mungking tutorial ini sudah usang, maaf kalo rekan pembaca sudah lebih mahir dari saya,

sebelumnya sudah terlampir tutorial sekedar menampilkan hasil pada port yang di tunjuk. Untuk tutorial ini menampilkan nyala led berkedip. Port yang dituju PORT 1

$mod51 ;header file harap disesuaikan dengan compiler yang digunakan…

org 0h

begin:     mov P1,#0f0h ; data 11110000 dikirim ke Port1
acall delay  ;panggil sub program delay
mov P1,#0fh
acall delay
sjmp begin
delay:    mov R1,#255
del1:    mov R2,#255
del2:    djnz R2,del2
djnz R1,del1
ret
end

bagaimana menggunakan bahasa C…ok ini dia menyalakan Led ….( saya menggunakan SDCC )

#include <reg8252.h>
void wait (void)
{
unsigned int w;
for(w=0;w<0xffff;)
{
w++;
}
}
void main(void)
{
do
{
P1 = 0x00;
wait();
P1 = 0xff;        // P1 = 255 —–> decimal
wait();
}
while(1);
}

Belajar Bahasa C untuk Mikrokontroller 8051

Januari 10, 2011 2 komentar

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.

Sebelum membaca tutorial+program yang saya tuliskan pada artikel ini, pengunjung harap membaca dasar-dasar pemrograman C untuk mikrokontroller keluarga 8051- cari di blog saya ini untuk mendapatkan filenya ( dlm bentuk PDF ) silahkan menikmati- bila ada yg kurang jelas silahkan diskusikan…..

bila pembaca beltul-betul ingin mencobanya (tidak hanya membaca) silahkan mengunjungi web site http://laros-edu.net untuk melihat perangkat pendukung praktikum-dengan harga terjangkau…

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 = 0x01;
P1=~a;
time();
for(rotate=1;rotate<8;rotate++)        //Right Rotate
{
a = a*2;
P1 = ~a;
time();
}

a = 0x80; //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 = 0x01;
P1=~a;
time();
do
{
a  *=2;
P1 = ~a;
time();
}while(a<0x80);
}

void rotate_right()
{
unsigned char a,rotate;
a = 0x80;
P1=~a;
time();
do
{
a /=2;
P1 = ~a;
time();
}while(a > 0x01);
}
void blink()
{
do
{
P1=0xff;
time();
P1=0x00;
time();
}while(1);
}
void main(void)
{
while(1)
{
if(INT1 == 0)
{
if (INT0 == 1)
rotate_right();
else
rotate_left();
}
else
blink();
}

}

C Programming for 8051 with SDCC

Agustus 11, 2008 6 komentar

Pengen juga upload nich tulisan dah lama aq ketik but’s gak sempat uploadnya… Materi bahasa C untuk pemrograman mikrokontroler AT89Sxx ini sudah aq pake buat ngajar di SMKN 1 Glagah…hik hik siswa-siswinya mumet..,

Tapi Harap tidak puyeng moga file ini bisa membantu pembaca untuk lebih banyak membaca dan mencoba…. harap di-klik link berikut…

contoh-dasar-program-c-untuk-mikrokontroler-at89x51-menggunakan-compiler-sdcc