单片机是单片微型计算机的简称。它是在一块芯片上,以CPU为核心,同时集成了常用的计算机外部设备的计算机系统,称之为MCU。

单片机是为特定应用场景定制的计算机系统,其种类与型号是成千上万的。刚接触单片机开发,可能就会被如此多的种类与型号吓到。如何掌握特定的单片机使用方法,并开发出高质量的单片机控制系统,就成了让人头疼的问题。
这里我们可以先从单片机的结构着手分析。
单片机上的核心器件是CPU,在CPU周围是各式各样的总线。总线的一端,连接的是常用的计算机外部设备,比如:I/O设备、USART设备、A/D设备、RAM、Flash ROM、SPI总线控制设备......等等。

先不去解释总线的种类与它们的工作原理,也不去解释设备的工作原理。做个比方:CPU好比大脑,设备就好比身体器官,总线好比神经。人在做动作的时候,大脑通过神经传导控制信息给身体器官,器官再把动作过程信息通过神经反馈信号给大脑。如果我们理解了这个动作原理,那么,单片机的工作原理也就不难理解了。
单片机上的设备,提供给外界的访问接口叫做寄存器组。寄存器分为三类:控制寄存器、状态寄存器、数据寄存器。
控制寄存器,可以用来设定设备的工作方式。
状态寄存器,可以用来查询设备的工作状态。
数据寄存器,用来完成外界与设备的数据交互。
一般情况来讲,CPU通过总线访问某设备的控制寄存器,通过向该寄存器写入控制数据,完成设备控制方式设定。然后,再通过状态寄存器不断查询设备的工作状态,根据工作状态来确定如何与设备进行数据交互,而数据交互工作就是通过数据寄存器来完成的。

由此可见,掌握单片机编程,实际上就是掌握如何使用片上设备。如何掌握片上设备的使用方法呢?按照下面的六步操作,就简单多了。
1、详细了解片上设备的功能与作用
2、掌握与该设备相关的概念、技术术语和技术参数等内容
3、通过器件手册,了解与该设备相关的寄存器组
4、确定设备的使用方法
5、绘制设备使用控制流程图
6、编写程序