لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل: Word (قابل ویرایش و آماده پرینت)
تعداد صفحه :48
بخشی از متن مقاله
اصول برنامهنویسی اسمبلی
CPU تراشه enCorRe دستور پشتیبانی میکند. همه برنامهها باید از این 37 دستور استفاده کنند. سیپرس یک مترجم مجانی ارائه میدهد که کدهای اسمبلی را که شما مینویسید به فایلهای موضوع، که به منظور برنامهریزی در EPROM تراشه تهیه میشوند، تبدیل میکند. اگر ترجیح دهید که در C برنامهنویسی کنید، سیپریس یک مفسر C نیز پیشنهاد میکند.
اگر با برنامهنویسی اسمبلی میکروکنترلر آشنایی داشته باشید، برنامهنویسی برای enCoRo نیز مشابه همان است. اما اگر با برنامهنویسی در بیسیک و C آشنا هستید، باید بدانید که در برنامهنویسی کدهای اسمبلی بسیاری از عملگرهای زبانهای سطح بالا موجود نیست در اینجا دیگر حلقههای While یا for یا انواع مختلف متغیرها وجود ندارد. اما برای تراشهای مانند enCoRo که به منظور کارهای نمایشی و کنترلی غیر پیچیده طراحی شده است، استفاده از کدهای اسمبلی عملی است. برای برنامههای کوتاه، که به سرعت اجرا میشوند احتیاجی به خرید مفسر نیست.
برنامهنویسی اسمبلی شامل یک مجموعه از دستورات است که هر کدام مربوط به کدهای ماشینی هستند که تراشه از آنها پشتیبانی میکند. مثلاً دستور iord، که محل io را میخواند به کد h29 مربوط است. به جای به خاطر آوردن h 29، شما میتوانید iord را بنویسید، و مترجم معادل سازی را برای شما انجام خواهد داد. دستور iord همچنین احتیاج به یک عملوند دارد که محل خواندن را مشخص کند. به عنوان مثال 01h iord پورتی با آدرس h 10 را میخواند.
زبان برنامهنویسی اسمبلی همچنین میتواند شامل دایرکتیو[1] و توضیحات باشد. دایرکتیوها دستوراتی هستند که به جای اینکه مربوط به CPU باشند، مربوط به مترجم میباشند. دایرکتیوها شما را قادر میسازند که محلی از حافظه را مشخص کنید، متغیرهایی تعریف نمایید. در کل، نقشی که مترجم در کنار اجرای دستورات مشخص شده باید ایفا کند را نشان میدهند. یک نقطه ویرگول ( : )یا ممیز دوبل ( // ) یک عبارت توصیفی را مشخص میکنند که مترجم از آنها چشمپوشی میکند.
مترجمی که توسط سیپرس ارائه میشود، cyasm.exe قابل اجرا در پنجره داس[2] میباشد. سیپرس مرجعها و راهنمای استفاده برای کاربرانی را تهیه کرده است که چگونگی استفاده از مترجم را شرح میدهد.
مترجم از دو مجموعه دستور مشابه برای CPUهای سری A و سریB پشتیبانی میکند. تراشههای enCoRo از سری B هستند. تراشههای قدیمیتر سیپرس، مانند 63001، از سری A بودند و از همة دستورات بجز بعضی از آنها پشتیبانی میکنند.
کدهای مترجم
راهنمای کاربران دارای توضیحات کاملی در مورد کد اسمبلی و دایرکتیوهاست و در اینجا برخی از جزئیات آن تکرار میشود. جدول 1-8 خلاصهای از کدها میباشد و جدول 2-8 خلاصهای از دایرکتیوها را نشان میدهد. کدهای ماشین تراشه به 37 دستور ترجمه شده است.
برنامهنویسی در C
روش دیگر برای نوشتن کد برای این تراشههای سیپرس استفاده از مفسر C و محیط ارتقاء آن است.
مزیتهای C
در مقایسه با برنامهنویسی با زبان اسمبلی، استفاده از C چندین مزیت دارد.
- استاندارد بودن ـ اگر تجربهای در برنامهنویسی C داشته باشید، با عبارتهای آن آشنایید و میتوانید با سرعت بیشتری آغاز کنید. همچنین ممکن است بتوانید از کدهای C که برای تراشههای دیگر نوشته شدهاند با تغییرات جزئی استفاده کنید.
- دستورات بیشترـ به جای استفاده از پرشهای ساده، کدهای شما میتوانند از دستوراتی همچون if…else و case یا for و while … do استفاده کنند.
- اپراتورهای بیشترـ این مفسر از اپراتورهای ریاضی بیشتری پشتیبانی میکند و شما میتوانید از جمع، تفریق، ضرب، تقسیم و مقایسههای گوناگون استفاده کنید.
- کتابخانهها و مثالها ـ کتابخانه ها میتوانند با استفاده از توابع معمولی مقدار زیادی در زمان، صرفهجویی کنند. کتابخانههایی برای برنامة تراشه مدارهای واسط، میکرووایر، و UART، زمانهای تأخیر، واسط صفحه کلید و LCD و توابع ریاضی وجود دارد. این مثالها شامل کدهای کامل برای صفحه کلید و ماوس میباشند.
- بهینهسازی ـ مفسر بهینهسازیای به منظور کدها برای فشردگی و سرعت داراست.
اما مشکل آنجاست که باید این مفسر را خریداری نمایید، در حالی که مترجم مجانی میباشد.
معماری تراشه
این تراشه ارزان قیمت با طراحی آسان است و به منظور استفاده در ابزارهایی که قصد انتقال بلاکهای کوچک داده با سرعت متوسط، ساخته شده است و کاربردهای آن در وسایل جانبی استاندارد از قبیل ماوس یا دستگاههای نقطهیابی دیگر و واحدهای
data-acquisition میباشد.
به عنوان مثال، واحدهای data-acquisition ممکن است نتایج خوانده شده از یک حسگر را به صورت متناوب به کامپیوتر بفرستد. پایههای I/O تراشه کنترلی میتواند به یک تبدیل کننده آنالوگ به دیجیتال که مقادیر خوانده شده از حسگر را به اعداد دیجیتالی تبدیل میکند و صل گردد. کامپیوتر میزبان نیز میتواند از اتصال USB برای درخواست آخرین دادههای خوانده شده استفاده کند یا ممکن است کامپیوتر سیگنالهایی را به رلهها، موتورها یا دستگاههای دیگری که پایههای کنترلی I/O تراشه به آن متصل هستند ارسال کند.
به جای تکرار مسائل موجود در کاتالوگ، به مطالب مهمی که قبل از کار با تراشه باید مورد نظر قرار گیرد توجه کنیم. نکات مشکل و گیج کننده کاتالوگ نیز مورد بحث قرار میگیرد.
خصوصیات و محدودیتها
یکی از دلایل انتخاب تراشه 63743، ارزان قیمت بودن آن است. قیمت این تراشه حدود چند دلار در سفارشهای محدود میباشد.
تراشه دارای 8 کیلوبایت حافظه برنامه است. با یک بهینهسازی، کدهایی که برای پشتبانی از ارتباطات USB لازم است، میتوانند در یک کیلوبایت جای گیرند و به این ترتیب 7 کیلوبایت باقیمانده میتوانند برای کاربردهای دیگر استفاده شوند.
یک ابزار ضروری برای ارتقای این تراشه کیت ارتقا میباشد که شامل بر ارتقا، مترجم و برنامههای اشکال زدایی است. همچنین ممکن است احتیاج به برنامهریز Lo PROM –Hi CY3649 نیز داشته باشید که همه این ابزارها توسط سیپرس در دسترس قرار گرفته است.
63743 برای همه پروژهها مناسب نیست. این تراشه دارای سرعت پایین است که به معنای آن است که شما نمیتوانید به منظور انتقالهای همزمان و تودهای از آن استفاده کنید. و سریعترین زمان تأخیر ممکن دارای انتقال وقفهای، 8 بایت در هر 10 میلیثانیه میباشد. برخلاف بعضی از کنترلرهای اولیه، 63743 از انتقال وقفهای خروجی پشتیبانی میکند.
درون تراشه
CPU این تراشه یک RISC هشت بیتی است که میتواند به حافظه برنامه، RAM، پورتهای I/O همه کاره و البته پورت USB دسترسی داشته باشد. پورت USB در حقیقت یک پورت سوئیچ خودکار است که هر دو واسط USB و PS/2 را برای ماوس و دیگر دستگاه های نقطهیابی ممکن میسازد. این ویژگی به منظور طراحی دستگاههایی که قابل تطبیق با هر دو باس باشند قرار گرفته است. وقفهها و ریستهای مختلفی میتوانند به CPU وقفه بدهند.
حافظه
حافظه داخلی تراشه 63743، شامل هشت کیلوبایت ( از h 0000 تا FFFh 1) از نوع OTP PROM برای ذخیره برنامه و 256 بایت RAM ( از h00 تا FFh) برای ذخیره دادههای موقتی میباشد. 34 بایت رجیستر I/O، هر کدام با وظیفهای تعریف شده، نیز در این تراشه وجود دارد.
سازماندهی حافظه برنامه تراشه، شبیه به میکروکنترلرهای دیگر است. اجرای برنامه از آدرسh 00 آغاز میشود. آدرسهای h00 و h 01 حاوی آدرسی هستند که کد اصلی برنامه از آنجا شروع میگردد.
آدرسهای h02 تا h17 حاوی اشارهگرهای وقفهای هستند که وقتی یک از یازده وقفه تراشه اتفاق میافتد، آدرسی را که میکروکنترلر باید به آنجا پرش کند مشخص مینمایند. در اینجا مثالی از جدول اشارهگرهای برنامة تراشه آمده است.
متن کامل را می توانید بعد از پرداخت آنلاین ، آنی دانلود نمائید، چون فقط تکه هایی از متن به صورت نمونه در این صفحه درج شده است.
دانلود فایل
دانلود مقاله درباره اصول برنامه نویسی اسمبلی