单片机入门指南
西电实验室出品
本指南旨在为大家解决以下疑问:
(1)什么是单片机?
(2)为什么要学单片机?
(3)单片机种类丰富,我该选择哪种?
(4)学习单片机需要什么基础?
(5)学习单片机需要准备什么?
(6)我该怎么学习单片机?
(7)有哪些基于单片机的优秀作品?
什么是单片机?
我们先从身边的计算机(此处指个人电脑)说起,我们都知道计算机由控制器、运算器、存储器、输入和输出组成。具体而言,可以这么说:
运算器+控制器:CPU;
存储器:硬盘、内存等
输入:键盘、鼠标、等
输出:显示器、音箱等
CPU的工作就是把存储在存储器中的程序的命令代码翻译成不同任务,然后执行,输出执行结果。但是CPU只有计算功能,其计算的结果需要通过显示器、音箱等输出设备输出,而其工作的依据,即程序命令则依靠硬盘储存,其执行任务时动态存取的数据要保存在内存中,而人可以通过键盘、鼠标等输入设备控制程序命令的执行过程,把所有这些CPU的外围设备组合在一起就叫做计算机。
我们为什么要先讲计算机呢?单片机又是什么呢?两者有何联系?
个人电脑功能强大,计算速度快,是较为理想的计算机。但当我们需要用一个小装置来控制微波炉定时开关时,个人电脑就显得笨重和昂贵,有点大材小用了。于是人们设计出了一种浓缩型电脑,大的有几平方厘米,小的比米粒还小,它们就叫做“单片机”——单片微型计算机。CPU是一个芯片,单片机也是一个芯片,看起来外观差不多,它们有什么不同呢?答案是:单片机内除了集成有CPU外,还集成了程序储存器ROM(可理解为硬盘)、数据储存器RAM(可理解为内存),输入输出接口(可理解为显示器接口、键盘插座等),有的单片机内还集成了电机驱动电路、视频解码电路、AD转换器、无线传输电路等,使得单片机功能变得非常强大。讲到这里,相信大家应该有些明白了吧。单片机就是一种集成芯片,是一种集
成了微处理器、存储器和各种输入输出接口的芯片。或者说,单片机就相当于一个微型的计算机,麻雀
虽小但五脏俱全。不过和计算机相比,单片机缺少了外围设备等(如键盘、显示器等)。单片机的特长在于可以用单个芯片和简单外部电路去实现复杂的控制操作,因此非常适合需要控制的场合,其实在绝大多数控制设备中都有单片机的影子。
CPU通过把存储在存储器中的程序的命令代码翻译成不同任务,然后执行,输出执行结果。单片机也是如此,区别是单片机执行的这些程序需要我们自己来编写。我们通过编程来控制单片机的各个引脚的输出(在不同的时间控制输出不同的电平),从而控制与单片机的引脚连接的外围电路的状态,实现我们想要实现的功能。
为什么要学单片机?
作为一个电子技术从业人员,如果你不懂单片机,那实在是一种遗憾。如果你身为电子类专业毕业生还漠视单片机,那你就太不识时务了。对于自动化或者电子相关的理工科大学生,掌握单片机是最简单和基本的要求,如果大学四年,你连单片机的知识都没有掌握,更别提高级的CPLD、FPGA、DSP了,没有单片机的知识作支撑,学习其他内容更是难于上青天。如果你觉得自己没事干,想学点东西却又不知道该学啥的时候,静下心来学学单片机吧,单片机的魔力会把你带入一个展现自我价值的世界,让你的知识升华,让你的精神焕发。
(1)单片机应用领域非常广泛
目前单片机已经渗透到我们生活的各个领域,几乎很难到哪个领域没有单片机的踪迹,从农业电子产品到工业电子产品,从医用电子产品到军用电子产品,从民用电子产品到商用电子产品,单片机都在发挥着核心作用。
消费类电子:电视、录像机、空调控制器等;
商场类电子:智能电子秤、条码管理系统等;
汽车类电子:恒温空调、倒车雷达、汽车内各种控制器等;
通讯类电子:手机、蓝牙耳机、对讲机等;
农业类电子:温湿度控制、自动灌溉等;
安防类电子:录像监控、火灾报警、门禁系统等;
娱乐类电子:遥控小车、智能玩具、跑步机、按摩椅等;
数据采集类:气象数据采集、电量数据采集;
以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,或者需要大量的数字逻辑芯片组
合起来,电路相当复杂,其产品体积庞大,成本高,维修难度大,开发周期长。使用单片机,我们可以将电路简化,通过编写程序来完成复杂的逻辑功能。这样产品的体积变小了,成本也降低了,控制智能化了。单片机的魅力还在于:因电子技术的发展,芯片资源更加丰富,实现的功能更强大,外围电路更简单,使用起来更加方便。因此,学习和应用单片机的体越来越大。将来,个人认为将来电子技术领域将会是嵌入式系统、DSP技术、FPGA技术和单片机技术的天下,其中应用最广的必然是单片机。
(2)学习单片机是学习高端电子技术的基础
学习单片机是学习其他嵌入式控制器如ARM、DSP、FPGA的基础,任何嵌入式控制器都离不开单片机中所涵盖的如中央处理器、定时器、中断,IO口控制、串行通讯、I2C总线控制器、片内外存储控制器、C语言等概念。可以说学好单片机,再去学习其他嵌入式控制器如ARM、DSP、FPGA的时候,你将会感觉比较简单。
嵌入式系统(ARM)的出现最初是基于单片机的,实际上就是单片机在数据量比较庞大的、复杂的处理系统的应用。它和单片机都有相同的片内设备: 中央处理器、定时器、中断控制器、IO口线控制器、串行通讯控制器,I2C总线控制器,SPI总线控制器、片内外存储控制器等。
数字信号处理(Digital Signal Processing,简称DSP)是将信号以数字方式表示并进行相应处理的技术,是单片机技术的拓展和功能的增强,说白了就是专门用于数字信号处理的超高速单片机。
FPGA(Field-Programmable Gate Array)—即现场可编程门阵列,和单片机有相同的外围资源,也有时钟电路、FLASH和RAM,配置文件相当于单片机的程序,硬件描述语言VHDL/Verilog和C语言是一样的。
可见,嵌入式控系统、FPGA技术和数字处理技术和单片机都有相同的渊源。学好单片机,是学习嵌入式控系统(ARM)、FPGA技术和数字处理技术(DSP)的基础,掌握了单片机就能够轻松学会这些技术,并且在短时间内快速掌握这些技术。个人建议想学习嵌入式系统、FPGA 技术和DSP技术的朋友,最好可以从单片机开始,这样学起来相对容易,不容易受挫。
单片机种类丰富,我该选择哪种?
单片机种类丰富,常见的有以下几种:
(1)8051 单片机
8051单片机最早由Intel公司推出,其后,多家公司购买了8051的内核, 这些公司在保持与8051单片机兼容基础改善了8051的许多特点,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛,有人推测8051可能最终形成事实上的标准MCU芯片。
(2)AVR单片机
AVR单片机是ATMEL在90年代推出的精简指令集RISC的单片机 ,跟PIC类似,使用哈佛结构,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。
(3)Microchip (PIC)单片机
Microchip 单片机是市场份额增长最快的单片机。MicroChip单片机的主要产品是PIC 16C系列和17C系列8位单片机,CPU采用RISC结构,分别仅有33,35,58条指令,采用Harvard 双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,价格低,一次性编程,小体积。适用于用量大,档次低,价格敏感的产品。
(4)MSP430 系列单片机
MSP430 系列单片机是由 TI公司开发的 16 位单片机。其突出特点是超低功耗,非常适合于各种功率要求低的场合。有多个系列和型号,分别由一些基本功能模块按不同的应用目标组合而成。典型应用是流量计、智能仪表、医疗设备和保安系统等方面。由于其较高的性能价格比,应用已日趋广泛。
(5)凌阳单片机:
台湾凌阳科技股份有限公司至力于8位和16位单片机的开发。SPMC65系列单片机是凌阳主推产品,采
用 8 位SPMC65 CPU 内核,并围绕这个通用的CPU内核,形成了不同的片内资源的一系列产品。其最大的特点就是超强抗干扰. 广泛应用于家用电器、工业控制、仪器仪表、安防报警、计算机外围等领域。
以上仅为应用比较广泛的几种单片机,那么我们应该从哪入手呢?个人建议从51单片机入手(个人能力强的话,可直接跳过),原因如下:
51单片机是众多单片机中发展最成熟、应用最广泛的一种,而在目前的各大电子类网站论坛,51单片机的论坛模块是最活跃的,51的资料也是最多的。这对初学者非常有利,学起来更加方便。因为如果你遇到什么问题的话,上网一搜基本就可以解决。
51单片机是最基础,最简单的。我们学东西基本上要由易到难,当你真正学会了51之后,再去学习其他高级的单片机的话,你将会更加顺手。如果你一上来就学习比较高级的单片机的话,很容易失败,比较容易受挫。
学习单片机需要什么基础?
(1) C语言:简单的C语言基础就可以,甚至于刚开始的时候,数组、指针等知识都不需要会。但是为了将来的发展,希望大家可以好好将C语言学好。
(2)了解51单片机的基本结构:关于这一点,只需要看几天书就可以了。或者说在大家开始学51单片机的时候,花点时间看看就可以,无需深究,只需了解。
具备以上两点,你就可以开始单片机的学习了。
学习单片机需要准备什么?
一套好的单片机学习板,单片机是个实实在在的东西,不动手实践根本学不会!如果你确定你要学习单片机的话,你必须有一套学习板;如果你手头没有一套单片机学习板,就想学习单片机,你还是放弃吧。那么选购学习板呢?首先,模块数量丰富,常用即可,没有必要追求模块特别齐全,其次配套的资料要丰富,这样的话,你在学习过程中就会节约很多时间。最后,要有售后技术支持/服务,这样的话如果在学习过程中或者使用过程中出现任何问题,可以直接解决。个人这里推荐西电实验室的51Start学习板,该学习板的模块确实不是最丰富的,却都是最常用的,使用频率最高的;同时配套的光盘内有学长多年珍藏的资料,可以为大家节约很多搜索资料的过程;然后西电实验室是立足校内的,全称技术指导,具有良好的售后服务,这一点是任何其他的学习板都不能比拟的。
一本好的单片机的教材,个人推荐郭天祥老师的《新概念51单片机》。上面我们已经说过,市面上的单片机教材或者视频都是以单片机的结构为主线,由单片机的硬件结构到指令,再到软件编程,然后介绍单片机系统的扩展和各种外围器件的应用,最后再讲一些实例,这就会导致大家学习起来非常困难。而
郭天祥老师的教材将其分解为一个个实验,通过这些实验逐步掌握单片机,学习起来就会容易很多。
一台电脑,电脑主要是用来编写程序的。学习单片机或者C语言的时候,不要只是在那看代码,我们需要亲自动手敲代码。
我该怎么学习单片机?
c语言程序教程视频下载方法一:
市面上的单片机教材或者视频都是以单片机的结构为主线,由单片机的硬件结构到指令,再到软件编程,然后介绍单片机系统的扩展和各种外围器件的应用,最后再讲一些实例。按