/* ---------------------------------------------------------------------------
Project : Praktek1
Fungsi : menampilkan 2 LED menyala bergerak berotasi dari MSB ke LSB
-----------------------------------------------------------------------------*/
#include <at89x52.h>
//-----------------------------------------------
void delay(void)
{
int i,j;
for(i=0;i<100;i++)
for(j=0;j<200;j++);
}
//------------------------------------------------------------------------------------------------
void main(void)
{unsigned char data1;
data1 = 0xC0; // inisialisasi variabel data1 dengan data 0xC0 (hex) equ 0x11000000 (bin)
for(;;)
{
P2 = data1 ^ 0xFF; // isi var data1 dicopykan ke register port 0, so reg port 0 sama dengan var data1
delay(); // call sub routine delay
data1= data1 >> 1; // isi var data1 digeser ke arah LSB 1 kali, dari 0x11000000--> 0x01100000
if (CY == 1) data1 |= 0x80; // data1 |= 0x80 equ data1 = data1 OR 0x80
}
}
//=====================================================================
/*
*/
Tidak ada komentar:
Posting Komentar