Discussion in "Embedded GSM Development" started by    Alvanbert    Feb 10, 2012.
Fri Feb 24 2012, 12:57 PM
#21
hi guyz... Me too interested in dis project... I want to ask that is it possible to use proteus's Virtual hyperterminal for getting input from my real hardware GSM modem and simulate using it? Thnx
Mon Feb 27 2012, 03:43 AM
#22
Yes u can use proteus Virtual terminal
Mon Feb 27 2012, 07:48 AM
#23
continued in a seperate post : http://www.8051projects.net/forum-t52973-last.html
help me in dat..
Mon Feb 27 2012, 06:12 PM
#24
Hi guys. Am trying to display my messages on the lcd in moving format. Pliz guys help me out. How can this be done.
Tue Feb 28 2012, 09:07 AM
#25
First have u succeeded with SMS Reception and display the same on LCD.
Tue Feb 28 2012, 09:42 AM
#26
Yes kiran. Sorry i didnt tell u that. I can display the sms on lcd. Problem is if msg is a bit long. It gets cut off. So i thout displaying it in a moving format wud solve problem. If nt pliz give me some alternatives. Thanx
Tue Feb 28 2012, 05:04 PM
#27
I am sorry that i might be wrong, but this code worked for me :

for(int i=0; i<40; i++) 
{               
   LCDCmd(0x80);
  LCDWriteString("HELLO:");
  LCDCmd(0xC0);
  LCDWriteString("This is Feroz,Testing LCD scrolling CODE");	// Maximum 40 chars
  LCDCmd(0x1C);
  _delay_ms(200);
}//END For


[ Edited Tue Feb 28 2012, 05:05 PM ]
Wed Feb 29 2012, 11:51 AM
#28
@ firoz3321
u can take it as a reference

Wed Feb 29 2012, 05:42 PM
#29
Hi Guys, Below i have attached the code. it can read from address 1 t0 5 while displaying the message. But it can only display message in the first line of lcd. Can i mek it display same message in all lines i.e if its long.

Thanx Majoka AND Froz3321 for the code for ur help. The messages can scroll one at a time but not one after the other, i thout this was better. If u get the idea pliz help me edit this code accordingly. Thanks

#include <REGX52.H>


#define LCD P1
#define LCD_EN		0x80
#define LCD_RS		0x20
                     
//LCD Commands        

#define LCD_SETMODE		   0x04
#define LCD_SETVISIBLE	   0x08
#define LCD_SETFUNCTION	   0x28
#define LCD_SETDDADDR	   0x80

void delayms(unsigned char);
void delayus(unsigned char);
void lcd_init();
void lcd_reset();
void lcd_cmd (char);
void lcd_data(unsigned char);
void lcd_str (unsigned char *);
void clear(void);
void tx0(unsigned char);
void delay_sms (unsigned int);
void SMSString(char*text) ;
void init();
void read_text(unsigned char *);
unsigned int var,i,n;
unsigned char j,abc;
unsigned char idata msg1[150];
unsigned char rec_no[20];
unsigned char time_date[20];
void gsm_loop(unsigned int);

void serial () interrupt 4
{
msg1[abc]=SBUF;
abc++;
RI=0;
}

void main (void)
{

n=0x35;

gsm_loop(n);
delay_sms(2000);
}

void gsm_loop(unsigned int n)
{
  for(i=0x31;i<=n;i++)
  {
  clear();
  init();
  lcd_init();
  var=i;
  SMSString("AT\r"); // AT commands to initialize gsm modem
  delay_sms(1000);

  SMSString( "ATe0\r"); // turn off echo
  delay_sms(1000);

  SMSString( "AT&W\r"); // save settings
  delay_sms(1000);

  SMSString( "AT+CMGF=1\r"); // select text mode for sms
  delay_sms(1000);

  SMSString( "AT+CNMI=2,1,0,0,0\r"); // notification of new sms
  delay_sms(1000);

  SMSString( "AT+CMGR=");   // AT command to read sms
  tx0(var);
  SMSString("\r");

  IE=0X90;   // Enable serial interrupt
  delay_sms(2000);

  read_text(msg1);		// read sms and store in buffer msg1

  delay_sms(2000);			  
  IE=0X00;       // Disable all interrupt
            
  }
}


void init(void)
{
j=0;
abc=0;
TL1=0XFD; //9600 @ 11.0592
TH1=0xFD;
TMOD=0x20;
SCON=0x50;
TR1=1;
}

void SMSString(unsigned char* text) //function to send SMS using GSM modem
{
while (*text)
{
tx0(*text++);
}
}


void tx0(unsigned char x) //send data to serial port 0
{
EA=0;
SBUF=x;
while(TI==0);
TI=0;
EA=1;
}


void delay_sms (unsigned int count)
{
unsigned int i;                         // Keil v7.5a 
    while(count) {
        i = 115;
                while(i>
0) i--;
        count--;
}
}

void read_text( unsigned char *msg)
{
unsigned char *temp;
temp=msg;
do
msg++;
while(*msg!='#');
msg++;
do
*temp++=*msg++;
while(*msg!='#');       // reaching at end of message
*temp='\0';


lcd_cmd(0x80);
lcd_str(msg1);



         // array having message

}

void lcd_reset()
{
	LCD = 0xFF;
	delay_sms(40);
	LCD = 0x03+LCD_EN;
	LCD = 0x03;
	delay_sms(40);
	LCD = 0x03+LCD_EN;
	LCD = 0x03;
	delay_sms(5);
	LCD = 0x03+LCD_EN;
	LCD = 0x03;
	delay_sms(5);
	LCD = 0x02+LCD_EN;
	LCD = 0x02;
	delay_sms(5);
}


void lcd_init ()
{
	lcd_reset();
	lcd_cmd(LCD_SETFUNCTION);                    // 4-bit mode - 1 line - 5x7 font. 
	lcd_cmd(LCD_SETVISIBLE+0x04);                // Display no cursor - no blink.
	lcd_cmd(LCD_SETMODE+0x02);                   // Automatic Increment - No Display shift.
	lcd_cmd(LCD_SETDDADDR);                      // Address DDRAM with 0 offset 80h.
 }

 void lcd_cmd (char cmd)
{ 
	LCD = ((cmd >
>
 4) & 0x0F)|LCD_EN;
	LCD = ((cmd >
>
 4) & 0x0F);

	LCD = (cmd & 0x0F)|LCD_EN;
	LCD = (cmd & 0x0F);

    delay_sms(1);
}

void lcd_data (unsigned char dat)
{ 
	LCD = (((dat >
>
 4) & 0x0F)|LCD_EN|LCD_RS);
	LCD = (((dat >
>
 4) & 0x0F)|LCD_RS);
	
	LCD = ((dat & 0x0F)|LCD_EN|LCD_RS);
	LCD = ((dat & 0x0F)|LCD_RS);

    delay_sms(1);
}

void clear(void)
{
unsigned char a;
for(a=0;a<100;a++)
msg1[a]=0x00;
}

void lcd_str (unsigned char *str)
{
	while(*str){
		lcd_data(*str++);
	}
}

Thu Mar 01 2012, 01:11 PM
#30
Is above code is working fine at all time..
Try to send msgs continuously of 10msgs and see does it receives all of them.

Get Social

Information

Powered by e107 Forum System

Conversation

Wed Feb 22 2017, 06:14 AM
ChollyMo
Indeed, on the LCD tutorial, many missing Tables and figures !!
Wed Feb 22 2017, 06:06 AM
ChollyMo
I don't see any Table 3. I'm using Chrome.
Fri Feb 03 2017, 05:56 AM
irfan shaikh
hi, i want interface WS2811 pixel led using NUVOTON N79E352, but i dont know how to code it. can anyone help me or provide me sample coding for interfacing WS2811 PIXEL LED. THNX
Thu Jan 19 2017, 08:42 PM
abhays
Hi...i have made a circuit for interfacing PT100 with LM358 whose temperature is shown on the LCD...But the temperature is not getting incresed slowly ..a small change directly increses the temp...can any one help me
Thu Jan 19 2017, 04:27 PM
roba
send me alarm clock simulation using proteus software
Mon Jan 16 2017, 03:15 PM
Rutuja
How can we read notepad file using random acess file
Fri Jan 06 2017, 06:18 AM
muhammad Umar
i need cd4047 library file for protious please help me i s
ExperimenterUK
Wed Jan 04 2017, 09:01 PM
@Emin what is your site user name ?
Tue Jan 03 2017, 11:16 PM
Emin
Emin: I'm already a member since 2012 and entered repeatedly during period. But now it is impossible and obtaining a new registration is also failed. The same error message specifying that two e-mails i entered are different!. In fact thaey are the same. Now, what will be happen, what is your solution? Thanks..
Tue Jan 03 2017, 11:15 PM
Emin
I'm already a member since 2012 and entered repeatedly during period. But now it is impossible and obtaining a new registration is also failed. The same error message specifying that two e-mails i entered are different!. In fact thaey are the same. Now, what will be happen, what is your solution? Thanks..

Downloads

Comments

XuZiling
Wed Feb 22 2017, 02:40 AM
diwakar_96
Thu Feb 16 2017, 02:40 PM
Helia
Thu Feb 09 2017, 09:59 AM
fasihaftab
Sat Jan 28 2017, 08:58 AM
jmunjr
Tue Jan 17 2017, 06:25 PM
sarfrosh92
Sun Jan 15 2017, 09:18 AM
Deepakvaishu
Wed Jan 11 2017, 10:25 AM
rana_jee773
Sat Dec 10 2016, 11:22 AM

Online

Guests: 0, Members: ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37801
Newest member: XuZiling
Forum Activity
XuZiling Avatar
Posted By XuZiling
Wed Feb 22 2017, 02:46 AM
ExperimenterUK Avatar
Posted By ExperimenterUK
Mon Feb 20 2017, 09:52 PM
The syntax should be like thisREC READ :"number w...
diwakar_96 Avatar
Posted By diwakar_96
Sat Feb 18 2017, 11:25 AM
Helia Avatar
Posted By Helia
Fri Feb 17 2017, 08:02 AM
The syntax should be like thisREC READ :"number w...
Helia Avatar
Posted By Helia
Fri Feb 17 2017, 04:20 AM
This is the proteus simulation and the code.. we a...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu Feb 16 2017, 05:56 PM
HiThis is what we get on the lcd when we burn the ...
Helia Avatar
Posted By Helia
Thu Feb 16 2017, 04:37 PM
HiThis is what we get on the lcd when we burn the ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Feb 14 2017, 06:11 PM
Thank you when we send a message the message is no...
Helia Avatar
Posted By Helia
Tue Feb 14 2017, 06:18 AM
Thank you when we send a message the message is no...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Feb 11 2017, 09:22 PM
I made a few changes to make programming easier.Re...