C51 单片机开发点亮一个 LED

共 1759字,需浏览 4分钟

 ·

2024-04-11 14:31

公众号文章同步阅读网址: www.netor0x86.com

前面的文章已经把大部分的基础都整理完成了,包括开发环境的安装、单片机的基本介绍、以及 I/O 口的介绍。本篇文章就来写一个简单的实例。实例也比较简单,点亮开发板上的一个 LED。


0x01:LED 灯的电路图

我的开发板上有两个 LED 灯,严格来说是有三个,不过有一个是开发板加电后自己就亮了,因此不受代码控制,所以说是有两个。看一下开发板,如下图:

c98830168aaf929671350175213f7fa5.webp

从图中可以看到,有一个 LED 亮着(这个亮着的就是加电后自己亮起来的,应该就是一个通电的指示灯),在它的下方还有两个 LED 灯,不过是灭着的,这两个 LED 是可以受代码控制的。看一下它的电路图,电路图如下:

8f1788ff956d42f1d89001b7c0f447b6.webp

结合两张图片,亮着的 LED 灯在这里是 D4,另外两个 LED 是通过单片机进行控制的,分别是 D5 和 D6。LED 灯的电路是连接着开发板的,所以还需要看一下开发板的电路图,如下图。

f4ea8a55bbeabf724702caf5b2215dce.webp

从上图中可以看到,LED1 是通过 P3.7 口控制着,LED2 是通过 P3.6 口进行控制的。为了更清楚地看到 D5 和 D6,我放大第一张图片来看,如下图:

ffed5445382f97e92f38ba197fc07efe.webp

从上图中可以看出,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 生成的文件写入单片机

199063dc3f5aa8d0437a26c81537f932.webp

可以看到,D5 代表的 LED 灯被点亮了!图片估计看不太清楚,亮着的是 D4 和 D5 两个 LED,D6 是没有亮的。


到此,通过代码点亮一个 LED 灯的功能就完成了,整个 C 语言的代码非常的简单,简单到不敢想象!




我是一个程序员,了解 C、PHP、Java、ASM、Python,有 信安、CISP 证书,写小白也能看得懂的文章,感谢关注!!!

我的网站:https://www.netor0x86.com

我录制的视频课程:

1. 入门级栈溢出分析

2. WEB端获取MAC地址真实项目案例

3. PHP扩展模块开发之DLL编写与调用

4. C语言零基础入门教程

5. PE 文件结构初识与二进制手写可执行程序


出售一套外卖源码,交易可走闲鱼,系统展示可以查看如下地址:

https://github.com/coderup2u/takeout-ordering-system-applet

具体了解可以加微信沟通!


浏览 13
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报