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

   

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 453
نشاط [ ennng ]
قوة السمعة:
قديم 19-03-2013, 01:13 PM المشاركة 25   
افتراضي



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

تفضل اخي رفعت الديزايين والاكواد منفصلة ياليت اذا فيها مشكلة ترد علي.

https://www.4shared.com/file/zeO-o6l...requency.html?

https://www.4shared.com/file/Jrj2xYz...requency.html?

https://www.4shared.com/file/-M1LyTL...equency_.html?

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 19-03-2013, 07:21 PM المشاركة 26   
افتراضي


الله يبارك بيك يا اخي و يبعد عنك كل مكروه .. جزاك الله الف خير ...

الكود الذي ارسلته كله عباره عن تعليقات ( كل الكود باللون الاخضر )
عموما لكي لا نطيل اكثر من ذلك فالموضوع بسيط و لا يستحق كل هذا العناء ...
اجري التغييرات التالية فقط :

كود:
int x=0; char y[8];
الى
كود:
Float x=0.00; Float y[12];
كود:
IntToStr(x,y);
الى
كود:
 FloatToStr(x,y);

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

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 453
نشاط [ ennng ]
قوة السمعة:
قديم 19-03-2013, 09:27 PM المشاركة 27   
افتراضي


من جد ماقصرت اخي حيدر

غريبة انه بيطلع كله تعليقات

طريقتك ممتازة اخي لكن المشكلة ان الكود لايوجد به float من الاساس ولما اضع float يعطي خطأ اين نضع float لما اضعة مع freq يعطي error في الميكروسي

تفضل اخي الكود حذفت كل الكومند

كود:
sbit LCD_RS at RC4_bit;
sbit LCD_EN at RC5_bit;
sbit LCD_D4 at RC0_bit;
sbit LCD_D5 at RC1_bit;
sbit LCD_D6 at RC2_bit;
sbit LCD_D7 at RC3_bit;
sbit LCD_RS_Direction at TRISC4_bit;
sbit LCD_EN_Direction at TRISC5_bit;
sbit LCD_D4_Direction at TRISC0_bit;
sbit LCD_D5_Direction at TRISC1_bit;
sbit LCD_D6_Direction at TRISC2_bit;
sbit LCD_D7_Direction at TRISC3_bit;


char message1[] = "F=      Hz";
char *freq = "00";

void Display_Freq(unsigned int freq2write) {

 freq[0] =  (freq2write/10)%10 + 48;
 freq[1] =   freq2write%10     + 48;

 Lcd_Out(1, 5, (freq));

}
void main() {

 CMCON0 = 0x07;
 ANSEL = 0x00;
 TRISC = 0x00;
 TRISA = 0b00001100;
 OPTION_REG = 0b00101000;
 Lcd_Init();
 Lcd_Cmd(_LCD_CLEAR);
 Lcd_Cmd(_LCD_CURSOR_OFF);
 Lcd_Out(1,1,(message1));
 do {

  TMR0=0;
  Delay_ms(1000);
  Display_Freq(TMR0);
 } while(1);
}


ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 453
نشاط [ ennng ]
قوة السمعة:
قديم 21-03-2013, 10:20 PM المشاركة 28   
افتراضي


هل وجدت حل اخي حيدر للكود باخراج floating جزاك الله خير


ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 453
نشاط [ ennng ]
قوة السمعة:
قديم 23-03-2013, 06:02 PM المشاركة 29   
افتراضي


اخي حيدر بارك الله فيك بالنسبة للكود بتاعك تبع float
يقرأ بدقة واحد بعد الفاصلة طيب ممكن نخلية يقرأ بدقة 2 او 3 بعد الفاصلة يعني على سبيل المثال اذا اعطينا الاشارة 10.34 هيرتز راح يقرأ بنفس الدقة اي يقرأ 10.34 هيرتز اما الكود بتاعك بيقرأ بدقة واحد بعد الفاصلة اي يقرأ 10.3 فقط واحيانا 10.29999
وجزاك الله خير


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 24-03-2013, 01:28 AM المشاركة 30   
افتراضي


بنفس هذه الطريقة لا يمكن لان هذا الكود هو اساسا يحتاج الى 10 ثوان لكي تظهر النتيجة ...
و لو اردنا اضافة مرتبة ثانية سنحتاج الى 100 ثانية لاظهار النتيجة و طبعا هذا غير عملي ..
مشكلتي في هذه الفترة انني مريض و لا استطيع التفكير في هكذا امور ...
اعطني فرصة كم يوم لنحاول بوضع كود جديد ان شاء الله ...
دعواتك بالشفاء ....


ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 453
نشاط [ ennng ]
قوة السمعة:
قديم 24-03-2013, 01:39 AM المشاركة 31   
افتراضي


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


ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 453
نشاط [ ennng ]
قوة السمعة:
قديم 24-03-2013, 10:30 PM المشاركة 32   
افتراضي


عندي سؤاليين واتحملني يااستاذ حيدر:

1- لماذا جعلنا فترة القراءة بعشر ثواني حتى نتأكد من التردد او ماذا.
2- انت ذكرت اننا تحتاج 100 ثانية للحصول على دقة رقمين بعد الفاصلة وهذا ليس عملي وانا فهمت اذا احتجنا دقة ثلاث خانات لابد ان يكون زمن التوقف 1000 ثانية هل هذا صحيح ؟ لماذا
3-ياليت اذا كان هناك طريقة للحصول على دقة خانتين او ثلاثة بزمن اقل.

الله ييسر امرك وامرنا وامر الاحبة جميعا



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