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

   

الصورة الرمزية reomy
reomy
:: مهندس ::
تاريخ التسجيل: Apr 2013
المشاركات: 26
نشاط [ reomy ]
قوة السمعة:
قديم 13-04-2013, 10:24 PM المشاركة 49   
افتراضي



CMCON=0x07;


if (PORTA.f0==0){
for(x=0;x<5;x++){portb.f2=0;delay_us(600);portb.f2 =1;delay_us(600);}
delay_ms(250);}

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

اعلانات

الصورة الرمزية reomy
reomy
:: مهندس ::
تاريخ التسجيل: Apr 2013
المشاركات: 26
نشاط [ reomy ]
قوة السمعة:
قديم 29-08-2013, 09:41 PM المشاركة 50   
افتراضي


سلام عليكم
انا جمعت المكونات..بس باقي لي المبرمجة ..ما ادري شو افضل مبرمجه ل البيك pic16f628a وطريقة تنزيل الكود على البيك هل هو من الميكرو سي مباشره او سوف احتاج برنامج آخر

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

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


السلام عليكم
ارجوا المساعده في هذا موضوع على هذا الرابط
http://www.qariya.com/vb/showthread....787#post837787


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


السلام عليكم
كيف تعمل دائره الاستقبال وكذلك دائره الارسال لاني ربطهما ولم تعمل دائره بشكل الصحيح
http://www.ultest.com/index.php?rout...oduct_id=15378

http://www.ultest.com/index.php?rout...oduct_id=15379


عبدالله نعمان
:: مهندس متواجد ::
تاريخ التسجيل: May 2006
المشاركات: 173
نشاط [ عبدالله نعمان ]
قوة السمعة:
قديم 09-02-2014, 08:17 PM المشاركة 53   
افتراضي


موضوع ممتاز جدا جدا


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


السلام عليكم
كيف تعمل دائره الاستقبال وكذلك دائره الارسال لاني ربطهما ولم تعمل دائره بشكل الصحيح
http://www.ultest.com/index.php?rout...oduct_id=15378

http://www.ultest.com/index.php?rout...oduct_id=15379
السلام عليكم
البرنامج عمل بنجاح وسبب الرئيسي
قمت بالتعديل بالكود وهي توجد ملاحظه مهمه لم أهتم لها لانه حسب مشروع لازم استلم نبضه البدء هنا لازم أختبر هل يوجد error اذا كان نعم فيوجد عداد يجمع عدد error فأذا وصل عداد error مثلا الى 20 هنا اعمل تزامن من جديد
وهذه ملاحظه من ملف مساعده موجود في مايكروسي وخاصه بالكود مانشيستركود
Note : In case of multiple persistent errors on reception, the user should call this routine once again or Man_Synchro routine to enable synchronization.
ملاحظه توجد ملاحظه مهمه اخرى
Important :
The Manchester receive routines are blocking calls (Man_Receive_Init and Man_Synchro). This means that MCU will wait until the task has been performed (e.g. byte is received, synchronization achieved, etc).
Manchester code library implements time-based activities, so interrupts need to be disabled when using it.

وعندما عملت هذه خطوه ظهرت البيانات على الشاشه
كود:
كود:
while (1) {
temp = Man_Receive(&error);               // Attempt byte receive
if (temp == 0x0B)                         // "Start" byte, see Transmitter example
{
Lcd_Cmd(_LCD_FIRST_ROW);                    // Move cursor to the 1st row
break;                  // We got the starting sequence
}
if (error) {                   // If error occured
ErrorCount++;              // Update error counter
if (ErrorCount > 20) {  // In case of multiple errors
temp = Man_Synchro();               // Try to synchronize again
Man_Receive_Init(); // Alternative, try to Initialize Receiver again
ErrorCount = 0;  // Reset error counter
 }
}
}
اذن كود الارسال
كود:
// Manchester module connections
sbit  MANTXPIN at RB0_bit;
sbit MANTXPIN_Direction at TRISB0_bit;
// End Manchester module connections

char index, character;
char s1[] = "mikroElektronika";

void main() 
{

  CMCON  = 7;                      // Configure AN pins as digital I/O

  Man_Send_Init();                 // Initialize transmitter

  while (1) {                      // Endless loop
             Man_Send(0x0B);                // Send "start" byte
             Delay_ms(100);                 // Wait for a while

             character = s1[0];             // Take first char from string
             index = 0;                     // Initialize index variable
             while (character) {            // String ends with zero
                                Man_Send(character);         // Send character
                                Delay_ms(90);                // Wait for a while
                                index++;                     // Increment index variable
                                character = s1[index];       // Take next char from string
                               }
             Man_Send(0x0E);                // Send "end" byte
             Delay_ms(1000);
          }
}
اذن كود الارستقبال
كود:
// LCD module connections
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections


// Manchester module connections
sbit MANRXPIN at RC7_bit;
sbit MANRXPIN_Direction at TRISC7_bit;
// End Manchester module connections

char error, ErrorCount, temp;

void main() 
{
  ErrorCount = 0;
  ANSELA  = 0;                                     // Configure AN pins as digital I/O
  ANSELB  = 0;
  ANSELC  = 0;
  ANSELD  = 0;
  C1ON_bit = 0;                                   // Disable comparators
  C2ON_bit = 0;
  TRISC.F5 = 0;
  Lcd_Init();                                     // Initialize LCD
  Lcd_Cmd(_LCD_CLEAR);                            // Clear LCD display

  Man_Receive_Init();                             // Initialize Receiver

  while (1) {                                     // Endless loop

              while (1) {
                         temp = Man_Receive(&error);               // Attempt byte receive
                         if (temp == 0x0B)                         // "Start" byte, see Transmitter example
                                        {
                                         Lcd_Cmd(_LCD_FIRST_ROW);                    // Move cursor to the 1st row
                                          break;                  // We got the starting sequence
                                         }
                         if (error) {                   // If error occured
                                        ErrorCount++;              // Update error counter
                                        if (ErrorCount > 20) {  // In case of multiple errors
                                                               temp = Man_Synchro();               // Try to synchronize again
                                                                Man_Receive_Init(); // Alternative, try to Initialize Receiver again
                                                                ErrorCount = 0;  // Reset error counter
                                                              }
                                     }
                                         
                        }

             while (temp != 0x0E)  // If "End" byte was received exit do loop
                                  {
                                    temp = Man_Receive(&error); // Attempt byte receive
                                    if (error) {                   // If error occured
                                                ErrorCount++;              // Update error counter
                                                if (ErrorCount > 20) {  // In case of multiple errors
                                                                       temp = Man_Synchro();               // Try to synchronize again
                                                                       Man_Receive_Init(); // Alternative, try to Initialize Receiver again
                                                                       ErrorCount = 0;  // Reset error counter
                                                                     }
                                                }
                                    else {    // No error occured
                                          if (temp != 0x0E)  // If "End" byte was received(see Transmitter example)
                                          Lcd_Chr_CP(temp);   //   do not write received byte on LCD
                                         }
                                    Delay_ms(25);
                                  }

             }
}


م. عبدالله
:: مهندس ::
تاريخ التسجيل: Mar 2014
المشاركات: 13
نشاط [ م. عبدالله ]
قوة السمعة:
قديم 07-03-2014, 04:14 PM المشاركة 55   
افتراضي


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


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


السلام عليكم اخي الكريم بعد ما حملت الملف اللذي يحتوي على الاكواد والمحاكاة لقيت فيه ملفات كثيرة وبصيغ مختلفه وما قدرت افتح الا ملف الميكرو سي ممكن تفيدني او اي من الاعضاء الكرام عنده فكره ؟
السلام عليكم
اخي كريم بالطبع ملف الذي ينفتح معاك هو ملف مايكروسي والبقيه هي ملفات تابعه للملف مايكروسي .
وملف مايكروسي هو ملف يتم فيه التعديل او أضافه
تحياتي



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