本书以单片机裸环境为基础,为编程者定义了一个微操作系统(MOS)的编程环境,并面向应用中不断提高的需求对编程策略进行了深度剖析与研究,从而分离出数据驱动、并行多任务、面向对象等重要编程思想。这些思想既可独立运用,又可有机结合成一个体系,是我们实践中解决问题的致胜法宝。本书以实例为基础,分6章对这一思想体系进行了阐述。阐述通常以提出问题开始,然后针对解决问题的现状,从心理学的角度对问题展开讨论,力求将容易遇见的问题一网打尽。本书通过一些列的优化过程对思想要点进行完整描述,然后通过软件仿真手段给读者一个清晰的认识,并在最后进行归纳总结。
本书既介绍了思想,又介绍了使用思想的方法。无论您是单片机自动化领域的初行者,还是资深的单片机自动化领域的工程师,本书都将成为您的得力帮手。希望这种既有理论又有方法论的阐述方式能帮助读者在事业上更上一层楼。
本书的内容新颖,解析深刻,实例典型,完全是一本原创新作。它来自于笔者多年的工作经验与教课灵感,既充满了上位机软件技术的神秘色彩,又充满了下位机软件技术(操作系统策略)的开放性延拓,并使计算机软硬件协作的工作原理跃然纸上,非常具有可传播性。
时下,很多人在设计智能产品时,喜欢为产品装备高档芯片,那架势仿佛即使什么代码都不用写,他的产品就已经是很先进的了。
我们的需求经常很有限,即使是使用单片机都会觉得资源浪费,又怎么会需要更高配置的硬件资源呢?也许在一些应用中我们会遇到一些难题,我们害怕它们,从而指望通过技术升级来解决问题,但是站在应用角度的我们,真的就无能为力了吗?很多盲目升级芯片档次的人不是真正为了提升技术含量的档次,更多的是为了掩饰自己在编程技术上的不足。其实,我们只要稍微修炼一下,一切问题都会迎刃而解。
一些介于单片机与微机之间的高档处理机拥有强大的硬件与软件资源,这似乎让单片机望尘莫及,因为高档处理机往往会在硬件上集成更多的单元来武装自己。然而,很多所谓技术的进步,都只是一些技巧的进步。
高档处理机的另一个优势便是它们拥有强大的软件支持,它们会固化一些软件包,或者支持操作系统。通过技术的向下移植,高档处理机可以做一些原来只有计算机系统才能做到的事情,比如代码的内存调度,并行多任务运行,等等。但是只要你有足够的编程策略,利用单片机来实现那些功能,其实也是不在话下的。
单片机作为一个五脏俱全的小麻雀,高档处理机能做到的,单片机也完全能做到。
但是如何做呢?这就是本书我们要探讨的问题。
本书第 1章通过对 4支方波并行输出方案的探究引入数据驱动编程的理念。第 2章则通过三个互不相关,但要同时运行的并行任务提出并行多任务编程思想,并引入了微操作系统(MOS)编程环境的理念。为了强化这一思想,本书在第 3章直接针对我们在实际工作中经常遇到的问题——多定时器、多延时器问题进行多线程编程实现,并在实现过程中引入消息处理机制。通过前 3章的技术准备,在第 4章正式提出面向对象的编程思路。第 5章为这种编程思路(上层建筑)给予一个具体的实践形态(物质基础),同时对实践形态中的一些本质问题花絮也进行了讨论。最后,第 6章通过对宝贝车面向对象编程的实践来对全书的裸编程思想进行一次完整而简明的演练,以期让思想这种抽象的东西变得实实在在!
关于本书的源代码,读者可以在电子工业出版社的官网(www.phei.com.cn)的“在线资源”中下载。
下面,就让我们一起来见证编程技巧给单片机带来的神奇吧。
余灿基