Minggu, 01 Mei 2011

DASAR 8 : UART - RS232

#include <at89x51.h>
#include <STRING.H>

int dly_stone;

//-----------------------------------------------

void InitTimer0(void)
{
TL0  = 0xFF;  // 10 ms 
TH0  = 0xDB;
TMOD = 0x01;  // mode 1
TR0=1;    // timer-0 On
}
//------------------------------------------------

int dly_stone;

//-----------------------------------------------

void InitTimer1(void)
{
TL1  = 0xFD;  // 10 ms 
TH1  = 0xFD;
TMOD |= 0x20;  // mode 1
TR1=1;    // timer-0 On
}
//------------------------------------------------

void Init_UART9600(void)
{
PCON  = 0x00;  
SCON  = 0x50; // 8 bit serial mode 1 untuk baud rate serial data transfer
}
//------------------------------------------------

void SendData(unsigned char sdata)
{
SCON &= 0xFD;  /* SCON.TI reset/clear by software */
SBUF = sdata;
while((SCON & 0x02) == 0x00);
}
//----------------------------------------------

char ReceiveData(unsigned char rdata)
{
ACC = SCON;
if((ACC & 0x01)==0x00)
 {
 return 0;  /* SCON.RI indikator receive data baru */
 }
rdata=SBUF;
SCON &= 0xFE;
return 1;
}
//------------------------------------------
unsigned char sbyte;

void main(void)
{
InitTimer1();
InitTimer0();
Init_UART9600();
SendData('T');
SendData('E');
SendData('D');
SendData('C');
ReceiveData(sbyte);

}

Tidak ada komentar:

Posting Komentar