接最近上课发现的问题再开第二篇文章,发现大部分同学对老师实际评分不太清楚以及工作流程。

创建项目文件夹

拿我现有的 Windows 开发环境上来说,我在 D盘 有一个叫 Project 的文件夹,里面都是我写的项目的代码:
图片.png
学会整理文件是一个优良的习惯,正如老师要求的那样。

  1. 我们首先在桌面上右键 -> 新建 -> 文件夹
  2. 命名为 C51 Study,这个将是我们做项目的根目录文件夹。
  3. C51 Study 接着创建文件夹,名字就是 ex1ex2 这些。

    为什么会取名为 ex1 这样的呢。exexample 的缩写,也就是例子,平时说的 实例1,项目文件夹命名就可以缩写为 ex1
    图片.png

Keil 4 新建项目

图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
Project 列表里有 ex7.c 文件就算是添加成功了,这样我们就可以写代码了。
图片.png
图片.png
图片.png

关于项目目录里文件

图片.png
最重要的文件就如下几个:

  • ex6.c 这是我们写代码的 C语言文件,后缀名是 .c
  • ex6.hex 这是我们编译的运行文件,在模拟电路里运行/烧录到单片机里运行的文件,后缀名是 .hex
  • ex6.uvproj 这是我们的项目工程文件,双击这个可以快速使 Keil 4 打开整个工程,后缀名是 .uvproj (是仅 Keil 4 可以识别的)

了解了之后就没什么问题了。

如何接线?

#include <REGX51.H>

// 课本 P42~43
sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit SW = P0^0;
void main()
{
    while(1)
    {
        LED1 = ~SW;
    LED2 = SW;
    }
}

上边代码是我们课本 43 页的一个实例代码,具体效果是常量一个 LED 灯,当按下按钮是终止常量的那个切换另一个 LED 灯亮,实现切换亮 LED 灯的效果,但是自始至终只有一个灯在亮。

分析一下代码

  1. sbit 是51单片机编程的关键字,它用于定义和访问单个引脚,我们在单片机两排看到引脚,手边只有 ESP32 的开发板,先凑活看一下,都大差不差:
    图片.png
    图中,红色圈出的就是已经焊接的引脚,板子上也有标注每个引脚的号
  2. LED1LED2 也就是定义了两个 LED 灯的变量,绑定的就是引脚
  3. P1^0 P1^1 P0^0 就是三个不同的引脚,对应你在板子上两边的 10 11 00 三个引脚,我们将三根线先连接上去。
  4. 观察定义的变量

    sbit LED1 = P1^0;
    sbit LED2 = P1^1;
    sbit SW = P0^0;
  5. 其中 10 引脚与 11 引脚 是两个 LED 灯,我们对应的将两个先再连接两个不同的LED引脚上就可以了。
  6. 00 引脚的变量名是 SW 也就是 Switch 的缩写,意义为 “开关”。所以我们这根线一边连接到 00 引脚另一头连接上一个开关就可以了。

模拟电路

见该分类上篇文章

烧录到单片机

图片.png
这样准备好之后,点击 程序下载 按钮就可以烧录到开发板上了,至此完成任务。