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

   

الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 767
نشاط [ sheimy ]
قوة السمعة:
قديم 10-09-2009, 01:59 AM المشاركة 9   
Thumbs up



الفكرة جميلة جدا ... بارك الله فيك



إن كان كذلك فهذا بالضبط مايحدث إذا كتبت جدول الحقيقة truth table لأربع خانات

انظر إلى جدول الحقيقة




وبذلك يكون الأمر سهل وبسيط .... ولن يتعدى الكود أربعة إلى خمسة أسطر

جزاك الله خيرا
والله تفكير رائع وذكى جدا
بارك الله فيك
ننتظر المزيد من الافكار
ولكن ماذا لو لم يكن الزمن هو 0.25 و0.5 و 1 و 2
يعنى كان 0.2 و0.3 0.65 و0.97
يعنى الزمن اى حاجة مش محدد احنا اللى نحدده على راحتنا
محتاجة تفكير جديد صح

اعلانات

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 895
نشاط [ robota ]
قوة السمعة:
قديم 10-09-2009, 02:53 AM المشاركة 10   
افتراضي


اخى اشرف كيف الحال اتمنى ان تكون على ما يرام
كود:
وبذلك يكون الأمر سهل وبسيط .... ولن يتعدى الكود أربعة إلى خمسة أسطر
لا اعتقد انه سيكون حوالى 32 سطر 16 للdelay و 16 لتنفيذ كل سطر
ام لديك طريقة افضل.


التعديل الأخير تم بواسطة : robota بتاريخ 10-09-2009 الساعة 05:22 AM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية mohamedse
mohamedse
:: عضو ذهبي ::
تاريخ التسجيل: Aug 2008
الدولة: مصر الأسكندرية
المشاركات: 631
نشاط [ mohamedse ]
قوة السمعة:
قديم 10-09-2009, 06:33 AM المشاركة 11   
افتراضي


السلام عليكم

والله تفكير رائع وذكى جدا
بارك الله فيك
ننتظر المزيد من الافكار
ولكن ماذا لو لم يكن الزمن هو 0.25 و0.5 و 1 و 2
يعنى كان 0.2 و0.3 0.65 و0.97
يعنى الزمن اى حاجة مش محدد احنا اللى نحدده على راحتنا
محتاجة تفكير جديد صح
أخى Shiemy ممكن توضح لى ما الفرق بين فكرتى و فكرة الأستاذ أشرف الخطيب


الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 767
نشاط [ sheimy ]
قوة السمعة:
قديم 10-09-2009, 02:36 PM المشاركة 12   
افتراضي


السلام عليكم

الفكرة سهلة مع أننى لا أريد الأجابة و أنتظر أعطاء وقت و فرصة أكبر للعدد كبير من الأعضاء و لكننى سأجيب و أنتظر منك أفكار و أسئلة أخرى ..... و ربما تكون خطأ و يجيب عليها غيرى

عمل عداد بالنظام الثنائى يعد كل ربع ثانية


while(1)
Portb=++
delay_ms(250)
والله هذا التفكير رائع ولكن لم يكن واضح لى فى البداية
كما انه يلزمه بعض التعديلات كما يلى

كود:
while(1){
PORTB=0;
for(i=0;i<16;i++){
PORTB++;
Delay_ms(250);}
}


أشرف الخطيب
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
الدولة: مصــــــــــــــــــــــــــــــر
المشاركات: 193
نشاط [ أشرف الخطيب ]
قوة السمعة:
قديم 10-09-2009, 06:55 PM المشاركة 13   
افتراضي


ماقصدته هو أن الليد الأولى تعمل flashing كل س ثانية ... والثانية كل 2 س ثانية ... والثالثة كل 4 س ثانية .... والرابعة كل 8 س ثانية

وهو بالضبط جدول الحقيقة لأربع خانات ...

وهاهو الكود كاملا


كود:
void main()
{
char i ;
trisb = 0 ;
portb = 0 ;

while(1)
{
    for(i=0; i<16 ; i++)
    {
             portb = i ;
             delay_ms(250) ;
    }
}
}
ولكن ماذا لو لم يكن الزمن هو 0.25 و0.5 و 1 و 2
يعنى كان 0.2 و0.3 0.65 و0.97
يعنى الزمن اى حاجة مش محدد احنا اللى نحدده على راحتنا
محتاجة تفكير جديد صح
هكذا سيتغير التفكير كلية ... وسأعتبرها فزورة جديدة ..... مارأيك ؟؟؟

فى هذه الحالة سيكون الكود كبير ولا مفر من ذلك ...


الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 767
نشاط [ sheimy ]
قوة السمعة:
قديم 10-09-2009, 10:37 PM المشاركة 14   
افتراضي


ماقصدته هو أن الليد الأولى تعمل flashing كل س ثانية ... والثانية كل 2 س ثانية ... والثالثة كل 4 س ثانية .... والرابعة كل 8 س ثانية

وهو بالضبط جدول الحقيقة لأربع خانات ...

وهاهو الكود كاملا


كود:
void main()
{
char i ;
trisb = 0 ;
portb = 0 ;

while(1)
{
    for(i=0; i<16 ; i++)
    {
             portb = i ;
             delay_ms(250) ;
    }
}
}


هكذا سيتغير التفكير كلية ... وسأعتبرها فزورة جديدة ..... مارأيك ؟؟؟

فى هذه الحالة سيكون الكود كبير ولا مفر من ذلك ...
باذن الله سيكون صغير وساهل ان شاء الله
ولكن دعنا نفكر فى هذة اولا
ماذا لو ارادنا اضائتهما وبنفس الزمن السابق
0.25 و 0.5 1.0 و 2.0 ثانية
ولكن اماكن الليدات تغيرت
فمثلا
الاول كانو ا بالترتيب الاتى
RB0
RB3
RB5
RB6



the lion
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2009
الدولة: egypt
المشاركات: 117
نشاط [ the lion ]
قوة السمعة:
قديم 10-09-2009, 10:48 PM المشاركة 15   
افتراضي


كود:
void main()
{char x,y,i,h;
x=y=i=h=0;
trisb=0;
portb=0;
while(1)
{delay_ms(10);
x++;
y++;
i++;
h++;
if(x==20){x=0;portb.f0=~portb.f0;}
if(y==30){y=0;portb.f1=~portb.f1;}
if(i==65){i=0;portb.f2=~portb.f2;}
if(h==97){h=0;portb.f3=~portb.f3;}
}
}


الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 767
نشاط [ sheimy ]
قوة السمعة:
قديم 10-09-2009, 10:59 PM المشاركة 16   
افتراضي


كود:
void main()
{char x,y,i,h;
x=y=i=h=0;
trisb=0;
portb=0;
while(1)
{delay_ms(10);
x++;
y++;
i++;
h++;
if(x==20){x=0;portb.f0=~portb.f0;}
if(y==30){y=0;portb.f1=~portb.f1;}
if(i==65){i=0;portb.f2=~portb.f2;}
if(h==97){h=0;portb.f3=~portb.f3;}
}
}
بداية
ماشاء الله تفكير رائع وفقك الله وذادك من علمه
ثانيا
ياريت تعدل المشاركة وتوضح الكود ده هيعمل ايه
لانك مش موضح انه الكود اللازمة لعمل الاضاءة كل
0.2 و 0.3 و0.65 0.97 من الثانية
ثالثا
فكر فى الجديدة
فبطريقتك ستكون سهلة جدا فقط ستغير الزمن واماكن الليدات

شكرا لمشاركتك الاكثر من رائعة



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