如果你想让串口显示0000,那么送到单片机串口的代码就应该按照ASCII码编码。ASCII码也用16进制表示。也就是说,代码中:SBUF=i; 之前要将i转成ASCII码。例如:0的ASCII码是30H,1的ASCII码31H,以此类推。ASCII码表百度一个吧。
串口助手,需要设置成:16 进制显示。
在init函数里最后加一句EA=1