mengenal bilangan floating point

Pada suatu hari  anda membuat  alat pengukur suhu yang bisa mengirimkan datanya lewat serial rs232 atau modbus . Data suhu biasanya bertype  float misal -12,5 derajat Celcius . Anda ingin menampilkanya data tsb di komputer atau Micon penerima.

Jika data yang anda kirim  dari  alat anda tsb  dalam bentuk ASCII  “-12,5”  hal ini mudah untuk di proses di penerima  . Tapi jika  data yg dikirim dlm bentuk 4 byte hex/biner float maka data yg dikirim adalah : 0xC1480000  atau  =   11000001    01001000    00000000    00000000  

Angka ini harus dikonversi dulu baru bisa ditampilkan dlm bentuk desimalnya.

type data floating point  ada 3 jenis:

1. half precision binary floating-point format: binary16

Half_Floating_Point_Format

2. Single precision binary floating-point format: binary32

single-Float_point

3. Double precision binary floating-point format

bilangan  Floating point juga dinyatakan dgn:

±mantissa × 2exponent

Konversi data biner  ke  Single Presisi ploating point

konversi kan bilangan ini :

11000001    01001000    00000000    00000000  (0xC1480000) 

konversi biner ke float

 Mengirim data floating point dari microcontroller

contoh  dengan codevision:

char  tx_index;

tx_buffer[50];

(float) data1 = 100,43;

(float) data2=150,76;

//masukan data float ke tx_buffer
sprintf(tx_buffer," %3.2f, %3.2f \n\r",data1,data2);
UCSRB.5=1;  //aktifkan transmit interupt untuk mengirim data.

interrupt [USART_DRE] void uart_send() {

      data_char_dikirim = tx_buffer[++tx_index];

      if (data_char_dikirim == 0)       {          UCSRB.5=0; // matikan UDRIE        }

      else UDR = data_char_dikirim ;     //send the char

 }

Referensi:

Untuk Konversi  Hex to floating point

http://babbage.cs.qc.edu/IEEE-754/32bit.html

Untuk konversi Float to Hex

http://babbage.cs.qc.edu/IEEE-754/Decimal.html

http://en.wikipedia.org/wiki/Floating_point

http://en.wikipedia.org/wiki/Half_precision

http://www.keil.com/support/man/docs/c51/c51_ap_floatingpt.htm

http://en.wikipedia.org/wiki/Single_precision_floating-point_format

About pccontrol

Berisi Tutorial Menggunakan PC untuk mengontrol Peralatan dengan cara mudah & praktis.

Posted on 11/08/2011, in Tips & Trik. Bookmark the permalink. Leave a comment.

Komentar ,Saran atau Pertanyaan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: