درباره ی کتاب
این کتاب شامل موضوعات ضروری زبان C برای برنامه نویسی میکروکنترلرها، کنترل کننده های صنعتی و تراشه های پردازش سیگنال می باشد و می تواند مورد استفاده دانشجویان برق، کامپیوتر و سایر افراد علاقه مند به طراحی سیستم های دیجیتال قرار گیرد.
همچنین CD همراه کتاب شامل نرم افزارهای مورد نیاز، Source تمام برنامه های کتاب و فایل های آموزش تصویری میباشد.
مقدمه ناشر
خطمشی کیفیت انتشارات مؤسسه فرهنگی هنری دیباگران تهران در عرضه کتابهایی است که بتواند
خواستههای به روز جامعه فرهنگی و علمی کشور را تا حد امکان پوشش دهد
حمد و سپاس ایزد منان را که با الطاف بیکران خود این توفیق را به ما ارزانی داشت تا بتوانیم در راه ارتقای دانش عمومی و فرهنگ این مرز و بوم در زمینه چاپ و نشر کتب علمی دانشگاهی, علوم پایه و به ویژه علوم کامپیوتر و انفورماتیک گامهایی هر چند کوچک برداشته و در انجام رسالتی که بر عهده داریم، مؤثر واقع شویم. گستردگی علوم و توسعه روزافزون آن، شرایطی را به وجود آورده که هر روز شاهد تحولات اساسی چشمگیری در سطح جهان هستیم. این گسترش و توسعه نیاز به منابع مختلف از جمله کتاب را به عنوان قدیمیترین و راحتترین راه دستیابی به اطلاعات و اطلاعرسانی، بیش از پیش روشن مینماید. در این راستا، واحد انتشارات مؤسسه فرهنگی هنری دیباگران تهران با همکاری جمعی از اساتید، مؤلفان، مترجمان، متخصصان، پژوهشگران، محققان و نیز پرسنل ورزیده و ماهر در زمینه امور نشر درصدد هستند تا با تلاشهای مستمر خود برای رفع کمبودها و نیازهای موجود، منابعی پربار، معتبر و با کیفیت مناسب در اختیار علاقهمندان قرار دهند.
کتابی که در دست دارید با همت "جناب آقای رضا سپاسیار" و تلاش جمعی از همکاران انتشارات میسر گشته که شایسته است از یکایک این گرامیان تشکر و قدردانی کنیم.
ویرایش و صفحهآرایی کامپیوتری: مهسا کوراولی و معصومه گنجیپور
ویراستاری: فاطمه پورعبدل
طرح جلد: مینا دیدهبان
ناظران چاپ: حیدر شفیعی و کریم براغ
در خاتمه ضمن سپاسگزاری از شما دانشپژوه گرامی درخواست مینماید با مراجعه به آدرس dibagaran.mft.info (ارتباط با مشتری) فرم نظرسنجی را برای کتابی که در دست دارید تکمیل و ارسال نموده، انتشارات دیباگران تهران را که جلب رضایت و وفاداری مشتریان را هدف خود میداند، یاری فرمایید.
امیدواریم همواره بهتر از گذشته خدمات و محصولات خود را تقدیم حضورتان نماییم.
مدیر انتشارات
مؤسسه فرهنگی هنری دیباگران تهران
publishing@mftmail.com
مقدمه مؤلف
سالها قبل به دلیل محدود بودن امکانات نرمافزاری و سخت افزاری، برنامهنویسی قطعات الکترونیکی (مانند میکروپروسسور، میکروکنترلر و DSP) تنها به زبان اسمبلی امکانپذیر بود؛ با گذشت زمان، کارایی کامپایلرها، سرعت تراشه ها و مقدار حافظه این قطعات افزایش یافت و استفاده از زبانهای سطح بالا در برنامهنویسی تراشهها به امری معمول تبدیل شد.
یکی از زبانهای پرکاربرد در برنامهنویسی قطعات الکترونیکی، C است که هم سادگی و خوانایی زبانهای سطح بالا را دارد و هم انعطاف و قدرت زبان اسمبلی؛ بنابراین یادگیری این زبان یکی از موارد ضروری برای هر دانشجو یا فارغالتحصیل رشته برق یا سختافزار است. یکی از مشکلاتی که همواره دانشجویان و علاقهمندان برق و الکترونیک با آن مواجه هستند، گستردگی این زبان و فقدان منابع مناسب برای این دسته از افراد است. علت این است که مخاطب عمده کتابهای C موجود در بازار، دانشجویان رشته نرمافزار و برنامه نویسان PC هستند. حجم و قیمت بالای این کتابها و عدم ضرورت بخش عمدهای از آنها برای دانشجویان الکترونیک، اغلب موجب بروز مشکل شده و چنانچه پشتکار و زمان کافی وجود نداشته باشد ممکن است باعث مأیوس شدن دانشجو از یادگیری این زبان شود.
با هدف حل مشکلات فوق سعی شده است که این کتاب یک آموزش سریع، ساده و ارزان برای یادگیری زبان C باشد و خواننده در کوتاهترین زمان و با صرف کمترین هزینه موارد ضروری برای برنامهنویسی قطعات الکترونیکی به زبان C را بیاموزد.
اگرچه برای آزمایش و شبیه سازی برنامه های کتاب از کامپایلر IAR EWAVR استفاده شده است اما لازم است توجه شود که هدف این کتاب یادگیری میکروکنترلر یا کامپایلر خاصی نیست و خواننده میتواند برای مطالعه در این موارد از منابع دیگر استفاده کند . از آنجایی که EWAVR یک کامپایلر استاندارد C است، برنامه و ساختارهای معرفی شده در این کتاب را میتوانید در کامپایلرهای دیگر (نظیر CodeVisionAVR، CCS، Keil، MPLAB و...) نیز استفاده کنید.
یکی از ویژگیهای مفید EWAVR، محیط شبیهساز و اشکالزدای قدرتمند آن است که امکان بسیار ارزشمندی برای یادگیری و آزمایش عملکرد برنامه است. در بخش 13-2 روش اشکالزدایی برنامه در محیط EWAVR توضیح داده شده است و به خواننده پیشنهاد میشود برای یادگیری بیشتر تمام مثالها و تمرینهای کتاب را در این محیط آزمایش کند. نکته مهمی که در مورد این کتاب لازم است مدنظر قرار گیرد عدم استفاده از خروجی استاندارد با استفاده از توابع مشابه printf است. از آنجایی که در میکروکنترلرها برخلاف PC، مانیتور و صفحهکلید، ورودی و خروجی استاندارد نیستند به جای این توابع از sprinft استفاده شده است که میتوانید جزئیات متن ارسال شده روی رشته را در پنجره Watch از محیط شبیهساز EWAVR مشاهده کنید.
مطالب و مثالهای این کتاب حاصل تدریس چندین سال دوره Embedded C (برنامهنویسی ویژه میکروکنترلرها) در مجتمع فنی تهران بوده و تا حد امکان از صحت آنها اطمینان وجود دارد با این حال مؤلف نظرات انتقادی و پیشنهادی خوانندگان را پذیرا بوده و از آنها در بهبود کیفت ویرایشهای بعدی کتاب استفاده خواهد کرد. در پایان لازم میدانم از سرکار خانم مهندس محبعلی کارشناس محترم دپارتمان برق و الکترونیک مجمتع فنی تهران (شعبه غرب) که زحمت بازخوانی و ویرایش فنی کتاب را به عهده گرفتند کمال تشکر را داشته باشم.
رضا سپاس یار
sepasyar@gmail.com
فهرست مطالب
مقدمه ناشر 5
مقدمه مؤلف 6
فصل اول: سیستمهای Embedded
1-1 سیستمهای Embedded 11
2-1 نمونهای از یک سیستم Embedded 12
3-1 تفاوت نرمافزار و ثابتافزار 13
4-1 اجزای برنامه 14
فصل دوم: انواع داده
1-2 مقدمه 17
2-2 کاراکتر 17
3-2 عدد صحیح 18
4-2 عدد اعشاری 19
5-2 اشارهگر 20
6-2 آرایه 23
7-2 رشته 24
8-2 Structure 27
9-2 پیشوندهای 0x و 0 29
10-2 پیشوند const 29
11-2 ثوابت خاص 30
12-2 Type Cast 30
13-2 کامپایلر Embedded Workbench 31
14-2 مثالهای حل شده 37
15-2 تمرین 47
فصل سوم: الگوریتم
1-3 مقدمه 49
2-3 عملگرها 49
3-3 ساختار شرطی if 53
4-3 ساختار انتخاب switch 56
5-3 حلقه while 61
6-3 حلقه for 63
7-3 الگوی کلی برنامه میکروکنترلرها 64
8-3 مثالهای حل شده 65
9-3 تمرین 84
فصل چهارم: تابع
1-4 مقدمه 85
2-4 مفهوم تابع 85
3-4 اجزای تابع 86
4-4 فراخوانی تابع با مقدار 88
5-4 فراخوانی تابع با ارجاع 91
6-4 دستور #define 94
7-4 اشارهگر به تابع 95
8-4 مثالهای حل شده 98
9-4 تمرین 108
فصل پنجم: برنامه نویسی ماژولار
1-5 برنامه نویسی به روش ماژولار 109
2-5 اجزای ماژول 110
3-5 طراحی یک ماژول نمونه 110
4-5 تمرین 124
پیوست 125
فهرست منابع 127