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

   

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



السلام عليكم........
كود البيك بالميكروسي 8.2 ....
كود:
/******************************************************************
                  USB BASED MICROCONTROLLER OUTPUT PORT
                  =====================================

In this project a PIC18F4550 type microcontroller is connected
to a PC through the USB link.

A Visual Basic program runs on the PC where the user enters the
bits to be set or cleared on PORT B of the microcontroller. The
PC sends a command to the microcontroller requesting it to set
or reset the required bits of the microcontroller PORT B.

A 8MHz crystal is used to operate the microcontroller. The actual
CPU clock is raised to 48MHz by setting configuration bits. Also,
the USB module is operated with 48MHz.

The command sent by the PC to the microcontroller is in the
following format:

          P=nT

where n is the byte the microcontroller is requested to send to
PORT B of the microcontroller.

This program includes the USB code.

Author:   Dogan Ibrahim
Date:     September 2007
File:     USB1.C
*****************************************************************/

#include "C:\Program Files\Mikroelektronika\mikroC\Examples\EasyPic4\extra_examples\HID-library\USBdsc.c"

unsigned char Read_buffer[64];
unsigned char Write_buffer[64];
unsigned char num;
//
// Timer interrupt service routine
//
void interrupt()
{
  HID_InterruptProc();                  // Keep alive
  TMR0L = 100;                          // Re-load TMR0L
  INTCON.TMR0IF = 0;                    // Re-enable TMR0 interrupts
}


//
// Start of MAIN program
//
void main()
{

     ADCON1 = 0xFF;                      // Set PORT B to digital I/O
     TRISB = 0;                          // Set PORT B to outputs
     PORTB = 0;                          // Clear all outputs
//
// Set interrupt registers to power-on defaults
// Disable all interrupts
//
     INTCON=0;
     INTCON2=0xF5;
     INTCON3=0xC0;
     RCON.IPEN=0;
     PIE1=0;
     PIE2=0;
     PIR1=0;
     PIR2=0;
//
// Configure TIMER 0 for 3.3ms interrupts. Set prescaler to 256
// and load TMR0L to 100 so that the time interval for timer
// interrupts at 48MHz is 256*(256-100)*0.083 = 3.3ms
//
// The timer is in 8-bit mode by default
//
  T0CON  = 0x47;                         // Prescaler = 256
  TMR0L  = 100;                          // Timer count is 256-156 = 100
  INTCON.TMR0IE = 1;                     // Enable T0IE
  T0CON.TMR0ON = 1;                      // Turn Timer 0 ON
  INTCON = 0xE0;                         // Enable interrupts

//
// Enable USB port
//
   Hid_Enable(&Read_buffer, &Write_buffer);
   Delay_ms(1000);
   Delay_ms(1000);
//
// Read from the USB port. Number of bytes read is in num
//

   for(;;)                               // do forever
{
      num=0;
      while(num != 4)                    // Get 4 characters
      {num = Hid_Read();
      }
      if(Read_buffer[0] == 'P' && Read_buffer[1] == '=' && Read_buffer[3] == 'T')
      {
       if ( Read_buffer[2] =='Q' )
       {PORTB.f0=1;}
        if ( Read_buffer[2] =='R' )
       {PORTB.f1=1;}
       if ( Read_buffer[2] =='S' )
       {PORTB.f2=1;}
       if ( Read_buffer[2] =='T' )
       {PORTB.f3=1;}
       if ( Read_buffer[2] =='U' )
       {PORTB.f4=1;}
       if ( Read_buffer[2] =='V' )
       {PORTB.f5=1;}
       if ( Read_buffer[2] =='W' )
       {PORTB.f6=1;}
       if ( Read_buffer[2] =='X' )
       {PORTB.f7=1;}
        ///////////////////////////////////
        if ( Read_buffer[2] =='A' )
       {PORTB.f0=0;}
        if ( Read_buffer[2] =='B' )
       {PORTB.f1=0;}
       if ( Read_buffer[2] =='C' )
       {PORTB.f2=0;}
       if ( Read_buffer[2] =='D' )
       {PORTB.f3=0;}
       if ( Read_buffer[2] =='E' )
       {PORTB.f4=0;}
       if ( Read_buffer[2] =='F' )
       {PORTB.f5=0;}
      //  if ( Read_buffer[2] =='E' )         /// demo limit
   //  {PORTB.f4=0;}
     //  if ( Read_buffer[2] =='F' )
     //  {PORTB.f5=0;}

      }
 }
   Hid_Disable();

}
السلام عليكم
اولا أشكرك على مجهود كبير وفقكم الله
أخي العزيز لايعمل الكود على نسخه 6 من مايكروسي
لماذا انت مختار الكود على نسخه القديمه ؟

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 15-11-2014, 07:32 PM المشاركة 34   
افتراضي


نعم يا اخ حسن و انا كنت اعاني من نفس المشكلة ...
نصب النسخة 4.15 و يمشي الحال ان شاء الله .
https://www.mediafire.com/?i294i75t1lxbuqv


التعديل الأخير تم بواسطة : حيدر علاج حسن بتاريخ 15-11-2014 الساعة 07:37 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

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


نعم يا اخ حسن و انا كنت اعاني من نفس المشكلة ...
نصب النسخة 4.15 و يمشي الحال ان شاء الله .
https://www.mediafire.com/?i294i75t1lxbuqv
السلام عليكم
أخي حيدر هل تنصيب النسخة 4.15 يؤثر على نسخه 6
تحياتي


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 15-11-2014, 07:58 PM المشاركة 36   
افتراضي


نعم طبعا يؤثر ...
احذف النسخة الحديثة و نصب هذه ...

اخي حسن لا تحذف نسختك اذا كنت تعتز بها . الفرق فقط في تسمية الاعدادات و هذه يمكن حلها ...


الصورة الرمزية lovevb6
lovevb6
:: عضو فضي ::
تاريخ التسجيل: May 2010
الدولة: LIBYA-BENGHAZY
المشاركات: 1,473
نشاط [ lovevb6 ]
قوة السمعة:
قديم 15-11-2014, 08:05 PM المشاركة 37   
افتراضي


السلام عليكم

حياكم الله ياشباب
نعم كل النسخ والاصدارات تعمل فقط الفرق في الشكل والترتيب


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 15-11-2014, 08:06 PM المشاركة 38   
افتراضي


الاخوة الذين يستخدمون نسخة حديثة من الميكروسي فقط يغيرون هذه العبارة
كود:
HID_InterruptProc();
الى العبارة التالية
كود:
 USB_Interrupt_Proc();
هذه المعلومة من الاخ المهندس عبد السلام ..


hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 585
نشاط [ hamadalla31 ]
قوة السمعة:
قديم 15-11-2014, 09:18 PM المشاركة 39   
sun التجربة الثانية.......


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


وقمت بقطع كابل USB وتوصيل هيدر بن بأطرافه كما بالصورة....


طريقة لحام الهيدر بن مع كابل USB كما بالصورة .....


طريقة توصيل الهيدر بن علي بوردة المشروع كما بالصورة...........


الصورة النهائية لبوردة المشروع كما بالصورة.....



الحمد لله الذي بنعمته تتم الصالحات

نقوم بتوصيل كابل USB علي جهاز الحاسب الشخصي سيكتشف الحاسب الجهاز الجديد ويعرفه ويقبله للتشغيل
المفاجئة السارة هي هدية اخونا عبد السلام لنا وهو برنامج من تصميمه علي الفيجوال بيزيك سنشغل بها جهازنا الجديد اترككم للتمتع بمشاهدة الفيديو للجهاز وهو يتفاعل مع برنامج اخونا عبد السلام

شاهد الفيديوا .....


يمكنكم تحميل برنامج التشغيل مع السور س كود بالضغط علي هذا الرابط بشرط ان تدعوا لآخونا عبد السلام بكل خير

ارجوا من الله التوفيق.........ان شاء الله للحديث بقية يتبع.............


hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 585
نشاط [ hamadalla31 ]
قوة السمعة:
قديم 15-11-2014, 09:30 PM المشاركة 40   
x6 اسعدني مرورك استاذي الكريم


السلام عليكم
اولا أشكرك على مجهود كبير وفقكم الله
أخي العزيز لايعمل الكود على نسخه 6 من مايكروسي
لماذا انت مختار الكود على نسخه القديمه ؟



وعليكم السلام ورحمة الله وبركاته
اشرقت الأنوار استاذي الكريم / حسن هادي محمود
انا اعمل علي نسخة 8.2.0.0 mikroC version



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