GSM SIM900A Modem
/*
* Project name:
GSM SIM900A MODEM
* Copyright
(c) Researchdesignlab.com
* Test configuration:
MCU: PIC16F877A
Dev.Board: PIC
Oscillator: 20.0 MHz
Software: mikroC PRO for PIC v 4.6
*/
sbit SENSOR at RB0_bit;
sbit POWER_KEY at RC0_bit;
unsigned char uart_rd;
void main()
{
Delay_ms(200);
UART1_Init(9600); // Initialize UART module at 9600 bps
Delay_ms(100);
TRISC0_bit=0;
POWER_KEY=0;
while(1)
{
if(SENSOR==1)
{
POWER_KEY=1;
Delay_ms(1000);
POWER_KEY=0;
uart_rd=0;
while(uart_rd!='C')
{
while(!UART1_Data_Ready()); // If data is received,
uart_rd = UART1_Read();
}
uart_rd=0;
while(uart_rd!='a')
{
while(!UART1_Data_Ready()); // If data is received,
uart_rd = UART1_Read();
}
uart_rd=0;
while(uart_rd!='l')
{
while(!UART1_Data_Ready()); // If data is received,
uart_rd = UART1_Read();
}
uart_rd=0;
while(uart_rd!='l')
{
while(!UART1_Data_Ready()); // If data is received,
uart_rd = UART1_Read();
}
Delay_ms(200);
UART1_Write_Text("AT");
UART1_Write(13);
UART1_Write(10);
Delay_ms(200);
UART1_Write_Text("AT+CMGF=1");
UART1_Write(13);
UART1_Write(10);
Delay_ms(200);
UART1_Write_Text("AT+CMGS=\"7795003031\"");
UART1_Write(13);
UART1_Write(10);
Delay_ms(200);
UART1_Write_Text("SENSOR ACTIVATED");
UART1_Write(26);
uart_rd=0;
while(uart_rd!='K')
{
while(!UART1_Data_Ready()); // If data is received,
uart_rd = UART1_Read();
}
POWER_KEY=1;
Delay_ms(1000);
POWER_KEY=0;
Delay_ms(2000);
}
Delay_ms(200);
}
}