Minggu, 03 April 2011

DASAR1, MENGENAL PORT

/* ---------------------------------------------------------------------------
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