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

   

hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 585
نشاط [ hamadalla31 ]
قوة السمعة:
قديم 06-05-2014, 07:50 PM المشاركة 49   
x6 بارك الله لك اخي الكريم واعزك وفتح لك كل ابواب الخير



السلام عليكم
تفضل اخي هذا عداد تصاعدي وتنازلي مهم في الامر هو أستخدام 2 من 74hc595 لتشغيل 8 سفن سكمنت
http://arabsh.com/files/0c3343426df6...hc595-rar.html

اخي كريم جربها لنرى كفاتها
الان كل سفن سكمنت تعمل لمده 2 ملي ثانيه اي duty cycle =2/8=25%
سحاول زيادتها كل 4ms ليصبح duty cycle=50%
لكن جربها وأعطنا نتيجه

على فكره أخي لايوجد لديك امكانيه ارسال رساله خاصه لك لاأعرف السبب
تحياتي الطيبه لكم
وعليكم السلام ورحمة الله وبركاته
بارك الله لك اخي الحبيب

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

اعلانات

الصورة الرمزية المخترع01
المخترع01
:: مهندس متميز ::
تاريخ التسجيل: Dec 2009
المشاركات: 397
نشاط [ المخترع01 ]
قوة السمعة:
قديم 07-05-2014, 12:48 PM المشاركة 50   
افتراضي


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

انا فعلت بريدي الخاص بالمنتدي ووصلني رسائل من اعضاء من المنتدي عليه ولا أدري اين المشكله في بريدي الخاص
ان شاء الله انفذها و تشاهد معي النتائج العملية للتجربة
جزاكم الله عني بك خير
اخي هل ممكن مساعدتي في عرض الوقت على شاشة 7 سيغمون بالمتكامل 74hc595 ds1307
و ان امكن شرح الكود و طريقة تعديل الساعة و لكم جزيل الشكر انت و المهندس حسن هادي ........

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

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


اخي هل ممكن مساعدتي في عرض الوقت على شاشة 7 سيغمون بالمتكامل 74hc595 ds1307
و ان امكن شرح الكود و طريقة تعديل الساعة و لكم جزيل الشكر انت و المهندس حسن هادي ........
السلام عليكم
اولا تفضل اخي شرح مكتيه DS1307
http://www.qariya.info/vb/showthread.php?t=143596
وسأرفقلك مشروع

تحياتي


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 07-05-2014, 02:11 PM المشاركة 52   
افتراضي


السلام عليكم
اولا تفضل اخي شرح مكتيه DS1307
http://www.qariya.info/vb/showthread.php?t=143596
وسأرفقلك مشروع

تحياتي
تفضل هذا مشروع
http://arabsh.com/files/0c334c4a61fb...ethod-rar.html


ahmadazez
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 251
نشاط [ ahmadazez ]
قوة السمعة:
قديم 07-05-2014, 04:17 PM المشاركة 53   
افتراضي


السلام عليكم
بفضل مساعده اخ ahmadazez تم تشغيل سفن سكمنت بطريقه ماتركس
سأرفق لكم مشروع وحاول ان تجربه أخي لنرى النتيجه


اخي للعلم الموضوع الاول الذي فيه ايسيات كثيره هو افضل بكثير أظن شركات تصنع سفن سكمنت وتربط معها 74hc595 او max7221 لتعطي سفن سكمنت كقطعه تعمل بطريقه spi mode او ثلاثه اطراف فقط مميزه هذه ان سفن سكمنت تعمل بشكل طبيعي مثل شاشه اي زمن ليس مهم وتبعدك عن كثير من مشاكل
طبعا بالنسبه للشركات لايهم كثره ايسيات لانها هذه ايسيات رخيصه جدا

على عموم الطريقه التي تم أستخدام فيها max7221 او 74hc595 تم شرح عنها وكانت مميزتها انها لاتعمل بخداع البصري وبتالي نحن مرتاحين من مشاكل الارتعاش وغيرها


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

اما مشروع الذي سوف ارفقه لكم
هو تشغيل سفن سكمنت بطريقه ماتركس وهذا يعود فضل لاخ ahmadazez الذي أعطى فكره وشرحها بشكل ممتاز
http://www.qariya.info/vb/showthread...=146304&page=4

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


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 07-05-2014, 04:26 PM المشاركة 54   
sun شكرا جزيلا لك أخي كريم


شكرا لك اخي حسن انا ارى ان لافضل لاحدنا على الاخر فجميعنا هنا للاستفادة من بعضنا البعض وانت ايضا لاتقصر بخدمة اعضاء هذا المنتدى
السلام عليكم
شكرا جزيلا اخي نحن في هذا منتدى كلنا أخوه نتعاون مع بعضنا البعض
وبالنسبه الي ذكرتك لانها فكرتك ويجب ذكرك لانها أمانه في نقل فكره لغيرنا

تقبلو منا جزيل الشكر والتقدير


الصورة الرمزية المخترع01
المخترع01
:: مهندس متميز ::
تاريخ التسجيل: Dec 2009
المشاركات: 397
نشاط [ المخترع01 ]
قوة السمعة:
قديم 08-05-2014, 11:55 AM المشاركة 55   
افتراضي


شكرا احي هادي
هل ممكن شرح الكود اكثر حطوة حطوة
احي كيف استطيع عمل عرض الساعة ثم يقوم الميكرو بعرض العام و الشهر على نفس 6 سغمون
يعني نستغني على واخدة
طيب احي هل ممكن زيادة كود حساب السرعة و عند الضغط على سويتش يقوم الميكرو ب عرض سرعة السيارة


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 08-05-2014, 04:47 PM المشاركة 56   
افتراضي أضافه معلومات جديده حول تشغيل عدد كبير من سفن سكمنت بأستخدام 74hc595


السلام عليكم
أثناء بحثي عن سفن سكمنت وجدت طريقه وهي موجوده ضمن ملف
http://arabsh.com/files/0c334c4860f3...595_2-rar.html
يوجد pdf لرسم دائره
يعني نفس دائره ادناه
http://www.china-electronics-gadgets...ver-p-525.html
طبعا فكره كتالي وفقا للمثال ترسل البيانات بهذا الشكل
data2 enable data 1 enable


هذه الطريقه تحتاج فقط 3 اسلاك
هذا هو الكود
كود:
#define Check_bit(var,pin)     var & (1<<pin)
sbit ST1 at RB0_bit; // for display
sbit DS1 at RB1_bit;
sbit SH1 at RB2_bit;


////////********************************************************************///
char num1[16];//
//const char segment[]={63,6,91,79,102,109,125,7,127,111}; //for CC
const char segment[]={192,249,164,176,153,146,130,248,128,144}; // for CA
const char segbit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
char x=0 ,dd,ggg,colomn1,colomn   ;
unsigned int number1,number2, cont;
char segmant2[1];// 1 this mean only 8 7seg  if has 16 7seg then char segmant2[2]
void display_7seg();


//***************************************************************************//
//Timer0
//Prescaler 1:16; TMR0 Preload = 6; Actual Interrupt Time : 2 ms

//Place/Copy this part in declaration section
void InitTimer0(){
  OPTION_REG         = 0x83;
  TMR0                 = 6;
  INTCON         = 0xA0;
}

void Interrupt(){
  if (TMR0IF_bit){
    TMR0IF_bit         = 0;
    TMR0                 = 6;
    //Enter your code here
     ggg++;
     cont++;
  }
}


void main ()
{
 char mm=0;
 trisb=0;
 portb=0;
 InitTimer0();
 cmcon=7; // Configure AN pins as digital

  while(1)
          {
            if(cont>500)
                        {
                           number1++;
                           if(number2 !=0)number2--;
                           if(number2==0)number2=9999;
                           if(number1>=10000)number1=0;
                           num1[0]=number1/1000; // عداد تصاعدي
                           num1[1]=number1/100%10;
                           num1[2]=number1/10 %10;
                           
                           num1[3]=number1%10;// عداد تنازلي
                           num1[4]=number2/1000;
                           num1[5]=number2/100%10;
                           num1[6]=number2/10 %10;
                           num1[7]=number2%10;
                           
                           num1[8]=1;
                           num1[9]=2;
                           num1[10]=3;
                           num1[11]=4;
                           num1[12]=5;
                           num1[13]=6;
                           num1[14]=7;
                           num1[15]=8;

                         cont=0;
                        }
                if(ggg>=3){ggg=0; display_7seg();}
     }
}



///*****************************************************************//
void display_7seg()
{ char y;
 dd=8;
 for(x=0;x<32;x++){ds1=1;sh1=1;sh1=0;}// OFF all 7 seg
 ST1=1;st1=0;
 // data2 enable  data1 enable
 for(y=0;y<2;y++) // هنا عندنا 16 سفن سكمنت فنحن نتعامل مع كل 8 على حده لذا نعد الى 2
             {
                 for(x=0;x<8;x++) // نرسل تفعيل الكمن لانه يرسل اول يظهر بل اخير
                         {
                          if(Check_bit(segbit[7-colomn],7-x))ds1=1;
                          else DS1=0;
                          SH1=0;SH1=1;
                         }
                 for(x=0;x<8;x++) //
                                  {
                                   if(Check_bit(segment[num1[colomn1+dd]],7-x))DS1=1;
                                   else DS1=0;
                                   SH1=0;SH1=1;
                                  }
                 if(dd>=8)dd=dd-8;
              }
          ST1=1; ST1=0;
          colomn++;
          colomn1++;

          if(colomn==8)colomn=0;
          if(colomn1==8)colomn1=0;

}

//******************************************************//
طبعا الكود بلون احمر هو مسؤول عن عرض البيانات على سفن سكمنت


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 08-05-2014 الساعة 06:36 PM


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