肉嘟嘟的程序媛
认证:普通会员
所在专题目录 查看专题
暴揍单片机知识点 1 -- 一门和芯片对话的外语
暴揍单片机知识点 2 -- 三头六臂
暴揍单片机知识点 3 -- 51初窥
暴揍单片机知识点 4 -- 51的手表和闹钟 (1)
暴揍单片机知识点 5 -- 51的手表实操(2)
暴揍单片机知识点 6 -- 51的闹钟 + 闹铃
作者动态 更多
git 情景 4 —— 永世不灭
2021-12-16 22:14
git 情景 3 —— 多重分身
2021-08-06 17:28
git 情景 2 —— 时空穿梭
2021-06-08 01:20
git 情景 1 —— 封存历史,探索代码的前世今生
2021-05-13 21:11
git 版本管理 —— 使用场景以及入门
2021-05-11 13:12

暴揍单片机知识点 3 -- 51初窥

我们以大家最熟悉的 51 单片机为例子,讲解之前我们所有讲到的点。然后以 51 拓展到其他方方面面的单片机。要做到,一片在手说走就走!

首先,先回忆一下,我们想要控制单片机需要什么(不就是 C 语言吗?),是的,我们靠 C 语言来控制单片机,但是有了 C 语言就够了吗?当然不够,我们还需要开发工具等等一系列的乱七八糟的东西,但是本章我们只讲解开发过程,不涉及实际项目和正确的工程,我只是想说明一个大概的思路,毕竟有了思路,才知道自己缺少了什么。

芯片简介

实物图

这样就是我们所谓的 51 单片机实物图。也就是它把你搞得欲仙欲死,现在就跟我说来把它的衣服一层一层的剥开。实物图虽然具体但是你暂时没法分辨那门多针脚是用来干什么的。以下我带来原理图给大家介绍一下引脚功能。

这是张将包含了单片机的最小系统,也就是说,只要你能保证电阻,电容,晶振等等(你问我啥叫晶振,啥叫电阻?不好意思,我就不告诉你。)和图上的连接方式保持一致,那么,你只要提供 VCC 和 GND 的外部供电,整个单片机就会活过来了,它就会一步一步的执行你写的代码了。

看到上面的 P1.0-P1.7 P2.0-P2.7 P3.0-P3.7 P0.0-P0.7 这些引脚就是我们可以控制的 IO 口了(什么叫 IO 口,请回看之前章节)。

控制心法

好了,我记得之前有说过 IO 口是可以控制的,而 51 单片机也有这么多 IO 口。我们又知道了需要使用 C 语言来控制单片机。那么,我现在到底需要怎么做?我真的好烦。

先看图,给大家依次讲解:

  1. #include“XXX” 是 C 语言的标准写法,而后面跟着的 reg52.h 是 52 芯片的一个编号文件,还记得我们说的,我们和单片机交流,需要告诉它一个编号。这样我们就能使用像下面的 P2 这种符号了。如果你不 #include “reg52.h”的话,后面的 P2 你是不能用的,因为单片机再想,这是个啥玩意。
  2. 第二行是一个标准的 C 语言写法,也就是说,你不管在写什么单片机程序,你都需要提供一个main函数(至于什么叫函数,自行恶补C语言知识,或者下面专门一章讲解一下)。
  3. 第三行,我们实现了让整个 P2 端口(P2.0-P2.7)为 1。这是什么意思呢?且听我娓娓道来,这就是咱们功法的最高技巧!一定要注意。我们先将P2.7 P2.6 … P2.0 依次排列下来。如下图

这样你就可以通过 P2 这个符号来控制 P2 端口上的任意一个引脚(P2.7 ~ P2.0)的输出电平了。如上图的话我们可以简单的用二进制表示为 :0b10101100,注意这是二进制,换成你看懂的样子也就是十进制:172,换算成16进制就是 0xAC。也就是说 0b10101100 = 172 = 0xAC,大家习惯使用 16 进制的 0x 表示。

这时候我们想让单片机的 P2.6 输出高电平怎么处理呢?(不就是 P2 = 0b11101100嘛)。对楼,就是这么简单。这样,你就会了如何控制一个单片机的引脚了。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 6
收藏 5
关注 54
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧