Hello!宝宝们,今天是2021.1.22,这里是甜小姐的后花园。
岁岁常欢愉,万事皆顺意🎏
可是磕磕绊绊就是成长的过程,万事顺意的或许是上辈子拯救过世界的仙女吧🌈
🍓当你遇到你觉着特别不公平的事情的那一天,不要伤心,那要恭喜你,你长大了,已经逐渐步入社会,哪有什么到处公平,就像是高中的老师说的,惟有高考这是一片净土,惟有努力充实才能成就本身。🌞
心中装得下大海的人,才能够到 达诗和远方。愿你作一个心里充满阳光的人,一心向阳,对每一件热爱的事物,尽心尽力!时光,必定会让你满载而归。✨
让咱们赶忙开始今天的学习叭!今天的知识满满哦。😜
web
硬件电路设计
原理分析
咱们上节课已经制做了一个单片机的最小系统,接下来咱们就开始完成咱们的第一个小项目,经过最小系统外加LED发光二极管,编写程序,使得咱们的LED亮起来吧!
首先咱们须要的有:
CPU:AT89C51单片机
电源:5V
晶振:12M
复位电路:高电平有效
发光二极管
硬件设计电路软件 proteus或者单片机电路板编程
电路图
这是咱们这节课须要仿真的电路设计图,就是在咱们上节课的单片机最小系统的基础上,加了8个发光二极管
发光二极管:这里简单介绍一下发光二极管,这里是博主简介记下的一些关于发光二极管的小知识。咱们会在模电数电中学到二极管哦。
发光二极管具备单向导电性,它 由电压控制,电流驱动,也就是说电压到达了导通电压,可是发光二极管也不必定会发光哦,得在电压在导通的前提下,为合适的工做电流,只有这样,发光二极管才会发光。
因此和发光二极管一块儿链接的会有一个电阻,这个电阻就是传说中的限流电阻,以便使得发光二极管达到工做电流。 就能使得发光二极管可以正常发光啦!像下面这样:
框架
经过计算咱们能够获得限流电阻的阻值大概在150欧姆-3K欧姆之间
一般咱们取1K,来保证发光二极管可以被正常点亮并且不被烧掉。
经过咱们上节课对单片机引脚的学习,咱们知道,单片机有四组IO口,即32个引脚,因此它既有输入功能也有输出功能,因此你有想到什么呢?😉咱们能够给LED外接一个高电平,而后用单片机的IO接口提供低电平,那样的话不久能够实现用单片机来控制LED的发光了呗,哈哈哈,你想的很是对!
注意:发光二极管具备单向导电性哦
了解了基本工做原理之后
那么接下来让咱们开始链接电路图吧!svg
画仿真电路图
1.打开最小系统
首先先打开上节课咱们画好的单片机的最小系统电路图
是这个样子滴,咱们接下来须要作的就是在这个最小系统的基础上加LED灯工具
2.添加LED灯
咱们在元件库中选择咱们喜欢的LED灯,还记得元件库在哪儿吗?对,就是那个P里面
就会出现各类颜色的LED灯,咱们选择喜欢的颜色,双击,添加入左面的面板中,这里咱们选择红色LED灯
注意:由于左下角让咱们画上了别的元件,没地方了,因此能够用鼠标左键拖动选择元件框,这样被选择的元件就能够移动啦。
就像这样
就能够把他移动到一个空的地方,这样咱们在P1接口的地方就有地方来链接LED灯啦!学习
3.将一个LED灯和电阻进行链接
咱们先来链接一个LED灯
选择LED和电阻放在面板上,而后直接在接口处用导线进行链接(把鼠标放在接口处就会出现一个像铅笔同样的图标)
链接我弄成之后选择最左侧工具栏中的第八个终端模式
里面有一个POWER,即高电平
与之链接,将电阻的阻值进行修改成1K,就完成了一个LED灯的链接啦,童鞋们,大家学会了吗,哈哈哈。
修改电阻阻值只须要点击电阻10K的那个地方就会弹出来一个修改框,把10K改成1K肯定就能够啦
spa
4.链接多个LED灯
一个IO接口共有8个引脚,咱们能够在P1口链接八盏LED灯,那么每个LED灯都须要链接同样的电阻,那么咱们就可使用排阻来代替啦,
就像这样,是否是就很方便,排阻的内部结构为八个小电阻并联在一块儿,一号引脚为接高电平,这样,咱们就很轻松的链接了八盏小灯在单片机上。固然你要是不嫌麻烦的话,或者以为,画着不过瘾的话
也能够这样,哈哈哈哈
其中的五、六、七、8号灯即采用标签的形式与引脚链接,详细能够看博主的上一个博文哦。
这样咱们的仿真电路图就画好了,简单吧,哈哈哈哈!接下来让咱们赶忙来进行程序的编写吧操作系统
软件程序编写
keil软件
(尚未装好的小宝贝能够看一下主页的第一篇博客哦,里面有具体的新建工程步骤)设计
字节操做IO口
打开keil软件new一个工程
选择Atmel中的At89c51
这个弹框选择否!就能够了
新建文本
点击左上角的保存按钮
输入文件名加.c后缀,注意c要小写
将.c文件加入工程
选择.c文件,加入,关闭窗口
咱们就能够看到,(.c)文件就被加进来啦
这样咱们就能够写程序啦
写软件以前,咱们知道,咱们的目的是要创建软件和硬件的关系,怎么创建呢,咱们学C语言知道,咱们的头文件是#include,因此,单片机也有头文件,51类单片机的头文件是#include3d
//头文件是创建软件和硬件之间的联系
#include
void main()
{
while(1)
{
}
}
这个代码块即是51单片机的基础框架,之后的代码都是这个基础上来编程的。(while(1)有的宝贝就会问,这不是死循环啦!其实由于单片机不带操做系统,要想使程序一直执行,就要编写一个超级大循环,让它来一直执行。因此程序语句写在循环里面就会循环执行,写在循环外面就只是在单片机上电的时候执行一次!由于咱们要使LED灯一直点亮,因此要将程序写在循环里面啦!大家理解了吗!)
能够看头文件包含什么,咱们选中头文件,右键选择第一个就能够查看头文件啦。
接下来咱们要怎么点亮LED灯呢?
由于,咱们将小灯接在P1口,咱们要将P1端给值,刚才咱们分析了,要给LED灯低电平,灯就会亮,你还记得吗?因此咱们给P1口赋值
#include
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
void main()
{
while(1)
{
//八个灯亮
P1 = 0x00;//0000 0000
}
}
程序已经大功告成,咱们已经距离点亮咱们的灯灯不远啦,激动吗,亲爱的小伙伴们!
接下来咱们要作的就是编译程序
点击左上角的第一个编译按键
左下角就会出现编译程序是否有错误或者警告!
最喜欢没错误的程序,哈哈哈哈哈😁
而后点击这个小魔法棒
选择第三个选项Output
把最中间生成.hex文件打勾✔
选择OK
点击第二个编译按钮,左下角就会提示已经生成.hex文件啦,此时的.HEX文件就在你电脑新建工程的那个文件夹里面。
这样就大功告成啦!!!
仿真/烧录实现
仿真软件protues
(尚未装好的小宝贝能够看一下主页的第一篇博客哦,里面有具体的新建工程步骤)
单片机烧录软件STC-ISP
(这是一个免安装的软件,谷歌就能够找到哦,没有的小伙伴能够看我主页的资源中就有这个软件)
仿真实现
上面咱们已经把程序写好啦!接下来大家使不是破败不急待啦呢,赶忙让咱们来仿真吧!
打开刚才画好的仿真软件
点击最中心的单片机
最中间有空着的一栏,而且旁边有一个黄色的文件夹,点击文件夹
选中刚才生成的.hex文件,点击打开
肯定,这样程序就被写入啦!!!哈哈哈哈
👏👏👏
点击最左下角的第一个开始仿真按键,你发现什么了吗?你的小灯有没有亮起来,哈哈哈开心的人儿最喜悦,哈哈哈哈
烧录单片机实现
若是你有一块单片机板,打开STC-ISP(这是一个免安装的软件,谷歌就能够找到哦,没有的小伙伴能够看我主页的资源中就有这个软件)
打开的界面,第一个框选中你的单片机型号
第四行有一个打开程序文件
将刚才的,hex文件加入
点击左下角的下载/编程
(记得把单片机插到电脑USB接口上)
右面的框会显示寻找单片机,这时把单片机上的电源键打开,而后,你就会惊奇的发现,单片机上的小灯亮起来啦,哈哈哈哈💖
让咱们期待下节课的内容吧,下节课咱们学习流水灯和跑马灯哦😉
[√ ] binggou🍑
------🍓万事顺意,加油皮皮甜🍑
🌈看似不起眼的日复一日,会在未来的某一天,忽然让你看到坚持的意义!🎉