1 ضمیمه
	
	
		برنامه ماشین حساب با bascom
	
	
		سلام بر دوستان عزیز میخاستم ببینم کسی برنامه ماشین حساب اعشاری رو نداره من خودم یه معمولیش رو دارم که اینجا میذارم
$[
	نقل قول:
	
		
		
			regfile = "m16def.dat"
$crystal = 1000000
Config Kbd = Portd , Debounce = 30
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.3 , E = Portb.2
Dim A As Byte
Dim B As Byte
Dim Key As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Dim F As Byte
Cls
Cursor Off
Locate 2 , 1
Lcd "avrprojects.info"
E = 0
B = 0
Q:
Waitms 200
'B = 0
A = Getkbd()
If A > 15 Then
      Goto Q
   Else
    Key = Lookup(a , Dta)
    If Key <= 9 Then
        D = 0
        B = 10 * B
        B = B + Key
    If E = 0 Then C = B
    If E = 1 Then D = B
            Cls : Lcd B
      Elseif Key = 10 Then
            Cls
            F = 1
            E = 1
            B = 0
      Elseif Key = 11 Then
            Cls
            E = 1
            F = 2
            B = 0
      Elseif Key = 12 Then
            Cls
            E = 1
            F = 3
            B = 0
      Elseif Key = 15 Then
            Cls
            E = 1
            F = 4
            B = 0
      Elseif Key = 13 Then
            Cls
            E = 0
            B = 0
      Elseif Key = 14 Then
          If E = 1 Then
               Cls
             Select Case F
               Case 1 :
                  B = C / D
               Case 2:
                  B = C * D
               Case 3:
                  B = C - D
               Case 4:
                  B = C + D
            End Select
          Lcd B
       End If
     End If
 End If
Locate 2 , 1
Lcd "avrprojects.info"
 Goto Q
End
Dta:
Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15
			
		
	
 
	 
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
		سلام من این برنامه رو به اعشاری تغییر دادم ولی مشکلی که داره اینه که به جای 3.2 
3.1999 نشون میده کسی نمیدونه چیکار کنم درست بشه
	نقل قول:
	
		
		
			
$regfile = "m16def.dat"
$crystal = 1000000
Config Kbd = Portd , Debounce = 30
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.3 , E = Portb.2
Deflcdchar Print , 16 , 32 , 32 , 32 , 32 , 32 , 32 , 32    ' replace ? with number (0)
Dim A As Byte
Dim B As Single
Dim Key As Byte
Dim C As Single
Dim D As Single
Dim E As Byte
Dim F As Byte
Dim Flag As Byte
Dim H As Single
Dim H2 As Single
Cls
Cursor Off
Locate 2 , 1
Lcd "avrprojects.info"
E = 0
B = 0
Flag = 0
H = 1
H2 = 0
Q:
Waitms 200
'B = 0
A = Getkbd()
If A > 15 Then
      Goto Q
   Else
    Key = Lookup(a , Dta)
    If Key <= 9 And Flag = 0 Then
        D = 0
        B = 10 * B
        B = B + Key
    If E = 0 Then C = B
    If E = 1 Then D = B
            Cls : Lcd B
    Elseif Key <= 9 And Flag = 1 Then
            Cls
            H = H * 0.1
            H2 = H * Key
              B = B + H2
              Lcd B
              If E = 0 Then C = B
              If E = 1 Then D = B
      Elseif Key = 10 Then
            Cls
            Flag = 0
            F = 1
            E = 1
            B = 0
      Elseif Key = 11 Then
            Cls
            Flag = 0
            E = 1
            F = 2
            B = 0
      Elseif Key = 12 Then
            Cls
            Flag = 0
            E = 1
            F = 3
            B = 0
      Elseif Key = 15 Then
             Flag = 1
      Elseif Key = 13 Then
            Cls
            Flag = 0
            E = 0
            B = 0
            H = 1
      Elseif Key = 14 Then
          If E = 1 Then
               Cls
             Select Case F
               Case 1 :
                  B = C / D
               Case 2:
                  B = C * D
               Case 3:
                  B = C - D
            End Select
          Lcd B
       End If
     End If
 End If
Locate 2 , 1
Lcd "avrprojects.info"
 Goto Q
End
Dta:
Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15
			
		
	 
 
	 
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
		چه موقعی 3.1999 نشون میده ؟ بعد از عملیات که توش تقسیم داره  یا همیشه؟
	 
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
		چرا بسکام خوب بیسیک کلا زبان خوبی نیست و من هرچی تلاش می کردم یاد نگرفتم با c خیلی راحت میشه نوشت!!!!
	 
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
		این اشکال به خاطر خود زبان basic هست که برای اعداد ممیز شناور همیشه یه مقدار خطا ایجاد میکنه .
برای اطلاعات بیشتر ، تو لینک زیر ،  از Floating-Point Complications به بعد رو بخونید :
http://avrhelp.mcselec.com/index.htm...ndamentals.htm
	 
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
		پس راه حلی برای رفعش نیست؟
	 
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
		
	نقل قول:
	
		
		
			
				نوشته شده توسط 
nilofar9925
				
			 
			پس راه حلی برای رفعش نیست؟
			
		
	 
 من که گفتم راه حلش رو با c بنویس!!!!
	 
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
		نمیشه با ز c بنویسم چون این پروژه ازمایشگاه ریزپردازندس که از اول ترم با بسکام کار کردیم و باید با بسکام بنویسیم
	 
	
	
	
		نقل قول: برنامه ماشین حساب با bascom
	
	
		سلام توی این لینک 2 تا ماشین حساب هست یکی معمولی با بسکام یکی مهندسی با کدویژن http://forum.elec4u.ir/thread-t-24.html