دسته‌بندی نشده

آموزش BASCOM AVR – بسکام – جلسه نهم

خیلی خب 🌟
حالا می‌ریم سراغ جلسه نهم و این بار هم مفصل و کامل می‌نویسم تا شبیه یک فصل آموزشی باشه.


📘 آموزش BASCOM AVR – بسکام – جلسه نهم

 

ارتباط سریال (UART)


۱. مقدمه

در پروژه‌های واقعی، میکروکنترلر باید بتواند با دستگاه‌های دیگر ارتباط برقرار کند. یکی از ساده‌ترین و پرکاربردترین روش‌ها، ارتباط سریال (UART) است.
با UART می‌توانیم داده‌ها را بین میکرو و کامپیوتر یا بین دو میکروکنترلر منتقل کنیم. این روش در ماژول‌های بلوتوث، GPS، GSM و بسیاری از سنسورها استفاده می‌شود.


۲. مفهوم ارتباط سریال

  • داده‌ها به صورت بیت به بیت ارسال می‌شوند.
  • هر بسته شامل:
    • بیت شروع (Start Bit)
    • ۸ بیت داده
    • بیت توقف (Stop Bit)
  • سرعت انتقال داده با Baud Rate مشخص می‌شود (مثلاً 9600 بیت در ثانیه).

۳. پایه‌های UART در ATmega32

  • TXD (PD1): پایه ارسال داده.
  • RXD (PD0): پایه دریافت داده.
  • این پایه‌ها باید به دستگاه دیگر وصل شوند (TX به RX و RX به TX).

۴. کدنویسی در BASCOM

مثال: ارسال داده به کامپیوتر

' پروژه ارسال داده سریال
$regfile = "m32def.dat"
$crystal = 1000000

Config Com1 = 9600 , Synchrone = 0

Do
   Print "Hello PC"
   Wait 1
Loop
End

توضیح: متن “Hello PC” هر ثانیه به کامپیوتر ارسال می‌شود.


مثال: دریافت داده از کامپیوتر

Dim A As String * 10

Config Com1 = 9600 , Synchrone = 0

Do
   Input A
   Lcd A
Loop
End

توضیح: داده‌ای که از کامپیوتر ارسال شود، روی LCD نمایش داده می‌شود.


۵. توضیح خط‌به‌خط کد

  • Config Com1 = 9600 → تنظیم سرعت ارتباط سریال روی 9600 بیت در ثانیه.
  • Print "Text" → ارسال متن به پورت سریال.
  • Input A → دریافت داده و ذخیره در متغیر A.

۶. اتصال به کامپیوتر

  • برای اتصال مستقیم به کامپیوتر باید از مبدل USB به سریال یا MAX232 استفاده کنید.
  • TX میکرو به RX کامپیوتر وصل می‌شود.
  • RX میکرو به TX کامپیوتر وصل می‌شود.
  • زمین مشترک باید برقرار باشد.

۷. پروژه عملی: ارتباط دوطرفه

کد:

Dim A As String * 10

Config Com1 = 9600 , Synchrone = 0

Do
   Input A
   If A = "ON" Then
      Set PORTA.0
   ElseIf A = "OFF" Then
      Reset PORTA.0
   End If
Loop
End

توضیح: اگر از کامپیوتر کلمه “ON” ارسال شود، LED روشن می‌شود. اگر “OFF” ارسال شود، LED خاموش می‌شود.


۸. نکات عملی

  • سرعت (Baud Rate) باید در هر دو دستگاه یکسان باشد.
  • اگر داده‌ها به‌هم‌ریخته نمایش داده شدند، احتمالاً Baud Rate اشتباه است.
  • برای ارتباط با ماژول‌های بلوتوث یا GSM، کافی است همان دستورات سریال را استفاده کنید.

۹. تمرین‌ها

  1. برنامه‌ای بنویسید که متن وارد شده از کامپیوتر را روی LCD نمایش دهد.
  2. یک کنترل از راه دور بسازید که با ارسال دستور از کامپیوتر LED روشن و خاموش شود.
  3. یک برنامه بنویسید که هر بار کلید فشار داده شد، متن “Key Pressed” به کامپیوتر ارسال شود.

نتیجه جلسه نهم

در این جلسه یاد گرفتیم:

  • مفهوم ارتباط سریال (UART).
  • نحوه ارسال و دریافت داده در BASCOM.
  • اتصال میکرو به کامپیوتر با مبدل سریال.
  • پروژه عملی کنترل LED با دستورات سریال.

🔹 جلسه دهم: کار با حافظه EEPROM برای ذخیره داده‌های دائمی مثل رمز عبور یا تنظیمات.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *