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


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





浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报