单片机复位后为什么要对sp重新赋值_51单片机系列之2点亮第一个led小灯

点亮led灯简单的理解就是要求阳极高电平阴极低电平。接下来我们去看看单片机的原理图,找到led 模块。

69a42c24caac6ebf96768dc066a089ef.png

如图可以看到led的阳极是连接的VCC(电源高电平)阴极连接的接口是单片机的I/O口P20到P27.要想led点亮只需控制单片机I/O口输出低电平即可(单片机I/O口默认高电平)。

接下来就是如何编写程序并烧录到单片机中了。

第一次编写单片机程序我们首先要有一个框架

第一句#include"reg52.h"是必不可少的这句可以把单片机的接口等信息导入

第二句位定义 sbit D1=P2^0; 将单片机I/O口定义一个名字让我们可以操作。从原理图可以看出LED1阴极连接的是P2.0这里注意,使用c语言编程的时候要用P2^0表示

1c03c27280f308b0c983e9f6c8a45fe2.png

接下来编写主程序框架应该是

161f615df522cbea9f39812e56bfdf14.png

上面我们提到需要控制单片机I/O口输出0即可点亮这个LED灯。

所以这里的命令应该是D1=0;

因为单片机运行完程序以后会复位然后重新执行主程序。为了避免这种情况的出现我们在主程序最后加一个死循环while(1);

有时没有这个死循环并没有错误可是很多时候找不到错误的时候发现加一个while(1)程序就正常了。为了保持严谨避免这种错误,以后请务必在主程序末尾加上一个死循环。

最后写出的程序如下

8b6c6a6b047f33f3ed55e2a05e712ba7.png

然后编译,无错误无警告

60ccad81eb767f6edb401110b2209b84.png

因为单片机烧录需要hex文件所以我们接下来去输出hex文件

6d31baa832782e23de794672211913ae.png
d6ab1d94f007fbf6daa6f157077a0aa4.png

再次编译就能在存放工程文件的文件夹中找到hex文件。

接下来将程序烧录到单片机中。我是买的普中的单片机学习板附赠有普中自己写的烧录软件,购买学习板都会附赠有烧录软件的也会附带后视频教程,我这里写文案的目的是记录自己的学习过程,方便自己以后遗忘时快速复习。也可以分享给嫌弃看视频教程太慢的同学用这种图文快速学习。

0ac92714c9e81f44baa4e31c98d850b7.png

输入单片机后呈现的效果如下

ffcbd61aeccd0cae4f92ca8989e6bb06.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值