سلام
پروژه من يک ماشين حساب با ميکروکنترلر 8051 هست و LCD که استفاه مي کنم 1*16 هست و اين پروژه من توي Proteus اجرا ميشه و درست هم کار ميکنه ولي وقتي که اونو روي بردبورد ميبندم فقط هشت کاراکتر سمت چپش روشن ميشه، و اونا را فقط نشون ميده، من LCD ديگه هم استفاده کردم و باز همون حالت اتفاق افتاد، مدلي که روي LCD من نوشته TS1610-1 هست فقط اونطور که به من گفتن بايد اين LCD رو بصورت دو خطه استفاده کنم ولي من متوجه نشدم که يعني چي؟ اگه بتونيد کمکي به من بکيند واقعا ممونم ميشم.
من نمونه هایی از این lcd ها رو به 8052 اتصال دادم و شماره هاشون رو هم نمیدونم و با همین مشکل شما روبرو شدم و یا اینکه چند تا از حرف ها رو فقط نشون میده اونم اشتباه و یا جابه جا
اولا شما ماتریس lcd رو برایش تعریف کردین معمولا ماتریس lcd ها 5*7 هستش و ثانیا باید ببینی که lcd که خریدی بیت پرچم داره یا نه بعضی از lcd ها وقتی که در زمان انجام یه کاری مشغول هستند یه بیت پرچم دارن که 0 میکنن و وقتی سرشون خلوت بشه اونو 1 می کنن شما باید ببینی اگه ال سی دی شما بیت پرچم داره اونو همواره چک کنی یه راه دیگه هم هست که اصلا نیاز به این ها نداشته باشه که من خودم اینجوری ال سی دی راه اند ازی می کنم اونم اینه که اصلا بیت پرچم رو چک نکنی و با پایین آوردن سرعت تبادل اطلاعات به ال سی دی مهلت بدی شما میتونی در هر بار فرستادن اطلاعات به میکرو به تاخیر 200 تا 500 میلی ثانیه ای تو کار بندازی و یا از کریستال میکرو با سرعت پایینی استفاده کنی که همون تاخیر انداختن بهتره
اینجوری دیگه تو مدل ال سی دی شک نمیکنی که بیت پرچم داره یا نه
از اينکه به سوالم جواب داديد متشکرم
اين السيدي که من خريدم بيت پرچم داره، و برنامهاي که براش تعريف شده بود، هم بيت پرچم رو چک ميکرد و هم تاخير کافي در اختيار LCD ميذاشت، البته من مشکلمو با خريد يک LCD 2*16 حل کردم، و اين LCD بدون هيچ مشکلي و حتي با يک خط اضافي که خيلي هم بدردم خورد کارمو راه انداخت. البته من ماشين حسابي که به عنوان مثال در پروتئوس بکار رفته رو به عنوان پروژه
براي خودم انتخاب کردم که با کمي تغييرات و اضافه کردن بعضي چيزا!!! ولي مشکل ديگهاي که بهش برخوردم اينکه وقتيک اين برنامه رو روي ميکرو پروگرم ميکنم و اجراش ميکنم متني که من نوشتم درست مياد ولي متن خود ماشين حساب التبه اعداد خود ماشين حساب بصورت کاراکتري که همهی 5*7 ماتريس رو اشغال کرده ظاهر ميشه يعني بجاي عدد که بايد نشون بده خونه هاي ماتريسي بصورت تمام روشن ميشن!!!!؟؟؟
سلام
شما باید توی برنامه ببینی که اعداد که می خوای نمایش بدی با عدد (30h) جمع شدن یا نه اگه اینطور نبود باید اون عددی رو که میخوای روی ال سی دی نمایش بدی با عدد (30h ) جمعش کنی تا به اسکی تبدیل بشه و بعد اونو روی ال سی دی نمایش بدی
یعنی اگه بخوای عدد 5 رو نمایش بدی باید اونو با 30h جمع کنی و بعد بفرستیش
رو ال سی دی