Underground Mine Safety System
Underground Mine Safety System
#include<reg52.h>
#include<string.h>
#include<stdlib.h>
bit flag=0;
unsigned char n;
sbit LCD_en=P3^4;
sbit LCD_rs=P3^5
/*serial prototypes */
void serial_init();
void Enter_cmd(void);
/* lcd prototypes*/
void LCD_enable();
void LCD_init();
void Test_cond(void);
#define ON=1;
#define OFF=0;
void main()
//LCD_putc(' ');
Delay_1sec();
//Delay(10);
LCD_clear();
Delay_1sec();
LCD_clear();
LCD_puts("MODEM INITIALZED");
Delay_1sec();
Delay_1sec();
LCD_clear();
LCD_row1();
LCD_puts("UNDERGROUND");
LCD_row1();
while(1)
LCD_clear();
Delay_1sec();
RI=0;
{ // Start SCI
Clock
/*AT Command */
LCD_row1();
LCD_puts(AT_CMD);
SCI_String_Tx(AT_CMD);
Enter_cmd();
Test_OK();
Delay_1sec();
/* Echo Command*/
LCD_row1();
LCD_puts(ECHO_CMD);
SCI_String_Tx(ECHO_CMD);
Enter_cmd();
Test_OK();
Delay_1sec();
LCD_row1();
LCD_puts(CPIN_CMD);
SCI_String_Tx(CPIN_CMD);
Enter_cmd();
PIN_Test_OK();
Delay_1sec();
/* Text Mode */
LCD_row1();
LCD_puts(CMGF_CMD);
SCI_String_Tx(CMGF_CMD);
Enter_cmd();
Test_OK();
Delay_1sec();
/* Save settings */
LCD_row1();
LCD_puts(AT_W);
SCI_String_Tx(AT_W);
Enter_cmd();
Test_OK();
/* SMS Format */
/* LCD_row1();
LCD_puts(CMGS_CMD);
SCI_String_Tx(CMGS_CMD);
Enter_cmd();
Test_OK();*/
// Send SMS Command
SCI_String_Tx(CMGS_CMD);//send command
// Phone Number
Tx_Data('"');
Tx_Data('"');
Enter_cmd();//enter
SCI_String_Tx(msg);// message
Tx_Data(0x1a);//^Z (ctrl+Z)
/*void Test_cond(void)
LCD_row1();
LCD_puts(AT_CMD);
SCI_String_Tx(AT_CMD);
Enter_cmd();
timercount=0;
TR0=1;
while((a=Rx_Data())!='K' &&(timercount<50));
TR0=0;
if(a!='K')
serial_init();
Delay_1sec();
GSM_Init();
LCD_row2();
LCD_putc('K');
}*/
void Test_OK(void)
while(Rx_Data()!='K');
LCD_row2();
LCD_putc('K');
void PIN_Test_OK(void)
while(Rx_Data()!='Y');
LCD_row2();
LCD_putc('Y');
/*void clear_array()
for(g=0;g<50;g++)
msg[g]=0;
*/
/*void clear_slot()
for(i=0;i<15;i++)
slt[i]=0;
*/
void LCD_delay(unsigned char ms)
// unsigned char n;
// unsigned int i;
void LCD_enable()
LCD_delay(1);
LCD_enable();
LCD_delay(1);
LCD_enable();
LCD_enable();
LCD_delay(1);
while (*lcd_string)
LCD_putc(*lcd_string++);
void LCD_init()
{
LCD_command(0x33);
LCD_command(0x32);
LCD_command(0x28);
LCD_command(0x0C);
LCD_command(0x06);
LCD_command(0x01); /* Clear */
LCD_delay(256);
void Delay_1sec()
int i=0,j=0;
for(i=0;i<1000;i++)
for(j=0;j<113;j++);
void serial_init()
TMOD=0X21;
SCON=0X50;
TH1=0XFD;
TR1=1;
SBUF=v;
while(TI==0);
TI=0;
while(!RI);
in=SBUF;
RI=0;
return(in);
}
/********* Function for sending a string into seril port************* */
while(*string)
Tx_Data(*(string++));
void Enter_cmd(void)
Tx_Data(0x0D);
Tx_Data(0x0A);