نمایش نتایج 1 تا 11 از 11

نام تاپیک: برنامه ماشین حساب با bascom

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1388
    پست
    45
    تشکر کردن
    36
    12 بار تشکر شده در 11 پست

    برنامه ماشین حساب با 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
    عکس های ضمیمه عکس های ضمیمه  

  2. کاربرانی که به خاطر مطلب مفید nilofar9925 از وی تشکر کرده‌اند:


  3. #2
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1388
    پست
    45
    تشکر کردن
    36
    12 بار تشکر شده در 11 پست

    نقل قول: برنامه ماشین حساب با 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




  4. کاربرانی که به خاطر مطلب مفید nilofar9925 از وی تشکر کرده‌اند:


  5. #3
    VIP آواتار farzadsw
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    پست
    380
    تشکر کردن
    58
    357 بار تشکر شده در 177 پست

    نقل قول: برنامه ماشین حساب با bascom

    چه موقعی 3.1999 نشون میده ؟ بعد از عملیات که توش تقسیم داره یا همیشه؟

  6. #4
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1388
    پست
    45
    تشکر کردن
    36
    12 بار تشکر شده در 11 پست

    نقل قول: برنامه ماشین حساب با bascom

    همیشه این طوری نشون میده

  7. کاربرانی که به خاطر مطلب مفید nilofar9925 از وی تشکر کرده‌اند:


  8. #5
    کاربر تازه وارد آواتار mhmmdshirazi
    تاریخ عضویت
    مهر 1387
    محل زندگی
    tehran
    سن
    24
    پست
    79
    تشکر کردن
    7
    26 بار تشکر شده در 20 پست

    نقل قول: برنامه ماشین حساب با bascom

    چرا بسکام خوب بیسیک کلا زبان خوبی نیست و من هرچی تلاش می کردم یاد نگرفتم با c خیلی راحت میشه نوشت!!!!

  9. #6
    VIP آواتار farzadsw
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    پست
    380
    تشکر کردن
    58
    357 بار تشکر شده در 177 پست

    نقل قول: برنامه ماشین حساب با bascom

    این اشکال به خاطر خود زبان basic هست که برای اعداد ممیز شناور همیشه یه مقدار خطا ایجاد میکنه .
    برای اطلاعات بیشتر ، تو لینک زیر ، از Floating-Point Complications به بعد رو بخونید :
    http://avrhelp.mcselec.com/index.htm...ndamentals.htm

  10. کاربرانی که به خاطر مطلب مفید farzadsw از وی تشکر کرده‌اند:


  11. #7
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1388
    پست
    45
    تشکر کردن
    36
    12 بار تشکر شده در 11 پست

    نقل قول: برنامه ماشین حساب با bascom

    پس راه حلی برای رفعش نیست؟

  12. کاربرانی که به خاطر مطلب مفید nilofar9925 از وی تشکر کرده‌اند:


  13. #8
    کاربر تازه وارد آواتار mhmmdshirazi
    تاریخ عضویت
    مهر 1387
    محل زندگی
    tehran
    سن
    24
    پست
    79
    تشکر کردن
    7
    26 بار تشکر شده در 20 پست

    نقل قول: برنامه ماشین حساب با bascom

    نقل قول نوشته شده توسط nilofar9925 مشاهده تاپیک
    پس راه حلی برای رفعش نیست؟
    من که گفتم راه حلش رو با c بنویس!!!!

  14. #9
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1388
    پست
    45
    تشکر کردن
    36
    12 بار تشکر شده در 11 پست

    نقل قول: برنامه ماشین حساب با bascom

    نمیشه با ز c بنویسم چون این پروژه ازمایشگاه ریزپردازندس که از اول ترم با بسکام کار کردیم و باید با بسکام بنویسیم

  15. کاربرانی که به خاطر مطلب مفید nilofar9925 از وی تشکر کرده‌اند:


  16. #10
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1388
    پست
    45
    تشکر کردن
    36
    12 بار تشکر شده در 11 پست

    نقل قول: برنامه ماشین حساب با bascom

    سلام توی این لینک 2 تا ماشین حساب هست یکی معمولی با بسکام یکی مهندسی با کدویژن http://forum.elec4u.ir/thread-t-24.html

  17. 2 کاربر از nilofar9925 به خاطر این مطلب مفید تشکر کرده اند:


  18. #11
    کاربر جدید
    تاریخ عضویت
    آذر 1395
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست
    مشکل اعداد داشت درست کردم فقط تا 1 رقم اعشار میشه اگه خواشتید بیشتر نشون بده دستور lcd fusing (b,"#.###")
    بزنید پروتوس همون نقشه بالایی هست.موفق باشید
    $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 "adad ra vared konid"
    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 Fusing(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 "adad ra vared konid"

    Goto Q
    End
    Dta:
    Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •