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

里每个项目 对应一个项目 文件夹, 每个项目文 件夹里包含很 多不同版本编 号的源代码文 件, 每个源代码 文件 名都有流水 编号, 方便 识别最 新版本的程序, 每天下班前 都要把最新 版本的源 代码文件上传 到自己的网盘 里 备份, 在互联网时 代, 把源代码存到自己 的网盘,可以随时异地存取, 即使遇到电 脑故障损坏 也不担 心数据 永久丢失。 【11.5 编辑源代码的 5 个常用快捷键。 】 介绍一下常 用的快捷键, 好好利用这…

100%1 / 836
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 格式的烧录文件。用这种方法的时候建议
大家做好每个程序代码的备份。每完成一个项目的小进度,都要及时把源代码存储到电脑硬盘里电脑硬盘
里每个项目对应一个项目文件夹,每个项目文件夹里包含很多不同版本编号的源代码文件,每个源代码文件
名都有流水编号,方便识别最新版本的程序,每天下班前都要把最新版本的源代码文件上传到自己的网盘
备份,在互联网时代,把源代码存到自己的网盘,可以随时异地存取,即使遇到电脑故障损坏也不担心数据
永久丢失。
【11.5 编辑源代码的
5
个常用快捷键。
介绍一下常用的快捷键,好好利用这 5 个快捷键,会让你在编辑源代码时效率明显提高。
(1)选中整篇所有的内容:组合键 Ctrl+A。
(2)把选中的内容复制到临时剪贴板:组合键 Ctrl+C。
(3)把临时剪贴板的内容粘贴到光标开始处:组合键 Ctrl+V。
(4)把选中的一行或者几行内容整体往右边移动:单键 Tab。每按一次就移动几个空格,很实用。
(5)把选中的一行或者几行内容整体往左边移动:组合键 Shift+Tab。每按一次就移动几个空格,很实用。
第十二节:变量的定义和赋值。
【12.1 学习 C 语言的建议和方法。
先提一些学 C 语言的建议和方法帮大家删繁就简,去掉一些初学者常见的思想包现阶段我们的学
习是使用单片机,把单片机当做一个成品把单片机当做一个忠诚的士兵,学习 C 语言就是学习如何使用
片机,如何命令单片机,如何让单片机听懂我们的话并且听我们指挥单片机内部太细节的构造原理暂时不
用过多去关注,只要知道跟我们使用相关的几个特征就可以,这样初学者的学习包袱就没有那么重,就可以
把重点放在使用上的,而不是好奇于根本原理的死磕到底。 C 语言跟学习英语的性质是一样都是在
习一门外语,只是 C 语言比英语的语法要简单很多,非常容易上手,词汇量也没有英语那么多,C 语言常用
单词才几十个而已。学习任何一门语言的秘诀在于练习,学习 C 语言的秘诀是多在单片机上练习编程
程后面几乎每个章节都有例程,这个例程很重要初学者即使看懂了我也强烈建议要把“C 语言学习区域”
的那部分代码亲自上机敲键盘练习一遍,并且看看实验现象是否如你所愿
【12.2 变量定义和赋值的感性认识。
这些年我用过很多单片机比如 51,PIC,LPC17 系列,STM8,STM32 等单片机。尽管各类单片机有一些
差异,但是在选单片机时有 3 个参数我们一定会关注的,它们分别是:工作频率,数据存储器 RAM,程序存
储器 ROM。工作频率跟晶振和倍频有关,决定了每条指令所要损耗的时间,从而决定了运算速度。RAM 跟代
码里所定义变量的数量有关。ROM 跟程序代码量的大小有关。程序是什么?程序就是由对象和行为两者构成
的。对象就是变量,就是变量的定义,就是 RAM,RAM 的大小决定了一个程序允许的对象数量。行为就是赋
值,判断,跳转,运算等语法,就是 ROM,ROM 的大小决定了一个程序允许的行为程度。本节的标题是“变
量的定义和赋值”,其中“定义”就是对象,“赋值”就是行为。
【12.3 变量的定义。
变量的定义。一个程序最大允许有多少个对象,是 RAM 字节数决定的(字节是一种单位,后面章节
会讲到)。本教程的编译环境是以 AT89C52 芯片为准,AT89C52 这个单片机 256 个字节的 RAM,但是并不意
味着程序就一定要全部占用这些 RAM。程序需要占用多少 RAM,完全是根据程序的实际情况来决定,需要
少就申请多少。这里的“对象”就是变量,这里的“申请”就是变量的定义。
定义变量的关键字。常用 3 种容量的变量,每种变量的取值范围不一样。第一种是”unsigned char”
变量,取值范围从 0 255,占 RAM 一个字节,比喻成一房一厅。第二种是”unsigned int”变量,取值
范围从 0 65535,占 RAM 两个字节,比喻成两房一厅。第三种是“unsigned long”变量,取值范围从 0
4294967295,占用 RAM 四个节,比喻四房厅。unsigned char,unsigned int unsigned long
是定义变量的关键字,所谓关键字也可以看成是某门外语的单词,需要大家记忆的,当然不用死记硬背
要多上机练习就自然熟记于心,出口成章。多说一句上述的变量范围是针对本教程所用的单片机,当针对
不同的单片机时上述变量的范围可能会有一些小差异,比如 stm32 单片机中,unsigned int 的字节数就不
是两个字节,而是四个字节,这些都是由所选的编译器决定的,大家暂时有个初步了解就可以
定义变量的语法格式。定义变量的语法格式由 3 部分组成:关键字,变量名,分号。比如:
unsigned char a;
其中 unsigned char 就是关键字,a 就是变量名,分号”;”就是一条语句的结束符号
变量名的命名规则。变量名的第一个字符不能是数字,必须是字母或者下划线,字母或者下划线后面可
以带数字,一个变量名之间的字符不能带空格,两个独立变量名之间也不能用空格隔开(但是两个独立变量
名之间可以用逗号隔开。变量名不能跟编译器已征用的关键字重名,不能跟函数名重名,这个现象跟古