2nd Lesson C programming for 8051
//just an example you cantry it, no doubt for this articel
#include <at89x51.h>
void main()
{
int bil1,bil2; bil1=13; bil2=2;
P1=bil1%bil2; //hasil modulus dikeluarkan ke P1
}
//Program 5.9.
#include <at89x51.h>
void main()
{
char a, lampu;
lampu=0x01;
for (a=0;a<8;a++) //melakukan loop sebanyak 8 kali
{
P1=lampu; //variabel lampu dikeluarkan ke P1
lampu=lampu <<1; //variabel lampu digeser kiri 1 bit
}
}
//Program 5.10.
#include <at89x51.h>
union dat
{
unsigned char a[2];//tipe data union unsigned int b;
};
void main()
{
char i;
union dat s; s.b=0x0001; for(i=0;i<10;i++)
{
s.b=s.b<<1 ; P1=s.a[0]; P2=s.a[1];}
}
//Program 5.11
#include <at89x51.h>
void main()
{
char a, lampu;
lampu=0x80; //bit ke-7 berlogika 1
for (a=0;a<8;a++) //diulang sebanyak 8 kali, hasil akhirnya= 0xFF
{
P1=lampu;
lampu=lampu >>1; //variabel lampu digeser kanan 1 bit
}
}
//Program 5.12.
#include <at89x51.h>
void main()
{
char a, lampu;
lampu=0x80; //bit ke-7 berlogika 1
for (a=0;a<8;a++) //diulang sebanyak 8 kali, hasil akhirnya= 0xFF
{
P1=lampu;
lampu=lampu >>1; //variabel lampu digeser kanan 1 bit
}
}
//Program 5.13
#include <at89x51.h>
void main()
{
volatile unsigned char i, a=0x80;
for(i=0;i<10;i++)
{
a=((a<<1) | (a>>7)); //putar ke kiri 1 bit, bit ke 7 akan mengisi
P1=a; // bit ke 0 dst
}
}
//Program 5.14
#include <at89x51.h>
void main()
{
volatile unsigned char i, a=0x01;
for(i=0;i<10;i++)
{
a=((a<<7) | (a>>1)); //putar ke kanan 1 bit, bit ke 0 akan
P1=a; // mengisi bit ke 7 dst
}
}
Visitors :60074 Org
Hits : 168137 hits
Month : 2081 Users