parniaznet 12 اشتراک گذاری ارسال شده در 12 مرداد، ۱۳۹۱ عنوان: پروژه تابلو روان توسط کیبورد و LCD پروژه تابلو روان توسط کیبورد و LCD، در اینجا قصد تا شما را با مدار متفاوتی نسبت به سایر مدارات آشنا کنم، در این مدار با استفاده از LCD متنی و کیبورد کامپیوتر تابلو روان ساده اما جالبی ساخته شده. در این مدار شما با نحوه ارتباط صفحه کلید استاندارد با میکروکنترولر آشنا میشوید و خواهید دید که چگونه برای دستورInput و Print در محیط بسکام که بطور عادی ورودی را از پورت سریال دریافت میکنند و نتیجه را بر روی پورت سریال ارسال میکنند. ورودی را کیبورد تعریف کنیم و خروجی راLCD کنیم. به عبارت دیگر شما با تایپ توسط کیبورد نتیجه تایپ را بر روی LCD مشاهده میکنید. جهت اتصال میکرو به کیبورد در محیط بسکام از نمونه برنامه و مداری که شرکت Atmel پیشنهاد کرده باید استفاده نمود و بسکام نیز بر اساس همین توصیه توابع کیبورد را عملی ساخته. در مدار پیشنهادی Atmel خواسته شده که پین Clock کیبورد را به یکی از پایههای وقفههای خارجی INT0 یا INT1 متصل نمود و پین Data را به یکی دیگر از پایههای ورودی میکرو متصل شود. البته در بسکام فقط مجاز به اتصال پین دیتا کیبورد به یکی از پینهای پورت D هستید و سپس توسط دستور Config پایههای مربوطه را در برنامه تعریف میکنید. همانطور که میدانید زمانی که کلیدی از صفحه کلید فشار داده میشود کدی از سوی کیبورد ارسال میشود و این کد به اسکن کد معروف است و البته این کد هیچ ارتباطی با عمل کلید زده شده و یا کد اسکی کاراکتر تایپ شده ندارد. لذا باید ما توسط یک جدول کد دریافتی از سوی میکرو را به کد اسکی تبدیل کنیم و یا در مورد کلیدهای کنترلی، تابع کلید را تشخیص دهیم. به این نکته هم توجه داشته باشید که زمانی که کلیدی فشار داده میشود یک کد ارسال میشود و در زمان رها کردن هم کد دیگری ارسال میگردد که ۱۲۸ واحد از کد فشردن کلید بزرگتر است. مثلا اگر کد فشردن کلیدی ۳ باشد کد رها کردن آن ۱۳۱=۳+۱۲۸ خواهد بود. از طرفی برخلاف تصور عامه فرقی بین کلیدها در هنگام نگه داشتن دکمه Shift و یا فعال کردن Caps Lock نیست و کامپیوتر و یا میکرو خود با توجه به کدهای ارسالی ، تعابیر مختلفی از یک کلید با توجه به کدهای ارسالی قبلی دارند. اما در این برنامه برای راحتی هر چه بیشتر ما دستورات Input و Print را که بصورت استاندارد برای کار بر روی پورت سریال استفاده میشوند را به LCD بعنوان خروجی و کیبورد به عنوان ورودی ارتباط داده ایم. برای اینکه بتوان چنین کاری انجام داد باید حتما روالی را که به صورت پیش فرض برای این دستورات اجرا میشود را تغییر داده و خودمان بنویسیم که من در این برنامه از همان روال پیشنهادی بسکام استفاده کردم که متن روال به زبان اسمبلی در انتهای برنامه آمده است. از طرفی هم برای تعریف این روالها به کمپایلر بسکام حتما باید دستور serialinput = Kbdinput$ برای تعریف روال کیبورد بعنوان ورودی بکار برد. البته نام روال کاملا اختباری است. و همچنین برای اینکه خروجی این دستورات بر روی LCD باشد باید دستور serialinput2lcd$ را بکار برد. بله با همین چند ترفند ساده بدون نیاز به برنامه نویسی پیچیده شما میتوانید کیبورد و LCD را به مدار خود اضافه کنید. ادامه برنامه از دستورات ساده ای تشکیل شده که من از توضیح آنها خودداری میکنم و به شما میسپارم. به نقل از : سایت مهندس لاچینی برای دریافت فایل برنامه به همراه نقشه مدار از لینک دانلود زیر استفاده نمایید . . . لینک دانلود: دانلود رایگان با لینک مستقیم پسورد: www.noandishaan.com 2 لینک به دیدگاه
ارسال های توصیه شده