دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

موضوع: کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)

  1. #1
    یار همراه
    رشته تحصیلی
    مهندسی برق
    نوشته ها
    2,331
    ارسال تشکر
    3,479
    دریافت تشکر: 13,703
    قدرت امتیاز دهی
    17043
    Array
    soham 313's: خواهش

    پیش فرض کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)

    ویرایش توسط soham 313 : 6th September 2013 در ساعت 10:29 AM
    دانلود کلیپ تامل برانگیز
    لطفا این کلیپ را تماشا کنید و به توصیه هایش عمل نمایید

  2. 11 کاربر از پست مفید soham 313 سپاس کرده اند .


  3. #2
    یار همراه
    رشته تحصیلی
    مهندسی برق
    نوشته ها
    2,331
    ارسال تشکر
    3,479
    دریافت تشکر: 13,703
    قدرت امتیاز دهی
    17043
    Array
    soham 313's: خواهش

    پیش فرض پاسخ : کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)

    سلام
    با اولین جلسه ی آموزش رباتیک (برنامه نویسی ) در خدمت تون هستم
    اولین جلسه اختصاص داره به

    _ معرفی آی سی ها
    _ معرفی میکروکنترلرها
    _ معرفی میکروکنترلرهای AVR
    _ آشنایی با کامپایلرهای میکروکنترلر های AVR
    _ دانلود و چگونگی نصب CodeVision AVR


    خب آماده اید ؟
    شروع میکنیم
    جلسه ی اول
    1- سلام چطوری ؟
    2- سلام ممنون تو چطوری؟
    1 - منم خوبم ، بدو که زود شروع کنیم
    2 - چشم حتما ، خب درس رو با یه سوال شروع میکنم ، میدونی آی سی چی هست ؟
    1 - آی سی !؟! ، نه نمیدونم

    2 - حروف اختصاری IC از دو کلمه انگلیسی integrated circuit به معنی مدار مجتمع گرفته شده
    در واقع قبل از اینکه آی سی اختراع بشه مدارهای الکترونیکی از تعداد زیادی قطعه تشکیل می‌شدن
    این مدارها فضای زیادی رو اشغال می‌کردن و توان الکتریکی بالایی هم مصرف می‌کردن
    در نتیجه امکان بوجود اومدن نقص و عیب در مدار افزایش پیدا میکرد و از طرفی سرعت پایینی هم داشتن
    برای رفع این مشکلات اومدن و آی سی رو اختراع کردن

    در واقع آی سی (IC) ، تعداد زیادی عناصر الکتریکی رو که بیشتر اون ها ترانزیستور هستند، تو یه فضای کوچیک درون خودش جا داده و همین پدیده است که باعث شده امروزه دستگاه‌های الکترونیکی کاربرد چشمگیری در همه جا و در همه زمینه‌ها داشته باشن
    اینم یه عکس از آی سی ها




    2-خب حالا با توجه به تعریف آی سی میتونی حدس بزنی میکروکنترلر چی هست؟
    1- خب ، میکروکنترلر یه نوع آی هستش دیگه ، درسته ؟
    2 - درسته ولی به نظرت چرا اسمش هست میکروکنترلر ؟؟؟
    1 -نمیدونم

    2- ببین کلمه میکروکنترلر ، از دو کلمه 1- میکرو 2-کنترلر تشکیل شده

    میدونی که میکرو یه واحد یونانی هست و برابر با 10 به توان منفی 6 متر هست یعنی یک ملیونیوم متر واحده

    کنترلر ، که معنی و مفهومشو میدونی ، یعنی کنترل کننده به تعبیری یعنی "مغز " البته بدون تفکر فقط دستوراتی که به اون داده میشه به نحو احسن انجام میده

    در نتیجه کلمه میکرو به دو منظور استفاده شده منظور اول سرعت عمل میکروکنترلر هست که میتونه تا یک ملیونیوم ثانیه باشه و دستوارتی که به اون میدیم با این سرعت انجام بده

    منظور دوم شاید کوچیکی این قطعه باشه که تا یک ملیونیوم متر کوچیک شده شاید باور کردنی نباشه ولی در یک تراشه ممکنه بیش از یک ملیون تراتزیستور به کار رفته باشه
    این کلمه وقتی اهمیتش کامل تر میشه که با واژه کنترلر عجین بشه تا معنیش کامل بشه

    در واقع میکروکنترلر یک نوع آی سی هست که قابل برنامه ریزی باشه و عملکردش رو بشه از قبل تعیین کرد

    1 – یه سوال ؟
    2 – بفرمایید
    1 میکروکنترلر چطوری کار میکنه ؟

    2 - تا حالا با ماشین حساب کار کردی ، تا حالا به نحوه کار کردنش فکر کردی ؟
    شما اطلاعاتت رو که همون عملیات ریاضی هست به وسیله صفحه کلید به اون میدی بعد ماشین حساب این اطلاعات رو بر مبنای دستوراتی که قبلا به اون داده شده پردازش میکنه و جواب را روی lcd نمایش میده
    در واقع یک میکروکنترلر برنامه ریزی شده به عنوان مغز ماشین حساب این اطلاعات یا داده رو از صفحه کلید میگیره روشون پردازش انجام میده و بعد بر روی lcd نمایش میده

    کار میکروکنترلر دقیقا مشابه این هست میکرو کنترلر بر مبنای یک سری ورودی که به اون داده میشه خروجیش رو تنظیم میکنه که ممکنه خروجیش یک موتور باشه یا یک lcd یا هر چیز دیگری که با الکتریسیته کار بکنه

    البته دقت کن که حالت دیگری هم میتونه باشه که فقط میکروکنترلر بر مبنای برنامه ای که به اون دادیم عمل کنه و خروجیش رو فقط بر اساس برنامه بگیره

    1- یه میکروکنترلر از چی تشکیل شده یا اصلا چطوری ساخته شده که میتونیم بهش برنامه بدیم و عملکردش رو از قبل تعیین کنیم؟

    2 - آفرین سوال خوبی بود ، به این عکس نگاه کن



    1 - ها ، اینا دیگه چی اند؟؟؟

    2-در واقع این عکس که میبینی ساختمان داخلی یه میکروکنترلر هست

    میکروکنترلر ها از بخشهای زیر تشکیل شده اند

    Cpu واحد پردازش
    Alu واحد محاسبات
    I /O ورودی ها و خروجی ها
    Ram حافظه اصلی میکرو
    Rom حافظه ای که برنامه روی آن ذخیره می گردد
    Timer برای کنترل زمان ها
    و . . .

    1- میشه بیشتر توضیح بدی؟

    2 ببین کامپیوتری که الان داری بر روی اون کار انجام میدی دارای یه پردازنده مرکزی هست به نام cpu

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

    میکروکنترلر علاوه بر cpu دارای حافظه هست که ما برنامه ای که بهش میدیم در اون قرارمیگیره
    میکروکنترلرهای امروزی علاوه بر حافظه ، تایمرهایی برای تنظیم زمان کانتر ها برای شمردن کانال های آنالوگ به دیجیتال دارن
    همچنین پورت هایی برای گرفتن و دادن اطلاعات دارن

    البته میکروکنترلر های امروزه امکانات دیگه ایی هم دارن که بعدا مفصلا راجع شون صحبت میکنیم
    همه این امکانات تو یه چیپ قرار گرفتن که تکنولوژی جدید اونو تو یک تراشه به اندازه یک سکه قرار داده !!!

    1 اجازه ؟
    2 بفرمایید
    1 فرق میکرو پروسسور با میکروکنترلر چیه ؟؟؟؟

    فرق میکرو پروسسور با میکروکنترلر اینه که ، میکروپرسسور یه پردازنده است و برای کار با اون باید بهش چیپ های حافظه و چیز های دیگه ای هم اضافه کرد

    این ویژگی میکروپروسسور به درد این میخوره که بر حسب کارمون بتونیم از حافظه مناسب و از تعداد قطعات بیشتری مثل تایمرها و غیره استفاده کنیم ولی مدار خیلی پیچیده میشه و از لحاظ هزینه هم هزینه بیشتر میشه به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشه

    2- مشکلی که نیست؟
    1-نه تقریبا متوجه شدم چی میگی

    2 -خوبه ، میکروکنترلر ها انواع مختلفی دارن

    تمام میکروکنترلرها جزء این 5 قسمت هستنند:

    8051
    Pic
    Avr
    6811
    Z8

    میکروکنترلرهایی که من باهاشون کار میکنم میکروکنترلرهای خانواده ی AVR هست که توسط شرکت اتمل (Atmel)، تهیه شدن

    1 - خب علتش چیه که با AVR کار میکنی؟ ویژگی خاصی دارن ؟

    2- آره ، اول از همه اینه که ، AVR سریعترین میکروکنترلر موجود در بازار هستش

    دوم این که ، AVRاز زبان های برنامه نویسی سطح بالا یا به اصطلاح (HIGH LEVEL LANGUAGE (HLL پشتیبانی میکنه که باعث تولید کدهای بیشتری میشه که باعث میشه کل برنامه نوشته شده ی AVR نسبت به برنامه هایی که برای 8051 و PIC نوشته میشه کوتاهتر بشه

    سوم این که ، امکانات جانبی این میکروکنترلر بسیار مناسب است و باعث میشه که دیگه نیازی به خرید بعضی لوازم جانبی مانند چیپ های آنالوگ به دیجیتال (ADC) , مقایسه گر آنالوگ و... نداشته باشی

    چهارم این که ، AVR از بسیاری از استاندارد های ارتباطی مانند SPI,UART,12C,JTAG پشتیبانی میکنه که باعث میشه به راحتی بتونیم این میکروکنترلر رو به میکروکنترلر دیگه یا و سایل دیگه وصلش کرد و با وسایل دیگه به راحتی ارتباط برقرار میکنه

    پنجم این که ، قیمت این میکروکنترلر هم به نسبت امکانات فراوانی که داره بسیار پایین است

    و ششم این که ، در این میکروکنترلرها، از حافظه‌های کم مصرف و غیر فرار FLASH و EEPROM استفاده می‌شه

    1 - چقدر خوب ،حالا میکروکنترلر AVR نوع های مختلفی نداره ؟

    2- چرا اتفاقا داره ، انواع ریزکنترل‌گرهای AVR به سه دسته اصلی تقسیم می شوند:

    _ سری AT90S یا AVR
    _ سری TINY AVR
    _ سری
    MEGA AVR

    1 - یه سوال ؟ چطوری میتونیم به میکروکنترلر AVR برنامه بدیم
    2 -خیلی راحت باهاش حرف میزنیم
    1- چی باهاش حرف میزنیم !؟!
    2- آره باهاش حرف میزنیم ولی به زبون خودش
    1 -آخه چطوری ؟

    2- ببین زبان های مختلفی برای صحبت کردن با AVR وجود داره که در اصلاح بهش میگن کامپایلر
    مثلا کامپایلر BASCOM ، با زبان BASIC برای برنامه نویسی این نوع از میکروکنترلرها می تونه به کار بره
    یا کامپایلر CodeVision، با زبان C برای برنامه نویسی این نوع از میکروکنترلرها می تونه به کار بره
    البته مهمترین کامپایلری که برای این نوع از میکروکنترلرها استفاده می شه AVR-GCCهست که در واقع یه کامپایلر پرقدرت زبان C است که تحت لیسانس GPL ارائه می شود
    ولی من خودم با CodeVision کار میکنم و قراره CodeVision رو بهت یاد بدم
    پس کاری که الان باید بکنی اینه که بری سایتی که بهت میگم و نرم افزار کدویژن رو دانلود کنی
    اینم آدرس سایت
    http://www.techno-electro.com/21-%D8...VR-2-05-3.html

    1 - خب ، بعد از اینکه دانلودش کردم چطوری نصبش کنم؟

    2- خیلی راحت ، اول برنامه رو دانلود میکنی بعد از حالت فشرده ی زیپ درش میاری بعد فایلش رو باز میکنی یه پوشه هست به اسم Help اون پوشه رو باز میکنی و روی آیکون Help کلیک میکنی
    و خود برنامه شروع میکنه و بهت نشون میده که چطوری باید نصبش کنی
    خب برا امروز دیگه کافیه خسته نباشی
    1- ممنون تو هم خسته نباشی

    ------------------------------------------------

    منابعی که برای درس این جلسه از آن ها استفاده شده :

    http://mahdikamranian-electronics.pe...og.ir/post/10/










    ویرایش توسط soham 313 : 23rd August 2013 در ساعت 04:52 PM
    دانلود کلیپ تامل برانگیز
    لطفا این کلیپ را تماشا کنید و به توصیه هایش عمل نمایید

  4. 15 کاربر از پست مفید soham 313 سپاس کرده اند .


  5. #3
    یار همراه
    رشته تحصیلی
    مهندسی برق
    نوشته ها
    2,331
    ارسال تشکر
    3,479
    دریافت تشکر: 13,703
    قدرت امتیاز دهی
    17043
    Array
    soham 313's: خواهش

    پیش فرض پاسخ : کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)

    جلسه ی دوم



    1- سلام چطوری ؟

    2- سلاااااااااااااااام من خوبم تو خوبی ؟

    1- آره خوبم شکر

    2- درس این جلسه چیه ؟

    1- امروز میخوام ATmega 8 رو بهت معرفی کنم

    2- بفرمایید


    1 - اول اینکه باید یه سری ویژگی های ATmega 8 رو بدونی که که الان بهت میگم

    2- یعنی حفظ شون کنم ؟

    1- نه نیازی به حفظ کردن نیست ، این اطلاعات که من بهت میگم رو میتونی با مراجعه به دیتاشیت ATmega 8 پیداش کنی ، در نتیجه هر وقت به اطلاعات میکروکنترلری نیاز داشتی فقط کافیه که به دیتاشیت شون مراجعه کنی ، همین

    2 - چه خوب

    1-
    این عکس پایه های ATmega 8 هست


    ویژگی های
    ATmega 8



    _ ميکروکنترولر 8 بيتيAVR با کارايي بالا وتوان مصرفي کم

    _ معماري RISC پيشرفته


    _ 130دستورالعمل قوي


    _ 8×32 رجيستر کاري همه منظوره


    _قابليت اجراي 16000000 دستورالعمل در فرکانس کاريMHz16


    _
    8کيلوبايت حافظه فلش قابل برنامه ريزي در سيستم


    _بخش Boot Code اختياري با قفلهاي مستقل


    _
    512بايت حافظه EEPROM


    _
    1 کيلو بايت حافظه داخلي


    _قفل براي امنيت برنامه



    امکانات جانبي

    _
    2تايمر/کانتر 8 بيتي با تقسيم کننده مجزا و مد مقايسه


    _ يک تايمر/کانتر 16 بيتي با تقسيم کننده مجزا ، مد مقايسه و مد capture


    _
    3 کانال PWM


    _
    8 کانال ADC در بسته بندي هاي TQFP و MLF ( شش کانال با دقت 10 بيت و 2 کانال با دقت 8 بيت)


    _ 6 کانالADC در بسته بندي هاي PDIP
    ( چهار کانال با دقت 10 بيت و 2 کانال با دقت 8 بيت)


    _ ارتباط سريال دوسيمه


    _ ارتباط سريال SPI


    _ تايمر Watchdog قابل برنامه ريزي با نوسان ساز داخلي مجزا


    _ مقايسه کننده آنالوگ داخلي


    _ آشکارسازي Brown-out و ريست حالت Power-on قابل برنامه ريزي


    _ پنج مد Sleep: بيکاري، کاهش نويزADC، Power Save ، Power-downو Standby



    بسته بندي

    تراشه ATmega8 داراي 23 پايه ورودي- خروجي قابل برنامه ريزي است. اين تراشه در بسته بندي‌هاي 28 پايه PDIP و 32 پايه TQFPوMLF موجود است.



    ولتاژ هاي کاري


    ATmega8 l :

    5/5 ولت تا 7/2 ولت


    ATmega8 :


    5/4 ولت 5/5 ولت


    فرکانسهاي کاري


    ATmega 8 l :

    0 تا8MHz



    ATmega 8 :

    0 تا16MHz


    توان مصرفي

    مصرف توان در فرکانس کاري
    4MHz ، تغذيه 3V و دماي 250C


    - حالت فعال
    :
    6/3mA



    - مد بيکاري
    : 10mA


    - مد Power-down:
    5µA


    1-این عکس که میبینی معرفی پین های ATmega 8 هستش که میخوام هر کدوم از پایه ها و عملکرد هر کدوم از پین ها رو برات توضیح میدم



    2 - بفرمایید




    پایه شماره 1 : پین شماره 6 IO از پورت C و پایه ریست mcu , فعال low

    پایه شماره 2 : پین شماره 0 IO از پورت D و پایه گیرنده اطلاعات (در uart این پایه به عنوان گیرنده عمل میکند)

    پایه شماره 3 : پین شماره 1 IO از پورت D و پایه فرستنده اطلاعات (در uart این پایه به عنوان فرستنده عمل میکند)

    پایه شماره 4 : پین شماره 2 IO از پورت D و پایه وقفه خارجی 0

    پایه شماره 5 : پین شماره 3 IO از پورت D و پایه وقفه خارجی 1

    پایه شماره 6 : پین شماره 4 IO از پورت D و پایه منبع کلاک تایمر / کانتر 0 و کلاک خارجی usart

    پایه شماره 7 : vcc

    پایه شماره 8 : gnd

    پایه شماره 9 : پین شماره 6 IO از پورت B و پایه اتصال منبع کلاک خارجی (کریستال و رزناتور و ... )و پایه تایمر اسیلاتور

    پایه شماره 10: پین شماره 7 IO از پورت B و پایه اتصال منبع کلاک خارجی (کریستال و رزناتور و ... )و پایه تایمر اسیلاتور

    پایه شماره 11: پین شماره 5 IO از پورت D و پایه منبع کلاک تایمر / کانتر 1

    پایه شماره 12: پین شماره 6 IO از پورت D و پایه ورودی مثبت مقایسه کننده آنالوگ

    پایه شماره 13: پین شماره 7 IO از پورت D و پایه ورودی منفی مقایسه کننده آنالوگ

    پایه شماره 14: پین شماره 0 IO از پورت B و پایه ضبظ ورودی تایمر /کانتر 1

    پایه شماره 15: پین شماره 1 IO از پورت B و پایه خروجی مقایسه A , خروجیA مد PWM تایمر کانتر 1

    پایه شماره 16: پین شماره 2 IO از پورت B و پایه SLAVE SELECT برای SPI و پایه خروجی مقایسه B , خروجیB مد PWM تایمر کانتر 1

    پایه شماره 17: پین شماره 3 IO از پورت B و پایه ورودی اطلاعات برای SPI و پایه خروجی مقایسه تایمر / کانتر 2 , خروجی مد PWM تایمر کانتر 2

    پایه شماره 18: پین شماره 4 IO از پورت B و پایه خروجی اطلاعات برای SPI

    پایه شماره 19: پین شماره 5 IO از پورت B و پایه ورودی کلاک برای SPI

    پایه شماره 20: VCC برای آنالوگ به دیجیتال

    پایه شماره 21: ولتاژ مرجع برای آنالوگ به دیجیتال


    پایه شماره 22: GND

    پایه شماره 23: پین شماره 0 IO از پورت C و پایه ورودی 0 آنالوگ به دیجیتال

    پایه شماره 24: پین شماره 1 IO از پورت C و پایه ورودی 1 آنالوگ به دیجیتال

    پایه شماره 25: پین شماره 2 IO از پورت C و پایه ورودی 2 آنالوگ به دیجیتال

    پایه شماره 26: پین شماره 3 IO از پورت C و پایه ورودی 3 آنالوگ به دیجیتال

    پایه شماره 27: پین شماره 4 IO از پورت C و پایه ورودی 4 آنالوگ به دیجیتال و پایه مربوط به اینترفیس 2-WIRE

    پایه شماره 28: پین شماره 5 IO از پورت C و پایه ورودی 5 آنالوگ به دیجیتال وپایه مربوط به اینترفیس 2-WIRE


    2-اوهوم

    1- خب درس این جلسه تا اینجا کافیه

    2- خسته نباشی


    1-ممنون
    تا جلسه بعد خدانگهدار


    --------------------------------------------------------------

    منابعی که برای درس این جلسه از آن ها استفاده شده :

    http://gladiator-robotic.mihanblog.com/post/46
    و
    http://www.avrelec.com/index.php/201...4-50/113-avr-3




    ویرایش توسط soham 313 : 27th August 2013 در ساعت 04:16 PM
    دانلود کلیپ تامل برانگیز
    لطفا این کلیپ را تماشا کنید و به توصیه هایش عمل نمایید

  6. 16 کاربر از پست مفید soham 313 سپاس کرده اند .


  7. #4
    یار همراه
    رشته تحصیلی
    مهندسی برق
    نوشته ها
    2,331
    ارسال تشکر
    3,479
    دریافت تشکر: 13,703
    قدرت امتیاز دهی
    17043
    Array
    soham 313's: خواهش

    پیش فرض پاسخ : کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)


    جلسه ی سوم

    1- سلام حالت چطوره ؟

    2- سلام، سلام، سلام ،بدو که زود شروع کنیم

    1- حالا چرا این همه عجله ؟!؟

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

    1 - صبر داشته باش ،حوصله داشته باش، به برنامه نوشتن هم میرسیم

    2- آخه کی؟ امروز میتونیم یه برنامه بنویسیم؟

    1- امروز نه

    2 -
    1- ولی جلسه ی هفتم میتونیم یه برنامه بنویسیم

    2 -واقعا ؟

    1 - آره چرا که نه !!!

    2-آخ جونم پس بدو که شروع کنیم

    1 - اول اینکه راجع به ATmega 16 باید یه سری اطلاعات بدونی که من برات پیوست میزارم تا بعدا خودت بخونیشون

    2- نیازی به حفظ کردن شون که نیست ؟

    1-نه نیازی به حفظ کردن نیست ، این اطلاعات که من بهت میگم رو میتونی با مراجعه به دیتاشیت ATmega 16 پیداش کنی ، همین

    2 -


    1-این عکس که میبینی معرفی پین های ATmega 16 هستش





    حالا هر کدوم از پایه ها و عملکرد هر کدوم از پین ها رو برات توضیح میدم

    پس خوب گوش کن

    پایه های میکروکنترلر
    ATMega16 رو به این صورت دسته بندی می کنیم :

    این میکروکنترلر 4 پورت 8 بیتی (8 پایه ای) داره ،که هر پورت 8 تا پایه داره ، که جمعا میشه 32 پایه ،اونم تازه فقط برای پورت ها

    8 تا پایه دیگه هم داره که اونا رو هم بهت میگم

    حالا اول پورت ها رو برات دسته بندی میکنم

    ببین، پایه های 1 تا 8 پورت Bمیکروکنترلر رو تشکیل میدن PORTB

    پایه های 14 تا 21 پورت D میکروکترلر رو تشکیل میدن PORTD

    پایه های 22 تا 29 پورت C میکروکنترلر رو تشکیل میدن PORTC

    پایه های 33 تا 40 پورت A میکروکنترلر رو تشکیل میدن PORTA

    همه ی این چهار تا پورت هم می تونن ورودی و هم می تونن خروجی داشته باشن

    اما در یک زمان فقط می تونن ورودی یا خروجی باشن یا حتی می تونن نیمی ورودی و نیمی خروجی هم باشن

    این پایه ها غیر از وظیفه پورت بودن وظایف دیگه ایی هم دارن که الآن هر کدومش رو بهت میگم


    * پایه 1 یا PB0
    (
    XCK/T0) :


    (T0): ورودی Clock تایمر/کانتر (0) به صورت خارجی ،به طور مثال برای شمارش پالس ها

    (XCK): پالس ساعت برای سنکرونارتباط سریال USART



    *پایه 2 یا PB1
    (
    T1) :


    ورودی Clock تایمر/کانتر(1) به صورت خارجی



    *پایه3 یا PB2
    (
    INT2/AIN0) :


    AIN0: ورودی اول مقایسه کننده انالوگ

    INT2: ورودی وقفه خارجی دوم (Interrupt2)



    *پایه 4 یا PB3
    (
    OC0/AIN1) :


    AIN1: ورودی دوم مقایسه کننده انالوگ

    OC0: خروجی PWMبرای تایمر/کانتر (0)




    *پایه 5 یا PB4
    (SS):

    SS: این پایه که اسمش Slave Select هستهمراه پایه های 6 و 7 و 8 پایه های پروتکل (SPI) که یک پروتکل انتقال اطلاعات به صورت سریال و Full Duplex (دو طرفه) هست رو تشکیل میدن

    2 اجازه؟

    1- بفرمایید

    2- وظیفه ی این پایه چیه ؟

    1- وظیفه ی این پایه ،برای انتخاب دریافت کننده اطلاعات در یک شبکه SPIبه وسیله Masterهستش



    * پایه 6 یا PB5
    (
    MOSI) :


    پایه ارسال اطلاعات در پروتکل SPI



    * پایه 7 یا PB6
    (
    MISO) :

    پایه دریافت اطلاعات در پروتکل SPI



    * پایه 8 یا PB7
    (SCK) :

    پایه پالس ساعت در پروتکل SPI

    یه نکته بهت بگم ببین، پروتکل SPI، پروتکل اصلی برنامه ریزی خود میکروکنترلر AVR هستش
    و برنامه نوشته شده توسط کاربر از این روش در حافظه Flashمیکروکنترلر قرار میگیره



    * پایه 9 یا RESET:

    این پایه یکی از 8 پایه ای هستش که جزء پورت ها نیست !!! در واقع این پایه به صورت مستقل هست

    2- خب وظیفه اش چی هست ؟

    1- این پایه وظیفه ی ریست کردن و بازخوانی اطلاعات رو به صورت خارجی داره و با صفر منطقی فعال میشه




    * پایه 10 یا VCC:

    این پایه VCCمیکروکنترلر 5 ولت هست




    * پایه 11 یا G:
    این پایه،GNDمیکروکنترلر اتصال به زمین هست




    *پایه 12 و 13 یا (XTAL1) و (XTAL2) :
    این دو پایه برای تامین پالس ساعت اصلی میکروکنترلر هستن و به وسیله کریستال یا RCداخلی ، پالس ساعت میکروکنترلر رو تامین می کنه




    * پایه 14 یا PD0(RXD) :
    این پایه ، دریافت کننده اطلاعات ، در ارتباط سریال USART هست




    * پایه 15 یا PD1
    (
    TXD) :

    این پایه ، ارسال کننده اطلاعات ، در ارتباط سریال USART هست



    * پایه 16 یا PD2 (INT0) :
    این پایه ، ورودی وقفه خارجی صفر هست



    * پایه 17 یا PD3
    (
    INT1) :

    این پایه ، ورودی وقفه خارجی یک هست



    *پایه 18 یا PD4
    (OC1 B) :
    این پایه خروجی PWM, 8 بیت دوم تایمر/کانتر(1) (تایمر/کانتر 16 بیتی) هستش



    *پایه 19 یا PD5
    (
    OC1A) :

    این پایه خروجی PWM,8 بیت اول تایمر/کانتر (1) هستش




    *پایه 20 یا PD6
    (
    ICP) :

    این پایه ورودی برای فعال سازی Input Captur و مقدار برداری لحظه ای از رجیستر تایمر هستش




    *پایه 21 یا PD7
    (
    OC2) :

    خروجیPWMتایمر/کانتر (2)



    * پایه 22 و 23 یا PC0 و PC1
    (
    SCL) و (SDA) :

    این دو پایه برای ارتباط سریال دو سیمه هستن ،که پایه SDAبرای ارسال و دریافت اطلاعات و پایه SCL برای پالس ساعت هست



    * پایه های 24 تا 27 :
    این پایه ها برای استفاده در پروتکل JTAG هستن
    همچنین این پروتکل یکی از ارتباط ها ، برای برنامه ریزی هست




    *پایه های 28 و 29 یا PC6 و PC7
    (
    TOSC1) و (TOSC2) :

    این دو پایه برای پالس ساعت خارجی تایمر(2) و اتصال کریستال ساعت 32.768KHZبرای Real-Time Clockمی باشد.




    * پایه 30 یا AVCC:

    این پایه ورودی ولتاژ قسمت اصلی مبدل انالوگ به دیجیتال هست




    * پایه 31 یا GND:

    این پایه GND قسمت مبدل انالوگ به دیجیتال هست




    * پایه 32 یا AREF:

    این پایه ولتاژ / فرکانس و ولتاژ مبنای قسمت مبدل انالوگ به دیجیتال هست



    * پایه های 33 تا 40 یا ADC0…ADC7:

    ورودی های مبدل انالوگ به دیجیتال هستن



    2- تموم شد؟!!!!!

    1- آره

    2- آخیش چقدر درس این جلسه سخت بود !!!

    1- خب برا اینکه اولین باری هست که داری با پایه های یه میکروکنترلر آشنا میشی

    2- ولی من احساس میکنم مطالب رو به خوبی یاد نگرفتم

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

    2 - خب پس اون موقع برا چی این مطالب رو یاد دادی ؟

    1- این مطالب رو برا این بهت گفتم تا متوجه بشی تو هر میکروکنترلری هر کدوم از پایه ها برای عملکرد خاصی هستن
    اما یه نکته ی دیگه این که تمامی حالات هایی که برای پایه ها گفتم فقط زمانی هستن که فعال شده باشن در غیر این صورت تمامی شون غیر فعال هستن ، پس به این موضوع دقت کن

    2- باشه ، خسته نباشی

    1- مرسی تا جلسه ی بعد خدا نگهدار


    ویرایش توسط soham 313 : 27th August 2013 در ساعت 03:51 PM
    دانلود کلیپ تامل برانگیز
    لطفا این کلیپ را تماشا کنید و به توصیه هایش عمل نمایید

  8. 14 کاربر از پست مفید soham 313 سپاس کرده اند .


  9. #5
    یار همراه
    رشته تحصیلی
    مهندسی برق
    نوشته ها
    2,331
    ارسال تشکر
    3,479
    دریافت تشکر: 13,703
    قدرت امتیاز دهی
    17043
    Array
    soham 313's: خواهش

    پیش فرض پاسخ : کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)


    جلسه ی چهارم




    به علت ویرایش ، جلسه ی چهارم با موضوع معرفی ATmega 32 تا ساعاتی دیگر در سایت قرار داده خواهد شد


    ویرایش توسط soham 313 : 26th August 2013 در ساعت 01:17 PM
    دانلود کلیپ تامل برانگیز
    لطفا این کلیپ را تماشا کنید و به توصیه هایش عمل نمایید

  10. 9 کاربر از پست مفید soham 313 سپاس کرده اند .


  11. #6
    یار همراه
    رشته تحصیلی
    مهندسی برق
    نوشته ها
    2,331
    ارسال تشکر
    3,479
    دریافت تشکر: 13,703
    قدرت امتیاز دهی
    17043
    Array
    soham 313's: خواهش

    پیش فرض پاسخ : کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)

    سلام
    با پنجمین جلسه ی آموزش رباتیک (برنامه نویسی ) در خدمت تون هستم
    دومین جلسه اختصاص داره به

    _ معرفی محیط برنامه نویسی CodeVision AVR



    جلسه ی پنجم


    1- سلام احوال شما ؟
    2- سلام مرسی من خوبم شما خوبی؟
    1– آره خوبم ، یه چیزی ذهنم رو مشغول کرده
    2– چی ؟
    1– اینکه بچه های سایت چطوری مطالب رو میخونن و پیگیری میکنن ، آخه میدونی از اون روزی که گفتی از بین بچه ها ، چند نفر رو برای مسابقه انتخاب میکنی حس رقابت برام به وجود اومده
    2–خوبه ، ولی مثل اینکه ، بچه های سایت علمی نخبگان جوان زیاد پی گیری نمیکنن !!!!!

    فکر کنم آخر سر فقط تو رو با خودم مسابقه ببرم
    ولی با تمام این ، من به تدریس ادامه میدم حتی اگه بتونم فقط به یک نفر هم آموزش بدم برام ارزش داره

    خب تا دیر نشده شروع کنیم ، اول بگو ببینم نرم افزار CodeVision AVR رو نصب کردی ؟
    1- آری
    2- خوبه ، اول برات منوهای محیط CodeVision رو توضیح میدم
    ، فقط تو این جلسه لطفا سوال نپرس ، بذار کامل مطالب رو بهت توضیح بدم

    1 – ها
    آخه چرا ؟

    2- برای اینکه مطالب این جلسه معرفی قسمتهای مختلف کامپایلر کدوِیژن هست و شما نمیتونی مطالبش رو خوب یاد بگیری مگر اینکه چند تا برنامه بنویسی تا این مطالب پایه برات جا بیوفتن
    در واقع من تو این جلسه حروف الفبای کدویژن رو دارم بهت یاد میدم و فکر میکنم چون مطالب پایه ایی هستن نیاز به سوال پرسیدن نباشه
    1-باشه قبول

    2-اولین کاری که میکنی اینه که روی کامپایلر CodeVision کلیک میکنی و این تصویر میاد



    اولین منو از سمت چپ
    منوی File هست
    ، اگه روی این منو کلیک کنی گزینه های زیر رو میبینی که الان هر کدوم رو برات توضیح میدم


    _ New← با انتخاب این گزینه میتونی یک فایل جدید Source با پسوند c یا h ، یا یک پروژه ی جدید ایجاد کنی


    _ Open← با انتخاب این گزینه میتونی یک فایل پروژه و یا Source ذخیره شده تو حافظه رو باز کنی


    _ Reopen← در صورتی که چندتا فایل Source یا پروژه رو قبلا باز کرده باشی ، به کمک این گزینه می تونی هر کدوم از آخرین هشت فایل باز شده رو مجددا باز کنی


    _ Save ← با انتخاب این گزینه ، آخرین تغییرات اعمالی در فایل ذخیره میشه


    _ Save as← با انتخاب این گزینه میتونی فایل موجود رو با نام دیگه ایی ذخیره کنی


    _ Save All ← با انتخاب این گزینه میتونی تغییرات اعمالی در تمامی فایل های باز رو ذخیره کنی


    _ Close ← با انتخاب این گزینه ، فایل موجود بسته میشه


    _ Close All← با انتخاب این گزینه تمامی فایل های باز موجود ، بسته میشن


    _ Convert to library← با انتخاب این گزینه میتونی یک فایل رو برای استفاده ی مجدد به صورت یک کتابخانه در بیاری


    _ Page Setup ← با انتخاب این گزینه میتونی تنظیمات مربوط به چگونگی گرفتن پرینت از فایلها رو مشخص کنی


    _ Print ← با انتخاب این گزینه ، تمام فایل جاری پرینت گرفته میشه


    _ Exit← با انتخاب این گزینه ، از نرم افزار CodeVision خارج میشی



    پنجمین منو از سمت چپ
    منوی Project هست اگه روی این منو کلیک کنی گزینه های زیر رو میبینی که الان هر کدوم رو برات توضیح میدم

    _ Compile← با انتخاب این گزینه ، تغییرات ایجاد شده در پروژه ی جاری ذخیره میشه و برنامه کامپایل میشه


    _ Make← با انتخاب این گزینه ، تغییرات ایجاد شده در پروژه ی جاری ذخیره میشه و برنامه هم کامپایل میشه و هم در صورت عدم وجود خطا ، فایل بوجود اومده اسمبل شده و فایل hex ایجاد میشه


    _ Stop Compilation← در حین انجام کامپایل میتونید به کمک این گزینه اون رو متوقف کنید


    _ Information← می تونید بعد از انجام Compile و یا Make، با انتخاب این گزینه اطلاعات مربوط به کامپایل ، اسمبل و تبدیل به فایل hex رو مشاهده کنید


    _ Notes← با انتخاب این گزینه صفحه ی ویرایشگری باز میشه که میتونید در داخل اون اطلاعات مربوط به پروژه رو وارد کنید


    _Configure ← با انتخاب این گزینه صفحه ای باز میشه که به کمک اون میتونید قسمت های مختلف پروژه رو تنظیم کنید


    ششمین منو از سمت چپ
    منوی Tools هست
    به کمک این قسمت میتونی برنامه های مختلف موجود در CodeVision رو اجرا کنی
    اگه روی این منو کلیک کنی گزینه های زیر رو میبینی که الان هر کدوم رو برات توضیح میدم


    _ CodeWizard← با انتخاب این گزینه ، برنامه ی CodeWizard اجرا میشه که بعدا راجع به این قسمت توضیح های بیشتری میدم


    _ Debugger← با انتخاب این گزینه ، در صورتی که قبلا آدرس برنامه ی AVRStudio رو برای اون مشخص کرده باشی ، این نرم افزار اجرا میشه که از اون برای شبیه سازی برنامه استفاده میشه


    _ Chip Programmer← با انتخاب این گزینه ، برنامه ی Chip Programmer باز میشه ، که به کمک اون میتونید تراشه رو برنامه ریزی کنید و یا اطلاعات موجود بر روی اون رو بخونید


    _ Terminal← با انتخاب این گزینه ، برنامه ی Terminal اجرا میشه ، از این برنامه در ارتباط سریال برای مشاهده ی کدهای رسیده از میکرو برای کامپیوتر و فرستادن کد از کامپیوتر برای میکرو استفاده میشه


    _ Configure← با انتخاب این گزینه ، پنجره ی Configure Tools باز میشه که به کمک اون کاربر میتونه برنامه های خودش رو به منوی Tools اضافه کنه و یا برنامه هایی رو حذف کنه



    هفتمین منو از سمت چپ
    منوی Settings هست اگه روی این منو کلیک کنی گزینه های زیر رو میبینی که الان هر کدوم رو برات توضیح میدم

    _ General← با انتخاب این گزینه میتونی ، نمایش قسمت های مختلف در پنجره رو فعال یا غیر فعال کنی


    _ Editor ← با انتخاب این گزینه پنجره ی Editor Settings باز میشه که به کمک اون میتونی تنظیمات مربوط به ویرایشگر ، مثل رنگ پیش زمینه ، کلمات کلیدی ، رشته ها،توضیحات و ... رو تنظیم کنی


    _ Assembler← با انتخاب این گزینه میتونی مشخص کنی که در هنگام بروز خطا از اسمبلر ، یکی از فایل های با پسوند lst و یا asm باز بشن


    _ Debugger← با انتخاب این گزینه پنجره ی Debugger Settings باز میشه که باید در اون نسخه ای از نرم افزار AVRStudio و آدرس مربوط به اون رو که قبلا بر روی کامپیوتر نصب کردیم ، تعیین کنیم


    _ Programmer← با انتخاب این گزینه پنجره ی Programmer Settings باز میشه که باید در اون در قسمت AVR Chip programmer ،
    عبارت STK300 Kanda Systems STK200+ and رو انتخاب کنیم ، بعدش در قسمت Printer Port ،LPTI رو انتخاب کنیم


    یه نکته ی دیگه این که تو کامپیوترهایی که سرعتشون زیاده ، در صورت به وجود اومدن مشکل باید گزینه ی Delay Multiplier رو هم افزایش بدیم


    _ Terminal← با انتخاب این گزینه پنجره ی Terminal Setting باز میشه که در اون میتونیم پورت COM متصل به میکرو ، سرعت ارسال و دیگر تنظیمات مربوط به ارتباط سریال رو انجام بدیم


    2- خب فکر میکنم برا این جلسه کافی باشه
    1- آره برای من هم هیچ سوالی پیش نیومد
    چون به قول خودت اینا مطالب پایه ایی بودن
    2- خوبه
    1- خسته نباشی
    2- شما هم خسته نباشی

    فعلا تا جلسه بعد خدا نگهدار



    ویرایش توسط soham 313 : 29th August 2013 در ساعت 10:46 AM
    دانلود کلیپ تامل برانگیز
    لطفا این کلیپ را تماشا کنید و به توصیه هایش عمل نمایید

  12. 8 کاربر از پست مفید soham 313 سپاس کرده اند .


  13. #7
    یار همراه
    رشته تحصیلی
    مهندسی برق
    نوشته ها
    2,331
    ارسال تشکر
    3,479
    دریافت تشکر: 13,703
    قدرت امتیاز دهی
    17043
    Array
    soham 313's: خواهش

    پیش فرض پاسخ : کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)


    جلسه ی ششم

    1- سلام احوال شما ؟
    2- ممنون ، شما خوبی؟
    1-منم خوبم شکر ، قراره امروز ایجاد یه پروژه ی جدید تو محیط کامپایلر کدویژن رو بهت یاد بدم
    2- من آماده ام

    1- برای اینکه یه پروژه ی جدید ایجاد کنی باید 10 تا مرحله رو به ترتیب انجام بدی


    گام اول :
    میری روی منوی File
    بعدش روی گزینه ی New کلیک میکنی
    این پنجره باز میشه



    تو قسمت File Type گزینه ی project رو انتخاب میکنی و بعد روی گزینه ی OK کلیک میکنی


    گام دوم :
    حالا یه پنجره ی جدید باز میشه و ازت میپرسه که ، آیا میخوای پروژه رو به کمک Codewizard Avr انجام بدی ؟




    و ما گزینه ی No رو انتخاب میکنیم


    گام سوم :
    با اینکار پنجره ی Create New Project باز میشه (یعنی شکل زیر ) ، که باید تو اون اسم فایل پروژه و محل ذخیره شدنش رو مشخص کنی ، فایل پروژه با پسوند Prj ، ذخیره میشه



    اینجا من اسم فایل رو تو قسمت File name میزارم test و بعد رو گزینه ی Save کلیک میکنم


    گام چهارم :
    بعدش یه پنجره باز میشه (یعنی شکل زیر ) که مربوط به تنظیمات کامپایلر هست




    اول میای تومنوی C Compiler قسمت Code Generation ، گزینه ی chip نوع تراشه ی AVR رو برابر ATmega 16 قرار میدی ، بعدش تو گزینه ی Clock مقدار کریستال متصل به تراشه رو برابر 4MHZ انتخاب میکنی (یعنی شکل زیر ) و بعدش روی گزینه ی OK کلیک میکنی




    گام پنجم :
    حالا باید فایل اصلی پروژه که کدهای برنامه تو اون قرار داره رو ایجاد کنی
    برای اینکار دوباره میری روی منوی File بعدش روی New کلیک میکنی
    این پنجره باز میشه ( یعنی شکل زیر ) بعدش تو قسمت File Type گزینه ی Source رو انتخاب میکنی و بعد روی گزینه ی OK کلیک میکنی




    گام ششم :
    برای فایل جدید ایجاد شده پنجره ی جدیدی ظاهر میشه نام فایل جدید untitled.c هست ، میری منوی File روی گزینه ی Save As کلیک میکنی و نام فایل رو به Main.c تغییر میدی


    گام هفتم :
    حالا باید کدهایی رو که بهت میگم رو وارد کنی و بعدش محتویات برنامه رو ذخیره کنی

    <include <mega16.h#

    <include <delay.h#

    /*This is program that flashes the Led on PORTA.0 every 0.5 seconds*/

    ()main

    }

    (while(1

    /*Loop forever*/

    }

    ;PORTA.0=1

    ;(delay_ms(500

    ;PORTA.0=0

    ;(delay_ms(500

    {

    {
    2- ها چی شد !!! اینا دیگه چی هستن ؟

    1- نترس ، اینا دستورهای برنامه نویسی هستن که بعدا مفصلا میخوام بهت یاد بدم ، اینجا فقط یه اشاره ی کوچولو میکنم تا باهاشون آشنا بشی ، بعدا دستورات برنامه نویسی رو مفصلا بهت یاد میدم
    2- باشه

    _ دستور
    <include <mega16.h# فایل سرآمد mega16.h رو که شامل تعریف رجیسترهای ATMega 16 هست رو به پروژه اضافه میکنه

    _ وقتی بخوایم تو برنامه تاخیر ایجاد کنیم اول فایل delay.h رو به کمک دستور
    <include <delay.h# به پروژه اضافه میکنیم

    _ قسمت اصلی هر برنامه هم با ()
    main شروع میشه

    _
    (while(1 حلقه ایی رو تعریف میکنه که شرط اون همیشه درسته و دستورات داخل اون مدام تکرار میشه

    _ دستور ( delay_ms(500 تاخیری معادل 250 میلی ثانیه ایجاد میکنه


    گام هشتم :
    حالا باید این فایل رو به پروژه اضافه کنیم
    برای اینکار ، اول میروی روی منوی Project ، بعدش روی گزینه ی Configure کلیک میکنی
    بعدش تو قسمت Input Files ، روی گزینه ی Add کلیک میکنی و از پنجره ی باز شده فایل Main.c رو که قبلا کدهای برنامه رو تو اون وارد کردیم رو انتخاب میکنیم و بعدش رو گزینه ی Open کلیک میکنیم ، حالا فایل Main.c به پروژه اضافه شده (یعنی شکل زیر)





    گام نهم :
    بعدش تو همون پنجره ی ProjectConfigure ، میری به لبه ی After Build و گزینه ی Program the chip
    رو انتخاب میکنی ( یعنی شکل زیر ) بعدش با کلیک کردن روی گزینه ی OK تغییرات انجام شده رو تائید میکنی




    گام دهم :
    از منوی Project گزینه ی Build رو انتخاب میکنی ، در این صورت پروژه کامپایل میشه و در نهایت فایل hex هم ساخته میشه و پنجره ایی مشابه شکل زیر بر روی صفحه ظاهر میشه






    این پنجره شامل 3 قسمته یا به اصطلاح 3 تا لبه داره ، تو لبه ی اولش compiler هست که توش اطلاعاتی رو راجع به تنظیمات کامپایلر و میزان حافظه ی اشغال شده توسط برنامه رو میبینی
    لبه ی دومش Assembler هست که اطلاعاتی رو راجع به فایلهای تولید شده تو این قسمت و میزان کدهای تولید شده ، مشاهده میکنی ( یعنی شکل زیر )




    لبه ی سومش Programmer هست که توش یه شمارنده ای هست که تعداد برنامه ریزی تراشه توسط Codevision رو نشون میده ( یعنی شکل زیر )



    میتونی با توجه به نیاز روی گزینه ی Set Counter کلیک کنی و مقدارش رو صفر بزاری یا مقدارش رو به دلخواه تغییر بدی
    حالا ما تونستیم یک پروژه ی جدید ایجاد کنیم

    2- یعنی الان برنامه کار میکنه

    1- آره ، تازه اگه حداقل مدار لازم برای ره اندازی میکرو رو قبلا بسته باشی و کابل ISP هم متصل باشه ، میتونی با کلیک روی گزینه ی Program the chip ، برنامه ایی رو که تو کامپیوتر نوشتی به میکرو انتقال بدی و بعد از این که برنامه ریزی میکرو تموم شد بلافاصله کد ها توسط میکرو آغاز میشه و LED شروع به چشمک زدن میکنه


    خب درس این جلسه تا اینجا کافیه

    2- خسته نباشی
    1-سلامت باشی
    التماس دعا

    تا جلسه بعد خدانگهدار
    ویرایش توسط soham 313 : 23rd August 2013 در ساعت 08:06 PM
    دانلود کلیپ تامل برانگیز
    لطفا این کلیپ را تماشا کنید و به توصیه هایش عمل نمایید

  14. 2 کاربر از پست مفید soham 313 سپاس کرده اند .


  15. #8
    یار همراه
    رشته تحصیلی
    مهندسی برق
    نوشته ها
    2,331
    ارسال تشکر
    3,479
    دریافت تشکر: 13,703
    قدرت امتیاز دهی
    17043
    Array
    soham 313's: خواهش

    پیش فرض پاسخ : کلاس آموزش رباتیک (مطالب مرتبط با برنامه نویسی کدویژن)

    جلسه ی هفتم
    1- سلام چطوری ؟

    2- سلااااااااااااااااااااااا م من خوبم تو خوبی ؟

    1- آره خوبم شکر

    2- قراره امروز چی بهم یاد بدی ؟

    1- امروز میخوام یه کمی بهت قسمت های مختلف کامپایلر c رو یاد بدم

    2- آخه چرا c ؟؟؟ مگه قرار نیست کدویژن رو بهم یاد بدی

    1- آره قراره بهت کدویژن یاد بدم اما همون طور که قبلا بهت گفتم کامپایلر کدویژن براساس زبان c طراحی شده ،بنابراین برای اینکه بتونی تو محیط کامپایلر کدویژن برنامه بنویسی ،باید با دستورات و توابع زبان c آشنایی داشته باشی

    2- آهان ، خب پس ادامه بده

    1- هر برنامه ی c حداقل یه تابع ()main داره که اولین تابع اجرایی هست

    2- ها

    1- بزار ساده تر بهت بگم ، یه برنامه ی میکروکنترلر ، تو ساده ترین حالت به این شکل نوشته میشه

    تعاریف کلی


    الگوی تابع

    () Void main


    }


    (While (1
    }

    .
    .
    .
    {
    {


    توابع تعریف شده

    2- من چیزی از اینا سر در نمیارم

    1-بزار یه مثال برات بزنم تا ساده تر متوجه بشی

    مثلا میخوایم برنامه ایی بنویسیم که رشته ی Hello Word به خروجی استاندارد ارسال کنه

    <include <stdio.h#

    () Void main


    }

    ;("Printf ( " Hello Word

    ;(While (1

    {
    2-میشه توضیح بدی اینا چیه اند ؟

    1- خط اول ، <include <stdio.h# از رهنمودهای پیش پردازنده هست

    خط دوم،
    () Void main بدنه ی اصلی برنامه هست


    { } ابتدا و انتهای برنامه است و یه بلوک رو مشخص میکنه


    خط چهارم ;("Printf ( " Hello Word رشته ی Hello Word رو در خروجی چاپ میکنه



    خط پنجم ;(While (1 یک حلقه ی نامتناهی ایجاد میکنه

    2-

    1-چی شد متوجه نشدی ؟

    2- نه متوجه نشدم

    1-ببین به طور کلی ساختار برنامه ها در زبان c به این صورت هست

    <فایل سرآیند
    > include #

    ()int main

    }

    اعلان متغیرها

    دستورات اجرایی

    ; Return 0

    {
    در واقع برنامه ها تو زبان c از مجموعه ای از دستورات و توابع تشکیل میشن که حالا به مرور که جلوتر رفتیم و درس مون به اون توابع رسید بیشتر بهت توضیح میدم اما نکته ی مهمی که باید بهش توجه کنی اینه که بدنه ی اصلی برنامه ، تابع main هست

    متوجه شدی ؟

    2- آره یه کم


    1- خوبه ، علاوه بر تابع main ، توابع دیگه ای هم نوشته شدند و همراه کامپایلر کدویژن ارئه میشن که میتونیم تو برنامه ها از اونا استفاده کنیم


    2- چه طوری میتونیم از اون برنامه ها استفاده کنیم ؟


    1-این برنامه ها و خیلی از اطلاعاتی که کامپایلر برای اجرا ی برنامه به اون ها نیاز داره در فایل هایی به نام فایل سرآیند یا به اصطلاح header قرار دارند که همه ی این فایل ها توی شاخه ای به نام include هستن که برای اتصال این فایل ها به برنامه باید بدونیم هر تابع تو کدوم فایل header قرار داره مثلا تابع Printf ، تو فایل stdio.h قرار داره
    برای اینکه بین توابع و فایل های سرآیند بتونیم اتصال ایجاد کنیم از دستور include # استفاده میکنیم


    2-میشه بیشتر توضیح بدی


    1-ببین تو این مثالی که بهت زدم تابع آماده ی Printf رو داریم ، که این تابع توی فایل stdio.h قرار داره ، برای اینکه بتونیم تابع Printf رو تو برنامه فراخوانی کنیم و ازش استفاده کنیم باید فایل stdio.h به برنامه اضافه کنیم و برای اینکه بتونیم stdio.h رو به برنامه اضافه کنیم از دستور include # استفاده میکنیم یعنی به این شکل
    <include <stdio.h#

    2- آهان فهمیدم ادامه بده


    1-ببین اگه بخوام به طور ساده بهت بگم برنامه نویسی در واقع ورود داده های اولیه به کامپیوتر هست تا اون داده ها رو به اطلاعات مورد نیاز ما تبدیل کنه


    2-متوجه نشدم


    1-ببین مثلا ما 2 تا داده داریم عددهای 2 و 3 ، میخوایم این 2 تا عدد رو به کامپیوتر بدیم تا جمع شون کنه و حاصل شون رو به ما بگه


    2- اوهوم


    1-کاری که یه برنامه نویس میکنه اینه که میاد عمل جمع رو به کامپیوتر توضیح میده تا کامپیوتر بتونه اعداد رو جمع کنه و نتیجه رو به ما اعلام کنه


    2-خب


    1-بنابراین میتونیم نتیجه بگیریم که داده ها نقش مهمی در برنامه نویس دارن

    من اینجا تمامی داده های مورد حمایت کامپایلر Codevision Avr رو به همراه محدوده ی مقادیر ممکن و اندازه هاشون توی جدول برات مینویسم


    نوع داده اندازه بر حسب بیت
    محدوده ی قابل قبول
    bit
    1
    0 و 1
    char
    8
    128- تا 127
    Unsigned char
    8
    0 تا 255
    Signed char
    8
    128- تا 127
    int
    16
    32768- تا 32767
    Short int
    16
    32768- تا 32767
    Unsigned int
    16
    0 تا 65535
    Signed int
    16
    32768- تا 32767
    Long int
    32
    217483648- تا 217483647
    Unsigned Long int
    32
    0 تا 429467295
    Signed Long int
    32
    217483648- تا 217483647
    float
    32
    ±1/75e38 تا±3/402e38
    double
    32
    ±1/75e38 تا±3/402e38



    داده های نوع char : برای ذخیره ی داده هایی از نوع کاراکتر مثل 'a' تا ' b' بکار میروند

    داده های نوع int: برای ذخیره ی اعداد صحیح مثل 27 بکار میروند

    داده های نوع float: برای ذخیره ی اعداد اعشاری مثل 2/8 بکار میروند

    داده های نوع double: برای ذخیره ی داده های اعشاری که طولشون بیشتر از float هست بکار میروند

    داده های نوع voide:که تهی (خالی) هستن

    2- خسته شدم

    1-باشه درس این جلسه تا اینجا کافیه

    2-آخ جون من رفتم ،خسته نباشی ،خداحافظ

    1- تا جلسه ی بعد خدانگهدار


    ----------------------------------------------------------

    منابعی که برای درس این جلسه از آن ها استفاده شده :
    "مقاله ی آموزش کدویژن آقای رضا سپاس یار "
    ویرایش توسط soham 313 : 23rd August 2013 در ساعت 08:46 PM
    دانلود کلیپ تامل برانگیز
    لطفا این کلیپ را تماشا کنید و به توصیه هایش عمل نمایید

  16. 5 کاربر از پست مفید soham 313 سپاس کرده اند .


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 8
    آخرين نوشته: 24th August 2013, 07:11 AM
  2. پاسخ ها: 3
    آخرين نوشته: 8th July 2013, 07:41 PM
  3. پاسخ ها: 0
    آخرين نوشته: 31st May 2013, 05:03 PM
  4. پاسخ ها: 9
    آخرين نوشته: 24th March 2012, 12:01 AM
  5. آموزش برنامه نویسی ویندوز ( Win32 )
    توسط آبجی در انجمن برنامه نویسی تحت سیستم عامل
    پاسخ ها: 1
    آخرين نوشته: 24th June 2010, 02:50 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •