jasonryu 发表于 2006-5-10 20:44:44

温度传感器后接模数转换后出现1F十六进制数,求如何在电脑上显示成十进制的程序

模数转换后,出现十六进制的数,求转换成直接显示成现实温度的程序,谢谢

fsclub 发表于 2006-5-15 14:05:15

除以10取余数,结果再除以10取余数,直到商为0

zy1227 发表于 2006-5-15 14:51:23

电脑上用什么编程语言?
-----此内容被zy1227于2006-05-15,14:52:33编辑过

chenlong 发表于 2006-5-15 15:23:57

郁闷的问题

fsclub 发表于 2006-5-15 18:21:07

用什么语言不重要吧?

zy1227 发表于 2006-5-15 18:45:00

楼主求的是程序,所以要问清楚语言呀!

XUHANWU 发表于 2006-5-15 21:15:49

我做的一个:10位转换器(0-5V)对应600mA   线性关系



转换结果如下,希望能帮得上忙





uint read_adc(uchar adc_input)

{

        uint adc_value_buf;

        uint tmp;

        long tmp32;

       

        uchar adc_count,i,j;

       

       

        if(adc_input)

                ADMUX=0B01000001;

        else

                ADMUX=0B01000000;

        for(adc_count=0;adc_count<TEST_N;adc_count++)

        {

                ADCSRA|=_BV(ADSC);

                loop_until_bit_is_set(ADCSRA,ADIF);

                ADCSRA|=_BV(ADIF);

                adc_value_buf=ADC;

        }

        for(j=0;j<TEST_N-1;j++)                              //从小到大排列

                for(i=0;i<TEST_N-j;i++)

                {

                        if(adc_value_buf>adc_value_buf)

                        {       

                                tmp=adc_value_buf;

                                adc_value_buf=adc_value_buf;

                                adc_value_buf=tmp;               //已经经过测试,正确!

                        }

                }

        tmp=adc_value_buf[(TEST_N-1)/2];                  //取中值

        tmp32=(long)tmp*600;                     //转换为0~600的数值,表示600mA

        tmp=(unsigned int)(tmp32/1024);         //ADC位10位精度,所以除于1024

        return tmp;

}

losan 发表于 2006-5-17 09:40:45

这是我做的DS18B20温度传感器时用的温度转换程序(汇编)       

         clr r0               ;百位(不够百位则为0)

        clr r1               ;十位

        clr r2               ;个位

        ldi r16,0x19         ;r16放除数,大于100的数先除100,商为百位

                              ;余数再除10,得商为十位,余数为个位

        cpi r16,0x64      

        brsh D1

        rcall d2

        clr r0

        mov r1,r16

        mov r2,r19

        rjmp d9

D1:       

        ldi r17,100

        rcall div8

        mov r0,r16

        ;mov r1,r19

        mov r16,r19

        rcall d2

        mov r1,r16

        mov r2,r19

        rjmp d9

D2:        ldi r17,10

DIV8:

        SUB R19,R19

        LDI R18,9

D4:   ROL R16

   DEC R18

   BRNE D5

   ret

   ;rjmp d9

D5:   ROL R19

   SUB R19,R17

   BRCC D6

   ADD R19,R17

   CLC

   RJMP D4

D6:   SEC

   RJMP D4

eshing 发表于 2012-5-18 15:52:56

mark 学习一下,谢谢分享

ITOP 发表于 2012-5-18 16:08:34

C和汇编的都有了,楼主还要什么语言的?{:lol:}
页: [1]
查看完整版本: 温度传感器后接模数转换后出现1F十六进制数,求如何在电脑上显示成十进制的程序