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

   

lahoioui
:: مهندس متواجد ::
تاريخ التسجيل: May 2009
المشاركات: 177
نشاط [ lahoioui ]
قوة السمعة:
قديم 23-12-2009, 07:37 PM المشاركة 1361   
افتراضي



السلام عليكم....
أعدت رفع البرنامج مرة أخرى في هذا الرابط
http://www.4shared.com/file/178890672/be359868/000.html
نعم الاخت سلمى لن يشتغل فعلا برنامجك بهذه الطريقة لماذا ياترى ؟
السبب واضح وبسيط
في pic16f877a عندما يعمل reset أي لما يبدأ يشتغل وقد كان مطفئ فان المخرج porta يشتغل في ADC أي analog - digital- converter
وليس مخرج على مدخل عادي .
طيب ماذا نعمل لنجعله I/OPORT أي مخرج/مدخل عادي نضيف التعليمة التالية في بداية
البرنامج
adcon1=0x06;------------------------------------0



جربي وسوف تعود الحياة لأزرارك .
أردت أن أضيف شيء اخر لماذا تستعملي unsigned int مع i و j فهما رقماني
أقل من 255 ف byte واحدة تكفي للتخزين أي اجعلي التعليمة
char j,i=0;-------------------------0
ولماذا تبدءي البرنامج بال garage مملوء (i=3) فلماذا لا تبدءي البرنامج بال garage
فارغ أي i=0
ملاحظة :
برنامجك بعد أن تضيفي التعليمة السابقة فانه يشتغل بشكل عادي حتى لو لم تغيري أي شيء اخر

وهاهو برنامجكي شغال :





التعديل الأخير تم بواسطة : lahoioui بتاريخ 23-12-2009 الساعة 08:35 PM
اعلانات

الصورة الرمزية سلمى
سلمى
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2006
المشاركات: 115
نشاط [ سلمى ]
قوة السمعة:
قديم 23-12-2009, 08:48 PM المشاركة 1362   
ha


السلام عليكم...
شكرا جزيلا ...
و تم تغيير i>>>unsigned i=0

و لكن ظهرت مشكلة أخرى و هي أن البورت a0لا يستجيب بعد الضغط على السويتش a1 و هذا منافٍ للعمل الذي يقوم به البرنامج

و توصلت لأن المشكلة ليست في برنامج الميكروسي إنما في البروتس .فما العمل؟

هل يمكن استخدام التايمر الموجود ضمن المايكروكنترولر ككاونتر ؟ و كيف أنفذ ذلك في برنامج مايكرو سي.................


التعديل الأخير تم بواسطة : سلمى بتاريخ 27-12-2009 الساعة 06:29 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

IBRAHIMASR
:: مهندس ::
تاريخ التسجيل: Dec 2009
المشاركات: 24
نشاط [ IBRAHIMASR ]
قوة السمعة:
قديم 24-12-2009, 12:51 PM المشاركة 1363   
Arrow


السلام عليكم ورحمه الله وبركاته

هذا الجزء من الكود لا يظهر
لا اعلم ماهي المشكله؟


int one ;
char txt[3];
void main() {
Lcd_Init(&PORTB);
Lcd_Cmd(LCD_CLEAR);
Lcd_Cmd(LCD_CURSOR_OFF);


one=4; //// any number
inttostr(one,txt);
lcd_out(1,1,txt);

}


ولا يظهر الا اذا جعلت:
char txt[8];


شكرا


التعديل الأخير تم بواسطة : IBRAHIMASR بتاريخ 24-12-2009 الساعة 06:22 PM

الصورة الرمزية سلمى
سلمى
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2006
المشاركات: 115
نشاط [ سلمى ]
قوة السمعة:
قديم 27-12-2009, 07:54 PM المشاركة 1364   
ha


السلام عليكم...
شكرا جزيلا ...
و تم تغيير i>>>unsigned i=0

و لكن ظهرت مشكلة أخرى و هي أن البورت a0لا يستجيب بعد الضغط على السويتش a1 و هذا منافٍ للعمل الذي يقوم به البرنامج

و توصلت لأن المشكلة ليست في برنامج الميكروسي إنما في البروتس .فما العمل؟

هل يمكن استخدام التايمر الموجود ضمن المايكروكنترولر ككاونتر ؟ و كيف أنفذ ذلك في برنامج مايكرو سي.................

.................................................. .................................................. ..........


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 27-12-2009, 08:59 PM المشاركة 1365   
افتراضي


المنفذ A و المنفذ E في هذا المتحكم صعب التعامل معهم .
ارى من الافضل ان تستخدمي المتحكم PIC16f84a او ان تستخدمي المنفذ C او المنفذ D للادخال .


الصورة الرمزية سلمى
سلمى
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2006
المشاركات: 115
نشاط [ سلمى ]
قوة السمعة:
قديم 27-12-2009, 11:22 PM المشاركة 1366   
ha


المنفذ A و المنفذ E في هذا المتحكم صعب التعامل معهم .
ارى من الافضل ان تستخدمي المتحكم PIC16f84a او ان تستخدمي المنفذ C او المنفذ D للادخال .
السلام عليكم...

لا لا...الأمر كما هو حتى مع استخدام pic16f84a


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 28-12-2009, 12:18 AM المشاركة 1367   
افتراضي


وعليكم السلام .
فقط جربي تحويل المفاتيح على المنفذ C .

او ارفعي ملف البروتوس .


IBRAHIMASR
:: مهندس ::
تاريخ التسجيل: Dec 2009
المشاركات: 24
نشاط [ IBRAHIMASR ]
قوة السمعة:
قديم 28-12-2009, 01:38 AM المشاركة 1368   
افتراضي


السلام عليكم ورحمة الله وبركاته

دائما ما تواجهني مشكله في التعامل مع LCD
مثل هذه المشكله:




السلام عليكم ورحمه الله وبركاته

هذا الجزء من الكود لا يظهر
لا اعلم ماهي المشكله؟


int one ;
char txt[3];
void main() {
Lcd_Init(&PORTB);
Lcd_Cmd(LCD_CLEAR);
Lcd_Cmd(LCD_CURSOR_OFF);


one=4; //// any number
inttostr(one,txt);
lcd_out(1,1,txt);

}


ولا يظهر الا اذا جعلت:
char txt[8];


شكرا



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