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

Tue Aug 30 2016, 06:06 AM
bhagyashri buddhewad
my project is automatic room light controller using visitor counter so i want coding in keil and circuit diagram can tell me and i want to use uc at89c51 thanks you
ExperimenterUK
Sun Aug 28 2016, 08:32 PM
Which project ?
Sun Aug 28 2016, 05:21 AM
Dipankar Baishya
Hi sir.... I want do this project but I have not this sercuit diagram..... can you give me full details and diagram...... Thank you
Sat Aug 27 2016, 11:32 AM
pankaj kumar
view coding zig zag motion source in html
ExperimenterUK
Fri Aug 26 2016, 05:11 PM
@jaithra post in the 8051 forum. ADCs aren't usually RS232/serial
Fri Aug 26 2016, 04:58 PM
jaithra
sir ,i would please like to have circuit for interfacing 8051(AT89C51) with lLCD 8 bit ,ADC, and Gsm module through RS232 .. along with a buffer ... iam askinh this bcos i found that while interfacing RXD n TXD of 8051 is needed for both ADC and GSm ..cpuld u please help me to layout the circuit please ...
Wed Aug 24 2016, 11:00 PM
Goodnews
pls i need a project writeup on LED scrolling message display using microcontroller
Mon Aug 01 2016, 03:25 PM
Manu Mishra
hi guys if u need c code for SD card interfacing with p89v51rd2 8051 controller system u can see the video of the project and the download the c code form blog http://embeddedinrajasthan.blogspot.in/?view=classic
Mon Aug 01 2016, 03:23 PM
Manu Mishra
hi guys if u need c code for finger print security system u can see the video of the project and the download the c code form blog http://embeddedinrajasthan.blogspot.in/?view=classic
ExperimenterUK
Tue Jul 19 2016, 05:59 PM
@mhammad 64 bits is 8 bytes.

Downloads

Comments

martinsnc115877
Sat Aug 20 2016, 01:44 PM
rajavarmanslr
Thu Aug 18 2016, 12:24 PM
mariahcarey
Sat Aug 06 2016, 11:38 AM
dann11
Thu Jul 28 2016, 09:43 PM
adithyapaip
Thu Jul 21 2016, 05:45 PM
celu
Thu Jul 21 2016, 05:27 PM
Aiko
Wed Jul 20 2016, 01:51 PM
JorgeG
Sat Jul 16 2016, 07:19 PM

Online

Guests: 39, Members: 0 ...

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

Members: 37779
Newest member: martinsnc115877
Forum Activity
rajavarmanslr Avatar
Posted By rajavarmanslr
Thu Aug 18 2016, 01:40 PM
I have two 8051 that interfaces with nRF24l01. One...
rajavarmanslr Avatar
Posted By rajavarmanslr
Thu Aug 18 2016, 12:31 PM
I have two 8051 that interfaces with nRF24l01. One...
ExperimenterUK Avatar
Posted By ExperimenterUK
Mon Aug 01 2016, 05:26 AM
is working nowugoo5000Great, thanks for letting u...
ugoo5000 Avatar
Posted By ugoo5000
Sat Jul 30 2016, 07:31 AM
is working noworg 00hmov p1,#11111111bmov p3,#1111...
ugoo5000 Avatar
Posted By ugoo5000
Sat Jul 30 2016, 06:40 AM
when i press a button in p3.0,the counter will st...
ugoo5000 Avatar
Posted By ugoo5000
Sat Jul 30 2016, 06:30 AM
proteus file Attachment ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Jul 29 2016, 11:34 PM
Your code does not count at all, it produces a one...
ugoo5000 Avatar
Posted By ugoo5000
Fri Jul 29 2016, 07:49 PM
i want the the counter to be counting in secs with...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Jul 29 2016, 07:31 PM
HiYour Proteus file did not upload, be sure to zip...
ugoo5000 Avatar
Posted By ugoo5000
Fri Jul 29 2016, 11:50 AM
below is the proteus file