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

Word 97 KB 24880 34
مشخص نشده مشخص نشده الکترونیک - برق - مخابرات
قیمت قدیم:۲۴,۰۰۰ تومان
قیمت: ۱۹,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • چکیده: 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 بگیریم آنگاه تعداد پله ها برابر 216=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 از قبل ذخیره شده باشند برنامه نویس به وسیله برنامه زیر شکل موج درخواستی ما را تولید می کند.

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

    البته در این طراحی ملاحظاتی از قبیل مقدار جریان متناسب با R و یا نویز تولید شده توسط R و C در اثر گرما وجود خواهد داشت که در طراحی ما تأثیر گذار خواهد بود.

    میکروکنترلر AVR AT9058515: اجزاء اصلی: در این AVR از معماری RISC استفاده شده است.

    - دارای 118 دستورالعمل قدرتمند است که قابلیت اجرای سریع در یک سیکل ساعت را ارند.

    - 32 رجیستر 8 بیتی برای اهداف عمومی - قابلیت اجرای 8MIPS یعنی 8 میلیون دستورالعمل در ثانیه را دارد * حافظه داده و حافظه برنامه غیر فرار - 8 kbyte حافظه Flash قابل برنامه نویسی داخلی.

    - 512byte حافظه SRAM.

    - 512 byte حافظه EEPROM داخلی قابل برنامه نویسی.

    - قفل برنامه برای امنیت حافظه برنامه Flash و حافظه EEPROM.

    * اجزاء جانبی - یک تایمر / شمارنده 8 بیتی با مقیاس مجزا.

    - یک تایمر / شمارنده 16 بیتی با مقیاس مجزا و مدهای مقایسه، Capture و موج PWM 9-8 و یا 10 بیتی.

    - مقایسه کننده آنالوگ برروی تراشه.

    - تایمر نگهبان قابل برنامه نویسی با نوسان ساز برروی تراشه.

    - UART سریال قابل برنامه نویسی - مدار واسط سریال Master/Slave * اجزاء مخصوص میکروکنترلر.

    - مدهای مخصوص کم مصرف و Power down و idle - منایع وقفه داخلی و خارجی * خصوصیات - ساخته شده با تکنولوژی پردازش CMOS با سرعت بالا و توان کم - عملیات کاملاً ایستا * در ترانشه با نوسان ساز 4MHZ دارای توان مصرفی 3v در دمای 250c می باشد.

    - جریان در حالت فعال 3.0MA است.

    - جریان در حالت idle یا بیکار 1.0MA است.

    - جریان در حالت power down برابر با است.

    * اجزاء I/O و بسته ها.

    - 32 خط ورودی / خروجی یا I/O قابل برنامه ریزی دارد.

    - برای تراشه 40.PDIP پایه و برای ترانشه PLCC و TQFP دارای 44 پایه است.

    * ولتاژ کاری.

    - در AT905815-4 برابر با 2.7 تا 6.0 است.

    - در AT905815-8 برابر با 4.0 تا 6.0 است.

    * توضیح پایه ها: قبل از اینکه در باره پایه های این میکروکنترلر صحبت کنیم بصورت کلی با AT905815 آشنا می شویم.

    این تراشه یک میکروکنترلر 8 بیتی بر پایه معماری RISC ساخته شده از CMOS کم مصرف است.

    بعلت داشتن دستورالعملهای قدرتمند که در یک سیکل ساعت کاری کار می کنند این میکروکنترلر امکان اجرای یک میلیون دستور العمل در هر ثانیه به ازای هر یک مگاهرتز سرعت دارد که به طراح اجازه یم دهد بهینه توان مصرفی را در مقابل بیشترین سرعت پردازش داشته باشد.

    هسته AVR یک مجموعه غنی از دستورالعملها را با 32 رجیستر برای کارهای عمومی ترکیب می کند تمام 32 رجیستر بصورت مستقیم به ALU یا (Arithmatic logic unit) متصل هستند که اجازه می دهد تا دو رجیستر مستقل در یک سیکل ساعت اجرا شوند و توسط یک دستورالعمل تکی قابل دسترسی باشند.

    این وسیله دارای تکنولوژی حافظه غیر فرار می باشد.

    حافظه Flash قابل برنامه ریزی تواشه این امکان را فراهم می سازد تا حافظه برنامه مجدداً برنامه ریزی شود.

    پس بطور کلی AT9058515 ساخت کارخانه Atmel یک میکروکنترلر قدرتمند است که با قابلیت انطاف پذیری بالا و مقرون به صرفه بودن از لحاظ اقتصادی در بسیاری از کاربردهای کنترلی مورد استفاده قرار می گیرد.

    اکنون بصورت مختصر با پایه های این میکروکنترلر آشنا می شویم.

    Vcc: این پایه به منبع تغذیه متصل می شود، ولتاژ کاری IC را تأمین می کند GND: این پایه به زمین متصل می شود.

    (PA7…PA0) Porta: یک پورت 8 بیتی داوطرفع ورودی و خروجی است که دارای مقاومتهای pull-up داخلی است.

    بافرهای خروجی پورت می توانند جریان در حدود 20ma را فراهم کنند و بصورت مستقیم می تواند یک دیود نوری را روشن کند.

    خروجی های پورت A سه حالته هستند.

    پورت A زمانیکه از SRAM خارجی استفاده شود بصورت ورودی / خروجی داده و آدرس مالتی پلکس شده مورد استفاده قرار می گیرد.

    (PB7…PB0) Portb: پورت B یک پورت 8 بیتی با پایه های دو طرفه ووردی و خروجی است که دارای مقاومتهای pull-up داخلی است.

    از این پورت که همانند پایه پورت A می باشد علاوه بر ورودی / خروجی برای موارد خاصی از جمله خروجی پایه PWM و غیره قابل استفاده است.

    (PC7…PC0) Portc: همانند Port A می باشد.

    (PD7…PD0) PortD: همانند PortB می باشد.

    : ورودی reset میکروکنترلر می باشد که اگر برای مدت بیشتر از 50ns در حالت فعال صفر باشد یک reset تولید می شود.

    XTAL1: ورودی معکوس کننده تقویت کننده نوسات ساز و ورودی مدار فرمان ساعت داخلی است.

    XTAL2: خروجی از معکوس کننده تقویت کننده نوسان ساز است.

    ICP: یک پایه ورودی برای تایمر / شمارنده 1 در مد Capture ورودی است.

    OC1B: یک پایه خروجی برای تایمر / شمارنده 1 در تابع مقایسه خروجی است.

    (Address latch Enables): ALE از این پایه زمانی استفاده یم شود که حافظه خارجی فعال باشد.

    معماری AVR: رجیستر فایل با دسترسی در این AVR شامل 32 رجیستر 8 بیتی با عملکرد عمومی و زمان دسترسی یک سیکل ساعت می شود.

    این به آن معناست که در عین یک سیکل تکی یک عملیات ALU اجرا می شود دو عملوند خروجی رجیستر فایل هستند و عملیات اجراء می شود و نتیجه در رجیستر فایل ذخیره خواهد شد.

    شش رجیستر از 32 رجیستر، رجیستر فایل می توانند بعنوان اشاره گرهای غیر مستقیم 16 بیتی مورد استفاده قرار بگیرند برای آدرس دهی فضای داده.

    یکی از سه آدرس اشاره گر فوق اغلب بعنوان اشاره گر بریا مقادیر ثابت LUT مورد استفاده قرار می گیرد.

    این رجیسترها عبارتند از رجیسترهای z-y-x (فایل xyzreg از پوشه Articlepix) ALU روابط و توابع میان رجیسترها یا یک ثابت با یک رجیستر را با هم مرتبط می سازند.

    عملیتهای تک رجیستری در ALU اجرا شود.

    فضای حافظه I/O شامل 64 آدرس برای توابع اجزاء جانبی CPU بعنوان رجیسترهیا کنترلی، تایمرها / شمارنده ها، مبدل های A/D، و دیگر توابع I/O می شود.

    این AVR شامل یک حافظه Flash قابل برنامه ریزی داخلی است که شامل دستورالعملهای فراخوانی و پرش نسبی یم شود که در این زمان فضای آدرس 4k بایستی بصورت مستقیم قابل دسترسی است.

    بیشتر دستورالملهای AVR16 بیتی یا کلمه ای دارند.

    هر آدرس حافظه برنامه شامل یک دستورالعمل 16 بیتی یا 32 بیتی است.

    در هنگام فراخوانی وقفه ها و زیربرنامه ها آدرس بازگشت اشاره گر برنامه در پشته ذخیره می شود.

    اندازه پشته فقط بوسیله اندازه SRAM و استفاده از SRAM مشحص می گردد.

    در تمام برنامه ها باید SP در روالهای reset مقدار دهی شود.

    اشاره گر پشته یک رجیستر 16 بیتی با دسترسی خواندن و نوشتن در فضای I/O می باشد.

    SRAM داده 512 بایتی می تواند بصورت پنج آدرس دهی مختلف قابل دسترسی باشد.

    (فایل Generalreg از پوشه Articlepix) * ساختمان فضای حافظه: این فضا شامل 8kbyte یا 4kword فضای حافظه برنامه (Program memory) که از آدرس $000 تا $FFF می باشد که حافظه Flash و EEPROM داخل این فضا می باشد که این فضا مخصوص ذخیره برنامه است.

    عملاً EEPROM 512 byte که این قابلیت را دارد که هویت آن را می توان بصورت مجزا نوشت یا از آن خواند در شکل زیر چگونگی قرارگیری فضای حافظه را می بینید.

    (فایل memory از پوشه Articlepix) (فایل SRAM از پوشه Articlepix) مدارهای آدرس دهی: مدهای آدرس دهی در این AVR بصورت زیر تقسیم بندی می شوند آدرس دهی مستقیم تک ریجستری آدرس دهی مستقیم دو ریجستری آدرس دهی مستقیم I/O آدرس دهی مستقیم DATA آدرس دهی غیر مستقیم با تغییر مکان آدرس دهی غیر مستقیم آدرس دهی غیر مستقیم با Decrement آدرس دهی غیر مستقیم با increament تولید DTMF توسط AT9058515: آشنایی با تایمر 1: برای اینکه بتوانیم موج DTMF را توسط میکروکنترلر AVR AT9058515 تولید کنیم ابتدا باید با تایمر 1 آشنا شویم لذا ریجسترهای تایمر 1 را به صورت کلی بررسی می کنیم.

    - TIMSK: این رجیستر که تعیین کننده عملکرد تایمر 1 خواهد بود که در صورتیکه ما TOIE1 را Set کنیم (Timer Overflow Intterrupt enable) و I-bit در ثبات وضعیت (SREG) هم Srt باشد آنگاه وقفه تایمر 1 فعال خواهد بود.

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

    بیت 0: بیت رزرو شده است.

    بیت 1 (TOIE 0): فعال کننده مد وقفه تایمر 0 یم باشد.

    بیت 2: بیت رزرو شده است.

    بیت 3 (TICIE1): فعال کننده وقفه مد Capture می باشد.

    بیت 4: بیت رزرو شده است.

    بیت 5: (OCIE 1B) : فعال کننده وقفه مد مقایسه خروجی A می باشد بیت 6: (OCIE 1A) : فعال کننده وقفه مد مقایسه خروجی B می باشد بیت 7: (TOIE 1) : فعال کننده مد وقفه تایمر 1 می باشد (فایل TIMSK از پوشه Articlepix) - TCCRIA: برای تعیین مد کاری تایمر 1 باید این رجیستر با توجه به جداول زیر Set گردد: (فایل TCCRIA از پوشه Articlepix) (فایل PWMMode Table از پوشه Articlepix) (فایل Conpare Mode از پوشه Articlepix) - TCCRIB: برای تعیین سرعت ساعت میکرو با توجه به مدل جدول زیر و شکل و نحوه Set کردن CS10 و CS11 و CS12 از این رجیستر استفاده می شود.

    شکل زیر نشان دهنده نحوه set، مقیاس ساعت است: (فایل CSTable از پوشه Articlepix) - SREG: این رجیستر مشخص کننده وضعیت میکروکنترلر است که در شکل زیر می بینیم.

    (فایل Sreg Detail از پوشه Articlepix) - (Stack Pointer): SP این AVR دارای SP 16 بیتی ساخته شده از دو رجیستر 8 بیتی در فضای I/O می باشد که زمانیکه AVR دارای 64 kbyte SRAM خارجی باشد تمام 16 بیت آن مورد استفاده قرار می گیرد.

    SP به SRAM اشاره می کند که این فضا باید قبل از فراخوانی Subroutine و فعال شدن اینتراپتها تعریف شود.

    SP درابتدا برنامه باید با آدرس $0060 مقداردهی شود.

    (فایل SP از پوشه Articlepix) نرم افزار مربوط به پروژه: در این می بینیم که برای این پروژه از چه الگوریتم و فلوچارتهایی استفاده کرده ایم.

    ابتدا به Main برنامه می پردازیم.

    در این قسمت در آدذرس reset مقادیر اولیه شامل مد PWM و آدرس SP و وقفه تایمر 1 را فعال می کنیم و طبق فلوچارت Main ابتدا صفحه کلید را می خوانیم و با توجه به اینکه صفحه کلید فشرده شده یا نه Xsw محاسبه و از جدول انتخاب می شود.

    (فایل MainAlg از پوشه Articlepix) بعد از Main برنامه به وقفه تایمر 1 می پردازیم در این قسمت که بهترین زمان مقداردهی است با توجه به مقدار XSW مقادیر نمونه های سطز و ستون و نهایتاً نمونه هایی محاسبه می شود و در OCRIA قرار می گیرد.

    (فایل SubAlgl از پوشه Articlepix) در نهایت برنامه را می بینیم: (فایل Code 1 و Code 2 از پوشه Articlepix) * سخت افزار مربوط به برنامه: در طراحی سخت افزار باید به این توجه شود که ابتدا موج PWM را به یم مبدل D/A بدهیم و آنگاه ولتاژ آنالوگ بدست آمده با استفاده از فیلترینگ به موج سینوسی تبدیل کرد و در نهایت آنرا توسط یک تقویت کننده و به خورجی یا بلندگو بدهیم.

    (فایل PWMchart از پوشه Articlepix) (فایل Output از پوشه Articlepix) (فایل Schematic در یک صفحه A4 چاپ شود) فایل DTMGGen.pdf کاملاً چاپ شود و ضمیمه گردد.

    فایل Datashet.pdf کاملاً چاپ وشود و ضمیمه گردد.

    منابع و مآخذ: - سایت اینترنتی www.atmel.com - سایت اینترنتی www.Motorola.com - سایت اینترنتی www.Panasonic.com - کتاب میکروکنترلر 8051 نوشته: مزیدی The Licentiate’s degree Project DTMF Generator By AVR Guide Master: Enginor seyed Hassan Mirhoseini Presentation Ny: Nima Samea Isfahani Afra Hosseini Shohraii Project Code: B-578 Winter 82 Features: Generation of sine wave using P.W.M Combine Different sine waves to DTMF Generator AT & 515 Module Design Use of Look up table Introduction: This application note describes how Duakation Multiple frequencies (DTMF) signalling can be implemented by AVR micrifon for ller with PWM and SPAn Applications such as phones are using DTMF singnals for translitting fialing information.

    There are two frequencies added together to generate a DTMF signal, alow frequency (fly) and a high frequency (fa).

    In document (va) discribe that how the different frequancies are mixed to from DTMI tones.

    NEqu30hMEqu30hTHEqu30hT’HEqu30h....MovN,40hLoop1:CallPwmCjneTH,n,inc-THJmpLoop2Inc-TH:IncTHJmpLoop1Loop2:CallPWMDjnzTH,100P2JmpLoop1....PWM:MovTH’ , THSetbPoutDjnzT’H , $MovA,nSubA,THCLRPoutDjnzA,$MovT’H,THDjnzM, PWMRet

به نام خدا شرکت رهنمون فناوري اطلاعات در سال 1381 با مالکيت خصوصي به شماره ثبت 196417 در تهران با هدف ارايه راهکارهاي جامع اتوماسيون مالي و اداري تاسيس گرديد. اين هدف با پوشش جنبه‌هاي مختلف فناوري اطلاعات شامل بررسي و امکان سنجي پياده

وجود تکنیک هایی جهت پیاده سازی متدولوژی که قابلیت کنترل پیچیدگی های سیستم را داشته باشد نیز مورد دیگری است که از یک متدولوژی توسعه انتظار می رود. RUP این تکنیک ها را در قالبworkflow که برای هر تنظم(discipline ) ارائه میدهد، لحاظ کرده است. هرworkflow شامل یکسری work flow detalie می باشد که در حقیقت یک گروه activity ها و role های انجام دهنده آنها و فرآورده های حاصل از هر activity ...

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

با پیشرفت عمل تکنولوژی و افزایش رقابت مابین مؤسسات و شرکتهای تجاری هر روزه شاهد ارائه خدمات و امکانات بهینه از سوی مؤسسات خدماتی هستیم. در کشورهای پیشرفته و آمریکا بدلیل اینکه بیشتر بخشها توسط بخش خصوصی اداره می شوند جهت جذب مشتریان از امکانات و ابزارهای جدید دخالت ویژه استفاده می نمایند. یکی از مؤسساتی که تقریباً در تمام دنیا با هم در رقابت هستند بانکها می باشند و این مؤسسات ...

در اين مقاله سعي شده است روشهاي سيگنالينگ مورد نياز براي کنترل انتقال مکالمات تلفني تشريح گردد. روشهاي سيگنالينگ به 3 دسته قابل طبقه بندي هستند: نظارت، آدرس‌دهي و آگاه‌سازي. نظارت شامل تشخيص تغييرات در وضعيت مدار مي‌باشد. هنگامي که اين تغييرات تشخيص

زمین والیبال با یک تور با ارتفاع به دو بخش مساوی تقسیم شده است. هر تیم ۶ بازیکن در زمین دارد. اساس بازی از این قرار است که توپی را با زدن ضربه میان دو تیم رد و بدل می‌کنند. هر تیم برای رد کردن توپ به سوی دیگر تور تنها اجازه سه بار ضربه زدن را دارد و به هنگام برخورد توپ به زمین حریف یا در اثر خطای یک تیم، یک امتیاز به تیم مقابل داده می‌شود. تاریخچه ورزش والیبال که نخست مینتونت ...

تعریف شرکت‌ های سرمایه‌ گذار خطر‌پذیر) (VC[1] Fund در کشورهای پیشرفته یکی از روش‌های جذب سرمایه به صنایع در حال رشد، ایجاد نهادهای مالی با مشارکت سرمایه‌گذاران خصوصی است. گروه‌بندی این سرمایه‌گذاران خصوصی از شرکت‌های بیمه، بانک‌ها، صندوق‌های بازنشستگی تا اشخاص حقیقی ادامه دارد. تصویر زیر زمان سرمایه‌گذاری این گونه نهادها را در مراحل رشد شرکت‌ها نشان می‌دهد. عموماً VC ها در مراحل ...

• سيگنال آنالوگ: علامت‌هاي پيوسته Analog Signal علائم صوتي که توسط خطوط تلفن انتقال مي‌يابد. مودم علائم رقمي( ديجيتال) را به علائم پيوسته که براي انتقال در خط تلفن مناسب هستند، تبديل مي‌کند. • اسکي:ASCII مخفف American Standard Code for Information

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

مقدمه : اگر معمولاً تماس هاي تلفن راه دور داريد‌، اين احتمال وجود دارد که تاکنون بدون آنکه بدانيد ، از IP Telephony استفاده کرده باشيد . IP Telephony که در صنعت تحت عنوان (Voice-Over IP) VoIP شناخته مي شود . انتقال تماس هاي تلفني بر روي يک شبک

ثبت سفارش
تعداد
عنوان محصول