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

   

geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,134
نشاط [ geniusse01 ]
قوة السمعة:
قديم 12-03-2009, 09:18 PM المشاركة 137   
افتراضي



السلام عليكم

كيف الحال جميعا؟ان شاء الله يكون الجميع بخير..

اخي tinatoras

لقد قمت بمحاولة تشغيل الدارة على بروتوس وقمت بالتعديل عليه وفي كلتا الحالتين لم يعمل كما ذكرت..فقمت بحذف القسم المتعلق باختبار المفتاح A5 فعملت الدارة بناء على المفتاح A4 بشكل جيد..ولكن واجهتني مشكلة ان الطرف RB4 لا يعمل ابدا..فقمت بعمل دارة فلاشر للمنفذ ككل ولكن لم يعمل البرنامج(قمت بتحميل البرنامج على الرابط التالي:
http://rapidshare.com/files/208376218/rb4.rar.html

..فهل يمكن ان تتحقق من البرنامج اولا ومن ثم من الطرف RB4 .. وان شاء الله نصل لحل المشكلة معا..بارك الله فيك وجزاك الله كل خير..

والى جميع الاخوة من يعرف كيف يمكن تصحيح عمل البرنامج فليشاركنا الاراء وان شاء الله نصل الى حل مفيد للجميع..

السلام عليكم

لقد قمت بعمل دارة اخرى تستخدم مداخل نفس المتحكم المتحكم السابق وهو (pic16f628a) وقد استخدمت جميع المداخل على المنفذ PORTA والمخارج على المنفذPORTB بحيث كل زر يضيء الضوء الذي يحمل نفس الرقم ولكن المشكلة ان المدخل Α4 لا يضيء المخرج Β4 ايضا..بينما الباقي تضيء دون مشاكل...ولكن عندما جعلت الزر A4 يضيء كامل المنفذ PORTB اضائت كلها عدا المخرج RB4. فهل يحتاج الى معاملة خاصة للوصل عند الاخراج؟؟؟
الدارة والبرنامج على الرابط التالي:
http://rapidshare.com/files/20843343...f628a.rar.html

لقد بقى لدي مشكلة ان الطرف RB4 لا يتغير عند جعله كمخرج ابدا .فهل من اعدادات خاصة لكي يعمل؟؟

جزاكم الله كل خير وبارك فيكم جميعا...

واخر دعوانا ان الحمدلله رب العالمين..وصلى الله على سيدنا محمد وعلى اله وصحبه..


التعديل الأخير تم بواسطة : geniusse01 بتاريخ 12-03-2009 الساعة 11:59 PM
اعلانات

العابدي
:: مهندس ::
تاريخ التسجيل: Feb 2007
المشاركات: 48
نشاط [ العابدي ]
قوة السمعة:
قديم 13-03-2009, 06:35 AM المشاركة 138   
افتراضي مبرمجة universal


السلام عليكم
اخواني الاعزاء اثناء بحثي في سوق الالكترونيات عثرت على مبرمجة تسمى
intelligent universal programmer ويمكن استخدامها لبرمجة مختلف الدوائر المتكاملة ابتداءا من ذات 8 اطراف ولغاية 48 طرف غير ان ارتباطها بالكمبيوتر يكون بالمنفذ المتوازي وليس التسلسلي فارجو مساعدة اخواني في معرفة كيفية برمجة المايكروكونترولر باستخدام المنفذ المتوازي لان التجارب في هذه الدورة كانت باستخدام برنامج picpgm الذييعتمد على المنفذ المتوالي كي استطيع تجربة المبرمجة وشكرا

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

الصورة الرمزية Tech Master
Tech Master
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2009
الدولة: egypt,qena
المشاركات: 56
نشاط [ Tech Master ]
قوة السمعة:
قديم 13-03-2009, 05:34 PM المشاركة 139   
افتراضي


السلام عليكم

حسبما اذكر في احد المرات اني رايت دارة وقد استخدم فيها اما الترانزستور 2n3904 ..or....2n2222 ..انت حاول ان تعملها كبداية على لوحة الاختبار بالترانزستور الاخر وان شاء الله ستنجح معك...ربنا يوفقك ويبارك فيك..

واخر دعوانا ان الحمدلله رب العالمين.وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم..
وعليكم السلام ورحمة الله وبركاته
مشكووور اخى geniusse01 وبارك الله فيك
واسف على كثرة الازعاج ولقد وجد الترانزستور 3904 والحمد لله
وسوف اقوم بتجريب تلك التوصيله واخطارك بالنتائج
ولك جزيل الشكر يا أخى الكريم


التعديل الأخير تم بواسطة : Tech Master بتاريخ 13-03-2009 الساعة 05:45 PM

tinatoras
:: مهندس ::
تاريخ التسجيل: Apr 2006
المشاركات: 24
نشاط [ tinatoras ]
قوة السمعة:
قديم 13-03-2009, 08:55 PM المشاركة 140   
افتراضي


بارك الله فيك يا أخي geniusse01
لقد أعدت النظر في الدائرة و قمت بحل المشكلة و الحمد لله
وها هي ملاحظاتي :

1- يبدو أن هناك عيب في برنامج mikroc و هو أنك في بعض الأحيان إذا قمت بتعديل الكود و عمل compile فإن ملف الهكس الناتج لا يتغير عن سابقه و يبقى بنفس المشكلة لذلك يجب في هذه الحالة فتح مشروع جديد و لصق الكود و عمل كومبايل من جديد . و قد جربت ذلك تم حل مشكلتي و كذلك الكود الذي أرسلته أي أن A4 أضاء B4 و يمكنك التجربة بنفسك

2- الأمر CMCON = 0x07 مهم جدا لعمل منفذ A بشكل جيد

3- كان هناك خطأ بسيط في الكود و هو كالتالي :

كود:
if(porta.f6==0)

 {
   portb=0b00000001;
بدلا من :

كود:
if(porta.f6==0)
   portb=0b00000001;
 {
و جزاك الله أخي الكريم على مجهودك

أخي زكي شاكر

فعلا الأمر CMCON = 7 مهم جدا و من دونه لا يعمل منفذ A .
أما بالنسبة لحساسية اللغة لحالة الأحرف فقد قمت بتجربة الأحرف الكبيرة و الصغيرة على حد سواء ولم تحدث مشكلة و كما قال أستاذنا أحمد ففي النسخ الحديثة من مايكرو سي فهي لا تهتم بحالة الأحرف ، و جزاك الله خيرا

أستاذي المهندس أحمد
البرنامج بعد التصحيح :
كود:
void main()
{
int i;
int j;

CMCON = 0x07;
TRISA=0xff;
TRISB=0x00;

portb=0x00;

loop:


if(porta.f4==0)

 {
   portb=0b00000001;
   delay_ms(50);
   for(i=0;i<4;i++)
   {
    for(j=0;j<7;j++)
    {
      portb=portb<<1;
      delay_ms(50);
    }

    for(j=0;j<7;j++)
    {
      portb=portb>>1;
      delay_ms(50);
    }
   }
 }
 
 
if(porta.f5==0)
 {
   for(i=0;i<4;i++)
   {
     portb=0b00011000;
     delay_ms(100);
     portb=0b00111100;
     delay_ms(100);
     portb=0b01111110;
     delay_ms(100);
     portb=0b11111111;
     delay_ms(100);
     portb=0b01111110;
     delay_ms(100);
     portb=0b00111100;
     delay_ms(100);
     portb=0b00011000;
     delay_ms(100);
     portb=0b00000000;
     delay_ms(100);
   }
 }
goto loop;
}
و هو يقوم بإضاءة الليدات الموصولة على منفذ B بشكلين مختلفين عن طريق الضغط على سيوتشين على A4 و A5
عند الضغط على A4 يظهر الشكل التالي
00000001
00000010
00000100
00001000
00010000
00100000
01000000
10000000
ثم العكس ، و يعيد ذلك أربع مرات ، و عملية إزاحة ال1 تتم باستخدام ال shift يمينا ويسارا

وعند الضغط على A5 يظهر الشكل التالي :
00011000
00111100
01111110
11111111
01111110
00111100
00011000
00000000
و التكرار أربع مرات

و جزاك الله خيرا


geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,134
نشاط [ geniusse01 ]
قوة السمعة:
قديم 13-03-2009, 09:27 PM المشاركة 141   
افتراضي


السلام عليكم


شكرا لك اخي tinatoras

لقد قمت بفتح برنامج جديد ولصقت فيه البرنامج القديم..ولكنه حافظ على نفس المشكلة..الطرف RB4 لا يعمل ولست ادري لماذا..اتمنى من احد الاعضاء تجريب البرنامج لديه..وانا ساحاول تنزيل نسخة جديدة من البروتوس وان شاء الله تعمل هذه المرة..لقد قمت بكتابة برنامج معدل قليلا لما كتبته انت ويؤدي نفس الوظيفة وهو التالي:

void main()
{
int i;
int j;
VRCON = 0x00;
CMCON = 0x07;
trisa=0xff;
trisb=0x00;
portb=0x00;
loop:
if(porta.f4==0)
{
portb=1;
for (i=0;i<7;i++)
{delay_ms(500);
portb=portb<<1;}
for(j=0;j<7;j++)
{delay_ms(500);
portb=portb>>1;}
}

if(porta.f5==0)
{
for(i=0;i<4;i++)
{
portb=0b00011000;
delay_ms(500);
portb=0b00111100;
delay_ms(500);
portb=0b01111110;
delay_ms(500);
portb=0b11111111;
delay_ms(500);
portb=0b01111110;
delay_ms(500);
portb=0b00111100;
delay_ms(500);
portb=0b00011000;
delay_ms(500);
portb=0b00000000;
delay_ms(500);
}
}
goto loop;
}


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

واخر دعوانا ان الحمدلله رب العالمين..وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم..


tinatoras
:: مهندس ::
تاريخ التسجيل: Apr 2006
المشاركات: 24
نشاط [ tinatoras ]
قوة السمعة:
قديم 14-03-2009, 12:29 AM المشاركة 142   
افتراضي


السلام عليكم

حبيت أن أشارككم هذه الدائرة التي قمت بتصميمها

و هي عبارة عن آلة موسيقية بسيطة بها مجموعة من السيوتشات و speaker

البرنامج كالتالي : (للنوع PICF628A)

كود:
void main(){
//440  494  554  587  659  740  831  880
//1136 1012 902  852  759  676  602  568
CMCON = 0x07;
TRISB=0x00;
TRISA=0xff;
portb=0x00;

loop:

while(porta.f0==0){
portb.f0=1;
delay_us(1136);
portb.f0=0;
delay_us(1136)  ;
}

while(porta.f1==0){
portb.f0=1;
delay_us(1012);
portb.f0=0;
delay_us(1012);
}

while(porta.f2==0){
portb.f0=1;
delay_us(902);
portb.f0=0;
delay_us(902);
}

while(porta.f3==0){
portb.f0=1;
delay_us(852);
portb.f0=0;
delay_us(852);
}

while(porta.f4==0){
portb.f0=1;
delay_us(759);
portb.f0=0;
delay_us(759);
}

while(porta.f5==0){
portb.f0=1;
delay_us(676);
portb.f0=0;
delay_us(676);
}

while(porta.f6==0){
portb.f0=1;
delay_us(602);
portb.f0=0;
delay_us(602);
}

while(porta.f7==0){
portb.f0=1;
delay_us(568);
portb.f0=0;
delay_us(568);
}

goto loop;


}
و الدائرة كالتالي :



أي سؤال عن الكود سوف أجيب عنه بإذن الله


geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,134
نشاط [ geniusse01 ]
قوة السمعة:
قديم 14-03-2009, 01:28 AM المشاركة 143   
افتراضي


السلام عليكم

مشكور يا عم tinatoras

جزاك الله كل خير..في البداية قمت باعادة تنزيل البروتوس ولم يختلف شي..فقد بقيت نفس المشكلة..اما سؤالي فهو عن مبدا عمل هذه الدارة المسيقية.وكيف يمكن سماع صوتها؟؟فقد ركبت الدارة على البروتوس ولم ينتج عنها شي سوى تغير الجهودد على المخرج RB0 ولا صوت..مشكور


الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 14-03-2009, 01:41 AM المشاركة 144   
افتراضي


أخي الفاضل ... tinatoras ..

أنت رائع وفنان

فكرة جميلة وكود أجمل ..

ولتضح الفكرة للجميع .. أرجو منك أن تكمل عملك المتميز هذا وتحاول شرح كيف تعمل الدائرة .. و أن تضع ملف المحاكاه وملف الهيكس والكود حتى يستطيع الجميع تجربة الدائرة بنجاح

بارك الله فيك أخي العزيز ..


==========================================

وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع والعمل الصالح

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



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