سلام دوستان
برای ما یه مساله جالبی پیش اومده گفتم اینجا مطرح کنم شاید دلیلی برای این مساله پیدا بشه
ما در یک پروژه ساده ای از یک ATMEGA16 استفاده کرده ایم
تو این پروژه چهار پین (7 , 6 , 5 , 4) از PORTA با توجه به اطلاعات وارد شده از KEYPAD کنترل می شوند.
(رله ای را قطع و وصل می کنند)
بعد از یک روز کارکرد ، این میکرو دیگه خروجی اول یعنی PORTA.7 کار نمی کنه ( صفر یا یک نمیشه) :eek:
بعد از یک مدت سر و کله زدن به صورت کاملاً اتفاقی متوجه شدم که اگر پایه 40 میکرو یا همون PORTA.0
رو به VCC متصل کنم میکرو درست کار می کنه !!!

تازه مساله جالبی که وجود داشت این بود که تا وقتی که پایه 40 رو به 5+ وصل نکرده بودم و برنامه اولیه هم
تو فلش میکرو بود سایر قسمت های برنامه مثل LCD و KEYPAD درست کار می کردند و فقط خروجی اول وجود نداشت
ولی وقتی تو همون حالت (پایه 40 آزاد) من همون برنامه رو دوباره تو میکرو پروگرم کردم دیگه LCD و KEYPAD هم کار نکردند !!!

ولی وقتی پایه 40 رو به 5+ وصل کردم برنامه ای که تازه پروگرم کرده بودم هم کار کرد !!! :eek:
یاد آوری می کنم که کل پورت A به عنوان خروجی تعریف شده !
کامپایلر هم CodeVisionAVR 1.25.9 Full هستش
شما نظری در این رابطه ندارید ؟ ممنون :rolleyes:
دیدگاه