ايران ويج

نسخه‌ی کامل: علت کم شدن سرعت اجرای دستورات هنگام استفاده از دستورات eeprom
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام رفقا
بالاخره موفق شدم یه برنامه با eeprom بنویسم که داده هارو ذخیره کنه موقع قطع تغذیه.برنامه اینه:
کد php:
$regfile "m8def.dat"

$crystal 1000000

P Alias Portb

Dim P 
As Byte





Config Pinb.0 
Output
Config Pinb.1 
Output
Config Pinb.2 
Output

Config Pind.0 
Input
Config Pind.1 
Input
Config Pind.2 
Input




Readeeprom P 
8





Do

Debounce Pind.0 Sub
Debounce Pind.1 
Sub
Debounce Pind.2 
Sub
Loop

End

 
'end program

Q:
Toggle Portb.0

Writeeeprom P , 8
Waitms 4
Return

H:
Toggle Portb.1
Writeeeprom P , 8
Waitms 4
Return

F:
Toggle Portb.2
Writeeeprom P , 8
Waitms 4
Return 
ولی مشکل اینجاست که سرعت toggle شدن خروجی ها کم شدن نسبت به زمانی که از دستورات eeprom استفاده نکرده بودم.من می خوام تا کلید زده شد خروجیها toggle بشن
سلام
شما مطمئنید سرعتشون پایینه؟ این که من میبینم خیلی هم خوبه !
راست میگه این دوستمون.
خب حالا فرکانس کاری میکرو رو به 8مگ تغییر بده.
(۱۴-اسفند-۱۳۹۱, ۰۷:۱۲:۱۶)h.unique نوشته است: [ -> ]راست میگه این دوستمون.
خب حالا فرکانس کاری میکرو رو به 8مگ تغییر بده.
همینکارو کردم .البته فرکانسو 4 مگ کردم . اما میکرو قاطی کرد .پین های خروجیش تن تن چشمک میزدن .به فیوز بیت ها هم دست نزدم.همون میکرو برداشتم
earaseکردم یه برنامه ساده چشمک زن نوشتم اسیلاتور میکرو تنظیم کردم رو کریستال 4مگ خارجی وکریستالشو وصل کردم دیگه خروجی چشمک نزد فقط روشن باقی موند .نمی دونم چرا اینجوری شد؟ دو تا میکرو خراب کردم تو این گرونی سرسام آور.
نمیدونم اگه بخوام میکرو رو اسیلاتور RC داخلی 4 مگ تنظیم کنم نوشتن دستور کفایت میکنه یا باید فیوز بیت ها رو هم تغییر بدم ؟؟
[attachment=8867]

(۱۴-اسفند-۱۳۹۱, ۰۳:۵۷:۱۸)live_1389 نوشته است: [ -> ]سلام
شما مطمئنید سرعتشون پایینه؟ این که من میبینم خیلی هم خوبه !
بله مطمئنم .تو پروتیوس خوب جواب میده ولی در عمل خیلی کنده
نقل قول: earaseکردم یه برنامه ساده چشمک زن نوشتم اسیلاتور میکرو تنظیم کردم رو کریستال 4مگ خارجی وکریستالشو وصل کردم دیگه خروجی چشمک نزد فقط روشن باقی موند .نمی دونم چرا اینجوری شد؟ دو تا میکرو خراب کردم تو این گرونی سرسام آور.
خب متمانی که کریستال رو درست وصل کردی؟خازن واسش گذاشتی؟
نقل قول: نمیدونم اگه بخوام میکرو رو اسیلاتور RC داخلی 4 مگ تنظیم کنم نوشتن دستور کفایت میکنه یا باید فیوز بیت ها رو هم تغییر بدم ؟؟
نه باید یوز بیت هارو خم تنظیم کنی.
یه کاری کن.از فیوز بیت هایی که تنظیم کردی یه عکس بگیر و اینحا بزار ببینیم که آیا درست تنظیم کردی یا نه!
سلام مهندس ممنون که اهمیت میدی و کمک میکنی.دستت درد نکنه تا حالا چند بار کارمو راه انداختی.
این عکس برنامه واسطه که من فقط اونایی که دورش خط کشیدمو تغییر دادم بقیش پیش فرضه .در ضمن اون میکروهایی که این حالت براشون پیش اومده فیوز بیت boden کار میکنه و میکرو تو 3 ولت ریست میشه پس اگه boden کار میکنه فکر نمی کنم آی سی خراب شده باشه درسته مهندس ؟
اون دفه که رو 4 مگ تنظیم کردم .دیگه فیوز بیت هارو تغییر ندادم.فکر کنم همون کارو خراب کرده .
بعد از اون بود که فکر کردم شاید خود به خود رو کریستال خارجی تنظیم شده بعد اومدم فیوز بیت هایی که تو عکس دورش خط کشیدمو تغییر دادم و یک کریستال 4 مگ .که البته نمیدونم 4 مگ یا نه (4.000) اینجوری روش نوشته. وصل کردم به xtal 1و xtal2 و دو تا خازن 10 پیکو گذاشتم .
بودا منیم بیر ماجرام
نقل قول: سلام مهندس ممنون که اهمیت میدی و کمک میکنی.دستت درد نکنه تا حالا چند بار کارمو راه انداختی.
انجام وظیفه کردم رئیس.
این عکسی رو که من گذاشتم شما با توجه به اون تیک ها فیوز بیت هارو تنظیم کنم.
اونایی تیک خوردن یعنی 1 و اونایی که خالی هستن یعنی 0.
اگه عکس رو هم متوجه نشدی به این صورت میشه.
ستون سمت چپ از بالا به پایین:
0
1
1
0
0
0
1
1
ستون بعدی:
1
1
0
1
1
0
0
1
ستون آخر ( از دست راست اول )
همرو 0 کن.
حالا اگه اسم این نرم افزار که باهاش پروگرام میکنی رو بگی تو همون محیط هم واست عکس میگیرم و قرار میدم ( آخه اسمش رو فراموش کردم ).
progisp1.68 این اسم نرم افزاره
متوجه شدم چیکار کردی. راستی اگه فیوز بیتو رو کریستال خارجی تنظیم کنم دوباره میشه از اسیلاتور داخلی خود میکرو استفاده کنم ؟
نه دیگه نمیشه.
حتی اگه کریستال خارجی بزاری و کریستال رو درست بهش وصل نکنی دیگه پروگرام هم نمیشه!
الآن شما به اون صورت که من گفتم تنظیمش کن.
بعد نتیجه رو همین جا بگو.
فیوزبیت هارو طبق شکل تنظیم کردم یعنی رو 4 مگ داخلی .اما بازهم سرعت toggle شدن خروجی مثل قبل کند بود . اومدم تاخیر زمانی 4 میلی ثانیه که بعد از هر دستور eeprom گذاشته بودمو پاک کردم درست شد .تو سایت دیدم که این تاخیر بایدحتما وجود باشه اما برنامه من درست کار میکنه . آخرشم نفهمیدم این تاخیر باید باشه یا نه؟؟اگه باید باشه چرا این برنامه درست کار میکنه؟
(۱۶-اسفند-۱۳۹۱, ۱۶:۴۴:۰۹)hamed_458 نوشته است: [ -> ]فیوزبیت هارو طبق شکل تنظیم کردم یعنی رو 4 مگ داخلی .اما بازهم سرعت toggle شدن خروجی مثل قبل کند بود . اومدم تاخیر زمانی 4 میلی ثانیه که بعد از هر دستور eeprom گذاشته بودمو پاک کردم درست شد .تو سایت دیدم که این تاخیر بایدحتما وجود باشه اما برنامه من درست کار میکنه . آخرشم نفهمیدم این تاخیر باید باشه یا نه؟؟اگه باید باشه چرا این برنامه درست کار میکنه؟

اشکالو کارو فهمیدم اصلا ربطی هم به تاخیر نداره .فقط کافیه یه دستور
کد:
config debounce =5
به اول برنامه اضافه بشه .پیش فرضش 30 میلی ثانیه است .چون من با ترانزیستور به جای کلید استفاده می کردم 30 میلی براش خیلی زیاد بود [/size]
صفحه‌ها: 1 2