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

   

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 14-08-2013, 03:48 PM المشاركة 17   
افتراضي



السلام عليكم
فكرة رائعة اخي نحن معك توكل على الله
انا سوف اشرح gsm و gps و ان شاء الله gprs فانا لتو بدات بالاشتغال عليه
سلام عليكم
اخي كريم انت قلت انك سوف تشرح gsm و gps و ان شاء الله gprs
فنحن بانتظارك وشكرا مقدما

اعلانات

سعد الجسري
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2005
الدولة: UAE
المشاركات: 144
نشاط [ سعد الجسري ]
قوة السمعة:
قديم 15-08-2013, 04:11 AM المشاركة 18   
افتراضي


السلام عليكم
أخ حسن بارك الله فيك
لدي كود إتصال عن طريق RS232 ثمانية مداخل قراءة المداخل التماثلية
متى أستطيع نشره

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

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 15-08-2013, 05:20 AM المشاركة 19   
افتراضي


السلام عليكم
أخ حسن بارك الله فيك
لدي كود إتصال عن طريق RS232 ثمانية مداخل قراءة المداخل التماثلية
متى أستطيع نشره
سلام عليكم
شكرا جزيلا لك اخي كريم
نحن نتظر مشاركتك وياريت تشرح كود او مايخص RS232 ذو ثمانيه الاطراف
وشكرا جزيلا لك مره اخرى


سعد الجسري
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2005
الدولة: UAE
المشاركات: 144
نشاط [ سعد الجسري ]
قوة السمعة:
قديم 15-08-2013, 02:59 PM المشاركة 20   
افتراضي


السلام عليكم
طريقه قراءة المداخل التماثلية من المايكرو وإرسال قيمتها عن طريق rs 232
بنمط TTL أي نبضات موجبة فقط 0 +5
أما إذا إذا أردنا قرائتها عن طريق الحاسب فيجب إضافة شريحة أيا موديل ذات الرقم 232
MAX232 مثلا .. لكي يصبح بنظام CMOS نبضات مو جبة وسالبة

الشطر الاول .......
الكود فقط إرسال من المايكرو
http://www.mediafire.com/?6op69q786q580li
http://www.mediafire.com/?h646u0d9ux3d3b0
http://www.mediafire.com/?h646u0d9ux3d3b0

هذا الكود ليس إلا محصلة من جميع الكودات الموجودة في الموقع الرائع القرية
ولكم جزيل الشكر لكل شخص طرح فكرة أو أسلوب
ولكل أخ ساعدني في موقع القرية



char *temp0 = "0000"; char *temp1 = "0000"; char *temp2 = "0000";
char *temp3 = "0000"; char *temp4 = "0000"; char *temp5 = "0000";
char *temp6 = "0000"; char *temp7 = "0000"; char *temp8 = "000";

unsigned int adc_Value0, adc_Value1 , adc_Value2 , adc_Value3,
adc_Value4, adc_Value5 , adc_Value6 , adc_Value7;

/*================================================= ======================*/

void adc(){
adc_value0 = ADC_Read(0)*1.9; adc_value1 = ADC_Read(1)*1.9; adc_value2 = ADC_Read(2)*1.9;
adc_value3 = ADC_Read(3)*1.9; adc_value4 = ADC_Read(4)/1.9; adc_value5 = ADC_Read(5)*1.9;
adc_value6 = ADC_Read(6)*1.9; adc_value7 = ADC_Read(7)*1.9;

temp0[0] = adc_value0/1000 + 48;
temp0[1] = (adc_value0/100)%10 + 48;
temp0[2] = (adc_value0/10)%10 + 48;
temp0[3] = adc_value0%10 + 48;
temp1[0] = adc_value1/1000 + 48;
temp1[1] = (adc_value1/100)%10 + 48;
temp1[2] = (adc_value1/10)%10 + 48;
temp1[3] = adc_value1%10 + 48;
temp2[0] = adc_value2/1000 + 48;
temp2[1] = (adc_value2/100)%10 + 48;
temp2[2] = (adc_value2/10)%10 + 48;
temp2[3] = adc_value2%10 + 48;
temp3[0] = adc_value3/1000 + 48;
temp3[1] = (adc_value3/100)%10 + 48;
temp3[2] = (adc_value3/10)%10 + 48;
temp3[3] = adc_value3%10 + 48;
temp4[0] = adc_value4/1000 + 48;
temp4[1] = (adc_value4/100)%10 + 48;
temp4[2] = (adc_value4/10)%10 + 48;
temp4[3] = adc_value4%10 + 48;
temp5[0] = adc_value5/1000 + 48;
temp5[1] = (adc_value5/100)%10 + 48;
temp5[2] = (adc_value5/10)%10 + 48;
temp5[3] = adc_value5%10 + 48;
temp6[0] = adc_value6/1000 + 48;
temp6[1] = (adc_value6/100)%10 + 48;
temp6[2] = (adc_value6/10)%10 + 48;
temp6[3] = adc_value6%10 + 48;
temp7[0] = adc_value7/1000 + 48;
temp7[1] = (adc_value7/100)%10 + 48;
temp7[2] = (adc_value7/10)%10 + 48;
temp7[3] = adc_value7%10 + 48; }


void main(){

TRISA = 0xFF; uart1_init(9600);

while (1){
UART1_Write_Text ("ADC"); uart1_write_text(" ");

uart1_write_text(temp1); uart1_write_text(" ");
uart1_write_text(temp2); uart1_write_text(" ");
uart1_write_text(temp3); uart1_write_text(" ");
uart1_write_text(temp4); uart1_write_text(" ");
uart1_write_text(temp5); uart1_write_text(" ");
uart1_write_text(temp6); uart1_write_text(" ");
uart1_write_text(temp7); uart1_write_text(" ");
uart1_write(10);
uart1_write(13);
adc(); }}



التعديل الأخير تم بواسطة : سعد الجسري بتاريخ 15-08-2013 الساعة 04:15 PM

سعد الجسري
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2005
الدولة: UAE
المشاركات: 144
نشاط [ سعد الجسري ]
قوة السمعة:
قديم 15-08-2013, 03:02 PM المشاركة 21   
افتراضي


جاهز لاي إستفسار


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 15-08-2013, 06:20 PM المشاركة 22   
افتراضي


سلام عليكم
اخي كريم جزيل شكر لك
اخي كود غير موجود ضمن ملفات التي ارفقتها وياريت تجمعها كلها في ملف مضغوط اقصد ملفات مشروع
نلاحظ من ربط rs232 ذو 9 الاطراف استخدمت فقط rx,tx وبدون دائره max232 اين يستخدم هذا ربط فقط
لانك تعلم وكما قلت انها تربط مع حاسبه ولكن هنا بحاجه الى تعديل مستوى الاشاره لذا يستخدم max232
كما اتمنى من حضرتك وضع كود عن طريق علامه # موجوده ضمن الرد
انا قمت بعد اذن حضرت بستنساخ الكود وضعته ضمن كود لكي يتم قراته بشكل صحيح
كود:
char *temp0 = "0000"; char *temp1 = "0000"; char *temp2 = "0000"; 
char *temp3 = "0000"; char *temp4 = "0000"; char *temp5 = "0000";
char *temp6 = "0000"; char *temp7 = "0000"; char *temp8 = "000";

unsigned int adc_Value0, adc_Value1 , adc_Value2 , adc_Value3, 
adc_Value4, adc_Value5 , adc_Value6 , adc_Value7;

/*================================================= ======================*/

void adc(){ 
adc_value0 = ADC_Read(0)*1.9; adc_value1 = ADC_Read(1)*1.9; adc_value2 = ADC_Read(2)*1.9;
adc_value3 = ADC_Read(3)*1.9; adc_value4 = ADC_Read(4)/1.9; adc_value5 = ADC_Read(5)*1.9;
adc_value6 = ADC_Read(6)*1.9; adc_value7 = ADC_Read(7)*1.9;

temp0[0] = adc_value0/1000 + 48;
temp0[1] = (adc_value0/100)%10 + 48;
temp0[2] = (adc_value0/10)%10 + 48;
temp0[3] = adc_value0%10 + 48;
temp1[0] = adc_value1/1000 + 48;
temp1[1] = (adc_value1/100)%10 + 48;
temp1[2] = (adc_value1/10)%10 + 48;
temp1[3] = adc_value1%10 + 48;
temp2[0] = adc_value2/1000 + 48;
temp2[1] = (adc_value2/100)%10 + 48;
temp2[2] = (adc_value2/10)%10 + 48;
temp2[3] = adc_value2%10 + 48;
temp3[0] = adc_value3/1000 + 48;
temp3[1] = (adc_value3/100)%10 + 48;
temp3[2] = (adc_value3/10)%10 + 48;
temp3[3] = adc_value3%10 + 48;
temp4[0] = adc_value4/1000 + 48;
temp4[1] = (adc_value4/100)%10 + 48;
temp4[2] = (adc_value4/10)%10 + 48;
temp4[3] = adc_value4%10 + 48;
temp5[0] = adc_value5/1000 + 48;
temp5[1] = (adc_value5/100)%10 + 48;
temp5[2] = (adc_value5/10)%10 + 48;
temp5[3] = adc_value5%10 + 48;
temp6[0] = adc_value6/1000 + 48;
temp6[1] = (adc_value6/100)%10 + 48;
temp6[2] = (adc_value6/10)%10 + 48;
temp6[3] = adc_value6%10 + 48;
temp7[0] = adc_value7/1000 + 48;
temp7[1] = (adc_value7/100)%10 + 48;
temp7[2] = (adc_value7/10)%10 + 48;
temp7[3] = adc_value7%10 + 48; }


void main(){ 

TRISA = 0xFF; uart1_init(9600);

while (1){
UART1_Write_Text ("ADC"); uart1_write_text(" ");

uart1_write_text(temp1); uart1_write_text(" ");
uart1_write_text(temp2); uart1_write_text(" ");
uart1_write_text(temp3); uart1_write_text(" ");
uart1_write_text(temp4); uart1_write_text(" ");
uart1_write_text(temp5); uart1_write_text(" ");
uart1_write_text(temp6); uart1_write_text(" ");
uart1_write_text(temp7); uart1_write_text(" ");
uart1_write(10);
uart1_write(13);
adc(); }}


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 15-08-2013 الساعة 06:29 PM

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 17-08-2013, 11:52 AM المشاركة 23   
افتراضي


سلام عليكم
هذا ملف يتحدث عن rs232 وعن برنامج vspe
لامانه الموضوع منقول من مصدر التالي
http://www.sayedsaad.com/montada/sho...167#post434167

ملف
http://arabsh.com/files/0d3e444c67f2...تا-#1-pdf.html


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 17-08-2013, 05:37 PM المشاركة 24   
افتراضي


سلام عليكم
هذا ملف يتحدث عن rs232 وعن برنامج vspe
لامانه الموضوع منقول من مصدر التالي
http://www.sayedsaad.com/montada/sho...167#post434167

ملف
http://arabsh.com/files/0d3e444c67f2...تا-#1-pdf.html
سلام عليكم
بالنسبه لاوامر برمجه باستخدام uart موضحه بالكتاب تناقل البيانات طبعا مع شكري وتقدير لصاحب كتاب م.خالد صبيح المعايطة فهو ملخص موضوع بشكل جميل
والاوامر البرمجه في صفحه 7 و8
اضيف لهذه الاوامر في حاله ارسال اكثر من حرف يستخدم
كود:
uart1_write_text(char * UART_text)
مثال
كود:
UART1_Write_Text("Start");
تلاحظون انه بين قوسين اذا وضعت علامه " " يعني يرسل ماهو مكتوب طبعا هذه علامه اذا كنت تريد ارسال جمله ام اذا حرف واحد توضع على حرف ' '
مثال
كود:
uart1_write(' 3 ');
اما اذا لم تضع هذه علامات فسيتم ارسالها اسكي كود



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