其他

【动力|触科技】单片机初探

2016-11-07 北航动力学人


                        初    探
引子
哈喽啊!小科又来了噢!
动力杯的立项答辩已于上周日圆满结束,相信一些同学已经展示了自己的奇思构想,亦或是见识了科技大牛的精彩展示。当然,还有一些同学仍然很迷茫,对于科技实践不知从何下手。
今天,小科就想跟大家聊一聊单片机
单片机是很多科技实践制作中都会用到的基础工具,有很强的实用价值,同时,也很适合作为科技实践的入门。
那么,单片机是什么呢?


对于单片机,度娘的解释是这样的:

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

是不是看起来很难懂?其实呢,单片机就是在一块集成电路芯片上集成了一台有一定规模的微型计算机,简称“单片微型计算机”或“单片机”。也就是说,本质上,单片机就是一台电脑,可以输入程序,完成指令。在现实生活中,许多地方都有它的应用。比如,它能帮助我们洗衣、做饭。不信?学校的洗衣机里就应用了单片机控制,设定好洗衣时间、方式,它就会按照你的希望按时洗涤、脱水。而食堂的微波炉也需要单片机控制时间、工作方式等,这样,才能做出香喷喷的饭菜。可以看出,单片机的使用大大地方便了我们的生活,并且十分小巧方便。
对于我们来说,学习单片机,当然要从两个方面着手:硬件和软件

硬件

说到硬件,可能有些同学要感到心里没底,这硬件要多少钱啊?不要害怕,大多数入门爱好者所使用的8051系列单片机,在各大电子元件市场均有售,而它的价格也就是你的一顿晚饭。或者,再方便一点,可以直接网购,趁着剁手节,物美价廉,童叟无欺。
51系列单片机虽然已经有几十年的历史了,但它优秀的稳定性和可靠性还是赢得了广大爱好者的青睐。当然,随着单片机的发展,各种不同型号不同功能的单片机层出不穷,还有很多其他类型的单片机可供选择。基于8051系列内核的89C51,STC等单片机,都是十分合适的入门教材。
Q单片机构造是什么样子的呢?
STC12C2052管脚图示例


单片机的身上有许多管脚,可以接入接出。以上图的STC12C2052为例:它的身上有20脚。第20脚是电源正极(VCC),一般接入5V的电源;第10脚是电源地端(GND);此外还有15个I/O接口,即输入/输出接口,可以输出电平,通过高低电平的变化来控制单片机进行我们想要的工作。不同管脚的I/O接口的具体功能有所不同,但对于初学者来说,完成自己的第一个作品不需要太多这方面的知识,随便选择一个即可。XTAL1、XTAL2接口是晶体振荡电路反相输入端和输出端,简单来说就是提供一个特定频率,用来精确计时。这一部分比较繁琐,就不做过多介绍了。

还有一个不可避免的环节,就是电路图。

这是一个简单的点亮LED的89S51电路图

电路图需要同学们在不断探索中慢慢领悟,熟能生巧,其实,电路图理所当然显示的是电路的连接方式,只不过在实际操作中,线条不会那么笔直,结构不会那么清晰罢了。
具体的硬件连接有许多种方式,最简单的就是买一片现成的单片机开发板。当然,这也是最贵的方案,虽然简单有效,却妨碍了我们对单片机硬件的深入了解。为什么要这样设计电路呢?这样的问题只有通过后续的学习才能知道。或者,自己DIY一块开发板,根据需求焊上单片机、电源电路、小彩灯等一系列东西,但是这对初学者而言似乎太过苛刻。还有折中的办法,就是使用面包板。有兴趣可以参阅《爱上单片机-第二版》。

我想,感兴趣的同学一定会有自己的办法。科技实践,就是这样一个动手动脑的过程,所有的材料、方案、构造都要独立或合作完成。想一想自己做的电路在程序操控下点亮LED,组成电子钟,完成一个又一个奇妙的任务,是不是让你心潮澎湃呢?

软件

软件方面是很多单片机教程的重点,大家在学校图书馆就可以找到相关的书籍教程。工具无非两种:C语言和汇编语言。相比之下,C语言对于初学者十分友好,语法简单,编写方便,适用性广,并且是大一下学期的必修课,相信大家对它也不陌生。通过C语言进行学习,是没有问题的。
程序示例(来自《爱上单片机-第二版》)

这是点亮LED的简单程序。这其中语句都很简单,只要简单学习一下C语言和单片机有关的语法,看着注释,我想大家都能够理解。这里,P1^7代表接口符号,是编译器可以识别的,我们用LED代表P1^7,可以简化程序代码。当然,随着工作越来越复杂,编程代码也会越来越多,并且,需要我们创造性的发挥,写出更优的结构和算法。

关于软件,Keil不得不提。Keil是一款51系列兼容单片机的C语言软件开发系统,提供集成的开发环境,相信用过Visual Studio 的同学都可以理解,十分方便调试。此程序在网上有资源,需要的同学可以自行搜索(Keil最新版在win10系统也可以使用,不用兼容方式打开即可)。



总之,说了这么多,就是想让大家认识了解单片机,它的具体方法使用可参考图书馆众多教程。我们要知道,科技实践并不困难,只要有一颗热衷探索的炽热的心,真正动手去做,就能够看到或小或大的成果。然而,反过来讲,只凭嘴上功夫也是无法做成的。若是对单片机感兴趣,就快点行动起来吧!




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存