ايران ويج

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

دوستان گرامی امیدوارم حالتون خوب باشه . امروز من و مدیر قسمت ویژوال بیسیک
crazyfull جان تصمیم گرفتیم . که یه ماشین حساب درست کنیم . ولی دوست عزیزم بخاطر اینکه مشغول هستن فقط قسمت برنامه نویسیش رو به عهده گرفتن . ولی من چون نا آشنا هستم از دوستانی که در این ضمینه اطلاعاتی دارن ممنون میشم که کمک کنند و بگن چه چیز هایی مورد نیاز هستش .

با تشکر ;
واسه شروع من این برنامه رو می ذارم :

فقط چهار عمل اصلی هستش و برنامشو نصف روزه نوشتم !!

کد php:
$regfile = "M8DEF.dat" : $crystal = 1000000

Config Lcdpin 
= Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.1 , Db7 = Pinb.0 , E = Pinb.4 , Rs = Pinb.5
Config Lcd 
= 40 * 2 : Cls

Config Kbd 
= Portd , Debounce = 20 [delay = 100]

Dim Kb As Byte , B As Byte , Num1 As Long , Num2 As Long , F As Byte , W As Long

Star
:

   
Cls : Cursor Blink

   
Do
      
Gosub Scankey
      
If Kb < 10 And Num1 < 100000000 Then :
         If 
Kb <> 0 Or Num1 <> 0 Then :
            
Num1 = Num1 * 10 : Num1 = Num1 + Kb : Lcd Kb
         End 
If
      Elseif 
Kb > 20 And Kb < 25 Then :
         
F = Kb : Goto Ant
      
Elseif Kb = 15 Then : Goto Star
      End 
If
   
Loop

Ant
:

   If 
F = 21 Then : Lcd "+"
   
Elseif F = 22 Then : Lcd "-"
   
Elseif F = 23 Then : Lcd "*"
   
Elseif F = 24 Then : Lcd "/"
   
End If

   Do
      
Gosub Scankey
      
If Kb < 10 And Num2 < 100000000 Then :
         If 
Kb <> 0 Or Num2 <> 0 Then :
            
Num2 = Num2 * 10 : Num2 = Num2 + Kb : Lcd Kb
         End 
If
      Elseif 
Kb = 20 Then : Goto Mosavi
      
Elseif Kb = 15 Then : Goto Star
      End 
If
   
Loop

Mosavi
:

   
Home L
   Lcd 
"=" : Cursor Off
   
If F = 21 Then : W = Num1 + Num2
   
Elseif F = 22 Then : W = Num1 - Num2
   
Elseif F = 23 Then : W = Num1 * Num2
   
Elseif F = 24 Then : W = Num1 / Num2
   End 
If
   
Lcd W ; "                "

   
Do
      
Gosub Scankey
      
If Kb = 15 Then Goto Star
   Loop

Scankey
:
   Do
      
B = Getkbd()
   
Loop Until B = 16
   
Do
      
B = Getkbd()
   
Loop Until B < 16
   Kb 
= Lookup(b , Lookupscankey)
Return
Lookupscankey:
Data 7 , 4 , 1 , 15 , 8 , 5 , 2 , 0 , 9 , 6 , 3 , 20 , 24 , 23 , 22 , 21 

اینم نقشه برنامه فوق :
[تصویر:  3o3s285w8anjz6txyrnc_thumb.png]

و برنامه و فایل پروتئوس :
CALCULATOR_ANT.rar - 16.7 Kb

و ایرادش اینه که یکم تو رقم های بالا دچار ایراد می شه !
متاسفانه من رشتم ریاضیه . اگه میشه یکم با جزییات بیشتر توضیح بدید که باید چکار کنم . ممنون .
کار خواصی نمی خواد !

عدد ها رو بگیر و با توجه به کلید عملیاتی ریاضی کار مورد نظر رو انجام بده !!!!

به همین راحتی !

همه کارهای ریاضی ( مثل سینوس و لگاریتم ) رو خود بسکام تابعش رو داره !!!!
از نحوه انتخاب مکان پستتون معلومه که ریاد با الکترونیک آشنا نیستی
بهتره یه سری به کتاب آقای سهید یک نفر بزنید و یک ماهی رو با با کتاب ایشون کلنجار بری تا ...

کلا به قول علی کارتون زیاد سخت نیست و نمونه برنامه ای که علی تریپ گذاشته خیلی می تونه کمکتون کنه
من فکر می کنم اگه قرار باشه فرمول بگیره احتیاج به یه سیتیم عامل داره و به این راحتیا نیست مگر اینکه چندتا فرمول ثابت از قبل داشته باشه و فقطس عدد گذاری کنه
البته در نظر داشته باشین که مثلا سری TI تگزاس که کاملا همه کار می کنن از میکرو های سری 68k استفاده می کنن.

قبول دارم که شدیدا تنبل و بی انگیزه شدم ! حدود 2 سال هست که می خوام چند پروژه رو توو اینترنت اپن سورس و با کمک مردم شروع کنم، اما اصلا دلم به کار نمی ره ! (شاید دلیلش عدم استقبال هم باشه ) یکیش همین ماشین حساب با میکرو هست ! با کمترین هزینه ماشین حساب کافی برای خودتون بسازین !
جوونی کجایی که یادش بخیر !

می تونین عملگر ها رو تعریف کنین و در کنار ضرب و تقسیم ، سینوس کسینویس ... هم بگذارین و ترتیب دکمه ها رو ذخیره کنین، حالا با هر ورودی ، فرمول محاسبه شه
http://elec4u.ir/index.php?option=com_co...codevision

ماشین حساب مهندسی با AVR
[تصویر:  1.JPG][تصویر:  2.JPG][تصویر:  3.JPG]
ماشين حساب با قابليت حل انتگرال با avr مهران نريمي سا 09137417412