从单片机基础到程序框架(全集 2019pdf版).pdf - 第47页
{ Su16Buff erCnt++; break; } else i f(0==Su8View Flag) { if('0'!= pu8Buffer[S u16BufferC nt]) { Su8ViewF lag=1; Su16Buff erCnt++; } } else { Su16Buff erCnt++; } Su32Temp 1=Su32Temp1 /Su32Temp2 ; } pu8Buffe r[Su…

}
else if(2==u8Type)
{
for(Su16BufferCnt=0;Su16BufferCnt<7;Su16BufferCnt++)
{
pu8Buffer[Su16BufferCnt]=Cu8Array2[Su16BufferCnt];
}
Su32Temp1=1000000000;
Su32Temp2=10;
Su16TempSet=10;
}
else if(3==u8Type)
{
for(Su16BufferCnt=0;Su16BufferCnt<9;Su16BufferCnt++)
{
pu8Buffer[Su16BufferCnt]=Cu8Array3[Su16BufferCnt];
}
Su32Temp1=0x10000000;
Su32Temp2=0x00000010;
Su16TempSet=8;
}
else
{
for(Su16BufferCnt=0;Su16BufferCnt<7;Su16BufferCnt++)
{
pu8Buffer[Su16BufferCnt]=Cu8Array4[Su16BufferCnt];
}
Su32Temp1=0x80000000;
Su32Temp2=0x00000002;
Su16TempSet=32;
}
Su8ViewFlag=0;
for(Su16TempCnt=0;Su16TempCnt<Su16TempSet;Su16TempCnt++)
{
Su32Temp3=u32Data/Su32Temp1%Su32Temp2;
if(Su32Temp3<10)
{
pu8Buffer[Su16BufferCnt]=Su32Temp3+'0';
}
else
{
pu8Buffer[Su16BufferCnt]=Su32Temp3-10+'A';
}
if(0==u32Data)

{
Su16BufferCnt++;
break;
}
else if(0==Su8ViewFlag)
{
if('0'!=pu8Buffer[Su16BufferCnt])
{
Su8ViewFlag=1;
Su16BufferCnt++;
}
}
else
{
Su16BufferCnt++;
}
Su32Temp1=Su32Temp1/Su32Temp2;
}
pu8Buffer[Su16BufferCnt]=0x0d;
pu8Buffer[Su16BufferCnt+1]=0x0a;
pu8Buffer[Su16BufferCnt+2]=0;
}
void SendString(unsigned char *pu8String)
{
static unsigned int Su16SendCnt;
static unsigned int Su16Delay;
SCON=0x50;
TMOD=0X21;
TH1=TL1=256-(11059200/12/32/9600);
TR1=1;
ES = 0;
TI = 0;
for(Su16SendCnt=0;Su16SendCnt<43;Su16SendCnt++)
{
if(0==pu8String[Su16SendCnt])
{
break;
}
else
{
SBUF =pu8String[Su16SendCnt];
for(Su16Delay=0;Su16Delay<800;Su16Delay++);
TI = 0;

}
}
}
【11.2 模板程序的使用说明。】
图 11.2.1 带串口的单片机最小系统
大多数初学者在学习 C 语言的时候,往往是在电脑端安装上 VC 平台软件来练习 C 语言,这种方法只要
在代码里调用 printf 语句,编译后就可以看到被 printf 语句调用的变量,挺方便的。本教程没有用这种方
法,既然本教程的 C 语言主要针对单片机,所以我想出了另外一种方法,这种方法就是直接在单片机上练习
C 语言,这样会让初学者体验更深刻。这种方法对硬件平台要求不高,只要 51 学习板上有一个 9 针的串口就
可以,这个串口既可以用来烧录程序,也可以用来观察代码里的某个变量,只要在代码里调用 View 函数就
可以达到类似 VC 平台软件下 printf 语句的效果,View 函数可以向串口输出某个变量的十进制,十六进制和
二进制,大家只要在电脑端的串口助手软件就可以看到某个变量的这些信息,View 函数能查看的变量最大数
值范围是 4 个字节的 unsigned long 变量,十进制的范围是从 0 到 4294967295,也可以查看 unsigned int 和
unsigned char 的类型变量(数据的进制以及 long,int,char 等知识点大家目前还没接触到,因此不懂也没
关系,当前只要有个大概的认识就可以,暂时不用深入理解,后面章节还会详细介绍)。View 函数是我整个
模板程序的其中一部分,所以要用这种方法就必须先复制我整个模板程序,初学者练习代码的活动范围仅仅
局限于模板程序里的“C 语言学习区域”,在此区域里有一个 main 主函数,main 主函数内有一个初始化区域,
初学者往往在这个初始化区域里练习 C 语言就够了,初学者最大的活动范围不能超过从“C 语言学习区域的
开始”到“C 语言学习区域的结束”这个范围,
这个范围之外其它部分的代码主要用来实现数据处理和串口发送的功能,大家暂时不用读懂它,直接复制过
来就可以了。比如: