برای دیدن متن نوشته ماوس و یا صفحه را به پایین هدایت کنید.
خانه / آموزش الکترونیک / آموزش راه اندازی ماژول / راه اندازی ماژول TM1637 به وسیله میکروکنترلر AVR با کامپایلر بسکام
طراحی برد با Altium Designer آموزش ‎آردوینو Arduino آموزش کنترل روبات با اندروید
آموزش آنالیز مدار با ADS مقدماتی آموزش تحلیل مدار با proteus آموزش نقشه کشی برق صنعتی
تحلیل آنالیز مدار با ADS پیشرفته آموزش مخابرات آنالوگ و دیجیتال آموزش طراحی دیجیتال با Verilog
آموزش مدارهای الکتریکی مقدماتی آموزش مبانی سیستم های مخابراتی‎‎ آموزش شبیه سازی مدار با Cadence
آموزش مدارهای الکتریکی پیشرفته آموزش های رایگان آموزش شبیه سازی مدار با OrCad
آموزش آموزش نرم افزار MAX+PLUS تبلیغات کلیکی سینماتیک مستقیم و معکوس روبات

راه اندازی ماژول TM1637 به وسیله میکروکنترلر AVR با کامپایلر بسکام

بنام دانای مطلق

با سلام و عرض خسته نباشید خدمت همه اساتید ، سروران و همراهان عزیز

این اولین پست منه امیدوارم که مفید واقع بشه و خیلی خوشحال میشم که عزیزان با راهنمایی ها ، انتقادات و پیشنهادهاشون بنده رو در این مسیر یاری کنند .

مطلبی که قصد دارم در اینجا شرح بدم همانطور که از عنوانش مشخص هست راه اندازی ماژول سون سگمنت 4 تایی مبتنی بر تراشه TM1637 در بسکام هست . کتابخانه های این ماژول در آردینو موجود هست ولی متاسفانه در بسکام نه . در ادامه با ما باشید تا راه اندازی ماژول TM1637 را یاد بگیرید.

خب اصل مطلب

اگر عزیزان دیتاشیت تراشه TM1637 رو مطالعه کرده باشند متوجه شدند که این تراشه توانایی :

  • اسکن کیپد 8*2
  • اتصال 6 عدد 8segment
  • 8 مد تنظیم شدت درخشندگی
  • رابط سریال دوسیمه ، TWO Wire (که البته I2C کامل نیست)
  • اسیلاتور RC داخلی
  • ولتاژ کاری 3.5 تا 5 ولت
  • و ….

 

 

می باشد که با مراجعه به دیتا شیت که در این پست موجود هست می توانید بشکل کامل تر با آن آشنا شوید . قصد بنده در اینجا راه اندازی بخش سون سگمنت اونه که در ابتدا به توضی قسمتهایی از دیتاشیت می پردازم و در انتها هم کد نویسیش برای بسکام .

 

نکته اول :

برای شروع ارسال اطلاعات نباید dio و clk در حالت یک منطقی باشند و باید هر دو در حالت 0 منطقی باشند

نکته دوم :

برای شروع ارسال داده ، زمانی که clk  در حالت 1 منطقی است باید dio  از یک منطقی به 0 منطقی تغییر وضعیت دهد .

حتما در ادامه این مطلب را هم بخوانید:  چاپ برد مدار چاپی به روش فویل آلومینیوم

نکته سوم :

برای اتمام ارسال اطلاعات ، زمانی که clk  در حالت 1 منطقی است باید dio  از 0 منطقی به یک منطقی تغییر حالت دهد .نکته چهارم :

TM1637  برای اینکه اطلاعات با دقت و کیفیت بهتری تبادل شود در پایان هر بایت یک سیگنال ACK تولید می کند که به این صورت می باشد که در زمانی clk در کلاک 8 ام لبه پایین رونده را تولید می کند dio  را در حالت 0 منطقی نگه میدارد و در پایان کلاک 9 ام رها می کند و به یک منطقی تغییر وضعیت می دهد .

نکته پنجم :

فرکانس ارتباط با تراشه باید کمتر از 250KHz باشد که همه این موارد در شکلی که در خود دیتاشیت آمده به خوبی نمایش داده شده است

نکته ششم :

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

حتما در ادامه این مطلب را هم بخوانید:  گزارش کار کارگاه PLC

و اما جداول

جدول شماره 1 :

این جدول مربوط به تنظیمات دستوررات مربوط به داده می باشد .

یادآوری : منظور از command 1  مقادیر همین جدول است .

جدول شماره 2 :

این جدول مربوط به آدرس رجیستری های نمایش می باشد .

جدول 3شماره :

این جدول مربوط به تنظیمات درخشندگی نمایشگر می باشد

یاد آوری 1 : این تراشه سون سگنت آند مشترک را پشتیبانی می کند اما باید کد ارسالی را بر حسب سون سگمنت کاتد مشترک محاسبه نمود . در ادامه جدول رجیستری هر کدام از نمایشگر ها را می بینید

یادآوری 2 = تا زمانی که در رجیستری اطلاعات این تراشه مقداری تغییر نکند نمایشگر مقدار قبلی را نمایش میدهد .

یادآوری 3 : حتما فلوچارت های درون دیتاشیت رو مطالعه کنید .

خب بریم سراغ کدنویسی ها

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

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

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

حتما در ادامه این مطلب را هم بخوانید:  مجموعه مقالات آموزش میکروکنترلرهای AVR

زیر روال اول  – زیر روال شروع :

sub strt

set clk
set dout
waitus 2
reset dout

end sub

زیر روال دوم   – زیر روال پایان :

 

sub stp

reset clk
reset dout
waitus 2
set clk
waitus 2
set dout

end sub

زیر روال سوم  – زیر روال ACK :

sub ak

reset clk
waitus 2
set clk
waitus 2
if din = 1 then
send address
ak
send num
ak
end if

end sub

 

زیر روال چهارم – زیر روال ارسال :

Sub send

For bt = 0 To 7
Reset Clk
Dout = num.bt
Waitus 2
Set Clk
Waitus 2
Next num_bt

End Sub

خب تا اینجا هر آنچه که لازم بود برای راه اندازی این ماژول مطرح شد . در ادامه چند نمونه سورس اضافه می کنم که امید وارم مفید باشه

در انتها نیز از همه شما عزیزان کمال تشکر رو دارم که حوصله به خرج دادید و بسیار بسیار خوشحال میشم که من رو در این مسیر با انتقادات ، پیشنهادها و راهنمایی هاتون کمک کنید .

با تشکر

اللهم جعل عواقب امورنا خیرا

در پناه حق تعالی

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

سورس دوم نمایش عدد 5678 به روش مد آدرس ثابت

شرمنده از دوستان فراموش کردم دیتاشیت تراشه رو بذارم و الان میذارم
TM1637

مطالبق مرتبط :

دانلود کتاب آموزش AVR به زبان بیسیک

پروژه های ساعت

دانلود بسکام BASCOM AVR

درباره ی سجاد قدری

پاسخ دهید

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

16 − دو =