ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2015/08/11
    تهران
    165
    19

    مشکل در برنامه(زبان بیسیک)

    دوستان سلام
    من می خوام وقتی ورودی ADCبرابر2.5 ولت شد یه پایه روresetکنم ووقتی هم برابر 0.5 ولت شد یه پایه دیگه رو reset کنم ووقتی برابر 1.5 ولت شد 2 پایه روset کنم ایا برنامه ای که نوشتم صحیح است؟


    $regfile = "m8def.dat"
    $crystal = 8000000


    Config Portc.0 = Output
    Config Portb = Output
    Config Portc.1 = Output
    Config Adc = Single , Prescaler = Auto,


    Dim A As Word , B As Word
    Enable Adc
    Start Adc


    Do
    A = Getadc(5)
    Waitms 82
    B = A


    If B > 512 Then
    Portc.1 = 0
    End If


    If B = 300 Then
    Portc.1 = 1
    Portc.0 = 0
    End If


    If B < 102 Then
    Portc.0 = 0
    End If


    Loop
    End 'end program
    همچون دیود ی ام که با ورق معکوس روزگار شکسته شده ام
  2. #2
    2013/04/09
    1,178
    264

    پاسخ : مشکل در برنامه(زبان بیسیک)

    نقل قول نوشته اصلی توسط mohammad daraie
    دوستان سلام
    من می خوام وقتی ورودی ADCبرابر2.5 ولت شد یه پایه روresetکنم ووقتی هم برابر 0.5 ولت شد یه پایه دیگه رو reset کنم ووقتی برابر 1.5 ولت شد 2 پایه روset کنم ایا برنامه ای که نوشتم صحیح است؟


    $regfile = "m8def.dat"
    $crystal = 8000000


    Config Portc.0 = Output
    Config Portb = Output
    Config Portc.1 = Output
    Config Adc = Single , Prescaler = Auto,


    Dim A As Word , B As Word
    Enable Adc
    Start Adc


    Do
    A = Getadc(5)
    Waitms 82
    B = A


    If B > 512 Then
    Portc.1 = 0
    End If


    If B = 300 Then
    Portc.1 = 1
    Portc.0 = 0
    End If


    If B < 102 Then
    Portc.0 = 0
    End If


    Loop
    End 'end program

    سلام

    ظاهره که درسته ولی اون عدد 300 رو هم بکنید 307 که درستر میشه

    یه نکته هم بگم که شما وقتی ولتاژتون 1.5 ولت میشه تو برنامه نوشتید که پورت سی در 1 رو یک کن و پورت سی در 0 رو صفر کن این با گفتتون در تضاد هست
    برد جوجه کشی:Hidden Content

    Hidden Content
    Hidden Content Hidden Content توجه:
    این برد نیمه صنعتی و خانگی هست...
    برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

    آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@
  3. #3
    2015/08/11
    تهران
    165
    19

    پاسخ : مشکل در برنامه(زبان بیسیک)

    نقل قول نوشته اصلی توسط mohammad...

    سلام

    ظاهره که درسته ولی اون عدد 300 رو هم بکنید 307 که درستر میشه

    یه نکته هم بگم که شما وقتی ولتاژتون 1.5 ولت میشه تو برنامه نوشتید که پورت سی در 1 رو یک کن و پورت سی در 0 رو صفر کن این با گفتتون در تضاد هست
    مرسی ممنون بابت توضیحات. اون یه تیکه که شما ذکر کردین رو حواسم نبود اشتباه نوشتم
    بعد یک سوال دیگه خروجی lm35 به ازای هر درجه افزایش 10 ميلي افزایش پیدا میکنه درسته؟پس باید اعداد رو تقسیم بر 10 کنم تا یه صفرش بره
    همچون دیود ی ام که با ورق معکوس روزگار شکسته شده ام
  4. #4
    2013/04/09
    1,178
    264

    پاسخ : مشکل در برنامه(زبان بیسیک)

    نقل قول نوشته اصلی توسط mohammad daraie
    مرسی ممنون بابت توضیحات. اون یه تیکه که شما ذکر کردین رو حواسم نبود اشتباه نوشتم
    بعد یک سوال دیگه خروجی lm35 به ازای هر درجه افزایش 10 ميلي افزایش پیدا میکنه درسته؟پس باید اعداد رو تقسیم بر 10 کنم تا یه صفرش بره
    خواهش می کنم دوست عزیز

    بله خروجی lm35 به ازای هر یک درجه 10 میلی ولت افزایش پیدا می کنه مقدار ولتاژ خروجی lm35 در دمای صفر درجه برابر با صفر ولت هست و در دمای 150 درجه برابر با 1.5 ولت هست

    اینکه عدد خونده شده از adc رو بر چه عددی تقسیم کنید این بر می گرده به ولتاژ رفرنس adc
    اگر ولتاژ رفرنس رو خارجی تنظیم کنید و 5 ولت بهش وصل کنید اگر به adc ولتاژ 5 ولت برسه خروجیش میشه 1023 یعنی دیگه ماکزیمم عدد همینه حالا اگر ولتاژ خروجی سنسور در دمای 150 درجه بهتون 1.5 ولت میده مقداری که adc می خونه برابر است با 306.9 ( رابطه بدست اوردن بدین صورت است که ولتاژ خونده شده از adc ضربدر ماکزیمم عدد adc و بعد جواب تقسیم بر ولتاژ رفرنس که ما 5 ولت در نظر گرفتیم >>>>> چون دقت adc ما 10 بیت هست 2 به توان 10 میشه 1024 و یکی کم می کنیم میشه 1023 که این ماکزیمم دقت adc هست >>>>پس میشه 1.5*1023 که جوابش میشه 306.9حالا این 306.9 رو تقسیم بر 150 می کنیم که میاد 2.046 که این عدد همون عددی هست که باید مقدار adc خونده شده تقسیم بر این عدد بشه تا دمای واقعی رو بهت بده )
    ولی شاید از رفرنس داخلی خود میکرو استفاده کنی که برابر هست با 2.56 ولت و عددی که برای 150 درجه خونده میشه برابره با 599.41 که این عدد رو بر 150 درجه تقسیم می کنیم جواب میشه 3.99 که عدد خونده شده از adc باید به این عدد تقسیم بشه تا مقدار واقعی دما رو بده

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

    باز اگر مشکلی بود در خدمتم
    برد جوجه کشی:Hidden Content

    Hidden Content
    Hidden Content Hidden Content توجه:
    این برد نیمه صنعتی و خانگی هست...
    برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

    آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@
  5. #5
    2015/08/11
    تهران
    165
    19

    پاسخ : مشکل در برنامه(زبان بیسیک)

    نقل قول نوشته اصلی توسط mohammad...
    خواهش می کنم دوست عزیز

    بله خروجی lm35 به ازای هر یک درجه 10 میلی ولت افزایش پیدا می کنه مقدار ولتاژ خروجی lm35 در دمای صفر درجه برابر با صفر ولت هست و در دمای 150 درجه برابر با 1.5 ولت هست

    اینکه عدد خونده شده از adc رو بر چه عددی تقسیم کنید این بر می گرده به ولتاژ رفرنس adc
    اگر ولتاژ رفرنس رو خارجی تنظیم کنید و 5 ولت بهش وصل کنید اگر به adc ولتاژ 5 ولت برسه خروجیش میشه 1023 یعنی دیگه ماکزیمم عدد همینه حالا اگر ولتاژ خروجی سنسور در دمای 150 درجه بهتون 1.5 ولت میده مقداری که adc می خونه برابر است با 306.9 ( رابطه بدست اوردن بدین صورت است که ولتاژ خونده شده از adc ضربدر ماکزیمم عدد adc و بعد جواب تقسیم بر ولتاژ رفرنس که ما 5 ولت در نظر گرفتیم >>>>> چون دقت adc ما 10 بیت هست 2 به توان 10 میشه 1024 و یکی کم می کنیم میشه 1023 که این ماکزیمم دقت adc هست >>>>پس میشه 1.5*1023 که جوابش میشه 306.9حالا این 306.9 رو تقسیم بر 150 می کنیم که میاد 2.046 که این عدد همون عددی هست که باید مقدار adc خونده شده تقسیم بر این عدد بشه تا دمای واقعی رو بهت بده )
    ولی شاید از رفرنس داخلی خود میکرو استفاده کنی که برابر هست با 2.56 ولت و عددی که برای 150 درجه خونده میشه برابره با 599.41 که این عدد رو بر 150 درجه تقسیم می کنیم جواب میشه 3.99 که عدد خونده شده از adc باید به این عدد تقسیم بشه تا مقدار واقعی دما رو بده

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

    باز اگر مشکلی بود در خدمتم
    من تو برنامه رفرنس رو معرفی نکردم آیا خود میکرو متوجه میشه رفرنس خارجیه؟؟؟؟ وپایه aref مربوط به رفرنس خارجیه درسته؟ اونو زدم به vcc
    پس باید دما رو با ولتاژ 5 ولت تناسب بزنم
    همچون دیود ی ام که با ورق معکوس روزگار شکسته شده ام
  6. #6
    2013/04/09
    1,178
    264

    پاسخ : مشکل در برنامه(زبان بیسیک)

    نقل قول نوشته اصلی توسط mohammad daraie

    من تو برنامه رفرنس رو معرفی نکردم آیا خود میکرو متوجه میشه رفرنس خارجیه؟؟؟؟ وپایه aref مربوط به رفرنس خارجیه درسته؟ اونو زدم به vcc
    پس باید دما رو با ولتاژ 5 ولت تناسب بزنم
    شما برای اینکه بتونی ولتاژ مورد نظر خودتو بدی باید تو برنامه adc رو بر روی aref قرار بدی در این صورت ولتاژی که به aref وصل میشه همون ولتاژ مرجع هست که نسبت به این ولتاژ نمونه برداری انجام میشه کلا در هر صورت که از adc استفاده کنی باید پایه avcc به تغذیه میکرو وصل بشه

    کد زیر کانفیگ adc بر روی پایه avcc هست یعنی همون تغذیه میکرو که 5 ولته نمونه برداری نسبت به ولتاژ 5 ولت صورت خواهد گرفت فقط هنگام نصب هم از فیلتر rc استفاده کن تا نویز کمتر شه

    [code=c]Config Adc = Single , Prescaler = Auto , Reference = Avcc [/code]

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

    http://www.eca.ir/forum2/index.php?topic=86475.0
    برد جوجه کشی:Hidden Content

    Hidden Content
    Hidden Content Hidden Content توجه:
    این برد نیمه صنعتی و خانگی هست...
    برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

    آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. نکته ای به برنامه نویسان به زبان بیسیک
    توسط sheperd در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2015/07/22, 01:31
  2. تحلیل یه برنامه به زبان بیسیک
    توسط رسول21 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2013/04/02, 16:48
  3. برنامه ماژول آلتراسونیک به زبان بیسیک
    توسط axiom در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2012/09/02, 12:44
  4. مشکل در برنامه نویسی به زبان بیسیک
    توسط mohammadjavid2 در انجمن برنامه نویسی و اینترفیس
    پاسخ: 2
    آخرين نوشته: 2012/04/11, 21:09
  5. برنامه ثانیه شمار به زبان بیسیک(بسکام)
    توسط download2 در انجمن میکروکنترلرهای AVR
    پاسخ: 21
    آخرين نوشته: 2011/12/18, 22:03

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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