اطلاعیه

Collapse
No announcement yet.

نمایش اعشار روی سگمنت

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

    نمایش اعشار روی سگمنت

    سلام
    من یه عدد اعشاری دارم که با تابع :
    کد:
    ftoa(volt,2,str);
       lcd_puts(str);
    راحت روی LCD نشونش میدم حالا میخوام روی سگمنت نشونش بدم باید چکار کنم ؟



    پاسخ همین سوال : http://www.eca.ir/forum2/index.php?topic=35970.msg174515#msg174515
    A-Hosseini

    #2
    پاسخ : نمایش اعشار روی سگمنت

    من با بسکام کار میکنم ولی خیلی راحته!
    اول بگو سون سگمنت شما چند تایی است؟
    چند رقم پشت اعشار میخوای؟

    دیدگاه


      #3
      پاسخ : نمایش اعشار روی سگمنت

      با قسمت عدد صحیح اون مشکلی ندارم .
      یک رقم هم بیشتر نمیخوام :question:
      A-Hosseini

      دیدگاه


        #4
        پاسخ : نمایش اعشار روی سگمنت

        کد:
        while (1)
           { 
        
            data=read_adc(4);
            delay_ms(1); 
            volt=data*0.105;
            delay_ms(1);
            
            
             n1=fmod(volt,10);  //yekan
             digit=n1;
             notodigit();
             PORTD.1=0X00;
             delay_ms(4);
             PORTD.1=0Xff;  
             
             n2=(volt/10);   //dahgan
             digit=n2;
             notodigit();
             PORTD.2=0X00;
             delay_ms(4);
             PORTD.2=0Xff;
             
                   
             n0=fmod(volt,1);   //ashar
             digit=n0;
             notodigit();
             PORTD.4=0X00;
             delay_ms(4);
             PORTD.4=0Xff;
             
             digit=0;
             notodigit();
             PORTD.3=0X00;
             delay_ms(4);
             PORTD.3=0Xff;
             
        
               
             
        
           };
        }
        قسمت اعشار همش عدد صفر رو نشون میده؟ :question: :question: :question: :question:
        A-Hosseini

        دیدگاه


          #5
          پاسخ : نمایش اعشار روی سگمنت

          این جوری که بوش میاد سون سگمنت مالتی پلکس 3 تایی داری؟

          دیدگاه


            #6
            پاسخ : نمایش اعشار روی سگمنت

            بله تو مدارم سه تا سگمنته و متغییر Volt هم از نوع Float هستش
            A-Hosseini

            دیدگاه


              #7
              پاسخ : نمایش اعشار روی سگمنت

              :applause:
              خیلی ممنون از راهنماییتون ، منم تقریبا به همین نتیجه رسیدم منم الان این کارو کردم
              c=fmod(volt,1); //ashar
              n0=c/0.1*10;
              digit=n0;
              notodigit();
              PORTD.4=0X00;
              delay_ms(4);
              PORTD.4=0Xff;

              واقعا راهش همیجوریه من همش تو توابع دنبالش میگشتم :redface: :redface:
              A-Hosseini

              دیدگاه


                #8
                پاسخ : نمایش اعشار روی سگمنت

                برنامه تکمیل شده و به جواب رسیده از همین موضوع :

                void display(void)
                {
                n1=fmod(volt,10); //yekan
                digit=n1;
                notodigit();
                PORTD.1=0X00;
                delay_ms(2);
                PORTD.1=0Xff;

                n2=(volt/10); //dahgan
                digit=n2;
                notodigit();
                PORTD.2=0X00;
                delay_ms(2);
                PORTD.2=0Xff;


                c=fmod(volt,1); //ashar
                n0=c/0.1;
                digit=n0;
                notodigit();
                PORTD.4=0X00;
                delay_ms(2);
                PORTD.4=0Xff;

                digit=0;
                notodigit();
                PORTD.3=0X00;
                delay_ms(2);
                PORTD.3=0Xff;
                }
                A-Hosseini

                دیدگاه

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