从单片机基础到程序框架(全集 2019pdf版).pdf - 第50页

句, 跟”//”的 作用 一样, 只不 过“ /*” 是注 释开始 , “* /”是 注释 结束, 它们 的范围 不局 限于 一行, 而是 从“/*”到“ */”的范围,因 此可以用于 注释连着 的多行文字或 者字符。 接 着 在 分 析 上 述 代 码 中 最 重 要 的 函 数 , 也 是 本 节 最 核 心 最 重 要 的 函 数 View( 某 个 变 量 ) 。 比 如 “ View( a); ” 这行 代码 ,View (a…

100%1 / 836
/*---C 语言学习区域的开始。-----------------------------------------------*/
void main() //主函数
{
//...初始化区域,也就是主要用来给初学者学习 C 语言的区域。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
上述例子中,初学者练习代码只能在从“C 言学习区域的开始”到“C 言学习区域的结束”这个范
围,此范围外的代码直接复制过来不要更改。我们再来分析分析下面节选 main 函数源代码
/*---C 语言学习区域的开始。-----------------------------------------------*/
void main() //主函
{
unsigned char a; //定义一个变 a。
unsigned int b; //定义一个变量 b。
unsigned long c; //定义一个变 c。
a=100; //给变量 a 赋值
b=10000; //给变量 b 赋值
c=1000000000; //给变量 c 赋值
View(a); //在电脑串口端查看第 1 个数 a。
View(b); //在电脑串口端查看第 2 个数 b。
View(c); //在电脑串口端查看第 3 个数 c。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
上述节选的 main 函数代码里,比如“a=100; //给变量 a 赋值。”这行代码,所谓的“赋值”
就是=”这个语句,它表面上像我们平时用的等于号,实际上不是等于号而是代表“给”的意思,“=”
符号右边的数复制一份给左边的变量,比如“a=100;”就是代表把 100 这个数值复制一份给变 a,执行这
条指令后,a 就等 100 了。这里的分号“;”代表一条程序指令的结束。 而双斜线“//”是注释语句,双
斜线“//”这行后面的文字或字符都是用来注释用的编译器会忽略双斜线“//”这一行后面的文字或字符,
编译器不把注释文字或字符列入源代码,也就是“//”这一行中后面的文字或字符是不占单片机内存的
然“//”仅仅局限于当前一行代码。上面除了“//”是注释语句外,上面的“/*”和“*/”之间也是注释语
句,跟”//”的作用一样,只不过“/*”是注释开始“*/”是注释结束,它们的范围不局限于一行,而是
从“/*”到“*/”的范围,因此可以用于注释连着的多行文字或者字符。
View( )
“ View(a); ”这行代码,View(a)就是要把变量 a 的十进制,十六进制和二进制的数值都发送到串口,
们通 USB 转串口线让学习板连接上电脑,在电脑串口助手软件上就能看到 View 函数调用的变量 a 的信
息。
【11.3 如何在电脑上使用串口助手软件查看被 View 函数调用的变量?】
前面章节在讲烧录程序时提到一个叫“stc-isp-15xx-v6.85I”的上位机软件,这个软件除了用来烧
的 USB 转 线
“stc-isp-15xx-v6.85I”软件就可以了,无需额外再购买新 USB 转串口线和下载其它串口助手软件,
是如何设置这个“stc-isp-15xx-v6.85I”上位机软件,还是有一些需要特别注意的地方的,现在把这个
细的步骤介绍给大家。
第一步:设置烧录软件的选项。
按前面章节介绍烧录程序时所需的步骤,用 USB 转串口线连接 51 学习板和电脑,记录 COM 号,打开
“stc-isp-15xx-v6.85I”软件,选择单片机型号,选择对应的串口号(COM 号),设置最低波特率和最高波
特率,这部分的内容跟烧录程序时的配置步骤是一样的,唯一必须要特别注意的是最高波特率必须选择 9600!
最低波特率建议选择 2400。否则在烧录完程序后,当上位机集成软件自动切换到串口助手软件窗口时,接收
区域显示的一些汉字信息可能会出现乱码
----------------------------------步骤之间的分割线----------------------------------------
11.3.2 设置上位机的串口助手选项
第二步:设置串口助手软件的选项。
先点击右上方选中“串口助手”选项切换到串口助手的窗口,接收缓冲区选择“文本模式”,串口选择
匹配的 COM 号(跟烧录软件一致的 COM 号),波特率必须选择 9600,勾选上“编程完成后自动打开串口”选
项,最后点击“打开串口”按钮使之切换到显示“关闭串口”的文字状态,至此串口助手软件的设置完毕。
接下来就是按烧录程序的流程,打开新的 HEX 程序文件,程序烧录完成后上位机软件会自动切换到串口助手
的串口,就可以观察 View 数从单片机上发送过来的某个变量的十进制,十六进制,二进制的信息了。
接收缓冲区的窗口比较小,如果收到的信息比较多,只要在上下方向拖动窗口右边的滑块就可以依次看到
部的信息。如果想让单片机重新发送数据,只要让 51 学习板断电重启就可以重发一次数据,当串口助手的
接收区接收的信息太多影响观察时,大家可以点“清空接收区”的按钮来清屏,然后断电重启让它再重
一次数据。在电脑的串口助手软件里观察到的数据格式大概是什么样子的呢?比如编译完本章节上述完整的
模板源代码程序后,会在串口助手软件里看到 a,b,c 三个变量的信息如下:
开始...
1 个数
十进制:100
十六进制:64
二进制:1100100
2 个数
十进制:10000
十六进制:2710
二进制:10011100010000
3 个数
十进制:1000000000
十六进制:3B9ACA00
二进制:111011100110101100101000000000
多说一句烧录程序后,当软件自动切换到串口助手软件选项的窗口时,串口助手窗口显示单片机返回
的信息,这时有可能第一行的文“开始...”会丢失或者显示不出来,但是后面其它的关键信息不受影响,
我猜测可能是串口助手软件本身的某个环节存在的小 bug,跟我们没关系,我们不用深究原因,因为不会
响我们的使用,此时也有一种解决办法,是只要让单片机断电重启重发一次数据就可以正确地看到第一行
的文字“开始...”
【11.4 如何利用现有的工程编辑编译新的源代码?】
本教程后面有很多章节的源代码,是不是每个章节都要重新建一个工程?其实不用。我们只要用一个工
程就可以编译编辑本教程所有章节的源代码。方法很简单,就是打开一个现有的工程,用快捷组合键“Ctrl+A”
把原工程里面的 C 代码全部选中,再按“Backspace”清空原来的代码,然后再复制本教程相关章节的
码粘贴到工程的 C 文档里,重新编译一次就可以得到对应 Hex 格式的烧录文件。用这种方法的时候建议
大家做好每个程序代码的备份。每完成一个项目的小进度,都要及时把源代码存储到电脑硬盘里电脑硬盘