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

   

yasmor
:: مهندس ::
تاريخ التسجيل: Apr 2007
المشاركات: 14
نشاط [ yasmor ]
قوة السمعة:
قديم 24-02-2011, 06:44 AM المشاركة 25   
افتراضي



شكرا و بارك الله فيك

اعلانات

ابن فرناس
:: مهندس متواجد ::
تاريخ التسجيل: May 2007
الدولة: الجزائر
المشاركات: 83
نشاط [ ابن فرناس ]
قوة السمعة:
قديم 27-02-2011, 01:46 AM المشاركة 26   
افتراضي رد


بسم الله الرحمن الرحيم
و الصلاة و السلام على خير المرسلين
السلام عليكم
المبدأ العام لهذه العملية اختصارا هو التالي : لتشغيل صوت مخزن ما في ذاكرة يجب أن يكون قد تم تحويله إلى هيئة رقمية بمحول تماثلي رقمي ما , ثم يستدعى ليحقن لمحول رقمي تماثلي مناسب ثم بعدها يتم تكبير الصوت و منه نحو المكبر.
و الذي يحول الصوت إلى معطيات رقمية في حالة و جود حاسوب هو الحاسوب في حد ذاته ( القسم الخاص بالصوت منه أي بطاقة الصوت ) و طبعا هناك طرق أخرى و لكن نحن نتحدث هنا على الأسهل لنجربه . و يتم حفظ المعطيات أي البيانات (data) على شكل ملف لاحقته (wav) و هذا الملف الجزء الأول منه تقريبا 50 بايت ( BYTE) الأولى هي موجهات للويندوز (أي لنظام التشغيل ) كي يتعامل مع الملف تعاملا صحيحا و ليتعرف عليه كذلك .أما الباقي من الملف فهي المعطيات الخام المعبرة عن الصوت أو الصورة الرقمية للصوت . و في حالة تحويل من نوع 8 بايت فإن طول هذه المعطيات 8 بايت لكل قيمة جهد الصوت . و هنا ندرك أن ثانية واحدة من التحويل تنتج معطيات رقمية كبيرة تقدر بحوالي 7 كيلو بايت . فهنا لا يوجد ضغط .
إذا تؤخذ هذه المعطيات (7 كيلو بايت مثلا و التي هي تحويل لثانية فقط من الصوت) لتخزن في ذاكرة ما , في حالة الحاسوب تخزن في القرص الصلب , و لكن في حالة متحكم أو معالج نحتاج لذاكرة خارجية مناسبة.
( طبعا لا علاقة للغة البرمجة أبدا بمعطيات التحويل الصوتي.. أبدا !!) .
الآن دور المتحكم أو المعالج (و قد تتم العملية دونهما و تتم فقط بعداد رقمي ) هو قراءة ما في الذاكرة فقط و إخراجه لدوائر التحويل الرقمي التماثلي .
قد يكون هذا المحول محول على التوازي المعروف أي تدخل المعطيات 8 بايت معا و له مخرج وحيد للصوت (في الحقيقة جهد معبر عن الصوت). و هناك طرق أقل جودة و لكنها تعمل للهواة مثل التي اقترحها الموقع الذي أشار إليه الأخ (sheimy) : هذه طريقة تعمل بمبدأ (PWM) أي أن كل جهد يحول إلا مدة (زمن) , لا إلى معطيات رقمية حقيقة أي إلى نبضة يختلف فيه كل مرة زمن العمل و الراحة بدلالة الجهد المراد تحويله (duty cycle) و لكن ترددها ثابت. فما ينتج ذاك البرنامج سلسلة من الحالات الثنائية و التي لا تعبر عن أي رقم بل المهم فيها المدة بين العمل و الراحة. و هذا المبدأ يطبق صناعيا في توليد جهود جيبية بطاقة عالية .
و الله أعلم .

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

الصورة الرمزية facenewlife
facenewlife
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2011
الدولة: المغرب
المشاركات: 77
نشاط [ facenewlife ]
قوة السمعة:
قديم 15-03-2012, 10:16 PM المشاركة 27   
ha سعيا لإكــمال هذا المشروع الرائع.


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

شكرا لكم على مجهودكم و مساعدتكم لنا نحن الطلاب .


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


عندما قمت بتحويل الصوت الى كود مايكروسي ظهرت مجموعة كبيرة من الدوال الفرعية كها على نفس الشاكلة .
كود:
void sound_data1()    org (1 * 256) 
{ 
   asm retlw 0xAA ; 
   asm retlw 0xAA ; 
   asm retlw 0xAB ; 
   asm retlw 0x55 ; 
   asm retlw 0x4A ; 
   asm retlw 0xAA ; 
   asm retlw 0xA5 ; 
   asm retlw 0xBA ; 
   asm retlw 0x95 ; 
   asm retlw 0x52 ; 
   asm retlw 0xAA ; 
   asm retlw 0xDB ; 
   asm retlw 0x55 ; 
   asm retlw 0x29 ; 
   asm retlw 0x46 ; 
   asm retlw 0xDD ; 
   asm retlw 0x55 ;

الآن ما هو ناتج هذه التعليمة asm retlw ؟؟



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