小白如何快速上手单片机?这个教程专为小白人士准备

姓名:高岩        学号:13020199025

本文转载自:http://www.eefocus.com/embedded/394611

【嵌牛导读】:本文主要为初学单片机的人提供一些简单的学习经验。

【嵌牛鼻子】:单片机,电子器件,硬件

【嵌牛提问】:单片机操作是否是我们应当熟练掌握的必备技能?

【嵌牛正文】:

说到硬件操控,有幸学过初中物理的大神们应该都知道:硬件操控的本质是电子器件两端接上符合规范的高低电压,造成电子流动然后电子器件进行工作。

但是,在实际开发中,一般会使用一段封装好的代码,例如安卓控制闪光灯打开:

小白如何快速上手单片机?这个教程专为小白人士准备_第1张图片

小白如何快速上手单片机?这个教程专为小白人士准备_第2张图片

这种封装好的代码固然简单方便,但是总是没有利用电流操控底层的快感。而我对单片机的理解是: 单片机通过CPU逻辑运算+IO端口控制电流来控制电子器件的开关  。

那么单片机开发到底是什么呢?它怎么控制电流继而运行起电子元件呢?首先我们来看一个简单的例子。下面是一组八个LED灯的电路原理图:

小白如何快速上手单片机?这个教程专为小白人士准备_第3张图片

大家可以考虑一下压抑住自己关掉页面的冲动,其实电路图很简单,经我一讲会更简单。我们先忽视上方的动态数码管,只需仔细浏览红色方框中的电路图,其中D11-D18是八个LED灯,并且负极默认接地(GND)。那么只要在LED灯左侧加上高电压,理论上我们就能让LED发亮,并且我们看到,LED左侧的引线通过好多乱七八糟的电路,最后落到J12上。电路对应实物图如下:

小白如何快速上手单片机?这个教程专为小白人士准备_第4张图片

可以看到,J12是一排引脚,或者说是一排导电的金属针,那往后的事情就简单了呀,通过J12想办法接进正电压,我们就能“手动”让硬件点亮了。

想什么办法来接入高电压呢?你是否已经迫不及待地找向身边的插线板?唔…我们不这么玩儿,这么简单粗暴的“手动”和蓝翔的课程还有什么区别?为了稍稍高端一些,我们来试着看一下承载着单片机的MCU板块吧,其原理图如下:

小白如何快速上手单片机?这个教程专为小白人士准备_第5张图片

实物图如下:

小白如何快速上手单片机?这个教程专为小白人士准备_第6张图片

其中,40接入了VCC(正极),各种PX.X和PXX一一对应起来。事实上,我们把这些PXX叫IO端口,用一个简单粗暴的解释:这些端口能通过CPU逻辑发出或接收高电压或低电压。

相信聪明的看官们已经迫不接待把手伸过屏幕开搞了,没错,我们应该把单片机的输出端口和刚才LED的输入端口串联在一起,然后输出高电压,我们就能通过写写代码把LED完美地点亮了。接线如下(代表IO端口P0的JP10接到代表LED输入的J12):

小白如何快速上手单片机?这个教程专为小白人士准备_第7张图片

编程如下:

小白如何快速上手单片机?这个教程专为小白人士准备_第8张图片

其中,0xff等价于11111111,也就是八个高电平。写入单片机后,结合默认的八个LED负极已经全部接地,效果如下:

小白如何快速上手单片机?这个教程专为小白人士准备_第9张图片

我们可以看到,八个LED全亮。

所以总结起来,单片机开发,就是:分析电路板原理图,想办法编程或接线使电子器件两端产生电压差,将所编程序写入单片机,实验失败检查接线代码或坐等控制硬件的快感油然而生。

你可能感兴趣的:(小白如何快速上手单片机?这个教程专为小白人士准备)