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

   

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



السلام عليكم
يرجى التثبيت لتعم الفائدة

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

اعلانات

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 28-07-2014, 04:15 PM المشاركة 90   
Thumbs up المكتبه التاسعه تخص LCD


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

مزيد من معلومات الاطلاع على هذا الرابط
http://www.qariya.info/vb/showthread.php?t=150708

تحياتي

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

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 30-07-2014, 06:38 AM المشاركة 91   
افتراضي كيف تضيف مكتبه جديده الى مكتبات مايكروسي برو(( 10- مكتبه WIFI))


السلام عليكم
في هذا الموضوع هو كيفيه أضافه مكتبه الى مكتبات مايكروسي برو او غيره

اولا عليك تحميل برنامج اسمه Package Manager وبعده تحميله من موقع وتنصيبه
http://www.mikroe.com/package-manager/

أذهب الى هذا موقع لتنزيل مكتبه WIFI
http://www.libstock.com/projects/vie...k-wifi-library
بعد تنزيل مكتبه بأمتداد mpkg
قم بالضغط على فايل وفتح بأستخدام Package Manager



وأترك البرنامج الى ان يكتبلك تمت أضافتها بنجاح
وفي مايكرو سي ستجد مكتبه



وللحصول على ملف مساعده



وهذا مثال تطبيقي تجده في نفس مكتبه


او
http://www.libstock.com/projects/vie...i-control-demo

ولمزيد من معلومات عن WIFI
http://www.mikroe.com/click/wifi-plus/
تقبلو تحياتي


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 30-07-2014 الساعة 09:46 AM

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 30-07-2014, 08:49 AM المشاركة 92   
افتراضي 11- Nokia 3310 or 5110 Library


أضافه مكتبه
http://www.libstock.com/projects/vie...r-5110-library
تبع نفس الاسلوب في مشاركه السابقه


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 30-07-2014 الساعة 09:47 AM

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 30-07-2014, 09:53 AM المشاركة 93   
افتراضي 12- Soft_PWM_Library


Soft_PWM_Library

http://www.libstock.com/projects/view/1042/software-pwm
تحياتي

جميل في الامر تدعم ترددات قليله مثل 50 هيرتز وهذا ممتاز

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


هذا كود مكتبه لاطلاع عليها
كود:
//============================================================================
// Library: Soft_PWM_16F.
// Author : Arezki YOUYOU
// Date:16/07/2014

//this library allow you to use the Soft PWM in the device 16Fxx in any PIN.
//the precision increases as the frequency of the microcontroller increases,
//or decreases the frequency of Soft_PWM.

//==============Importante========================//
//this Library use the TMR0, you can't use it.

//============================================================================
// Contact me:
// email: arezkiyouyou*gmail.com
//============================================================================

unsigned long Soft_PWM_clock,Soft_PWM_duty,Soft_PWM_flip_flop=0;
unsigned long Soft_PWM_duty_bis=0;
extern sfr sbit Soft_PWM_PIN;
extern sfr sbit Direction_Soft_PWM_PIN;
void Soft_PWM_Inter();
/********************************************/
void Soft_PWM_Inter(){

      if (TMR0IF_bit){
     TMR0IF_bit = 0;
     Soft_PWM_flip_flop++;
     if(Soft_PWM_flip_flop<=Soft_PWM_duty){
       Soft_PWM_PIN=1;
                        }
       else if(Soft_PWM_flip_flop>Soft_PWM_duty && Soft_PWM_flip_flop<Soft_PWM_clock){
       Soft_PWM_PIN=0;
                                                  }
       else {Soft_PWM_flip_flop=0; if(Soft_PWM_duty>0)Soft_PWM_PIN=1;}
                  }
     
                     }
                
/***********************************************/
unsigned long Soft_PWM_Init(unsigned long frequance_HZ){
unsigned long clk;
Direction_Soft_PWM_PIN=0;
Soft_PWM_PIN=0;
clk = clock_kHz();
clk*=250;
Soft_PWM_clock = clk/frequance_HZ;
if(Soft_PWM_clock<256) return (0);
Soft_PWM_clock=Soft_PWM_clock/256;

T0CS_bit=0;
PSA_bit=1;
GIE_bit  = 1;
TMR0IE_bit= 0;
Soft_PWM_duty=0;
return  Soft_PWM_clock;
                                                       }
/*************************************************/

char Soft_PWM_set_duty(char set_Soft_PWM_duty){
if (set_Soft_PWM_duty>100) return (0xFF);
           Soft_PWM_duty_bis=set_Soft_PWM_duty*Soft_PWM_clock;
           Soft_PWM_duty_bis/=100;
           Soft_PWM_duty=Soft_PWM_duty_bis;
           return Soft_PWM_duty_bis;
                                     }
/****************************************/
void Soft_PWM_Start(){
           Soft_PWM_flip_flop=0;
           TMR0IE_bit=1;
                     }
/****************************************/
void Soft_PWM_Stop(){
           TMR0IE_bit=0;
          Soft_PWM_PIN=0;
                    }
/****************************************/


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 30-07-2014 الساعة 12:06 PM

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


Soft_PWM_Library

http://www.libstock.com/projects/view/1042/software-pwm
تحياتي

جميل في الامر تدعم ترددات قليله مثل 50 هيرتز وهذا ممتاز

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


هذا كود مكتبه لاطلاع عليها
كود:
//============================================================================
// Library: Soft_PWM_16F.
// Author : Arezki YOUYOU
// Date:16/07/2014

//this library allow you to use the Soft PWM in the device 16Fxx in any PIN.
//the precision increases as the frequency of the microcontroller increases,
//or decreases the frequency of Soft_PWM.

//==============Importante========================//
//this Library use the TMR0, you can't use it.

//============================================================================
// Contact me:
// email: arezkiyouyou*gmail.com
//============================================================================

unsigned long Soft_PWM_clock,Soft_PWM_duty,Soft_PWM_flip_flop=0;
unsigned long Soft_PWM_duty_bis=0;
extern sfr sbit Soft_PWM_PIN;
extern sfr sbit Direction_Soft_PWM_PIN;
void Soft_PWM_Inter();
/********************************************/
void Soft_PWM_Inter(){

      if (TMR0IF_bit){
     TMR0IF_bit = 0;
     Soft_PWM_flip_flop++;
     if(Soft_PWM_flip_flop<=Soft_PWM_duty){
       Soft_PWM_PIN=1;
                        }
       else if(Soft_PWM_flip_flop>Soft_PWM_duty && Soft_PWM_flip_flop<Soft_PWM_clock){
       Soft_PWM_PIN=0;
                                                  }
       else {Soft_PWM_flip_flop=0; if(Soft_PWM_duty>0)Soft_PWM_PIN=1;}
                  }
     
                     }
                
/***********************************************/
unsigned long Soft_PWM_Init(unsigned long frequance_HZ){
unsigned long clk;
Direction_Soft_PWM_PIN=0;
Soft_PWM_PIN=0;
clk = clock_kHz();
clk*=250;
Soft_PWM_clock = clk/frequance_HZ;
if(Soft_PWM_clock<256) return (0);
Soft_PWM_clock=Soft_PWM_clock/256;

T0CS_bit=0;
PSA_bit=1;
GIE_bit  = 1;
TMR0IE_bit= 0;
Soft_PWM_duty=0;
return  Soft_PWM_clock;
                                                       }
/*************************************************/

char Soft_PWM_set_duty(char set_Soft_PWM_duty){
if (set_Soft_PWM_duty>100) return (0xFF);
           Soft_PWM_duty_bis=set_Soft_PWM_duty*Soft_PWM_clock;
           Soft_PWM_duty_bis/=100;
           Soft_PWM_duty=Soft_PWM_duty_bis;
           return Soft_PWM_duty_bis;
                                     }
/****************************************/
void Soft_PWM_Start(){
           Soft_PWM_flip_flop=0;
           TMR0IE_bit=1;
                     }
/****************************************/
void Soft_PWM_Stop(){
           TMR0IE_bit=0;
          Soft_PWM_PIN=0;
                    }
/****************************************/
السلام عليكم
قام مؤلف مكتبه Arezki YOUYOU بتطوير مكتبته الخاصه pwm ولمزيد من معلومات مراجعه هذا مكتبه حيث يوجد ملف مساعده يشرح ذلك
http://www.libstock.com/projects/view/1042/software-pwm
وفي هذه مكتبه يمكن لاكثر من طرف اخراج نفس اشاره pwm
ولكن سحاول اخراج اشاره pwm من اكثر من طرف وكل طرف له duty cycle مختلف
ولكن حاليا لم أصل الى ذلك

لاضافه هذه مكتبه الى micro c pro عليك اولا بحذف مكتبه من خلال تحديدها ومن ثم الضغط على ايقونه x ومن ثم نصبها من جديد

تحياتي


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 11-08-2014 الساعة 11:33 AM

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


طبعا يوجد فقره ممتازه وهي أضافه مكتبات الي نحن نصنعها الى كومبايلر مايكروسي برو من خلال البرنامج Package Manager
لمزيد من معلومات أذهب الى ملف مساعده في Package Manager وأختار Creating Package وتبع التفاصيل
صراحه انا لم جرب ذلك ولكن من خلال ماذكرت يمكنك أضافته مكتبتك الى مكتبات مايكروسي برو وهذا افضل لكي تبقى بكومبايلر ولاتحتاج اضافتها بعد الى البرنامج
تحياتي


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 14-08-2014, 04:43 PM المشاركة 96   
x4 تجميع مكتبه STH1X في package واحد( ملف مكتبه) لغرض أضافتها الى كومبايلر مايكروسي برو


السلام عليكم
وجدت هذه مكتبه لــ STH1X قمت بتعديل عليه بشكل بسيط وهذه مكتبه بترجعلك حراره ورطوبه
http://arabsh.com/files/0c3344486df2...sth1x-rar.html
او
https://www.mediafire.com/?k7orwcb2wai1yf7

مكتبه بحاجه الى هذه التعريفات
1- التعريف الاتجاهات
كود:
//SHT11 connections
sbit SDA_ at RC4_bit;                 // Serial data pin
sbit SCL_ at RC3_bit;                 // Serial clock pin

sbit SDA_direction  at TRISC4_bit;        // Serial data direction pin
sbit SCL_direction at TRISC3_bit;        // Serial clock direction pin
طبعا بلون احمر متغير حسب البورت الذي تريد استخدامه

2- تعريف المتغيرات
تحتاج الى هذين مصفوفين
كود:
char Temperature[] = "000.00";
char Humidity[]    = "000.00";
3- طريقه استخدامها
تكتب هكذا
كود:
Read_SHT1X(1);
النتيجه بترجعلك قيمه مخزونه في مصفوفه مثلا حراره تنخزن في Temperature
ملاحظه مهمه كل رقم بالمصفوفه هو باسكي كود
طبعا يمكنك التعديل على مكتبه كأن ترجعلك قيمه كامله وليست في مصفوفه
قم بالتعديل على كود مكتبه ضمن داله القراءه


كود:
static void Read_SHT1X(char compensation)
{
//  INTCON = 0;                      // disable all interrupts

  SDA_Direction = 0;
  SCL_Direction = 0;                 // SCL is output


     // measuring temperature
    SOt = Measure(0x03);        // function for measuring (command 0x03 is for temperature)

     // measuring humidity
    SOrh = Measure(0x05);       // function for measuring (command 0x05 is for humidity)

// calculating temperature
// Ta_res = D1 + D2 * SOt
    if(SOt > D1){                     // if temperature is positive
                 Ta_res = (SOt * D2) - D1;        // calculate temperature
                 negative=1;
                }
    else {                            // else (if temperature is negative)
           Ta_res = D1 - (SOt * D2);        // calculate temperature
           negative=-1;
           Temperature[0]='-'; //mark negative
          }

// calculating humidity
// Rh_res = C1 + C2 * SOrh + C3 * SOrh^2
    sth1x_temp = SOrh * SOrh* C3/ 100000  ;            // calculate humidity
    Rh_res = SOrh * C2 / 100 - sth1x_temp - C1;         // calculate humidity
    Rh_true=((T2*SOrh)/1000)+T1;
   if( compensation==1)
                       {
                         Rh_true =(negative*Ta_res/100-25)*Rh_true;
                         Rh_true=Rh_true+Rh_res;        //calc. temperature compensated Humidity
                        }
   else Rh_true= Rh_res;
   
   if( Rh_true>=10000)Rh_true=10000;// 100%
   else if(Rh_true<100)Rh_true=100; //~ 1%
// preparing temperature for LCD
    if(negative==1)Temperature[0] = (Ta_res / 10000) + 48;  // example: Temperature[0] = 12345 / 10000 = 1, 1 + 48 = '1' - ASCII
    Temperature[1] = ((Ta_res % 10000) / 1000) + 48;           // example: Temperature[1] = 12345 % 10000 = 2345, Temperature[6] = 2345 / 1000 = 2, 2 + 48 = '2' - ASCII
    Temperature[2] = ((Ta_res % 1000) / 100) + 48;             // example: Temperature[2] = 12345 % 1000 = 345, Temperature[7] = 345 / 100 = 3, 3 + 48 = '3' - ASCII
    Temperature[4] = ((Ta_res % 100) / 10) + 48;               // example: Temperature[3] = 12345 % 100 = 45, Temperature[9] = 45 / 10 = 4, 4 + 48 = '4' - ASCII
    Temperature[5] = (Ta_res % 10 )+ 48;                    // example: Temperature[4] = 12345 % 10 = 5, 5 + 48 = '5' - ASCII

// preparing humidity for LCD
    Humidity[0] = Rh_true / 10000 + 48;                  // example: Humidity[0] = 12345 / 10000 = 1, 1 + 48 = '1' - ASCII
    Humidity[1] = Rh_true % 10000 / 1000 + 48;           // example: Humidity[1] = 12345 % 10000 = 2345, Humidity[6] = 2345 / 1000 = 2, 2 + 48 = '2' - ASCII
    Humidity[2] = Rh_true % 1000 / 100 + 48;             // example: Humidity[2] = 12345 % 1000 = 345, Humidity[7] = 345 / 100 = 3, 3 + 48 = '3' - ASCII
    Humidity[4] = Rh_true % 100 / 10 + 48;               // example: Humidity[3] = 12345 % 100 = 45, Humidity[9] = 45 / 10 = 4, 4 + 48 = '4' - ASCII
    Humidity[5] = Rh_true % 10 + 48;                    // example: Humidity[4] = 12345 % 10 = 5, 5 + 48 = '5' - ASCII

// delete unnecessary digits (zeros)
    if (Temperature[0] == '0')                             // if Temperature[5] = '0' then
      Temperature[0] = ' ';                                // insert blank character to Temperature[0]
    if (Temperature[0] == ' ' && Temperature[1] == '0')    // if Temperature[5] is blank and Temperature[1] = '0' then
      Temperature[1] = ' ';                                // insert blank character to Temperature[1]

    if (Humidity[0] == '0')                             // if Temperature[0] = '0' then
      Humidity[0] = ' ';                                // insert blank character to Temperature[0]
    if (Humidity[0] == ' ' && Humidity[1] == '0')       // if Temperature[1] is blank and Temperature[1] = '0' then
      Humidity[1] = ' ';                                // insert blank character to Temperature[1]

}
السلام عليكم
تم تحويل ملف مكتبه STH1X الى ملف ذو أمتداد .mpkg وبتالي تستطيع ألحاقها بمكتبات مايكروسي برو لكي تستخدمها متى ما شئت بدون الحاجه لاضافتها الى اي مشروع
http://up.top4top.net/downloadf-top4...84ea1-rar.html


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 14-08-2014 الساعة 04:58 PM


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