ايران ويج

نسخه‌ی کامل: سوالات ابتدايي در خصوص بسكام و پروتوس
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام به همگي.

يه سري مشكلات ابتدايي دارم كه چون نمي خوام تاپيك هاي اينطوري زياد بزنم ، سوالاتم رو تو اين تاپيك مطرح مي كنم. ممنون مي شم كمك كنيد...
----------------------------------------------
1-برنامه ي يه پروژه ي ساده رو با بسكام نوشتم و بعد تو پروتوس شبيه سازي كردم . اما نتيجه ي دلخواه رو نداد.
يعني روي سومين دستور BITWAIT ايست نمي كنه !!!
فايل هاي .bas و .hex و .dsn رو در لينك زير گذاشتم.

http://www.4shared.com/file/1Q1TIntr/character_LCD.html


2 برنامه نويسي هست كه نتيجه ي هر 2 مشابه است !!
با BITWAIT اول و دوم مشكلي نداره ، اما با سومي ...
بنظرم اگر پروتوس مشكلي نداشته باشه ، تنها زماني همچين اتفاقي مي يفته كه دستورات از BITWAIT دوم تا آخر همگي در يك پالس ساعت انجام بشن !!!
ممنون مي شم كمك كنيد...

--------------------------------------------
2-فرق بين PORTA.0 و PINA.0 چي هست ؟؟
( گاهي اوقات به اشتباه جاي همديگه استفاده مي كنم :دي )
--------------------------------------------
3-پروتوس با دستور WAIT... چه مشكلي داره ؟؟
هر وقت مقداري بيشتر از 1ms استفاده كردم ، جواب نداد ( يعني زمان اش نگذشت )
--------------------------------------------
فعلا همينا ... :دي
ممنون مي شم كمك كنيد. ( تازه وارديم ديگه ... چه كنيم :دي )

1.مشکل از برنامت توی (پرتوس کریستال داخلی به 8M تغییر بده) بین SHIFT ها از DELAY استفاده کن
2......
2. این دوتا فرق زیادی ندارن PORTA.1 اشاره می کنه به اطلاعات پایه که می تونی توی ریجیستر تغییر بدی ولی PIN به پایه سخت افزاری اشاره داره
3. این مشکل از کریستال داخلی میکرو با WAIT مشکل داره نمی تونه با کریستال داخلی باهش دقیق کار کنه کریستال خارجی استفاده کنی درست میشه در ضمن این دستور داری تلورانس بلایی از WAITMS استفاده کن
تاپیک مشابه داشتیم !!!!
نقل قول: 1.مشکل از برنامت توی (پرتوس کریستال داخلی به 8M تغییر بده) بین SHIFT ها از DELAY استفاده کن
2......
2. این دوتا فرق زیادی ندارن PORTA.1 اشاره می کنه به اطلاعات پایه که می تونی توی ریجیستر تغییر بدی ولی PIN به پایه سخت افزاری اشاره داره
3. این مشکل از کریستال داخلی میکرو با WAIT مشکل داره نمی تونه با کریستال داخلی باهش دقیق کار کنه کریستال خارجی استفاده کنی درست میشه در ضمن این دستور داری تلورانس بلایی از WAITMS استفاده کن
ممنون از پاسختون.
1-فركانس Osilator داخلي قسمت CKSEL Fuse مي شه درسته ؟؟!! ( كه خودش روي 1M و بايستي به 8M تغيير پيدا كنه )
من اين كار رو كردم ، اما بدتر شد !! حالا ديگه BITWAIT دومي هم مشكل دار شد !!
2. ايول و عالي بود.
3. احتمالا همينطور كه مي گيد ، اون موقع توجهي به OSILATOR داخلي نداشتم !!
اما يه سري با CRYSTAL خارجي هم امتحان كردم ، فكر كنم جواب نداد !!

حالا چكار كنم ؟؟ خودتون مي تونيد برنامه رو اصلاح كنيد و بعد upload كنيد ؟؟ ( البته تو پروتوس هم يه تست بزنيد :دي )

نقل قول: تاپیک مشابه داشتیم !!!!
ممنون بابت تاپيك . ببخشيد ، به چشم نخورده بود !!
اما سطح اون تاپيك باز از اين تاپيك بالا تره ...
اگه مشكلي نيست ، تو همين يكي ادامه بدييم :دي
يه تست ديگه زدم كه مطمئن شم !! فكر كنم كه فهميدم داستان از چه قرار ...
اينطور كه من فهميدم ...
اون برنامه اولي رو كه نوشتم ( character LCD3 ) تمام BITWAIT هارو براي PINA.6 نوشتم( با شرط هاي مشابه ). از اونجايي كه فركانس كريستال 8000000HZ هست.يعني هر پالس در مدت زمان 1/8000000 ثانيه ايجاد مي شود و اگر هر دستور در 1 پالس انجام بشه... پس ...
زماني كه من BUTTON رو فشار مي دم ( شرط رو برقرار مي كنم ) چون دستور ها ي BITWAIT زياد از هم فاصله ندارن و همگي يك شرط دارن ... با برقراري شرط و در نظر گرفتن زمان اتصال BUTTON... مي تونيم نتيجه بگيريم كه در همان لحظه ي كوتاه اتصال BUTTON ، زمان كافي براي اجراي تمام دستورات در يك لحظه فراهم ميشه و در همان مدت كم هر 3 شرط BITWAIT بر قرار شده و برنامه به پايان خود مي رسد و در عمل ما هيچ چيزي رو نمي تونيم مشاهده كنيم و فكر مي كنيم كه برنامه مشكل داره :دي ( اما برنامه بدون نقص عمل كرده )

براي اينكه مطمئن بشم شرط هاي BITWAIT ها CHECK مي شه ، BUTTON ها رو جدا كردم ( تا مشكل زمان اتصال مرتفع بشه ) ...
و جواب داد ...

[تصویر:  efdw5omphnbwwxj5doaz.jpg]


ادامه بحث و سوالات در اینجا
يه مشكل ديگه !!
با LCD designer يك كاراكتر طراحي كردم و خن رو زدم و ؟ رو به 5 تغيير دادم . . .
اما در شبيه ساز پروتوس چيزي مشاهده نشد !! ( مشكل از پروتوس هست ؟! )
در خط بعدش هم يه متن اضاف كردم ، اما خبري از هيچ كدوم نشد !!
به نظرتون مشكل از كجاست ؟؟
ممكنه اگر مستقيم روي ميكرو ( واقعي ) تست كنم جواب بده ؟؟
اينم متن تيكه ي آخر برنامه ...
Bitwait Pinb.2 , Reset
Cls
Locate 1 , 7
Cursor On
Deflcdchar 5 , 32 , 32 , 32 , 23 , 20 , 22 , 18 , 30 ' replace ? with number (0-7)
Lcd Chr(5)
Lcd "Fin"
End


نقل قول: ادامه بحث در اینجا

ببخشيد آقا رضا ...
پست جديد رو كه زدم ، بعد متوجه شدم كه شما اين پست رو زديد ...

چشم ... پس ادامه ي بحث در [تصویر:  Thread-سوالهای-برنامه-نویسی-با-کامپایلر-BASCOM] !! ( فقط لطفا اونجا جواب بديد )
از چه نوع lcd استفاده می کنی ؟؟؟
رضا جون کشته اقتدارتم....
آقا حامد گل تو عكسي كه گذاشتم معلومه ديگه ( نكنه براي شما شيل ...تره الان پيوست اش مي كنم. )
16*2 هست . كاراكتري.
حامد جان بخاطر اينكه بيشتر از اين شرمنده ي آقا رضا نشم ، ادامه ي بحث رو ببريم اون طرف . ( تاپيك قديميه :دي )
منتظرم ها ... :دي

يا علي