Sei sulla pagina 1di 4

#include<reg51.

h>
#define port P2
#define dataport P0
// Data port for LCD
sbit rs = port^5;
sbit rw = port^6;
sbit en = port^7;
//sbit pi= port^3;
int count=0,i,j=0,k=0;
//unsigned char check,str_cz[2]={0x1A,'\0'};
unsigned char str[15],str_index[10];
//bit check_space ;
void init_serial()
{
TMOD=0x20;
TL1=0xfd;
TH1=0xfd;
SCON=0x50;
Receiving on
TR1=1;
}

// Initialize serial port


// Mode=2
// 9600 baud
// Serial mode=1, 8-Bit data, 1 Stop bit, 1 Start bit,
// Start timer

void delay(unsigned int msec )


{
int i,j ;
for(i=0;i<msec;i++)
for(j=0; j<1275; j++);
}

// Function for delay

void lcd_cmd(unsigned char item)


{
dataport = item;
rs= 0;
rw=0;
en=1;
delay(1);
en=0;
return;
}
void lcd_data(unsigned char item)
n LCD
{
dataport = item;
rs= 1;
rw=0;
en=1;
delay(1);
en=0;
return;
}
void lcd_data_string(unsigned char *str)
y string on LCD
{
int i=0;
while(str[i]!='\0')
{
lcd_data(str[i]);
i++;

// Function to send command on LCD

// Function to display character o

// Function to displa

delay(10);
}
return; }
void lcd()
{
lcd_cmd(0x38);
delay(5);
lcd_cmd(0x0F);
delay(5);
lcd_cmd(0x80);
delay(5);
}

// For using 8-bit 2 row LCD


// For display on, cursor blinking
// Set the cursor on first position of lcd

void transmit(unsigned char *str)


{
int i=0;
while(str[i]!='\0')
{
EA=0;
SBUF = str[i];
while(TI!=1);
delay(1);
i++;
EA=1;
}
}
void transmit1(unsigned char str)
{
SBUF=str;
while(TI!=1);
TI=0;
}
void receive_data() interrupt 4
om RS232 into microcontroller
{

// Function to recieve data serialy fr

if(RI==1)
{
str[++count]=SBUF;
//Read SBUF
if(str[count-1]==','|| (k=1) )
{
str_index[j]=str[count];
j++;
k=1;
}
RI=0;
//
k=1;
}
}
unsigned char byte_check()
ine character
{
switch(str[0])
{
case 0x0a:

/*
//Function to check carraige return and new l

// Return 0x00 for new line


return 0x00;
break ;
}

case 0x0d:
{
// Return 0x01 for carriage return
return 0x1;
break ;
}
default:
return 0x02 ;
arriage return
}
}

// Return 0x02 for characters except new line and c


*/

void main()
{
//unsigned char cz;
lcd();
// Initialize LCD
init_serial();
delay(400);
// Initialize serial port
lcd_data_string("sending msz");
delay(100);
//lcd_data('a');
//delay(10);
//lcd_cmd(0xc0);
count=(-1);
//lcd_data_string("Ready...123");
//delay(10);
lcd_cmd(0xc0);
IE=0x94;
//
cz=0x1A;
//transmit("AT\rAT+CMGF=1\rAT+CMGS=\"+9779841540672\"\rTest Message 123");
//transmit(str_cz);
//delay(40);
ES=0;
transmit("AT+CMGF=1\r");
delay(1000);
//transmit("AT+CSCS=\"GSM\"\r");
//delay(400);
//transmit("AT+CSCA=\"+97798........\",145\r"); //service center no
//delay(400);
//transmit("AT+CSMP=17,167,0,240\r");
//text mode format
//delay(400);
transmit("AT+CMGS=\"+97798..........\"\r");//my mob number here
//delay(400);
transmit("Test Message 123");
//delay(400);
transmit(0x1A);
lcd_data_string("msz sent");
delay(1000);
ES=1;
//pi=0;

Potrebbero piacerti anche