اطلاعیه

Collapse
No announcement yet.

مشکل با نمایش مقدار دما در ال سی دی کاراکتری

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

    مشکل با نمایش مقدار دما در ال سی دی کاراکتری

    سلام
    من برنامه رو کامل بدون خطا نوشتم و همه موارد رو درست رفتم جلو ولی نمی دونم چرا روی ال سی دی فقط علامت سوال میاد؟
    مگا 8
    سنسور دما lm35
    کد:
    while (1)
       {     
       
       d = read_adc(0);
       vol = (5*d)/1023;
       temp = vol*10;
       itoa(temp,s);
       lcd_gotoxy(0,0);
       lcd_puts(s);
        
       }

    #2
    پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

    احتمال داره سنسور سوخته شده باشه؟

    دیدگاه


      #3
      پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

      سلام
      برای اطمینان دستور itoa را حذف کنید و مستقیما temp رو نشون بدید تو lcd ببینید چی جواب میده بعضا این دستور مشکل ایجاد میکنه
      telgram:09396888049

      دیدگاه


        #4
        پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

        مقدار temp عددی هست lcd رشته ای نشون میده ؟؟!!!!

        دیدگاه


          #5
          پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

          سلام
          شما ابتدا بانشان دادن متن از سالم بودنlcd مطمعن بشید.

          دیدگاه


            #6
            پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

            از دستور sprintf استفاده کنید
            متغیر d که عددی هست بین 0 و 1023 و به تبع اون temp هم یک عدد اعشاری میشه
            با دستور sprintf متغیر temp رو به همراه یک رشته دلخواه توی یک str بریزید بعد رشته حاصل رو با دستور lcd_puts نمایش بدید
            همونطور که دوستمون فرمودن اول با نمایش یک متن از سالم بودن lcd و اتصالات مطمئن بشید
            telgram:09396888049

            دیدگاه


              #7
              پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

              سلام.
              لینک زیر شاید کمک کنه :
              http://fresh2refresh.com/c/c-type-casting/c-itoa-function/
              1-
              stdlib.h رو تعریف کردید در اوّل برنامتون ؟!
              2- فرمت کد itoa :
              char * itoa ( int value, char * str, int base );
              3- کار نشد نداره.
              4- اگر خیلی دیگه اذیت کرد از sprintf استفاده کنید. با sprintf میتونید دما رو به صورت اعشاری هم نشون بدید. و اینکه این دستور قسمت اعشاری رو گرد هم میکنه.
              مثلاً میتونید 33.456 درجه سانتی گراد رو روی lcd نشون بدید.
              کد اسکی علامت درجه هم میشه 0xf8 میشه : اینم یه نکته واسه قشنگی عبارت روی Lcd تون :smile:

              دیدگاه


                #8
                پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

                مشکل رو پیدا کردم .
                میگم شاید ی موقعی یکی هم این براش پیش بیاد.
                من ال سی دی رو به صورت ویزاردی روی پروت b گذاشته بودم .فکر کردم خودش شناخته ولی ابن طور نبود و باید کد اسمبلی رو می گذاشتم .
                قبل از void من پورت رو تنطیم می کنم روی b
                کد:
                                   #asm
                  .equ __lcd_port=0x18 ;PORTB
                #endasm

                دیدگاه


                  #9
                  پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

                  بعد از حل شدن مشکل ال سی دی .
                  الان مساله دوم اینکه دما رو صفر نشون میده ؟
                  ایراد از کجاست ؟

                  دیدگاه


                    #10
                    پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

                    اگه توی کدویزارد تنظیم کردید نیازی نیس کد اسمبلیش رو بذارید. شاید درست توی کدویزارد تعریف نکرده بودید چون من همیشه توی کدویزارد اینکارو میکنم بدون هیچ مشکلی.
                    برای محاسبه مقدار دما، مقدار خونده شده در adc رو در 0.49 ضرب کنید و تمام.
                    www.gam-co.blogsky.com

                    دیدگاه


                      #11
                      پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

                      کد اسکی علامت درجه هم میشه 0xf8 میشه : اینم یه نکته واسه قشنگی عبارت روی Lcd تون :smile:
                      مطمئنید این کد اسکی علامت درجس؟ آخه من امتحان کردم x̄ روی ال سی چاپ شد.
                      www.gam-co.blogsky.com

                      دیدگاه


                        #12
                        پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

                        سلام
                        آقا من برنامه دماسنج رو با lm 35 نوشتم ولی وقتی تو پروتئوس ران میکنم السیدی صفر رو نشون میده

                        دیدگاه


                          #13
                          پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

                          نوشته اصلی توسط BEHROOZ17
                          سلام
                          آقا من برنامه دماسنج رو با lm 35 نوشتم ولی وقتی تو پروتئوس ران میکنم السیدی صفر رو نشون میده
                          سلام
                          پایه های AVCC و AREF به VCC وصل کنید

                          دیدگاه


                            #14
                            پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

                            آقا بازم جواب نداد همون صفر رو نشون میده!؟ :sad:

                            دیدگاه


                              #15
                              پاسخ : مشکل با نمایش مقدار دما در ال سی دی کاراکتری

                              برنامه و شماتیکتون رو بذارید
                              www.gam-co.blogsky.com

                              دیدگاه

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