اطلاعیه

Collapse
No announcement yet.

مدار جذر گرفتن

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مدار جذر گرفتن

    سلام

    من یه مدار می خوام طراحی کنم که با استفاده از یه میکرو AVR و یک صفحه کلید ،

    عددی را به عنوان ورودی بگیره و جذر عدد را در LCD نمایش بده !!! فقط عدد صحیح بگیره و فقط صحیح نمایش بده نیازی به قسمت اعشار نیست ...

    اگه ممکنه کمکم کنید ...

    #2
    پاسخ : مدار جذر گرفتن

    با کمال میل

    بفرمایید در کدام قسمت کمک میخواهید ؟

    این برای قسمت LCD :
    http://www.4shared.com/file/11627113/8bb90b57/lcd.html
    و این برای keyboard:
    http://www.4shared.com/file/11627316/f8572bb6/keyboard.html
    شما برای keyboard از یک پورت دیگه مثل A استفاده کن که با LCD تداخل نداشته باشه.

    برنامه اش رو هم شروع کن .... سوالی داشتی بپرس

    دیدگاه


      #3
      پاسخ : مدار جذر گرفتن

      سلام
      من برنامه رو نوشتم تو proteus هم تستش کردم کار کرد ...

      کد نویسی اون هم به زبان bascom برای avr هستش :
      $regfile = "M16def.dat"
      $crystal = 4000000


      Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.6 , Rs = Portd.7
      Config Lcd = 16 * 2
      Config Adc = Single , Prescaler = Auto , Reference = Avcc
      Config Kbd = Porta , Debounce = 40

      Start Adc
      Dim Y As Long
      Dim Keyread As Byte
      Dim Key As Byte
      Dim Code As Word
      Dim Digits As Byte
      Dim Point As Byte


      Begin:
      Cls
      Locate 1 , 1
      Lcd "Namber : "
      Code = 0
      Digits = 0
      Point = 0

      Do
      Keyread = Getkbd()
      If Keyread = 14 Then Gosub Begin
      If Keyread = 12 Then Gosub Show
      If Keyread <> 16 Then
      If Keyread <> 12 Then
      If Keyread <> 14 Then
      Gosub Gotkey
      End If
      End If
      End If

      Waitms 100
      Loop


      Gotkey:
      Ddrd = 255
      Key = Lookup(keyread , Dta)

      Incr Digits
      Point = Digits + 9
      Locate 1 , Point
      Lcd Key
      Code = Code * 10
      Code = Code + Key

      Return

      Dta:
      Data 1 , 2 , 3 , 0 , 4 , 5 , 6 , 0 , 7 , 8 , 9 , 0 , 0 , 0 , 0 , 0

      Show:

      Y = Sqr(code)
      Locate 2 , 1
      Lcd Y
      Return

      دیدگاه


        #4
        پاسخ : مدار جذر گرفتن

        سلام

        الان فقط من یه مشکل دارم که برای جذر گرفتن ...
        میشه که جذر عدد منو تا دو رقم اعشار نشون بده یا نه ؟؟؟اگه میشه چه جوری باید این کارو بکونم ...

        یه چیزه دیگه اینکه جزء صحیح یک عدد تو Bascom با چه دستوری هستش ؟؟؟؟

        اگه کمکم کنید ممنون میشم

        دیدگاه


          #5
          پاسخ : مدار جذر گرفتن

          dim y as single
          y=sqr(code)

          lcd Fusing(w , "#.##&quot

          با دستور fusing میتونی تا چند رقم اعشار را نشان بدی.

          دیدگاه

          لطفا صبر کنید...
          X