اطلاعیه

Collapse
No announcement yet.

ایجاد تغییر در برنامه دماسنج

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

    ایجاد تغییر در برنامه دماسنج

    سلام من یه بر نامه دما سنج دارم که میخوام هر 3 ساعت یه بیت از خروجی رو به مدت 10ثانیه 1 کنه
    ولی چون خودم زیاد با bascom آشنا نبودم نمی دونم باید چیکار کنم .

    #2
    پاسخ : ایجاد تغییر در برنامه دماسنج

    اینم برنامه دماسنج با smt160
    '--------------------------------main-------------------------------------------
    $regfile = "m16def.dat"
    $crystal = 100000
    '-------------------------------lcd---------------------------------------------
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Rs = Pind.0 , E = Pind.1 , Db4 = Pind.2 , Db5 = Pind.3 , Db6 = Pind.4 , Db7 = Pind.5
    '--------------------------------dim-------------------------------------------
    Dim Yazdkit_reset As Word
    Dim Yazdkit_set As Word
    Dim Temp As Single
    Dim Duty As Single
    Dim X As Integer

    '-------------------------------------------------------------------------------
    Config Timer1 = Timer , Prescale = 1
    Enable Timer1
    '--------------------------------main------------------------------------------
    Config Pinb.2 = Input
    '------------------------------------------------------------------------------
    Cursor Off
    Cls
    Locate 1 , 5
    Lcd "Hello"
    Locate 2 , 1
    Lcd "mohsen"
    Waitms 100
    Cls

    Smt160:
    Do
    Gosub Read_data_sm160
    Locate 1 , 1
    Lcd "T= " ; Temp ; "c ";
    Wait 1
    Loop

    '-------------------------------------------------------------------------------
    Read_data_sm160:
    Bitwait Pina.2 , Set
    Bitwait Pina.2 , Reset
    Bitwait Pina.2 , Set
    Bitwait Pina.2 , Reset
    Bitwait Pina.2 , Set
    Bitwait Pina.2 , Reset
    Stop Timer1


    Bitwait Pina.2 , Set
    Timer1 = 0
    Start Timer1
    Bitwait Pinb.2 , Reset
    'Xl = Timer1
    Yazdkit_set = Timer1


    Timer1 = 0
    Start Timer1
    Bitwait Pina.2 , Set
    'Xf = Timer1
    Yazdkit_reset = Timer1

    X = Yazdkit_set + Yazdkit_reset
    Duty = Yazdkit_set / X

    Duty = Duty - 0.32
    Waitms 1
    Temp = Duty / 0.0047
    Waitms 1
    Locate 1 , 1
    Temp = Round(temp)
    Stop Timer1
    Return

    دیدگاه


      #3
      پاسخ : ایجاد تغییر در برنامه دماسنج

      اگه از یزدکیت گرفتی پس درسته.
      توی همین انجمن هم با smt160 بچه ها کار کردن.
      اما مدار ساعت رو باید براش در نظر بگیری:
      یا باید از rtc داخلی استفاده کنی یا از rtc خارجی.
      انا لله و انا الیه الراجعون

      دیدگاه


        #4
        پاسخ : ایجاد تغییر در برنامه دماسنج

        با تشکر اگه ممکنه توضیح بیشتری بدین.

        دیدگاه


          #5
          پاسخ : ایجاد تغییر در برنامه دماسنج

          خب اینکه با بسکام آشنا نیستی کارو سخت می کنه.
          در واقع طبق خواسته ات شما یه مدار ترکیبی داری:
          ساعت+دماسنج
          و خدا رو شکر توی انجمن درباره هردوتا زیاد بحث شده ولی می فکر می کنم شما اول باید یه مدار ساعت داشته باشی
          که من پیشنهاد م کنم از rtc داخلی خود میکروکنترلر استفاده کنی.
          باید درباره تایمرهای میکرو مطالعه کنی.
          من هم با smt160 کار نکردم ولی فکر نکنم سخت باشه.
          انا لله و انا الیه الراجعون

          دیدگاه

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