شروع بحثهای تخصصی نرمافزاری در میکروکنترلر، ASCII Code ، اصل ضرب و ...
از این جلسه ما وارد مبحث آموزش مقدماتی زبان C می شویم تا دوستان کمی با مقدمات برنامه نویسی آشنا بشوند. در استفاده از میکروکنترلرها برای ساخت ربات های مقدماتی مثل مسیر یاب و آتش نشان و ... ما نیازی به آموختن برنامه نویسی در حد حرفه ای نداریم و کمی آشنایی با مقدمات برای ما کافیست!!! |  |
به نام خدا
با عرض سلام و آرزوي قبولي طاعات و عبادات شما دوستان خوبم
از اين جلسه ما وارد مبحث آموزش مقدماتي زبان C مي شويم تا دوستان کمي با مقدمات برنامه نويسي آشنا بشوند. در استفاده از ميکروکنترلرها براي ساخت ربات هاي مقدماتي مثل مسير ياب و آتش نشان و ... ما نيازي به آموختن برنامه نويسي در حد حرفه اي نداريم و کمي آشنايي با مقدمات براي ما کافيست!!!
بدون مقدمه بيشتر وارد بحث مي شويم.
همانطور که مي دانيد، کوچک ترين واحد ذخيره سازي اطلاعات در حافظه، Bit است. (جلسه ي شانزدهم در مورد يک Bit توضيح داده شده).
هر 8 بيت را يک Byte مي گويند. در حقيقت يک بايت اطلاعات، 8 تا 0 يا 1 است که در مجمع 256 حالت مختلف را پديد مي اورند.
توضيح بيشتر:
يک بيت، فقط 2 حالت دارد، 0 يا 1. وقتي 2 بيت در کنار هم قرار مي گيرند، هر کدام 2 حالت را پديد مي اورند و در مجموع طبق اصل ضرب، 4 حالت به وجود مي آيد. يعني:
1 و 1
1 و 0
0 و 1
0 و 0
به مثال زير توجه کنيد.

در شکل بالا، براي رفتن از A به B، 3 مسير وجود دارد؛ 5 مسير هم براي رفتن از B به C وجود دارد. طبق اصل ضرب، براي رفتن از A به C مجموعاً 15=5*3 حالت وجود دارد.
در اينجا، در حقيقت تعداد کل حالت ها، برابر است با حاصل ضرب حالت هاي هر بيت (که 2 حالت مي باشد) مي باشد. به عنوان مثال براي محاسبه ي تعداد حالت هاي 3 بيت اطلاعات، داريم: 8=3^2=2*2*2.
طبق همين رابطه، يک بايت، 256=8^2 حالت مختلف مي تواند باشد.
هر 1024 بايت را 1 کيلوبايت مي گويند و هر 1024 کيلو بايت، يک مگابايت است. هر 1024 مگا بايت هم يک گيگابايت و هر 1024 گيگا بايت هم يک ترابايت نام دارد.( 1024=10^2)
حافظه هاي کامپيوترهاي خانگي امروزي، مي تواند تا چند صد گيگابايت هم باشد.
موسسه ي استاندارد آمريکا، استانداردي براي ذخيره سازي اطلاعات معرفي کرد. اين استاندارد 256 کاراکتر (يک کاراکتر عبارتست از يک عدد، رقم يا يک علامت مثل + و -) را کد گذاري کرد و به هر کدام يک عدد 8 رقمي در مبناي 2(يعني يک بايت) نسبت داد. اين کارکترها شامل همه ي حروف الفباي لاتين، اعداد 0 تا 9، علامت هاي مختلف مثل نماد جمع(+) و تفريق(-) و ... هستند.
در حقيقت طبق اين استاندارد، براي ذخيره سازي هر کاراکتر، يک بايت از حافظه به آن اختصاص ميابد. مثلاً براي ذخيره سازي کلمه ي"ALI" به 3 بايت حافظه نياز داريم. جدول کدهاي ASCII را مي تونيد در کتاب هاي برنامه نويسي يا با جستجو در اينترنت به راحتي ببينيد.
انواع زبان هاي برنامه نويسي: |
زبان ماشين:
سطح پايين ترين زبان برنامه نويسي زبان ماشين است. در اين زبان شما بايد به جاي گذاشتن علامت + براي جمع کردن مقدار 2 عدد، بايد از کد 00 استفاده کنيد. اين زبان، زبان قابل فهم براي کامپيوتر است، به همين خاطر به آن زبان ماشين مي گويند. برنامه هاي ما در هر زبان برنامه نويسي ديگري، حتي اسمبلي، بايد توسط کاپايلر مخصوص آن زبان، به زبان قابل فهم براي کامپيوتر يعني زبان ماشين ترجمه شود.
زبان اسمبلي:
اين زبان کمي پيشرفته تر از زبان ماشين است و کارکردن با آن خيلي راحت تر از زبان ماشين است. به عنوان مثال براي جمع کردن 2 مقدار با يکديگر مي توان از دستورADD استفاده کرد. در اين زبان سيستم کد گذاري ASCII هم تعريف شده است و کاربر به عنوان مثال فقط کافيست کلمه ي ALI را تايپ کند، کامپايلر در اينجا کدهاي مربوط به اين کلمه را از جدول استخراج کرده و جايگزين مي کند.
بعد از اين ها نوبت به زبان هاي برنامه نويسي سطح بالا مي رسد. اين زبان ها سعي کرده اند تا حد امکان به زبان گفتار انسان نزديک شوند. زبان C يکي از زبان هاي سطح بالا مي باشد.
يک برنامه، شامل چندين دستور مختلف هستش که ما آنها را پشت سرهم با ترتيب مشخصي مي نويسيم. در زبان C دستورات بايد حتماً داخل توابع باشند. يک تابع عبارتست از چند دستور که در داخل يک آکولاد ({}) نوشته مي شوند و نام مشخصي هم براي ان ها گذاشته مي شود. همچنين توابع مي توانند اطلاعاتي را به عنوان ورودي و خروجي از برنامه دريافت و به آن بازگردانند.
در زبان C وجود تابعي با نام main الزاميست. يعني ما بايد حتماً تابعي با نام main در برنامه ي خود داشته باشيم و اجراي برنامه هم از تابع main شروع مي شود.
در Codevision، بعد از انجام تنظيمات اوليه، خود برنامه براي شما قالبي را آماده مي کند که در آن تنظيمات اوليه ي پورت ها و .... همچنين بعضي تعاريف اوليه مثل تابع main انجام شده است. فقط کافيست شما دستورات خود را در داخل آن فضاي مشخص شده (در داخل تابع main) تايپ کنيد.
در جلسه آينده براي آشنايي با نحوه ي برنامه نويسي در فضاي Codevision بعد از تعريف متغيرها، برنامه ي يک ربات مسير ياب بسيار ساده را با هم خواهيم نوشت.
تا جلسه ي آينده خدا نگه دار
پيروز باشيد
دوست شما، فراز