آموزش 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، کافی است همان دستورات سریال را استفاده کنید.
۹. تمرینها
- برنامهای بنویسید که متن وارد شده از کامپیوتر را روی LCD نمایش دهد.
- یک کنترل از راه دور بسازید که با ارسال دستور از کامپیوتر LED روشن و خاموش شود.
- یک برنامه بنویسید که هر بار کلید فشار داده شد، متن “Key Pressed” به کامپیوتر ارسال شود.
نتیجه جلسه نهم
در این جلسه یاد گرفتیم:
- مفهوم ارتباط سریال (UART).
- نحوه ارسال و دریافت داده در BASCOM.
- اتصال میکرو به کامپیوتر با مبدل سریال.
- پروژه عملی کنترل LED با دستورات سریال.
🔹 جلسه دهم: کار با حافظه EEPROM برای ذخیره دادههای دائمی مثل رمز عبور یا تنظیمات.