ايران ويج

نسخه‌ی کامل: تبدیل BYTE به دیگر متغیرها و بلعکس
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام
من برنامه ای نوشته ام که میتونه اعداد از پی پد گرفته و پشت سرهم قرار دهد . اما چون جنس متغیر از نوع BYTE میباشد فقط به اندازه 255 ظرفیت دارد و اعداد بالای آن نمیتواند ذخیره کند و یا به صورتی دیگر ذخیره میکند
کمک کنید یا متغیری تعریف کنم که هم کیپد بتواند در آن عدد وارد کند و یا اعداد ازجنس بایت بتوان وارد متغیرهایی مثل WORD یا STRING و یا ... کرد و یا به هم تبدیل کرد.
با تشکر

$regfile = "m16def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = _
Portd.3 , E = Portd.4 , Rs = Portd.5

Config Kbd = Porta , Debounce = 50 , Delay = 255
Dim A As Byte
Cls
Home

Main:
A = Getkbd()
A = Lookup(a , Read_key)
If A > 15 Then
Goto Main
Else
End If
Select Case A
Case 0 To 15:
Cls
Lcd A
Waitms 1
Do
A = Getkbd()
A = Lookup(a , Read_key)
If A < 16 Then
Loop
Else
End If
Cls
Lcd " next"
Waitms 500
End Select
Goto Main
End



Read_key:
Data 13 , 14 , 0 , 15 , 12 , 9 , 8 , 7 , 11 , 6 , 5 , 4 , 10 , 3 , 2 , 1
HappyClapHappyClapHeart
سلام
روش های دیگری هم برای راه اندازی کی پد وجود داره که بجای دستور getkbd
می تونید استفاده کنید.
به تاپیک پروژه های بدون شرح برید، از دوستان انواع روش های راه اندازی کی پد رو گذاشتن که میتونه کمکتون کنه.
دستورايي كه نوشتين ، بنظر كمي مشكل دارن ، مثلا در يه خط نوشتيد else if و شرطي براش نزاشتيد.
كلا كاري كه شما داري انجام مي دي ، نمايش روي LCD هست و اين عدد رو در يه متغيير نداري.
شما اگر اعداد بين 0-9 رو فقط از key pad مي گيري ، مي توني يه قاعده بذاري كه عدد اول يكان ، 2ومي 10گان ، 3ومي 100گان و ...
بعد كه خواستي اين عدد رو در يه متغيير جا كني ، يكان + دهگان*10 + صدگان*100 مي كني و در يه متغيير ذخيرش مي كني.
داده ها را در همون متغيير A كه از نوع Byte هست مي گيري ، اما بعد در يه متغيير B كه از نوع long يا word هست ذخيرهه مي كني كه عدد بزرگتري بتوني ذخيره كني.
از string هم مي شه استفاده كرد و اما متغييرش حجم بيشتري نسبت به روش قبلي مي گيرهه ، بايد كار با تابع هايي كه كار تبديل بين متغيير ها رو هم انجام مي دن بلد باشي.
يا از توي help بسكام يا از توي كتاب آقاي 1nafar كه به صورت PDF در همين سايت قابل دانلود هست ، مي تونيد با اين توابع آشنا بشينيد.

لينك كتاب:
http://www.iranled.com/forum/thread-10869.html

موفق باشيد.