一个女生物联人的自学单片机笔记2021.1.23(单片机---点亮第一个LED灯)

Hello!宝宝们,今天是2021.1.22,这里是甜小姐的后花园。
岁岁常欢愉,万事皆顺意🎏
但是磕磕绊绊就是成长的过程,万事顺意的或许是上辈子拯救过世界的仙女吧🌈
🍓当你遇到你觉着特别不公平的事情的那一天,不要伤心,那要恭喜你,你长大了,已经逐渐步入社会,哪有什么处处公平,就像是高中的老师说的,唯有高考这是一片净土,唯有努力充实才能成就自己。🌞
心中装得下大海的人,才可以到 达诗和远方。愿你做一个内心充满阳光的人,一心向阳,对每一件热爱的事物,全力以赴!时光,一定会让你满载而归。✨
让我们赶紧开始今天的学习叭!今天的知识满满哦。😜

硬件电路设计

原理分析

我们上节课已经制作了一个单片机的最小系统,接下来我们就开始完成我们的第一个小项目,通过最小系统外加LED发光二极管,编写程序,使得我们的LED亮起来吧!
首先我们需要的有:
CPU:AT89C51单片机
电源:5V
晶振:12M
复位电路:高电平有效
发光二极管
硬件设计电路软件 proteus或者单片机电路板

电路图

在这里插入图片描述
这是我们这节课需要仿真的电路设计图,就是在我们上节课的单片机最小系统的基础上,加了8个发光二极管
发光二极管:这里简单介绍一下发光二极管,这里是博主简介记下的一些关于发光二极管的小知识。我们会在模电数电中学到二极管哦。
发光二极管具有单向导电性,它 由电压控制,电流驱动,也就是说电压到达了导通电压,但是发光二极管也不一定会发光哦,得在电压在导通的前提下,为合适的工作电流,只有这样,发光二极管才会发光。
在这里插入图片描述
在这里插入图片描述
所以和发光二极管一起连接的会有一个电阻,这个电阻就是传说中的限流电阻,以便使得发光二极管达到工作电流。 就能使得发光二极管能够正常发光啦!像下面这样:
在这里插入图片描述

通过计算我们可以得到限流电阻的阻值大概在150欧姆-3K欧姆之间
通常我们取1K,来保证发光二极管能够被正常点亮而且不被烧掉。
通过我们上节课对单片机引脚的学习,我们知道,单片机有四组IO口,即32个引脚,所以它既有输入功能也有输出功能,所以你有想到什么呢?😉我们可以给LED外接一个高电平,然后用单片机的IO接口提供低电平,那样的话不久可以实现用单片机来控制LED的发光了呗,哈哈哈,你想的非常对!
注意:发光二极管具有单向导电性哦
了解了基本工作原理以后
那么接下来让我们开始连接电路图吧!

画仿真电路图

1.打开最小系统

首先先打开上节课我们画好的单片机的最小系统电路图
在这里插入图片描述
是这个样子滴,我们接下来需要做的就是在这个最小系统的基础上加LED灯

2.添加LED灯

我们在元件库中选择我们喜欢的LED灯,还记得元件库在哪儿吗?对,就是那个P里面
在这里插入图片描述
就会出现各种颜色的LED灯,我们选择喜欢的颜色,双击,添加入左面的面板中,这里我们选择红色LED灯
注意:因为左下角让我们画上了别的元件,没地方了,所以可以用鼠标左键拖动选择元件框,这样被选择的元件就可以移动啦。
在这里插入图片描述
就像这样
在这里插入图片描述
就可以把他移动到一个空的地方,这样我们在P1接口的地方就有地方来连接LED灯啦!

3.将一个LED灯和电阻进行连接

我们先来连接一个LED灯
在这里插入图片描述
选择LED和电阻放在面板上,然后直接在接口处用导线进行连接(把鼠标放在接口处就会出现一个像铅笔一样的图标)
在这里插入图片描述
连接我弄成以后选择最左侧工具栏中的第八个终端模式
在这里插入图片描述
里面有一个POWER,即高电平
在这里插入图片描述
与之连接,将电阻的阻值进行修改为1K,就完成了一个LED灯的连接啦,童鞋们,你们学会了吗,哈哈哈。
修改电阻阻值只需要点击电阻10K的那个地方就会弹出来一个修改框,把10K改为1K确定就可以啦
在这里插入图片描述

4.连接多个LED灯

一个IO接口共有8个引脚,我们可以在P1口连接八盏LED灯,那么每一个LED灯都需要连接一样的电阻,那么我们就可以使用排阻来代替啦,
在这里插入图片描述
就像这样,是不是就很方便,排阻的内部结构为八个小电阻并联在一起,一号引脚为接高电平,这样,我们就很轻松的连接了八盏小灯在单片机上。当然你要是不嫌麻烦的话,或者觉得,画着不过瘾的话
在这里插入图片描述
也可以这样,哈哈哈哈
其中的5、6、7、8号灯即采用标签的形式与引脚连接,详细可以看博主的上一个博文哦。
这样我们的仿真电路图就画好了,简单吧,哈哈哈哈!接下来让我们赶紧来进行程序的编写吧

软件程序编写

keil软件
(还没有装好的小宝贝可以看一下主页的第一篇博客哦,里面有具体的新建工程步骤)

字节操作IO口

打开keil软件new一个工程
在这里插入图片描述
选择Atmel中的At89c51
在这里插入图片描述
在这里插入图片描述
这个弹框选择否!就可以了
在这里插入图片描述
新建文本
在这里插入图片描述
点击左上角的保存按钮
在这里插入图片描述
输入文件名加.c后缀,注意c要小写
在这里插入图片描述
将.c文件加入工程
在这里插入图片描述
选择.c文件,加入,关闭窗口
1
我们就可以看到,(.c)文件就被加进来啦
这样我们就可以写程序啦
写软件之前,我们知道,我们的目的是要建立软件和硬件的关系,怎么建立呢,我们学C语言知道,我们的头文件是#include<stdio.h>,所以,单片机也有头文件,51类单片机的头文件是#include<reg51.h>

//头文件是建立软件和硬件之间的联系
#include<reg51.h>
void main()
{
	while1{
	}
}

这个代码块便是51单片机的基础框架,以后的代码都是这个基础上来编程的。(while(1)有的宝贝就会问,这不是死循环啦!其实因为单片机不带操作系统,要想使程序一直执行,就要编写一个超级大循环,让它来一直执行。所以程序语句写在循环里面就会循环执行,写在循环外面就只是在单片机上电的时候执行一次!因为我们要使LED灯一直点亮,所以要将程序写在循环里面啦!你们理解了吗!)
可以看头文件包含什么,我们选中头文件,右键选择第一个就可以查看头文件啦。在这里插入图片描述
接下来我们要怎么点亮LED灯呢?
因为,我们将小灯接在P1口,我们要将P1端给值,刚才我们分析了,要给LED灯低电平,灯就会亮,你还记得吗?所以我们给P1口赋值

#include<reg51.h>

void main()
{
  while(1)
  {
  	//一个灯亮
	 P1 = 0xfe;//p1.7-p1.0共八位,将LED灯接入p1.0故只需在p1.0接入低电平,其他高电平即1111 1110
  
}
}

0x为十六进制,1为高电平,0为低电平
那现在我赋值0xfe(二进制为1111 1110)所以只有一个灯亮,那个灯亮呢?那就是P1.0口的LED小灯亮,就是P1口的第一个灯哦,大家可以试一下。那么我们要是像让八个灯都亮该怎么赋值呢?
没错给P1赋值P1=0x00即可(二进制为0000 0000)这样就可以实现八个小灯全部亮起来啦!

#include<reg51.h>

void main()
{
  while(1)
  {
  	//八个灯亮
	 P1 = 0x00;//0000 0000
  
}
}

程序已经大功告成,我们已经距离点亮我们的灯灯不远啦,激动吗,亲爱的小伙伴们!
接下来我们要做的就是编译程序
在这里插入图片描述
点击左上角的第一个编译按键
左下角就会出现编译程序是否有错误或者警告!
在这里插入图片描述
在这里插入图片描述
最喜欢没错误的程序,哈哈哈哈哈😁
在这里插入图片描述
然后点击这个小魔法棒
在这里插入图片描述
选择第三个选项Output
在这里插入图片描述
把最中间生成.hex文件打勾✔
在这里插入图片描述
选择OK
在这里插入图片描述
点击第二个编译按钮,左下角就会提示已经生成.hex文件啦,此时的.HEX文件就在你电脑新建工程的那个文件夹里面。
在这里插入图片描述
这样就大功告成啦!!!

仿真/烧录实现

仿真软件protues
(还没有装好的小宝贝可以看一下主页的第一篇博客哦,里面有具体的新建工程步骤)
单片机烧录软件STC-ISP
(这是一个免安装的软件,谷歌就可以找到哦,没有的小伙伴可以看我主页的资源中就有这个软件)

仿真实现

上面我们已经把程序写好啦!接下来你们使不是破败不急待啦呢,赶紧让我们来仿真吧!
打开刚才画好的仿真软件
在这里插入图片描述
点击最中心的单片机
在这里插入图片描述
最中间有空着的一栏,并且旁边有一个黄色的文件夹,点击文件夹
在这里插入图片描述
选中刚才生成的.hex文件,点击打开
在这里插入图片描述
确定,这样程序就被写入啦!!!哈哈哈哈
👏👏👏
在这里插入图片描述
点击最左下角的第一个开始仿真按键,你发现什么了吗?你的小灯有没有亮起来,哈哈哈开心的人儿最喜悦,哈哈哈哈

烧录单片机实现

如果你有一块单片机板,打开STC-ISP(这是一个免安装的软件,谷歌就可以找到哦,没有的小伙伴可以看我主页的资源中就有这个软件)
在这里插入图片描述
在这里插入图片描述
打开的界面,第一个框选中你的单片机型号
在这里插入图片描述
第四行有一个打开程序文件
在这里插入图片描述
将刚才的,hex文件加入
在这里插入图片描述
点击左下角的下载/编程
(记得把单片机插到电脑USB接口上)
右面的框会显示寻找单片机,这时把单片机上的电源键打开,然后,你就会惊奇的发现,单片机上的小灯亮起来啦,哈哈哈哈💖
让我们期待下节课的内容吧,下节课我们学习流水灯和跑马灯哦😉

  • [√ ] binggou🍑在这里插入图片描述 ------🍓万事顺意,加油皮皮甜🍑

🌈看似不起眼的日复一日,会在将来的某一天,突然让你看到坚持的意义!🎉

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会掉发的程序媛️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值