09120786892
atrinelectronic@gmail.com تهران پاساژ امجد طبقه1 واحد 16
دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش دوم)

دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش دوم)

2018-12-16 23:49:50

جلسه بیست و ششم _ نحوه راه اندازی واحد DAC و برنامه آن در محیط Keil

در جلسه قبل با استفاده از نرم افزار STM32CubeMX تنظیمات مربوط به DAC را انجام دادیم و کد برنامه را در محیط Keil تولید نمودیم در این جلسه قصد داریم تا به شرح و معرفی کدهای تولید شده توسط نرم افزار STM32CubeMX بپردازیم و پس از آن به دستورات پر کاربرد واحد DAC بپردازیم و پس از آن برنامه را تشریح نماییم. در ابتدا به سراغ فایل main.c می رویم.

استراکچر مربوط به تنظیمات واحد DAC می باشد.

 

معرفی تابع تنظیمات و پیکربندی واحد DAC

تابع مربوط به پیکربندی واحد DAC می باشد که در آن پارامترهای تنظیم شده در نرم افزار STM32CubeMX اعمال شده است.

حال به سراغ توابع مربوط به واحد DAC می رویم. این توابع در فایل stm32f1xx_hal_dac.c قرار دارند.

(HAL_StatusTypeDef HAL_DAC_Init(DAC_HandleTypeDef* hdac

تابع مربوط به پیکربندی اولیه واحد DAC می باشد که اشاره گر به استراکچر واحد dac به آن ارسال می شود.

 

(HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef* hdac, uint32_t Channel

تابع مربوط به شروع فعالیت مبدل دیجیتال به آنالوگ می باشد که دو آرگومان ورودی دریافت می کند. آرگومان اول استراکچر hadc می باشد و در آرگومان دوم کانال DAC مورد نظر قرار می گیرد.

 

(HAL_StatusTypeDef HAL_DAC_Stop(DAC_HandleTypeDef* hdac, uint32_t Channel

تابع مربوط به توقف فعالیت مبدل دیجیتال به آنالوگ می باشد و مانند تابع HAL_DAC_Start دو آرگومان ورودی دارد که آرگومان اول استراکچر hadc و آرگومان دوم کانال مورد نظر می باشد.

 

HAL_StatusTypeDef HAL_DAC_SetValue(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Alignment, uint32_t Data

این تابع وظیفه مقدار دهی به واحد DAC را دارد و 4 آرگومان دریافت می کند که آرگومان اول استراکچر hadc می باشد و آرگومان دوم کانال مورد نظر می باشد.

آرگومان سوم مشخص می کند که مبدل بصورت 8 بیتی یا 12 بیتی و بصورت تنظیم از راست یا چپ باشد. آرگومان چهارم مقدار واحد DAC را مشخص می کند که این مقدار در صورتیکه مبدل بصورت 8 بیتی تنظیم شود اعداد بین 0 تا 255 می باشد و در صورتیکه بصورت 12 بیتی تنظیم شود اعدادی بین 0 تا 4095 را می گیرد

پس از معرفی توابع مورد استفاده به سراغ برنامه پروژه می رویم در این پروژه قصد داریم تا خروجی DAC را به یک LED متصل نماییم و با تغییر مقدار خروجی نور LED را کنترل نماییم. در نتیجه برنامه این پروژه مطابق تصویر زیر می باشد.

در ابتدای برنامه و قبل از حلقه while کانال یک واحد DAC فعال می شود و پس از آن وارد حلقه while می شویم. درون این حلقه یک حلقه for قرار دارد که مقدار متغیر DAC_Counter در آن با هر بار اجرای حلقه یکی اضافه می شود این متغیر در تابع مربوط به مقدار دهی خروجی DAC قرار می گیرد با تکرار این حلقه هر 1 میلی ثانیه یکبار خروجی واحد DAC تغییر می کند که این تغییر موجب تغییر در نور LED می شود.

در انتها می توانید شماتیک مربوط به این جلسه و برنامه (keil , STM32CubeMX)  آنرا دانلود نمایید.

 DAC_Sample_Code

 DAC_Schematic

                                                                                                                                                                    دلتون شاد و لبتون پرخنده

                                                                                                                                                                             محمد هادی دشتی

برای مشاهده آموزش جلسه اول(معرفی هسته آرم و میکروکنترلرهای 32 بیتی شرکت ST  ) کلیک کنید.

برای مشاهده آموزش جلسه دوم( معرفی نرم افزارهای مورد نیازجهت برنامه نویسی و پروگرام  ) کلیک کنید.

برای مشاهده آموزش جلسه سوم( نحوه دانلود آخرین نسخه از نرم افزار STM32CubeMX   ) کلیک کنید.

برای مشاهده آموزش جلسه چهارم(نحوه انجام تنظیمات در نرم افزار STM32CubeMX  ) کلیک کنید.

برای مشاهده آموزش جلسه پنجم(نحوه برنامه نویسی پروژه چشمک زن با نرم افزار Keil ) کلیک کنید.

برای مشاهده آموزش جلسه ششم(نحوه تولید کد و تنظیمات در محیط STM32CubeMX و برنامه نویسی در محیط Keil برای راه اندازی کلید) کلیک کنید.

برای مشاهده آموزش جلسه هفتم(معرفی نرم افزار STM32 Flash Loader Demonstrator و نحوه دانلود برنامه و پروگرام کردن میکرو) کلیک کنید.

برای مشاهده آموزش جلسه هشتم( نحوه راه اندازی ال سی دی کاراکتری-قسمت اول) کلیک کنید.

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

برای مشاهده آموزش جلسه دهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش اول)  ) کلیک کنید.

برای مشاهده آموزش جلسه یازدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش دوم)  ) کلیک کنید.

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

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

برای مشاهده آموزش جلسه چهاردهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی وقفه با تحریک خارجی(جلسه اول) ) کلیک کنید.

برای مشاهده آموزش جلسه پانزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی وقفه با تحریک خارجی (بخش دوم)) کلیک کنید.

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

برای مشاهده آموزش جلسه هفدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی سون سگمنت(بخش دوم)) کلیک کنید.

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

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

برای مشاهده آموزش جلسه بیستم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد PWM(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و یکم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد PWM(بخش دوم)) کلیک کنید.

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

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

برای مشاهده آموزش جلسه بیست و چهارم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و پنجم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش اول)) کلیک کنید.

به سبد خرید اضافه شد.
سبد خرید
Item removed. بازگرداندن