قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

mustafa ben ham
:: مهندس ::
تاريخ التسجيل: Sep 2012
المشاركات: 4
نشاط [ mustafa ben ham ]
قوة السمعة:0
قديم 11-09-2012, 12:50 AM المشاركة 1   
ha اريد تحول السورس كود لمتحكم دقيق at89s52 مع العلم انه مكتوب بلغة c Twitter FaceBook Google+



SOURCE CODE

#include<reg52.h>
#include<string.h>
sfr ldata =0xA0;
sfr SBUF0= 0x90;
sfr SBUF1= 0xC1;
sfr SCONO= 0x98;
sfr SCON1= 0xC0;
sbit RIO= 0x98;
sbit RI1= 0xC0;
sbit TI1= 0xC1;
sbit rs = P0^0;
sbit rw = P0^1;
sbit en = P0^2;
char info[32];
char test[6]={"$GPGLL"};
char comma_position[10];
unsigned int check=0,i,j;

// DELAYED FUNCTION
void delay(unsigned int msec)
{
int i,j ;
for(i=0;i<msec;i++)
for(j=0;j<1275;j++);
}

// LCD COMMAND SENDING FUNCTION
void lcd_cmd(unsigned char item)
{
ldata=value;
rs= 0;
rw=0;
e=1;
delay(1);
e=0;
return;
}

// LCD DATA SENDING FUNCTION
void lcd_data(unsigned char item)
{
ldata=value;
rs= 1;
rw=0;
e=1;
delay(1);
e=0;
return;
}

// LCD STRING SENDING FUNCTION
void lcd_string(unsigned char *str)
{
int i=0;
while(str[i]!='\0')
{
lcd_data(str[i]);
i++;
delay(10);
}
return;
}

// SERIAL PORT 0 SETTING
void serial_data0()
{
TMOD=0x20; //MODE=2
TH1=0xfa; // 4800 BAUD
SCON=0x50; // SERIAL MODE 1 ,8- BIT DATA ,1 STOP BIT ,1 START BIT , RECEIVING ON
TR1=1; //TIMER START
}

// SERIAL PORT 1 SETTING
void serial_data1()
{
TMOD=0x20; //MODE=2
TH1=0xfd; // 9600 BAUD
SCON=0x50; // SERIAL MODE 1 ,8- BIT DATA ,1 STOP BIT ,1 START BIT , RECEIVING ON
TR1=1; //TIMER START
}

// FIND THE COMMA FROM THE GPS DATA
void find_comma()
{
unsigned int i,count=0;
for(i=0;i<32;i++)
{
if(info[i]==',')
{
comma_position[count]=i;
count++;
}
}
}

// RECEIVED DATA FUNCTION FOR GPS MODEM
void receive_data0()
{
while(RI0==0);
info[check]= SBUF0;
if(check<6)
{
if(info[check]!= test[check])
check=0;
else
check++;
}
else
check++;
RI0=0;
}

// RECEIVED DATA FUNCTION FOR GSM MODEM
void receive_data1()
{
while(RI1==0);
value= SBUF1;
RI1=0;
}

// TO DISPLAY THE NAME OF THE PLACE
void lcd_place()
{
if(info[32]= "$GPGLL,26o24,N,75o54,E")
lcd_string("BANASTHALI");
else
lcd_string("NOT FOUND");
}

// TO DISPLAY LATITUDE OF THE PLACE
void lcd_latitude()
{
unsigned int c3=comma_position[0];
lcd_cmd(0x01); //Clear LCD display
lcd_cmd(0x84); //Move cursor to position 6 of line 1
lcd_string("LATITUDE"); //Showing latitude
lcd_cmd(0xC0); //Begining of second line
lcd_data(info[c3+1]);
lcd_data(info[c3+2]);
lcd_data(o);
lcd_data(info[c3+3]);
lcd_data(info[c3+4]);
lcd_data(info[c3+5]);
lcd_data(info[c3+6]);
lcd_data(info[c3+7]);
lcd_data(info[c3+8]);
lcd_data(info[c3+9]);
lcd_data(0x27); //ASCII of minute sign(')
lcd_data(info[c3+10]);
lcd_data(info[c3+11]);
delay(250);
}

//TO DISPLAY LONGITUDE OF THA PLACE
void lcd_longitude()
{
unsigned int c5=comma_position[2];
lcd_cmd(0x01); //Clear LCD display
lcd_cmd(0x84); //Move cursor to position 4 of line 1
lcd_string("LONGITUDE"); //Showing longitude
lcd_cmd(0xC0); //Begining of second line
lcd_data(info[c5+1]);
lcd_data(info[c5+2]);
lcd_data(info[c5+3]);
lcd_data(0);
lcd_data(info[c5+4]);
lcd_data(info[c5+5]);
lcd_data(info[c5+6]);
lcd_data(info[c5+7]);
lcd_data(info[c5+8]);
lcd_data(info[c5+9]);
lcd_data(info[c5+10]);
lcd_data(0x27); //ASCII of minute sign(')
lcd_data(info[c5+11]);
lcd_data(info[c5+12]);
delay(250);
}

void compare()
{
IE=0x00;
find_comma();
lcd_latitude();
lcd_longitude();
lcd_place();
check=0;
IE=0x90;

void GPS()
{
serial_data0();
lcd_cmd(0x38); //2 LINE, 5X7 MATRIX
lcd_cmd(0x0e); //DISPLAY ON, CURSOR BLINKING
IE=0x90;
while(check<32)
{
receive_data0();
}

if(check==32)
compare();
}

// TRANSMIT STRING TO GPS MODEMASCII
void sendstr(unsigned char *chrr)
{
while(*chrr!='\0')
{
SBUF1=*chrr;
TI1=0;
while(TI1==0);
chrr++;
}
}

// TRANSMIT A CHARECTER TO GPS MODEM
void sendchr(unsigned char ch)
{
SBUF1=ch;
TI1=0;
while(TI1==0);
}

// TO INITIALIZE GS MODEM
void GSM_ini()
{
serial_data1();
unsigned char msg[2];
sendstr("AT");
for(i=0;i<2;i++)
msg[i]=receive_data1();
if(msg[0]='o'&&msg[1]='k')
lcd_string("working well");
else
lcd_string("not responding");
sendstr("AT+CPIN=");
sendchr(0x22); //ASCII OF SIGN(")
sendstr("3457");
sendchr(ox22);

}

// SEND MESSAGE TO THE PHONE
void sendmsg()
{
unsigned char msg[32];
sendstr("AT+CPMS=");
sendchr(0x22);
sendstr("SM");
sendchr(0x22);
delay(10);
sendstr("AT+CMGF=1");
delay(10);
sendstr("AT+CMGS=");
sendchr(0x22);
sendstr("8058505354");
sendchr(0x22);
for(i=0;i<32;i++)
{
msg[i]=receive_data0();
sendchr('msg[i]');
}
sendchr(0x1a); // ASCII OF CTRL+Z
}

void main()
{
unsigned char msg[12];
GSM_ini();
sendstr("AT+CNMI=1,1,0,0,0");
for(i=0;i<12;i++)
msg[i]=recieve_data1();
if(msg[0]=='+'&&msg[1]=='C'&&msg[2]=='M'&&msg[3]=='T'&&msg[4]=='I'&&msg[5]==':'&&msg[6]=='"'&&msg[7]=='S'
&&msg[8]=='M'&&msg[9]=='3'&&msg[10]==','&&msg[11]=='3)
{
sendstr("AT+CMGR=3");
for(j=0;j<3;j++)
msg[i]=recieve_data1();
if(msg[0]=='7'&&msg[1]=='8';msg[2]=='6')
sendmsg();
else
sendstr("NOT AUTHORISED");
sendstr("AT+CMGD=3");
}
}

The code for the microcontroller was written on the standards of 8051 using Embedded C. The code was compiled and simulated using Keil (ver. V).
حقيقة لم اعرف ماذا افعل ارجوووو المساعدة وشكراااااا

اعلانات

mustafa ben ham
:: مهندس ::
تاريخ التسجيل: Sep 2012
المشاركات: 4
نشاط [ mustafa ben ham ]
قوة السمعة:0
قديم 11-09-2012, 11:19 AM المشاركة 2   
ha


هذه هي دائرة المشروع المشكلة اني اريد تحول السورس كود الى الهكسى كي استطيع تحميله للمتحكم الدقيق السورس كود واشكر كل من مر على الموضوع وارجوااااااااااااااااااااااا المساعدة
http://upload.qariya.info/images/qar...6258063feb.png

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية 5282
5282
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: مصر- الاسكندرية
المشاركات: 1,630
نشاط [ 5282 ]
قوة السمعة:112
قديم 11-09-2012, 02:27 PM المشاركة 3   
افتراضي


لازم تعرف هو مكتوب ببرنامج ايه واى اصدار . لان الكود يستخدم مكتبات خاصه .


الصورة الرمزية mohamedalikahli
mohamedalikahli
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2010
الدولة: مصر -- الاسكندرية
المشاركات: 155
نشاط [ mohamedalikahli ]
قوة السمعة:0
قديم 11-09-2012, 03:18 PM المشاركة 4   
افتراضي


اظن انه مكتوب باستخدام برنامج keil ...............


mustafa ben ham
:: مهندس ::
تاريخ التسجيل: Sep 2012
المشاركات: 4
نشاط [ mustafa ben ham ]
قوة السمعة:0
قديم 11-09-2012, 10:36 PM المشاركة 5   
افتراضي


The code for the microcontroller was written on the standards of 8051 using Embedded C. The code was compiled and simulated using Keil (ver.


mustafa ben ham
:: مهندس ::
تاريخ التسجيل: Sep 2012
المشاركات: 4
نشاط [ mustafa ben ham ]
قوة السمعة:0
قديم 12-09-2012, 11:01 AM المشاركة 6   
ha


اظن انه مكتوب باستخدام برنامج keil ...............
مزبوط مكتوب ببرنامج keil بدي احد ايحوله الى الهكسى او ماهي الطريقة لتحويله الى الهكسى ارجووووووووووو المساعدة

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 11:40 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025