کد:
call display_brightness
خط فوق میتواند نمایشگر را روشن یا خاموش کند و زمان روشن بودن نور اون را ضعیف یا قوی کند برای این کار مقدار متغییر brightness_level را مشخص کنید
مطابق فایل pdf صفحه 5 آیتم 7.3 display control
به عنوان نمونه اگر شما مقدار باینری 10001000 را بدهید نمایشگر با کمترین نور روشن میشود
بیت صفر تا 3 مشخص کننده مقدار روشنایی 000 کمترین و 111 بیشترین هست
بیت 4 مشخص کننده روشن یا خاموش بودن نمایشگر است
----------------------------------------------------------------
این دستور همه ریجسترها برای نمایش را صفر میکند یا همون خاموش
----------------------------------------------------------------
این دستور باعث میشود مقداری در یک سون سگمت روشن شود
برای این کار متغییر pos را به عنوان شماره سون سگمنت مشخص کنید و یکی از اعداد 0 یا 2 یا 4 یا 6 یا 8 یا 10 یا 12 یا 14 را دهید.
برای اینکه روی سون سگمنت مشخص شده چه مقداری نمایش داده شود متغییر num را عددی بین 0 تا 255 دهید. که صفر باعث میشه هیچ چیزی نمایش داده نشود.
برای روشن کردن ال ای دی های بالای ماژول مقدار متغییر pos را یکی از عددهای 1 یا 3 یا 5 یا 7 یا 9 یا 11 یا 13 یا 15 دهید
برای خاموش شدن num را صفر دهید و برای روشن شدن یک
بعد از اینکه دو متغییر num و pos را مقدار دهی کردید دستور زیر را اجرا کنید
--------------------------------------------------------------------
برای اسکن کردن و مشخص شدن فشرده شدن کلیدهای روی ماژول کافی است خط زیر را اجرا کنید
این دستور متغییر key را تغییر میدهد و عددی بین 0 تا 255 به شما برمیگرداند که 8 بیتی است و هر بیت مشخص کننده یک کلید است که فشرده شده یا نه
عدد 0 به منزله فشرده نشدن هیچ کلید
عدد 1 به منزله فشرده شدن کلید اول
عدد 2 به منزله فشرده شدن کلید دوم
عدد 4 ... فشرده شدن کلید سوم
عدد 8 .... فشرده شدن کلید چهار
و .....
اگر مجموع 4 و 2 یعنی شش باشد یعنی کلید دوم و سوم با هم فشرده شده
-------------------------------------------
خیلی مبتدینا توضیح دادم امیدوارم همه متوجه شده باشند.
منظور از فایل pdf دیتاشیت آی سی روی برد ماژول هست به شماره mt1638
اتصال پایه های ماژول به میکروکنترلر
porta.5 به dio ماژول وصل شده، شما میتوانید این پایه رو تغییر دهید. ولی اگر تغییر دادید فراموش نکنید این پایه هم به عنوان خروجی و هم ورودی در زمان اسکن کلیدها استفاده شده است، پس حتما pina.5 را هم تغییر دهید و همچنین گزینه ddra.5 را مطابق پایه انتخابی جدید خودتان تغییر دهید
نکته مهم: در ساب keyscan اگر پایه ای از میکرو که به پایه dio ماژول وصل شده بدرستی بصورت ورودی هنگام اسکن کلیدها تعریف نشود خطایی پیش نمیاد اما ممکنه باعث آسیب به ماژول یا میکرو شود برای این کار دو خط ddra.5=0 و ddra.5=1 را که نشان میدهد من پایه 5 از پورت a را وصل کردم به dio ماژول، رو مطابق پایه ای که خودتان وصل کردید تغییر دهید.
پایه porta.6 از میکرو به پایه clk ماژول وصل شود و به صورت خروجی تعریف شود.
پایه stb از ماژول به یک پایه porta.7 از میکرو وصل شود و خروجی تعریف شود.