前面的文章已经把大部分的基础都整理完成了,包括开发环境的安装、单片机的基本介绍、以及 I/O 口的介绍。本篇文章就来写一个简单的实例。实例也比较简单,点亮开发板上的一个 LED。
0x01:LED 灯的电路图
我的开发板上有两个 LED 灯,严格来说是有三个,不过有一个是开发板加电后自己就亮了,因此不受代码控制,所以说是有两个。看一下开发板,如下图:
从图中可以看到,有一个 LED 亮着(这个亮着的就是加电后自己亮起来的,应该就是一个通电的指示灯),在它的下方还有两个 LED 灯,不过是灭着的,这两个 LED 灯是可以受代码控制的。看一下它的电路图,电路图如下:
结合两张图片,亮着的 LED 灯在这里是 D4,另外两个 LED 是通过单片机进行控制的,分别是 D5 和 D6。LED 灯的电路是连接着开发板的,所以还需要看一下开发板的电路图,如下图。
从上图中可以看到,LED1 是通过 P3.7 口控制着,LED2 是通过 P3.6 口进行控制的。为了更清楚地看到 D5 和 D6,我放大第一张图片来看,如下图:
从上图中可以看出,D4 下面是 D6 和 D5,为了能够看清楚,我们这里通过代码点亮 D5 这个 LED 灯。D5 是 LED1,LED1 对应着 P3.7 口。
0x02:代码点亮 LED1 灯
先在 Keil 中创建一个项目,创建的方法看之前的文章:C51 单片机开发用 Keil 创建工程
在 Keil 中写相关的代码,代码也比较简单,我们对 P3.7 口送一个低电平即可。代码如下:
#include "reg52.h"
sbit led1 = P3 ^ 7;
void main()
{
led1 = 0;
}
在 Keil 中写完上面的代码后,编译生成 hex 文件,编译生成的方式同样参考之前的文章:C51 单片机开发用 Keil 创建工程
生成 hex 文件以后,使用 STC-ISP 将 hex 文件写入单片机中,即可!将 hex 写入单片机的方式可以参考之前的文章:C51 单片机开发将 Keil 生成的文件写入单片机
可以看到,D5 代表的 LED 灯被点亮了!图片估计看不太清楚,亮着的是 D4 和 D5 两个 LED,D6 是没有亮的。
到此,通过代码点亮一个 LED 灯的功能就完成了,整个 C 语言的代码非常的简单,简单到不敢想象!