فی ژوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فی ژوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

دانلودپروژه شماره گیر بوسیلة AVR

اختصاصی از فی ژوو دانلودپروژه شماره گیر بوسیلة AVR دانلود با لینک مستقیم و پر سرعت .

دانلودپروژه شماره گیر بوسیلة AVR


دانلودپروژه شماره گیر  بوسیلة AVR

در این پروژه ما به بررسی چگونگی عملکرد DTMF Generator می پردازیم و خواهیم دید که سیگنال DTMF چیست و چگونه می توان آنرا تولید کرد برای این منظور روشی را باختصار توضیح می دهیم که با نحوه ساخت یک سیگنال DTMF بطور کامل آشنا شویم.

بعد از اینکه در مورد DTMF صحبت کردیم با میکروکنترلری که در این پروژه مورد استفاده قرار گرفته اشنا می شویم. میکروکنترلر AVR با سریال AT9058515 ساخت شرکت Atmel می باشد که ابتدا با قابلیتها و اجزاء آشنا می شویم و بعد از آن خواهیم دید چگونه می توان برای تولید موج DTMF به ما کمک کند.

شامل 33 صفحه فایل word قابل ویرایش


دانلود با لینک مستقیم


دانلودپروژه شماره گیر بوسیلة AVR

سورس پروژه آزمون گیر C#

اختصاصی از فی ژوو سورس پروژه آزمون گیر C# دانلود با لینک مستقیم و پر سرعت .

سورس پروژه آزمون گیر C#


سورس پروژه آزمون گیر C#

در این پست پروژه آزمون گیر با زبان سی شارپ C# همراه سورس کد را برای شما کاربران عزیز آماده کرده ایم.

امکانات این پروژه شامل موارد زیر است:

مدیریت درس ها:

  • قسمت ثبت درس که می توانید درس های مورد نظر خود را از این قسمت در سیستم ثبت کنید شامل کد درس و نام درس میباشد.
  • قسمت ویرایش درس که برای اصلاح مشخصات درس ثبت شده مورد استفاده قرار می گیرد شامل جستجو براساس کد درس و نام درس است.
  • قسمت حذف درس با استفاده از کد درس.
  • قسمت نمایش لیست درس ها.

مدیریت دانشجویان:

  • قسمت ثبت دانشجو شامل: نام ، نام خانوادگی ، شماره دانشجویی ، کد استاندارد و رشته.
  • قسمت ویرایش اطلاعات دانشجو: براساس جستجوی شماره دانشجویی و غیره.
  • قسمت حذف داشجو: براساس شماره دانشجویی. پنجره نمایش لیست دانشجویان.

مدیریت سوالات:

  • قسمت ثبت سوال شامل: کد سوال ، عنوان سوال ، انتخاب درس مربوط به سوال.
  • قسمت ویرایش سوال ، قسمت حذف سوال براساس شماره سوال و پنجره نمایش لیست سوالات.
  • اختصاص آزمون.
  • مشاهده کارنامه.

پنل دانشجو شامل:

  • آزمون میدهم ، نمایش کارنامه این دانشجو ، بازگشت به صقحه قبل و خروج از برنامه. ...

دانلود با لینک مستقیم


سورس پروژه آزمون گیر C#

دانلود پروژه شماره گیر (DTMF) TONE بوسیله AVR

اختصاصی از فی ژوو دانلود پروژه شماره گیر (DTMF) TONE بوسیله AVR دانلود با لینک مستقیم و پر سرعت .

دانلود پروژه شماره گیر (DTMF) TONE بوسیله AVR


دانلود پروژه شماره گیر (DTMF) TONE بوسیله AVR

DTMF یا  Dual Tone Multiple Frequecies روشی است برای تولید سیگنالهای Tone به منظور استفاده در سیستمهای تلفن، مودم، کارتهای صوتی و غیره. این روش با توجه به استاندارهای مشخصی که دارد این امکان و قابلیت را به ما می دهد تا سیگنال Tone مورد نظر را توسط میکروکنترلرها و یا AVR طراحی و پیاده سازی کنیم.

شامل 33 صفحه فایل word قابل ویرایش

 


دانلود با لینک مستقیم


دانلود پروژه شماره گیر (DTMF) TONE بوسیله AVR

دانلود پروژه مدار شماره گیر تلفن با avr و بسکام

اختصاصی از فی ژوو دانلود پروژه مدار شماره گیر تلفن با avr و بسکام دانلود با لینک مستقیم و پر سرعت .

دانلود پروژه مدار شماره گیر تلفن با avr و بسکام


دانلود پروژه مدار شماره گیر تلفن با avr و بسکام

 

دانلود پروژه مدار شماره گیر تلفن با avr و بسکام

 

 

 

همانطوریکه می دانید در سیستمهای تلفن قدیم برای شماره گیری از پالس استفاده می شد و به برای گرفتن هر رقم میبایستی به تعداد آن رقم دو سر خط را اتصال کوتاه کرده و قطع کنیم. به طور مثال برای گرفتن شماره 9 مجبور بودیم که 9 بار سیم های تلفن را قطع و وصل کنیم به عبارت دیگر 9 پالس متوالی سریال به خط بدهیم. ولی در سیستم های تلفن جدید برای شماره گیری از تن دی تی ام اف DTMF به جای پالس استفاده می شود و هر به هر رقم یک تن صوتی خاص اختصاص داده شده است که استاندارد بین المللی می باشد و در تمام دنیا مورد توافق و استفاده قرار گرفته است. (در تلفن های استاندارد 16 کلید وجود دارد که معمولاً 12 کلید استفاده می شود؛ 10 کلید برای ارقام و 2 کلید * و # ) با فشار هر کلید تن های مربوط به سطر و ستون آن کلید با هم پخش می شوند.

توضیحات پروژه:

هسته اصلی این پروژه استفاده از تابع DTMFOUT موجود در میکروی AVR به شماره ATMEGA8 می باشد که می تواند با استفاده از تایمر شماره یک تن صوتی مورد نظر را تولید کند (برای اطلاعات بیشتر در مورد چگونگی عملکرد این دستور به پست "شماره گیری تلفن با میکروکنترلر AVR" در پایین همین صفحه مراجعه فرمایید). در قسمت ارتباط با کاربر از صفحه کلید 24 رقمی استفاده شده تا از حداکثر کلید های مجاز بتوان برای حافظه استفاده کرد. البته می توان از کی پد های 16 رقمی استاندارد نیز برای این پروژه استفاده کرد ولی در این صورت می بایستی در خط 5 برنامه Config Kbd = Portd , Rows = 6 , Row5 = Pinb.2 , Row6 = Pinb.3 قسمت های اضافه پاک کنید تا به صورت Config Kbd = Portd در بیاید و نیز در خط 22 برنامه If Key > 23 Then Goto Memory_key عدد 23 را به 16 تغییر دهید چرا که تابع کی پد های 24 کلیدی در صورت فشار ندادن کلید ها عدد 24 را بر می گرداند و تابع کلید های 16 کلیدی در صورت فشار ندادن کلید ها عدد 17 را بر می گرداند که بایستی توجه شود. بخش دیگر برنامه استفاده از تایمر 0 برای چشمکزدن LED قرمز می باشد. همانطوریکه ملاحظه می فرمایید از تایمر 0 به عنوان زمانسنج استفاده کرده ایم و مقدار پرسکالر آن را روی حد اکثر ممکن یعنی 1024 قرار داده ایم تا فرکانس اسیلاتور میکرو را به کمترین مقدار ممکن تبدیل کند و به عبارتی بیشترین تاخیر زمانی را تولید نماید. استفاده از این تایمر اختیاری بوده و تاثیری در عملکرد کلی مدار ندارد فقط سبب چشمک زدن LED قرمز می شود که نشان دهنده آماده به کار بودن سیستم است. طرز کار آن نیز بدین صورت می باشد که تایمر پس از سر ریز شدن به برچسب Blink_led پرش می کند و مقدار Time_led را که بر حسب بایت می باشد یک واحد افزایش می دهد. این کار در هر ثانیه ده ها بار اتفاق می افتد. سپس مقدار Time_led مورد بررسی قرار می گیرد. در صورتی که این مقدار از 50 بزرگتر شد مساوی با صفر می گردد. تا اینجا موفق شدیم که با استفاده از تایمر صفر یک مقدار عددی را از 0 تا 50 به طور متوالی افزایش دهیم. در شرط بعدی برای بار دوم مقدار Time_led بررسی می شود. در صورتی که این مقدار در بازه بین 0 تا 2 قرار داشت دیود LED قرمز روشن می شود و در غیر این صورت (در بازه بین 3 تا 50 ) LED خاموش می شود. با توجه به این که زمان تغییر عدد از 0 تا 50 حدود ۴ ثانیه طول می کشد، تقریباً یک پنجاهم این زمان LED روشن بوده و در بقیه زمان خاموش می باشد و در نهایت یک لامپ چشکمزن خواهیم داشت که آماده به کار بودن مدار را نشان می دهد. اما بخش اصلی برنامه پردازش در حلقه در یافت از کی پد می باشد که در خطوط 20 تا 29 قرار دارد. با فشار هر یک از کلید های روی کی پد عدد متناظر با آن در متغیر Key از نوع بایت قرار گرفته سپس رله و چراغ سبز روشن می شوند و دستور Number = Lookupstr(key , Memory اجرا می گردد. در این دستور شماره تلفن متناظر با کلید فشار داده شده از جدول Memory استخراج شده و در متغیر رشته ای Number قرار می گیرد. این متغیر یک متغیر موقتی می باشد که طول آن را متناسب با بزگترین شماره تلفن موجود در جدول انتخاب کنید. (توجه کنید که منظور از بزرگترین، یعنی طولانی ترین شماره) در خط بعد شماره مورد نظر توسط دستور DTMFOUT شماره گیری می شود و منظور از عدد 50 در جلوی آن اینست که هر یک از ارقام شماره تلفن به مدت 50 میلی ثانیه تولید می شوند و در واقع گرفتن یک شماره تلفن 10 رقمی حدود نیم الی یک ثانیه طول می کشد که کمترین سرعت ممکن برای مخابرات ایران است. ( مقادیر کمتر از 50 را نیز امتحان کردم ولی توسط سیستم های مخابرات آشکار نمی گردد!) پس از این دستور رله و چراغ سبز بلافاصله خاموش می شوند و چوک کوپل را از خط تلفن آزاد می کنند.( این چوک معروف به چوک آبی رادیو می باشد که می توانید از تمام مغازه های تعمیرات رادیو و یا الکترونیکی ها تهیه فرمایید و برای جدا کردن خط تلفن از مدار شماره گیر به کار می رود). توجه کنید هنگامی که قصد شماره گیری دارید می بایستی حتماً گوشی تلفن را برداشته باشید تا خط آزاد بماند چه در غیر این صورت هیچ شماره ای گرفته نمی شود و قبل از پردازش تن توسط مخابرات، خط توسط میکرو قطع می گردد. بخش حافظه دستگاه در قسمت آخر برنامه قرار گرفته و شامل 24 قسمت می باشد. (در صورتی که از کی پد 16 کلیدی استفاده کنید باید تعداد آن را به 16 کاهش دهید). در این قسمت تعداد خطها اهمیتی ندارد و می توان هر 24 رقم را در یک خط DATA پشت سر هم نوشت ولی به خاطر تطبیق شماره ها با کلید های کی پد به صورت 6 خط 4 تایی نوشته شده است. شایان ذکر است که هر یک از ارقام نوشته شده یک بایت از حافظه کدی میکرو ROM را اشغال می کنند و اگر هر شماره تلفن را 10 رقم فرض کنیم (10 بایت) حدود 6هزار شماره تلفن را می توان در این میکرو نوشت که با توجه با محدودیت کلید های کی پد کار مشکلی می باشد و نیاز به برنامه نویسی حرفه ای تر و استفاده از LCD دارد ولی در صورتی که تمایل به ساخت چنین چیزی داشتید می توانید با من تماس بگیرید.

طرز کار پروژه:

j1:سوکت تلفن می باشد که باید به خط تلفن وصل شود.

R3: مقاومت ۳۳۰ اهم جهت کاهش دادن مقاومت خط تلفن. با قرار دادن این مقاومت در مدار، خط تلفن اشغال خواهد شد.

RL1: در مسیر چک تلفن و خط تلفن باید یک رله قرار بگیرد ، تا هر زمان که نیاز شد یا وصل کردن رله بتوانیم خط را اشغال کنیم. بعد از فعال شدن رله مقاومت ۳۳۰ اهم در مدار خط تلفن قرار میگیرد و با کاهش مقاومت خط ، به مرکز مقاومت می فهماند که خط اشغال است و آماده شماره گیری میباشد.

TR1: برای اینکه پالس های تن را به خط تلفن اعمال کنیم از یک چوک استفاده شده است. برای این شماتیک از چوک قرمز استفاده کنید. این چک مدار تلفن را از میکروکنترلر ایزوله میکند. و پایه میکروکنترلر با خط تلفن تماس الکتریکی ندارد.

Sounder1: جهت پخش کردن صدای تن میتوان از یک اسپیکر کوچک ۸ اهم ۰٫۵W استفاده کرد.

Sounder2: جهت پخش صدای BIB به منظور صحت فشرده شدن کلیدهای کیپد. برای این کاز از بیزر استفاده شود. توجه: در صورت استفاده عملی از این پروژه حتما از کریستال خارجی استفاده شود. این پروژه با کریستال داخلی قادر به شماره گیری نیست.

توجه: از کریستال ۴MHz تا ۱۰MHz استفاده شود.

قابلیتها:

  • شماره گیری به صورت عددی بعد از وارد کردن شماره
  • شماره گیری از روی موارد ذخیره شده در حافظه
  • قابلیت ذخیره شماره جدید در حافظه
  • همراه با pcb
  • سورس بسکام
  • سورس پروتیوس و شماتیک
  • عدم حذف شماره ها با قطع برق

 


دانلود با لینک مستقیم


دانلود پروژه مدار شماره گیر تلفن با avr و بسکام

دانلودمقاله پروژه شماره گیر (DTMF) TONE بوسیلة AVR

اختصاصی از فی ژوو دانلودمقاله پروژه شماره گیر (DTMF) TONE بوسیلة AVR دانلود با لینک مستقیم و پر سرعت .

 

 


چکیده:
DTMF یا Dual Tone Multiple Frequecies روشی است برای تولید سیگنالهای Tone به منظور استفاده در سیستمهای تلفن، مودم، کارتهای صوتی و غیره. این روش با توجه به استاندارهای مشخصی که دارد این امکان و قابلیت را به ما می دهد تا سیگنال Tone مورد نظر را توسط میکروکنترلرها و یا AVR طراحی و پیاده سازی کنیم.

فهرست مطالب:
• مقدمه
• DTMF و روش تولید آن
- DTMF چیست؟
- روش تولید DTMF
- مدولاسیون پهنای پالس PWM
• میکروکنترلز AVR AT9058515
- اجزاء اصلی
- توضیح پایه ها
- معماری AVR
- ساختمان فضای حافظه
- مدهای آدرس دهی
• تولید DTMF نوسط AT9058515
- آشنایی با تایمر 1
- تعیین مدهای تایمر برای تولید DTMF
• نرم افزار مربوط به پروژه:
- الگوریتم و فلوچارت برنامه
- جزئیات برنامه
• سخت افزار و شماتیک پروژه

 

 

 

مقدمه:
در این پروژه ما به بررسی چگونگی عملکرد DTMF Generator می پردازیم و خواهیم دید که سیگنال DTMF چیست و چگونه می توان آنرا تولید کرد برای این منظور روشی را باختصار توضیح می دهیم که با نحوه ساخت یک سیگنال DTMF بطور کامل آشنا شویم.
بعد از اینکه در مورد DTMF صحبت کردیم با میکروکنترلری که در این پروژه مورد استفاده قرار گرفته اشنا می شویم. میکروکنترلر AVR با سریال AT9058515 ساخت شرکت Atmel می باشد که ابتدا با قابلیتها و اجزاء آشنا می شویم و بعد از آن خواهیم دید چگونه می توان برای تولید موج DTMF به ما کمک کند.
بعد از اینکه با DTMF آشنا شدیم و AT9058515 را مورد بررسی قرار دادیم می خواهیم ببینیم که چگونه می توان با استفاده از AT9058515 سیگنال مورد نظر را تولید کرد. برای این منظور رجیسترها، پایه ها و دیگر اجزایی که در تولید DTMF سهیم هستند را بررسی می کنیم.
در قسمت بعدی نرم افزار مربوط به پروژه را خواهیم دید و الکوریتمها و فلوچارتهای مربوط به برنامه را بررسی می کنیم.
در نهایت و در آخرین بخش سخت افزار و شماتیک پروژه را می بینیم و راجع به آن صحبت خواهیم کرد. البته لازم به ذکر است با توجه به اینکه در این پروژه ما به طراحی و پیاده سازی DTMF توسط AT9058515 پرداختیم و عملاً این مسئله را شبیه سازی کردیم لذا IC هایی که در بازار موجود هستند، موج DTMF را تولید می کنند معرفی می کنیم، ICهایی مانند AT94K یا AT94S یا AT90S4414 و غیره ساخت شرکت Atmel برای همین منظور طراحی و ساخته شده اند و می توان از آنها برای مصارف مربوط به DTMF استفاده کرد.
• DTMF و روش تولید آن:
DTMF چیست؟ (Uual Tone Multiple Freg.)
در این قسمت می خواهیم به شرح DTMF بپردازیم و ببینیم چگونه می توان آنرا توسط یک میکروکنترلر AVR با PWM و SRAM پیاده سازی کرد.
در کاربردهایی مانند تلفن برای انتقال اطلاعات شماره گیری از DTMF استفاده می کنند. عملاً در تولید یک سیگنال DTMF، دو فرکانس متفاوت با هم جمع می شوند و یک سیگنال DTMF صحیح را تولید می کنند. یک فرکانس پائین یا (fb) و یک فرکانس بالا یا (fa) جدول زیر نشان مکی دهد که چگونه دو فرکانس متفاوت با هم ترمیب می شوند و به فرم موج DTMF درمی آیند.
(فایل DTMFTable از پوشه Articlepix)
. شکل جدول DTMFTable.
سطرهای نشان داده شده در جدول فوق ارائه دهنده فرکانسهای پائین (fb) درحالیکه ستونهای جدول ارائه دهنده مقدار فرکانسهای بالا (fa) هستند. بطور مثال، این جدول ماتریسی نشان می دهد که عدد 5 توسط دو فرکانس پائین fb=770Hz و فرکانس بالای fa=1336Hz نشان داده می شود. دو فرکانس fa و fb بوسیله فرمول فوق به یک موج DTMF تبدیل می شوند.
(فایل Formula 182 از پوشه Articlepix)
که البته باید به نکته و شرط بالا در مورد دامنه دو فرکانس توجه داشت.
- روش تولید DTMF:
در این قسمت ابتدا باید یک توضیح کلی از استفاده PNM برای تولید DTMF می دهیم و می بینیم که DWM چطور به ما کمک می کند که یک موج سینوسی تولید کنیم.
تولید موج سینوسی:
با توجه به رابطه میان سطح بالایی ولتاژ و سطح پائینی ولتاژ خروجی پایه PWM می بینیم که ولتاژ میانگین در این پایه چطور تغییر خواهد کرد. همانطوذ که می بینیم اگر در رابطه زیر هر دو سطح ولتاژ ثابت باشند لذا یک سطح ولتاژ ثابت خواهیم داشت. اما اگر x و y را تغییر دهیم با کم و زیاد کردن ط و y مقدار VAV ما تغییر خواهد کرد. پس به این ترتیب می بینیم که یک موج سینوسی در صورتی تولید می شود که میانگین ولتاژ پایه PWM در هر سیکل تغییر کند.
(فایل VAV از پوشه Articlepix)
(فایل VAV Formula از پوشه Articlepix)
رابزه میان سطح بالا و پائین ولتاژ در رابطه فوق سطح ولتاژ سینوسی ما را در زمانهای مخصوص تنظیم می کند با توجه به شکل زیر می بینیم که یک موج سینوسی با پریود T چطور تولید شده است.
(فایل Sinware از پوشه Articlepix)
شکل بالا رابطه میان فرکانس پایه موج سینوسی و میزان نمونه ها را بایان می کند هرچه تعداد نمونه ها (Nc) بیشتر باشد دقت سیگنال خروجی بیشتر خواهد بود. معادله زیر بیانگر رابطه میان فرکانس موج پایه و تعداد نمونه هاست.
(فایل FpwmFormula از پوشه Articlepix)
همانطور که می بینیم فرکانس pwm به دقت وضوح pwm بستگی دارد بطور مثال برای دقت وضوح 8 بیتی بیشترین مقدار تایید براب با OXFF یا همان (255) می باشد. برای اینکه تایمر بالا و پائین می رود این مقدار باید دو برابر باشد با تقسیم فرکانس FCK یز عدد 510 فرکانس موج pwm بدست می اید پس اگر فرض کنیم فرکانس FCK برابر با 8MHZ باشد درنتیجه فرکانس موج PWM برابر 15.6KHZ می باشد. شکل زری مشخص کننده موج سینوسی با 12 نمونه پالس است.
(فایل SinwaveFig از پوشه Articlepix)
با توجه به شکل می بینیم که برای تنظیم مقادیر PWM می توان یا آنرا در هر سیکل محاسبه کرد یا مقادیر آن در یک (LUT) look-up Table ذخیره کرد. اکنون اگر بخواهیم موجی با فرکانس دیگری داشته باشیم می توانیم بجای اینکه همة PWM ها را بطور مرتب و با ترتیب کنار هم قرار دهیم اعدادی از آنها را انتخاب می کنیم مثلاً اگر بخواهیم فرکانس دو برابر شود باید بجای اینکه مقادیر PWM در هر ثانیه را انتخاب کنیم مقادیر آنرا در هر ثانیه یکبار از LUT انتخاب کنیم پس با این وجود اگر بیائیم بجای آنکه در هر ثانیه نمونه را انتخاب کنیم مثلاً هر سه یا چهار یا پنج یا … ثانیه یکبار نمونه ها را از LUT انتخاب فرکانس ما سه یا چهار یا پنج یا … می شود و عملاً می توانیم موجهایی با فرکانسهای مختلف از هرتز تا صفر هرتز داشته باشیم.
(فایل XSW از پوشه Articlepix)
با توجه به شکا فوق می بینیم که عرض هر پالس در هر نمونه یا فاصله و گام بین هر نمونه با XSW مشخص می شود. معادله بالا بیانگر رابطة XSW با تعداد نمونه ها و فرکانس موج سینوسی است. در ادامه رابطه ای را می بینیم برای انتخاب XSW در حر حالت، یعنی مقدار XSW در حالت جدید برابر است با X’LUT یعنی مقدلر ما در جدول به اضافه XSW که در نهایت XLUT را در حالت جدید به ما می دهد.
(فایل XLUT از پوشه Article pix)
نکته قابل توجه برای ما اینست که باید XSW را روند کنیم و این عمل را بوسیلة فرمول زیر انجام میدهیم:
(فایل RXSW از پوشه Article pix)
اکنون با توجه به اینکه در این پرئژه ما با استفاده از NC=128 نمونه موج سینوسی را تولید می کنیم با استفاده n=7 بیت جدولی را با استفاده از فزمول زیر می سازیم.
(فایل Fx از پوشه Article pix)
در نهایت بطور مثال شکل موج حاصل از کلید 8 که تشکیل شده است از هر فرکانس fb=852HZ و فرکانس ستون fa=1336HZ در زیر می بینیم:
(فایل oscope از پوشه Article pix)
• مدولاسیون پهنای پالس (Pulse Width Modulation):PWM
برای ساخت یک شکل موج سینوسی با سطح DC متغیر می توان سطوح مختلف DC را کنار هم قرار داد و شکل موح سینوسی را تقریب بزنیم. اگر تعداد پله ها برای رسیدن به Vomax، n باشد آنگاه تعداد کل در یک پریود 2n خواهد بود که با فرض پهنای پله T0 آنگاه T دوره تناوب برابر است با 2nT0 (T=2nT0 دوره تناوب)
برای ساخت dc متغیر با n سطح می توان T0 را بر n تقسیم کرد و عدد بدست آمده t’0 که همان حداقل زمان قابل تشخیص است را بدست می آوریم. برای داشتن سطح dc متفاوت با توجه به شکل زیر مقدار dc برابر خواهدبود با

بنابراین می توان Vdc با n سطح قابل تشخیص را با PWM تولید کرد مثلاً برای موج 1KHZ پریود برابر خواهد بود که اگر 16 1/n بگیریم آنگاه تعداد پله ها برابر 2 16=32 خواهد بود که عرض هر پله برابر 32 است بنابراین است که میکروکنترلر قادر است در این زمان یک دستورالعمل را انجام دهد.
برای فرکانسهای پائین تر که معنی داشتن T های بالاتر است دو راه وجود دارد که یکی افزایش n یا تعداد پله هاست، دیگری تکرار پالس dc است.یعنی یا قدرت تفکیک را افزایش می دهیم و یا مثل شکل زیر هر پالس dc متغیر را M بار تکرار می کنیم تا شکل مطلوب آید بطور مثال یک شکل موج با M=4 می بینیم.
اما برای مثلاً فرکانس 100HZ با n=16 چطور باید M را انتخاب کرد؟ باید بصورت زیر عمل کرد:
تعداد پله های قابل = عرض هر پله پیاده سازی برابر با 32 است
پریود یعنی با 32 پله که هر پله به 16 قسمت تقسیم شده است.
و طولی برابر با دارد ما باید هر پله را 10 بار تکرار کنیم تا در نهایت پریود کل 10 برابر شود. در اینصورت برای 1HZ باید 1000 بار پاله ای را تکرار کنیم که راه حل معقول تر استفاده از n بزرگتر مثل n=256 با M=4 است.
بدین ترتیب برای فرکانسهای مختلف n و m مناسب را یافته و در یک جدول می ریزیم و در یک EEPROM ذخیره می کنیم و بسته به فرکانس درخواستی n و m مناسب را فرا می خوانیم. در این برنامه فرض بر آن است که n در خانه 40h و n در خانه 4h از قبل ذخیره شده باشند برنامه نویس به وسیلة برنامه زیر شکل موج درخواستی ما را تولید می کند.
N Equ 30h
M Equ 30h
TH Equ 30h
T’H Equ 30h
.
.
.
.
Mov N,40h
Loop1: Call Pwm
Cjne TH,n,inc-TH
Jmp Loop2
Inc-TH: Inc TH
Jmp Loop1
Loop2: Call PWM
Djnz TH,100P2
Jmp Loop1
.
.
.
.
PWM: Mov TH’ , TH
Setb Pout
Djnz T’H , $
Mov A,n
Sub A,TH
CLR Pout
Djnz A,$
Mov T’H,TH
Djnz M, PWM
Ret

 


یکی دیگر از روشهای پیاده سازی PTMF که روش سخت افزاری می باشد استفاده از R و C های مختلف برای تولید فرکانس های سورزنوا در جدول است بدین ترتیب که با داستن پریود و دانستن را بطری T=RC که T پریود موج ما می باشد می توانیم فرکانس مورد نظر را تولید کنیم مثلاً با معلوم بودن مقاومت و پریود ما ظرفیت خازنی که می تواند فرکانس مورد نظر را به ما دهد مشخص خواهد شد. البته در این طراحی ملاحظاتی از قبیل مقدار جریان متناسب با R و یا نویز تولید شده توسط R و C در اثر گرما وجود خواهد داشت که در طراحی ما تأثیر گذار خواهد بود.

 

 

فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

تعداد صفحات این مقاله   27 صفحه

پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید


دانلود با لینک مستقیم


دانلودمقاله پروژه شماره گیر (DTMF) TONE بوسیلة AVR