Binary or Hexadecimal conversion to decimal number would be easy, if you simply use the concept of conversion by multiplying by 2 to the digits in binary according to their places. But, it won't be easy in 8051 using Embedded C language as you have to first convert binary to hexadecimal and then, write code for conversion.
Below is the example of code in which binary- 11111101 is first converted to hex- FD and then, code is written in embedded C language to convert it into decimal and then, transfer to the Port P0, P1, P2 of 8051 and that can be displayed on LCD accordingly.
Generally the code conversion is done by devices like ADS chips, the data is provided to the microcontrollers in binary and can be displayed in decimals on LCD or any displaying device.
Take the example, Binary is 11111101 converted to hexadecimal- FDH and in decimal it is 253. So, take decimal 10 (0A in hex) and divide 253 by 10 = 253/10 you will get Quotient and if you use % sign, you will get Remainder. So,
Example of conversion from binary to decimal
Below is the example of code in which binary- 11111101 is first converted to hex- FD and then, code is written in embedded C language to convert it into decimal and then, transfer to the Port P0, P1, P2 of 8051 and that can be displayed on LCD accordingly.
#include "REG52 .h"void main(void)
{
unsigned char x, b, d1, d2, d3;
b=0xFD;
x=b/10;
d1=b%10;
d2=x%10;
d3=x/10;
P0=d1;
P1=d2;
P2=d3;
}
Generally the code conversion is done by devices like ADS chips, the data is provided to the microcontrollers in binary and can be displayed in decimals on LCD or any displaying device.
Description of Code:
- Hexadecimal is the most convenient way of representing binary data. So, we usually use hexadecimal conversion of binary data and then, this hexadecimal ranging from 00H - FFH can be represented in decimal 000-255. Now, how will you write the above code of conversion binary to decimal.Take the example, Binary is 11111101 converted to hexadecimal- FDH and in decimal it is 253. So, take decimal 10 (0A in hex) and divide 253 by 10 = 253/10 you will get Quotient and if you use % sign, you will get Remainder. So,
Quotient | Remainder | |
253/10 | 25 | 3 (passed to d1) |
253%10 | 25 | 5 (passed to d2) |
25/10 | 2 (passed to d3) |
Comments
Post a Comment