فایلکو

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

فایلکو

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

دانلودمقاله پروژه شماره گیر (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

راه اندازی و نمایش عکس بر روی LCD گرافیکی با AVR

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

در این قسمت از آموزش ها به نحوه راه اندازی ال سی گرافیکی با درایور معروف ks0108 خواهیم پرداخت.
این ال سی دی دارای رزولوشن 128×64 می باشد که در هر ردیف 128 پیکسل و در ستون 64 پیکسل را شامل می شود که تک رنگ بوده و پیکسل ها تنها از حالت روشن و خاموش پشتیبانی می کنند این نمایشگر ها گزینه خوبی برای نمایش اطلاعات پروژه و ورودی خروجی های آن است و می توان در صنعت نیز این نمایشگر را به وفور یافت.

اول از همه با پایه های این ال سی دی آشنا بشیم.
1

پیکربندی LCD:
برای پیکر بندی برنامه باید دستورات زیر در ابتدای برنامه نوشته شوند.

Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 3 , Ce2 = 4 , Cd = 0 , Rd = 1 , Reset = 6 , Enable = 2

Config Graphlcd = 128 * 64sed : در این قسمت سایز LCD تعیین میشود.
Dataport : مشخص کننده پایه هایی که از میکرو به دیتای LCD متصل میشوند.
Ce : این پایه مخصوص چیپ چپ LCD میباشد.
Ce2 : این پایه مخصوص چیپ راست LCD میباشد.
Cd : این پایه در LCD ها با D/I مشخص شده و CD به معنی CODE/DATA میباشد.
Rd : این پایه در LCD با R/W مشخص میشود.
Enable : این پایه عملکردش مانند پایه E در LCD های کاراکتری میباشد.

بعد از پیکربندی LCD باید فونت و کتابخانه لازم برای LCD را معرفی کنیم.

برای معرفی فونت به آدرس زیر بروید.
C:\Program Files\MCS Electronics\BASCOM-AVR\SAMPLES
فایل FONT8X8.FONT را در محل ذخیره برنامه کپی نمایید.
این دستور را در بالای برنامه خود بنویسید.
“include “font8x8.font$

حالا باید کتابخانه LCD را فراخوانی کنید.
این دستور را در بالای برنامه خود بنویسید.
“lib “glcdKS108.LBX$

خوب بعد از اینکه این مراحل را انجام دادید نوبت به برنامه نویسی میرسد

نکته: اگر کتابخانه فونت و LCD را فراخوانی نکنید برنامه اجرا نخواهد شد.

برای نمایش تصویر بر روی LCD دو راه وجود دارد:
1.نمایش فایل BGF بر روی LCD
2.نمایش کد عکس مورد نظر

روش اول:
این روش با خود کامپلیر قابل اجراست فقط کافیست مراحل زیر را اجرا نمایید.
ابتدا عکس را با EDITOR به اندازه LCD تبدیل نمایید.
سپس عکس را با پسوند BMP ذخیره نمایید.
وارد نرم افزار بسکام شوید.
از منو TOOLS گزینه Graphic Converter را انتخاب نمایید.
در صفحه ظاهر شده در قسمت LCD TYPE باید اندازه LCD را تعیین نمایید.
در قسمت FONT باید اندازه فونت را تعیین نمایید.(باید 8*8 را انتخاب نمایید)
چون LCD ما از نوع SED میباشد باید گزینه SED را فعال نماییم.
برای وارد کردن عکس از گزینه LOAD استفاده نمایید.
برای تنظیم کردن عکس بر روی گزینه SAVE کلیک نمایید.

خوب حالا باید برای نمایش عکس از دستور زیر استفاده نماییم.
Showpic x , y , lable
در این دستور X و Y محل قرار گیری عکس و LABLE اسم عکس میباشد.

در نهایت بنده برای شما عزیزان برنامه ای را برای یادگیری بهتر قرار میدهم.


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


راه اندازی و نمایش عکس بر روی LCD گرافیکی با AVR

اموزش ساخت فرکانس متر توسط avr و lcd کاراکتری ساده

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

فرکانس متر به کمک تایمر و کانتر Timer/Counter داخلی

در این بخش  اقدام به طراحی و انتشار پروژه ای کاربردی و حرفه ای با عنوان, ساخت فرکانس متر به کمک تایمر و کانتر Timer/Counter داخلی, برای شما علاقه مندان به پروژه های میکروکنترلر AVR کرده ایم. در این پروژه با استفاده از میکروکنترلر AVR مقدار فرکانس ورودی را اندازه گیری می کنیم و سپس مقدار آن را بر روی ال سی دی کاراکتری نمایش می دهیم.

شاید در نگاه اول اندازه گیری فرکانس با میکروکنترلر AVR کار سخت و پیچیده ای به نظر برسد، اما با کمی توجه به تعریف فرکانس (تعداد دقعات یک رویداد تناوبی در واحد زمان) می توانیم نتیجه بگیریم برای اندازه گیری فرکانس تنها کافی است که تعداد تناوب های یک سیکل را در واحد زمان (ثانیه) توسط میکروکنترلر AVR اندازه گیری کینم. به طور ساده و مفید می توان گفت ما باید برنامه ای بنویسیم که در آن میکروکنترلر AVR تعداد پالس های یک سیکل را طی مدت زمان یک ثانیه شمارش کند، حال عدد شمارش شده همان مقدار فرکانس اندازه گیری شده در واحد Hz می باشد. در ادامه این پروژه بیشتر در باره اندازه گیری و نحوه محاسبه فرکانس توضیح داده شده است، پس برای مشاهده توضیحات کاملتر و برنامه نوشته شده با ما همراه باشید.


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


اموزش ساخت فرکانس متر توسط avr و lcd کاراکتری ساده

آموزش کامل برنامه نویسی avr به زبان بیسیک

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

آموزش کامل برنامه نویسی avr به زبان بیسیک


آموزش کامل برنامه نویسی avr به زبان بیسیک

با عرض سلام

این آموزش به صورت کامل میکروکنترلر AVR را به زبان بیسک آموزش می دهد

ابتدا خود نرم افزار بسکام را آموزش می دهد.

در قسمت مقدماتی آموزش می دهد

معرفی میکرو و دستورات اولیه بیسیک

متغیرهای عددی و رشته ای

کار با پورت ها

دستورات تاخیری

دستورات حلقه و پرش

توابع و زیر برنامه ها

وقفه ها

پیکربندی lcd کاراکتری و گرافیکی

 

و در قسمت پیشرفته آموزش می دهد:

تایمر کانتر 3-2-1

مبدل آنالوگ به دیجیتال ADC

مقایسه کننده آنالوگ

پیکر بندی  کیبورد و کی پد و RTC

ارتباط سریال I2C و SPI

پورت سریال UART

راه اندازی سروموتورها

 

 و ده ها مثال برای آموزش بهتر


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


آموزش کامل برنامه نویسی avr به زبان بیسیک

دانلود پروژه کنترل دور موتور های DC با AVR ( قابل ویرایش / فایل Word)

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

دانلود پروژه کنترل دور موتور های DC با AVR ( قابل ویرایش / فایل Word)


دانلود پروژه کنترل دور موتور های DC با AVR       ( قابل ویرایش / فایل Word)

امروزه در صنعت و در بسیاری از وسایل خانگی کنترل دور موتور مورد استفاده میگردد. از جمله می توان به کاربردهای کنترل گرهای دور موتور، به موارد زیر اشاره کرد:

1) وسایل خانگی: کنترل گرهای دور موتور در وسایل شخصی خانگی، در کاربردهای کوچک و بزرگ مورد استفاده قرار می گیرند. به عنوان مثال، پنکه های دیواری یا پنکه تهویه حمام که توسط کلیدی کنترل می شوند.

2) در وسایل اداری و درمانی: در این دسته دستگاه های بسیاری را می توان مثال زد. مداد تراش های برقی در ادارات، دستگاه هایفکس، کامپیوترها یا دستگاه های کپی و … سیستم کاری این کنترل گرها بسیار پیچیده بوده و حتی در مورد وسایل درمانی پیچیده تر نیز می شود. مثلاً کنترل دور موتور داخل هاردیسک کامپیوتر را در نظر بگیرید.

3) در کاربردهای تجاری: ساختمان های تجاری دارای سیستم تهویه بزرگتر و مجهزتری نسبت به موارد مشابه در منازل شخصی دارند. همچنین می توان در این دسته موتورها برای آسانسورها، پله های برقی و موارد مشابه را نام برد.

4) کاربردهای صنعتی: بسیاری از صنایع وابسته به موتورها و کنترل دور موتور آن ها می باشند. موتورهای کوچک DC تا موتورهای بزرگ صنعتی، یا موتورهای استفاده شده در خطوط مترو همچنین در صنعت ممکن است یک کنترل گر عمل کنترل بیش از یک موتور را به طور همزمان برعهده داشته باشد.

5) در وسایل نقلیه: تمام وسایل نقلیه از جمله، خودروها، هواپیماها،دستگاه آلات کشاورزی، همه و همه ممکن است دارای موتور برای انجام کارهای گوناگونی باشند.

6) ابزار قدرت:  وسایل قدرتی همانند دریل ها، اره ها، چرخ سمباده ها که توسط کاربر خانگی استفاده می شوند. تمام وسایل قدرتی قابل حمل یا ثابت دارای معمولاً همراه با کنترل گرهای سرعت این موتورها نیز می باشند.

فهرست :

مقدمه

بررسی IC های درایو موتور DC

درایور L298

کنترل سرعت در موتورهای DC

تولید پالس PWM از طریق میکروکنترلر

تولید PWM از طریق تایمر صفر

انواع کنترلر گرها

کنترل گرهای Servo

کنترل گرهای STEP

نمایش بر روی LCD

نحوه اتصال LCD به میکروکنترلر

نحوه پروگرم کردن میکروکنترلر


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


دانلود پروژه کنترل دور موتور های DC با AVR ( قابل ویرایش / فایل Word)