51单片机基础部分——LED
前言
之前更新过了蓝桥杯单片机的相关部分,那也是一款51单片机,主控芯片是STC15,现在我们要使用的是AT89C52,操作基于普中的51开发板进行开发,入门款的芯片,属于比较简单的,所以我们了解一下就直奔代码,主要为了做到拿到代码能用,能改(高阶程序员首先要掌握CTRL+C以及CTRL+V)能用
做简单的开发其实不需要C语言的基础,直接开始51单片机的学习也可以做到C语言的一个入门
这是我们锁用到的开发板,看起来比较杂乱,但是相对好上手
这是我们的单片机的核心,我们所有的命令都是通过这个芯片进行操作,我们看中间的部分,这里是核心部分,他两侧有两排的数字,大家看是PX.X,这里我们叫他IO口,也可以叫PXX端口,自己怎么舒服怎么来,我们通过控制不同的IO口,来进行相应的控制
下面我们就开始我们的LED。
LED
单片机嵌入式学习的第一步,往往是点亮一颗LED灯,就像软件里面的输出一个“Hello World”一样经典,所以我们先来点亮一颗LED灯,再去逐步的点亮一颗电容,一间实验室之类的操作
话不多说,我们先看代码
P2_0 = 0;
就这么多的代码,看起来很懵吧,下面我们再来看
在小学的时候,我们做过电池点亮小灯泡的实验,把电池的正负极用导线接到小灯泡上面,小灯泡就可以发光了
我们板子上面的LED已经接了一个正极(VCC),另一边还没有明确接了什么东西,我们需要接一个负极,LED灯就能点亮了,这里看到了P2_0 = 0;这是C语言里面的赋值的语句,把0赋给P2_1,相当于给LED所在的地方接了一个负极,这样LED灯就点亮了成功,但是代码不仅仅是上面这么简单,我们现在把代码整体的写出来
#include <REGX52.H>void main()
{ P2_1= 0;
}
我们来逐步分析一下上面的代码
第一行:#include <REGX52.H>这个地方我们调用了一个库,是AT89C52这个芯片的库,我们要基于这个库对板子进行开发,我们需要用别的外设的时候也要用#include后面接<xxxxxx.h>来进行调用
第二行:void main(){}
这里是一个整体,我们看到main的时候,就说明这个是代码的入口函数,所有的代码都是从这里开始运行的,这里有一对大括号,所有的东西在这里面执行
最后:P2_1= 0;这里我们就是一个赋值,把0赋给P2_1,给他一个低电平,使这个LED点亮
这个时候我们点编译
检查我们的代码没有问题就OK了,我们的代码部分就写完了
从上到下我们只说的代码怎么写,而没有说在哪写,怎么让代码跑起来,下面带大家从开始建立工程,并且烧录进去,新建工程这里我们在蓝桥杯的里面说到过了,大家可以从这里跳过去蓝桥杯单片机基础部分——0、新建工程,和这里是一样的,大家可以跟着创建
创建完了之后,我们在我们简历工程所在的文件夹里面找到Objects文件夹,找到一个HEX文件类型的文件,这里就是我们生成可执行文件
我们打开我们的stc—isp,这个是我们烧录用到的,
首先我们先选出我们的芯片,这里可以看芯片上面的丝印,跟上面能对上就行,我的是TSTC89C52RC,我就选这个
然后我们连接我们的单片机和我们的电脑
在扫描串口的地方,有个向下的箭头,找CH340,找到这个端口,选择,这时才能将我们的代码烧写进去
然后我们在打开程序文件的地方,选择我们生成的HEX文件,选择后,点击下载编程就好了,下载编程后,一定要重启一下单片机
双击这个按钮完成重启,下载完成后,在右侧空白处,会出现成功的字符,这时候,我们的一整个操作就都完成了