We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
While using the simulator, the values of i in the serial window are shifted by left 8 bits.
#include "stdlib.h" #include "stdio.h" #include "reg51.h" void main (void) { unsigned char i; SCON = 0x50; TMOD |= 0x20; TH1 = 221; TR1 = 1; TI = 1; for (i = 0; i < 8; i++) { printf("%x\n", i); } }
"WHAT ELSE CAN BE WRONG?"
The code in its entirety! Move on to the next candidate code.
By the way, you originally said you wanted to print a BCD value. To us, that means that the value is already in (packed) BCD and you want to print it as ASCII digits. Why do you even care about binary to BCD conversion?