51单片机入门

51单片机入门

题外话

第一次在CSDN上写文章,但我想应该是不是最后一次,嗯,高中也算是马马虎虎的学过单片机,大学也再继续搞(主要是填坑),每次查资料都很麻烦,所以想记录下来。想着这种方式能激励自己,同时也和大家一起学习吧,有问题可以问,但是因为学业原因,不一定会及时回复。第一次写文章,还有点激动,不过我没想到我差点被这个markdown语法劝退了【手动狗头】。排版也很烂,将就吧,后面再慢慢进步。

工欲善其事,必先利其器

在学习单片机之前,确保
掌握C语言的基本功(如果你不是非常硬核的汇编玩家)
非常基本的电路知识
必要的焊接技能(可选项)

首先我们得准备好单片机和开发环境。
那我们首先我们得认识什么是单片机,开发环境又是什么。
下图就是单片机(图源网络),根据不同的需要常常有不同的封装。通俗说就是大小外观不一样,功能都是一样的,常见的DIP(插针的,左边三个黑色长条的,开发时使用方便),LQFP/TQFP(贴片的,体积更小,一般用于成熟的产品中)。
认识单片机
tips:51单片机只是说型号,这个单片机各个厂商都有自己的产品,比如ATMEL,STC(国内的宏晶)。说起STC,可能现在某宝上卖的都是这个,STC还有52,12,15系列,相当于51的升级版,兼容51。这里是官网链接www.stcmcu.com 顺便吐槽一波这个网站页面设计…

当然只有单个的单片机肯定是不行的,51单片机需要一些外部电路来使其正常工作,也就是所谓的最简系统
电源
晶振电路
复位电路
51最小系统
当然了,作为初学者,可以直接买一块开发板就行了,不仅包括必要的电路系统,还有各种模块资源,这里就不推荐了。

接下来就是安装集成开发环境(IDE)。我们大多数51单片机的开发者使用KEIL这个软件,你可以从官网下载最新的安装包 传送门
选择C51工具,需要填写一些信息来获取下载。但是由于外网的原因,下载速度很感人。
下载C51
但是百度盘里总是有我们需要的各种资源,也可以从学长或者淘宝店家获取到帮助。

接下来安装这个exe,该勾选勾选,该填信息填信息(可任意填),然后finish
12
Keil的试用版会限制一部分功能(程序不能超过2K等等),但对于初学者来说,不激活也是可以正常使用的

还没完,我们还需要一个工具把我们编写的程序烧录到单片机中。还记得我前面提到的STC官网吗,这里提供了我们需要的东西
在这里插入图片描述
下载完整版或者简化版都可以,大小都不超过10M。解压就可以了

一个完整的开发流程

创建project

打开桌面的Keil,如图新建一个project
4
接下来为你的project选择一个容身之所并起一个洋气的英文名
选择一个单片机型号,由于8051的内核都差不多,你任选一个51的型号(其实project创建完后也可以修改这个选择)
5

添加文件

像C语言一样,我们添加一个main.c文件,在Source Group 1处右键
6
7
并在main文件中输入以下代码

#include <reg51.h>
void main({
	P0=0xf0;
	while(1);
}

第一行包含了51单片机的寄存器头文件,这是很必要的,因为对单片机的编程必然涉及到寄存器。
这段代码的作用即就是让单片机的一组IO口,一半输出1,一般输出0,如果接上led就会发现有一半的led会点亮,一半灭。P0指定了是第0组。你可以查询开发板原理图来找到到底是那一组IO口连接着LED,然后修改这个P0。while(1)的作用是让单片机停在这,什么也不要做,以防止他放飞自我。

然后像C语言一样编译查错,点击左上角的build或者rebuild都可以
8
但是我们到底要把那个文件烧录进单片机呢?

必要的配置一下

单片机只能烧录Hex这种16进制的文件,我们需要在target设置一下9
勾选途中标识的选项,然后再build一下
10
产生了我们想要的东西

烧录至单片机

首先介绍一下USB转串口(USB to Serial)这个东西
11
两个功能差不多,左边的更高级一些,能自动断电。很多开发板都具有这个自动下载电路,只需要一根数据线连接即可和这个功能一样。但是有一个关键问题,我们需要为这个万一安装驱动才能正常使用。可以通过360驱动大师来安装。当然了,在STC官网下载的压缩包中也有这个驱动,安装这个就可以了。常见的USB转串口芯片驱动有ch340、pl2303(win10驱动贼难装)。看来STC早已知晓一切。

然后接线,插上电脑。切记,正负极VCC、GND不要搞反了,接反会发热发烫,然后冒起一阵青烟,别问我是怎么知道的
14
1 接下来打开STC-ISP,先选择单片机型号(在单片机上可以找到),保证对应。
2 选择串口,如果你驱动没问题,应该会显示出来
3 打开你的Objects里面的hex文件
4 下载。注意这个过程需要切断电源一次。(刚刚说过的那个高级的下载器不需要这一步)
黄色的选项建议勾选,下载成功应该会提示 操作成功
在这里插入图片描述

貌似大功告成

在这里插入图片描述
这是我用面包板搭建的,只连接了四个LED在P2口,两个亮两个灭。
LED是通过串联一个1K左右的电阻至正极,不要直接接在IO口上。

有什么没说清楚的后续补充…

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值