没有用过 STC12C5A60S2 这款单片机,但是从你接收的情况看,你重点检查:
1、串口助手的波特率和单片机设置的是否一致?
2、单片机程序串口波特率和晶振计算的是否准确?
3、串口助手,是不是16进制接收的?
4、给你一个串口调试软件,你用它试试看吧
单片机接的晶振一定要是11.0592。根据你的程序。这个程序不要用内部RC震荡
给你一个STC波特率计算器
#include "C:\Keil\C51\INC\STC\STC12C5A60S2.H"
unsigned int count;
//串口1初始化函数
void UartInit(void) //2400bps@11.0592MHz
{
PCON &= 0x7F; //波特率不倍速
SCON = 0x50; //8位数据,可变波特率
AUXR &= 0xFB; //独立波特率发生器时钟为Fosc/12,即12T
BRT = 0xF4; //设定独立波特率发生器重装值
AUXR |= 0x01; //串口1选择独立波特率发生器为波特率发生器
AUXR |= 0x10; //启动独立波特率发生器
}
void main(){
UartInit();//初始化串?
while(1){
SBUF=0x11;
while(TI==0);
TI=0;
for(count=0;count<1000;count++);
//另外看看串口助手波特率设置是否是2400
}
}