معرفی کتاب آموزش جامع و کاربردی نرمافزار CodeVision
مقدمه خداوند متعال را سپاس میگویم که توفیق آنرا پیدا کردم تا مجموعهای را که ملاحظه خواهید فرمود آماده نمایم . قبل از هر سخنی این زحمت و تلاش را به کسانی تقدیم میکنم که همیشه در راه تعلیم و تعلم دشواریها را به جان میخرند و از تحمل آن خشنود میباشند . در پیوست3 کتاب آموزش ساده وعملی میکروکنترلرهای AVR در ارتباط با نرم افزار کدویژن ( Codevision ) چند صفحهای جهت آشنائی با این نرم افزار ارائه شده بود . در همان موقع هم اعتقاد داشتم که در رابطه با این نرم افزار و قابلیتهای آن باید بیشتر مطلب نوشت و نوشتن صرفا چند صفحه نمیتواند قابلیتهای این نرمافزار را روشن سازد . در آن کتاب مجال بیشتر برای پرداختن به موضوع نبود و تصمیم گرفتم در فرصتی دیگر به این کار بپردازم . اکنون خوشحالم از اینکه این فرصت فراهم شد و البته با تاخیر زیاد , چون علاقمند بودم بلافاصله بعد از انتشار آن کتاب بتوانم در حداقل زمان ممکن کتاب مربوط به کدویژن ( Codevision ) را آماده کنم. بخشی از تاخیر نیز مربوط به مشکلات چاپ و انتشار بود . این کتاب شرحی است کامل بر نرمافزار کدویژن (Codevision) . برنامههای مربوط به میکروکنترلرهای AVR به زبان C در محیط این نرمافزار نوشته شده و سپس کامپایل(Compile) میگردد . علاوه بر Library ،C در نرم افزار Codevision برای کاربردهای زیر نیز Library هائی پیشبینی شده است. - LCD (برای نوشتن حروف و اعداد)- I2C bus (Philips)- سنسور درجه حرارت LM75 - DS1302,DS1307 Real Time Clock- PCF8563,PCF8583 Real Time Clock- سنسور درجه حرارت DS18S20 و DS1820- DS1621 - DS2430,DS2433 EEPROMS- ارتباط سریال SPI- مدیریت تغذیه- تأخیر- تبدیل Gray – Code در این نرم افزار هم چنین پیشبینی شده که با Codewizard AVR بهصورت سریع برنامه ریزی موارد زیر انجام پذیرد. - Setup ، دسترسی به حافظهی خارجی- Setup ، تشخیص منبع Reset- آماده سازی PORT و پینهای آن بهعنوان ورودی و یا خروجی- آمادهسازی وقفههای خارجی- آمادهسازی تایمرها ( شمارشگرها )- آمادهسازی تایمر Wachdog- آمادهسازی ارتباط سریال UART- آمادهسازی مقایسهگر آنالوگ- آمادهسازی مبدل آنالوگ به دیجیتال- آمادهسازی ارتباط سریال SPI- آمادهسازی ، I2C bus ، LM75 (سنسور حرارتی) ترمومتر و ترموستات DS1621 و ساعتهای DS1307, DS1302, PCF8583, PCF8563- آماده سازی bus تک سیمه برای DS18S20 و DS1820- آماده سازی مدول LCD در این کتاب علاوه بر توضیح کامل و شرح قابلیتهای فوق برای هرکدام از آنها مثالی تهیه شده و کاربرد این قابلیتها نشان داده شده است . تمامی مثالها , مثالهائی هستند که بدون اشکال اجرا میشوند و توصیه میشود کسانی که قصد آموزش این نرم افزار را بهصورت ریشهای دارند تمامی این مثالها را مطالعه و اجرا کنند . در CD ضمیمه کتاب , کلیه فایلهای سورس ( فایلهای .C ) و نیز نرمافزارکدویژن ( Codevision ) با Version 2.04 که موضوع این کتاب است و نیز برخی نرم افزارهای دیگر را میتوانید ملاحظه کنید . توجه داشته باشید در CD ضمیمه تعداد 81 مثال که همان مثالهای کتاب به ترتیب میباشند در پوشهای با نام mesalhaye codvision قرار گرفتهاند . در خاتمه سخن لازم میدانم از کلیه کسانی که در این راه مرا یاری کردند از جمله مسئولین و کارکنان انتشارات فدک که زحمت چاپ و انتشار کتاب را بر عهده داشتند تشکر کنم . بدون شک مجموعه تدوین شده خالی از اشکال نخواهد بود . کلیه اساتید و عزیزانی که زحمت مطالعه کتاب را بر خود هموار میکنند , بنده حقیر را رهین منت خود خواهند فرمود اگر اشکالات کتاب را به اینجانب متذکر شوند . در خاتمه توفیق همه عزیزان و پویندگان دانش و بینش را از خدای بزرگ خواستارم . حمید شبستری
فهرست مطالب فصل اول محیط نرم افزار Codevision 1 1.1 ساختن یک فایل جدید 3 2.1 بازکردن یک فایل موجود 3 3.1 ساختن یک پروژه ی جدید 4 4.1 بازکردن یک پروژه 5 5.1 تنظیمات مربوط به یک پروژه 5 6.1 تهیه برنامه قابل اجرا 12 فصل دوم مروری بر Compiler زبان C نرم افزار Codvision 23 1.2 بررسی برخی از دستورات زبان C 25 25 2.2 نوع داده ها 40 3.2 ثابت ها 41 4.2 متغیرها 42 5.2 ذخیره کردن متغیر عمومی در SRAM 44 6.2 متغیر نوع bit 45 7.2 ذخیره کردن متغیر عمومی در رجیسترها 45 8.2 ساختمان ها 47 9.2 یونیون ها 52 10.2 داده و متغیر شماره گذاری 55 11.2 فایل مربوط به حافظه ی متغیرهای عمومی 56 12.2 تعیین نوع داده 56 13.2 تبدیل نوع داده ها به یکدیگر 57 14.2 اپراتورها 57 15.2 توابع 58 16.2 اشاره گرها 59 17.2 دسترسی به ریجسترهای ورودی و خروجی 62 18.2 دسترسی به بیت های رجیسترهای ورودی و خروجی 62 19.2 دسترسی به EEROM 20.2 نحوه ی استفاده از وقفه ها 65 21.2 ساختار فضای حافظه SRAM 66 22.2 استفاده از فایل startup خارجی 67 23.2 ضمیمه کردن دستورات اسمبلی در برنامه 68 24.2 فراخوانی توابع اسمبلی از C 69 25.2 ایجاد کتابخانه 70 26.2 استفاده از نرم افزار اشکال 72 27.2 محدودیت ها 74 فصل سوم توابع کتابخانه ای مرجع(Libraty Functions Reference) 1.3 توابع نوع کاراکتری 77 2.3 توابع استاندارد ورودی خروجی 81 3.3 توابع استاندارد کتابخانه ای 92 4.3 توابع ریاضی 95 5.3 توابع مربوط به رشته ها 105 6.3 توابع تبدیل BCD 131 7.3 توابع تبدیل کد Gray 132 8.3 توابعی برای دسترسی به حافظه 133 9.3 توابع LCD 134 10.3 توابع LCD برای LCD، 40*4 140 11.3 توابع LCD وقتی که به صورت یک حافه 8 بیت وصل شده باشند 141 12.3 توابع I2C 141 13.3 توابع مربوط به سنسور درجه حرارت 145 14.3 توابع مربوط به ترموستات (ترمومتر) DS1621 147 15.3 توابع مربوط به PCF8563 150 16.3 توابع مربوط به IC، PCF8583 152 17.3 توابع مربوط به DS1307 155 18.3 توابع مربوط به IC، DS1302 158 19.2 توابع مربوط به Wire Protocol 163 20.3 توابع مربوط به سنسور درجه حرارت DS1820/DS18S20 165 21.3 توابع مربوط EEPROM، DS2430 169 22.3 توابع مربوطه به DS2433 EEPROM 170 23.3 توابع SPI 170 24.3 توابع مدیریت توان 173 25.3 توابع تاخیر 176 فصل چهارم مروری بر Compiler زبان C نرم افزار Codevision AVR 177 1.4 معرفی Wizard اتوماتیک نرم افزار Codevision 179 2.4 تنظیمات مربوط به خود قطعه AVR 182 3.4 تنظیمات مربوطه به استفاده از RAM خارجی 187 4.4 تنظیمات مربوط به PORT 190 5.4 تنظیمات مربوط به وقفه های خارجی 192 6.4 تنظیمات مربوط به تایمرها (شمارش گرها) 195 7.4 تنظیمات مربوط به UART و یا USART 217 8.4 تنظیمات مربوط به مقایسه گر آنالوگ 234 9.4 تنظیمات مربوط به مبدل آنالوگ به دیجیتال 240 10.4 تنظیم مربوط به قابلیت ارتباط SPI 247 11.4 تنظیمات مربوط به قابلیت ارتباط سریال 251 12.4 تنظیمات مربوطه به ارتباط I2C 252 1.12.4 تنظیمات مربوطه به IC ، LM75 (سنسور حرارتی) 255 2.12.4 تنظیمات مربوطه به قطعه DS1621 (ترمومتر یا ترموستات) 258 3.12.4 تنظیمات مربوط به قطعه PCF8563(ساعت یا شمارشگر) 260 4.12.4 تنظیمات مربوط به PCF8583( ساعت یا شمارش گر) 261 5.12 تنظیمات مربوط به DC1307(ساعت یا شمارش گر) 264 13.4 تنظیمات مربوط به 1 Wrie Bus (ارتباط تک سیم) 268 14.4 تنظیمات مربوط به ارتباط دوسیم 2wihre 271 15.4 تنظیمات مربوط به کنترلر LCD مربوط به ATMEGA 169 279 16.4 تنظیمات مربوط به کنترل LCD 280 17.4 تنظیمات مربوط به وسایل جانبی 282 فهرست الفبایی 289