ايران ويج

نسخه‌ی کامل: چگونگی ذخیره اطلاعات در میکرو
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
با سلام
چگونه میتونم اطلاعات رو در میکرو ذخیره کنم و با روشن و خاموش شدن میکرو اطلاعات حذف نشود.
با تشکر
یه متغیر تو EEPROM بگیر و اطلاعاتت رو اونجا ذخیره کن و موقع بالا آمدن میکرو از اونجا بخون !!!!
با اجازه جناب t3r!p3000

اگه قبل از تعریف کردن هر متغیری نام eeprom بذاری اون مقدار توی eeprom ذخیره میشه و دیگه با ریست شدن میکرو و یا خاموش شدنش پاک نمی شه.
با اجازه اساتید فن
البته این کار ساده است اما یه ریزه کاریه کوچیک داره
شما مستقیما نمی تونی تیه متغیر از نوع eeprom بنویسی یا نمیتونی توحلقه for قرارش بدی حتی به عنوان انتها.
باید یه متغیر دقیقا هم نوع خودش داشته باشی و اطلاعاتتو بریزی تو اون بعد متغیر eeprom رو مساوی اون متغیر عادیت کنی.
که توصیه میکنم به این شکل عمل کنی:
dim e_Numb as Eprom Integer
dim Temp_Numb as Integer

Temp_Numb=e_Numb
Temp_numb=Temp_numb+123
e_Numb=Temp_numb
همید وارم کافی باشه در زمن تو help بسکام هم همین چیزارو کمی کلیتر میتونی ببینی
[/align]
این نکته رو هم باید بگم که دستور زیر اشتباهه !:

کد php:
dim e_Numb as Eprom Integer 

و باید تو بسکام اینو وارد کنی !
کد php:
dim e_Numb as Eram Integer 
یه چیز که تو برنامه دوست عزیز سجاد جان رعایت شده ولی اشاره نکردن رو میگم شاید متوجه نشده باشین ( خودم این مشکل رو داشتم ! )

برای کار با اییپرام داخلی میکرو باید به ازاری هر متفیر که تو این حافظه تعریف می کنید یک دانه هم در فلش تعریف کنید و تمامی اعمال رو بر رون آن انجام دهید و سپس مقدار اییپرامی را برابر آن قرار دهید !
(۰۱-دى-۱۳۸۸, ۲۲:۱۳:۵۳)t3r!p3000 نوشته است: [ -> ]این نکته رو هم باید بگم که دستور زیر اشتباهه !:

کد php:
dim e_Numb as Eprom Integer 

و باید تو بسکام اینو وارد کنی !
کد php:
dim e_Numb as Eram Integer 

ممنون از تذکرتون اما موقع نوشتناین تاپیک سرکار بودم و ذهنی نوشتم. شرمنده
(۰۱-دى-۱۳۸۸, ۲۲:۴۱:۰۳)mehrdadgh نوشته است: [ -> ]یه چیز که تو برنامه دوست عزیز سجاد جان رعایت شده ولی اشاره نکردن رو میگم شاید متوجه نشده باشین ( خودم این مشکل رو داشتم ! )

برای کار با اییپرام داخلی میکرو باید به ازاری هر متفیر که تو این حافظه تعریف می کنید یک دانه هم در فلش تعریف کنید و تمامی اعمال رو بر رون آن انجام دهید و سپس مقدار اییپرامی را برابر آن قرار دهید !

ببخشید من سعیدجان هستم نه سجاد حان
من هم دنبال اين موضوع بودم !
خوب اگه توي eram بريزيم كه بعد از هر روشن خاموشي 0 ميشه مقدارش؟!؟!؟!؟!

خوب بزاريد بگم من هم چي ميخوام.

من ميخوام يك شمارنده اي براي اي وي آر تعريف كنم كه مثلا اگه 4 بار اين دستگاه كار كرد .دفعه پنجم روي ال سي دي بنويسه END

حالا كدي كه در نظرم هست رو مينويسم و دوستان عزيز لطفا" كاملش كنن. ممنونم/
کد:
$regfile ="m16def.dat"
$Crystal =8000000
Config lcd ...
Config lcdpin...
Dim Z as eram byte
Dim A as byte
A=A+1
Z=A
If Z=4 Then
Cls:Lcd"End"
wait 1
goto etmam
Endif

Do
cls:Lcd"Hello"
wait 1
Locate 2,1 : Lcd"World"
wait 1
Loop
Etmam:
End 'end program
برنامت که درسته فقط شرط رو به جای 4 , 5 بذار !

و بهتره مقدار متغیر زد رو دوباره تو یه متغییر معمولی رم بریزی و بعد تستش کنی !!!!
( مثلا زد رو دوباره بریز تو آ و بعد آ رو تست کن )

اینوطری شاید بهتر باشه :

کد php:
Dim Ez As Eram Byte As Byte

Ez
If 255 Then Z 0

Incr Z 
Ez Z

If 5 Then:
   
Cls Lcd "End"
   
End
End 
If

Do
   
cls:Lcd"Hello"
   
wait 1
   Locate 2
,Lcd"World"
   
wait 1
Loop 
در زماني كه ميكرو خاموش بشه اين اعداد در حافظش ميمونه؟
صفحه‌ها: 1 2