普中C51单片机串口打印1-100十进制数?

C51单片机 的 串口打印 10进制数👇

问题相关代码:

#include <reg51.h>
#include <stdio.h>
#include <string.h>

unsigned char string[10];
    
void delay(unsigned int count)
{
  unsigned char i;
  while(count-- != 0)
    for(i=0; i<120; i++);
}

char Usart_Send_16bit_Data(unsigned int value)////////
{
      char strings[8];
      char Enter[3]="\r\n";
      sprintf(strings,"%d",value);
      strcat(strings,Enter);
      Usart_Send_String(strings);
      return  value; 
}

void main()
{  unsigned char i = 0x00;
  IE = 0x00; 
  TMOD = 0x20; 
  TH1 = TL1 = 0xFD; 
  PCON = 0x00;
  SCON = 0x50; 
  TR1 = 1; 
  ES = 1;
  EA = 1;
  while(1) 
  {
    SBUF =Usart_Send_16bit_Data(i) ;
    i = i+1;
    delay(500);
  }
}
void SerialIO0( ) interrupt 4
{
  if(RI)
  {
    RI = 0;
    P1 = SBUF;
  }
  else
    TI = 0;
}


** 运行结果及报错内容 :**
显示我的20行: Usart_Send_String(strings);
出现了:main.c(20): error C267: 'Usart_Send_String': requires ANSI-style prototype

ps:串口显示连接普中C51单片机的软件stc-isp-15xx-v6.86L
**
@我想问一下大家有没有解决方法,
或者是有其他解决用串口打印1-100十进制数字的方法嘛蟹蟹!**

Usart_Send_String () , 这个函数未定义或未声明调用。

函数没有定义,或者包含该函数声明的头文件没有包含进来。

上面已经把错误说明了,我就不多说了。
其实没有必要写得这么复杂,而且你写了这么多还是错的,根本不能输出你想要的东西。
直接用printf函数就可以了,C51的printf默认用UART输出。
不过用printf的话,不要开串口中断,初始化的时候把TI设置为1,参考C51的helloworld例程的串口初始化代码
给你写个基本框架吧
#include <reg51.h>
#include <stdio.h>
void main()
{
int i;
TMOD = 0x20;
TH1 = TL1 = 0xFD;
PCON = 0x00;
SCON = 0x50;
TR1 = 1;
TI1 = 1;

for(i = 0; i< 100; i++){
printf("%d\r\n", i);
}
while(1){}

}