سلام . یه مدار با ال سی دی اجرا کردم .کریستال رو هم 20 مگا گذاشتم اما مقادیر روی ال سی دی بهم میریزه .ولی وقتی با 8 مگاهرتز کار میکنم مشکلی نداره .موقع پروگرم کریستال همHS انتخاب کردم.نرم افزار هم میکرو بیسیکه .(؟؟؟؟)
اطلاعیه
Collapse
No announcement yet.
کریستال 20 مگا هرتز +16f877a
Collapse
X
-
پاسخ : کریستال 20 مگا هرتز +16f877a
با سلام
سرعت ال سی دی محدوده و برای هر بار نوشتن توی اون چون سرعت میکرو زیاده کامپایلر یه تاخیر توی هر بار ارسال ایجاد می کنه که ال سی دی هنگ نکنه و دیتا درست ارسال شه
حالا اومدی شما توی برنامه تعریف کردی کرستال 8 مگ پس کامپایلر میاد بر مبنای 8 مگ یه تاخیر مثلا 1 میکرو ثانیه برای هربار ارسال قرار میده
ولی وقتی شما کریستال 20 مگ میزاری و توی برنامه مشخص نمی کنی کریستال 20 مگه کامپایلر تاخیر رو برمبنای همون 8 مگ محاسبه می کنه در صورتی که تاخیر شما در واقع شده 8/20=0.4 ، 0.4 مقدار واقعی یعنی قبلا برای ارسال هربار دیتا به ال سی دی 1 میکرو ثانیه تاخیر داشتیم ولی الان 0.4 میکرو ثانیه تاخیر داریم و اینجوری ال سی دی قاطی می کنه
برای رفع مشکل مقدار کریستال واقعی و مقدار مشخص شده برای کامپایلر باید برابر باشه.(وقتی 20 مگ میزاری برنامتم با 20 مگ کامپایلر کن)
موفق باشی :bye
-
پاسخ : کریستال 20 مگا هرتز +16f877a
ببین عزیز،
توی EDIT PROJECT فرکانس مورد نظر رو بصورت سخت افزاری توی میکرو تعریف میکنی و توی PROJECT SETTING هم مقدارش رو به کامپایلر اطلاع میدی تا محاسبات تاخیر رو بر اساس اون انجام بده. اگه این دو تا به هم یکسان تعریف بشن باید تاخیر ها درست اجرا بشه. شما موقع پروگرام کردن هم فیوز بیت ها رو چک کن تا درست باشن. بعضی پروگرامر ها مثل نوآوران NUP-113 ، فیوز بیتها رو از فایل پروژه لود نمیکنن.
ویرایش: خازنهای بای پس هم بیش از 15 پیکو باشن. ضمنا شما میتونی با دادن یه خروجی به LED، تاخیر رو چک کنی. نظر آقای ملک حسینی کاملا درسته، ولی ممکنه اشکال از جای دیگه ای هم باشه.کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.
دیدگاه
دیدگاه