前言
作为一名硬件工程开发人员,回顾以往的学习、工作经历,有太多感慨。当初刚刚走出校门的时候是踌躇满志,对将要从事的硬件开发,自认为在学校已经学到了很多知识,比如:单片机原理、数电、模电、C语言编程、电路板制作等,觉得自己可以大显身手了,可一到实际的工程中,情况就不一样了。有一种 “纸上得来终觉浅”的感觉,觉得以往学习的知识在实际中不知该如何着手。因此,积累一定的工程经验也就相当重要了,而这是我们在学校的教材中所不能学到的。而现在学习硬件工程开发的人员同样也面临相同的问题,为此我们就想把自己的一段工程开发经验写下来,以噬读者:“绝知此事要躬行。”
现在市面上有很多关于单片机的书籍,这些书大多先从单片机基本原理讲起,然后讲其开发环境,再讲外围电路硬件模块,最后讲软件实现,并且使用的多是汇编语言。若要学习单片机的原理,这些书籍相当不错,但要想通过学完这样的一本书就能开发产品,是很困难的。因此在本书中,编者没有按照教科书式的写法,而是以工程开发流程为线索,不是一开始就把单片机的基本原理和编程语言呈现给读者,而是在工程开发中遇到相关的问题时进行引用并且进行详细的补充讲解,这也符合工程开发中遇到一个问题解决一个问题的思想。现在很多工程技术人员在工程开发中遇到问题,就会系统地把整个理论都从头学习一遍,这种方法对于知识的积累和总结来说,无可厚非,但工程开发是有时间限制的,不允许人们花很长的时间来系统学习。另外,本书中会把一些芯片资料详细地提供给大家,这也是为了让读者养成阅读厂家提供的芯片资料的习惯。另外,本书还有一大特点,所有的软件代码都用C语言编写,方便读者阅读和应用。
现在嵌入式系统的开发很热门,大量的书籍和宣传让初学者形成了一个误区,认为嵌入式开发就必须是在ARM级别或更高主频的芯片上才能实现,在单片机上是不可能实现嵌入式软件开发的。其实嵌入式技术只是一种开发应用程序的方法,适合任何硬件的开发,同样也适合单片机。市面上已经有许多介绍单片机实时多任务操作系统的书籍,但很少有关于实际工程应用的。本书基于一款嵌入式实时操作系统,详细地讲解嵌入式实时操作系统Small RTOS51在工程上的应用。
本书本着理论与实践相结合的原则,以通俗易懂的语言描述,应该适合以下几类读者:
● 初步了解单片机原理,但缺乏实际工程经验的初学者;
● 从事单片机应用开发的工程技术人员;
● 从事开发操作系统应用的技术人员;
● 用C语言编写应用程序的开发者。
本书内容涵盖广泛,总体分为三个部分。如果读者是初涉单片机的新手,那么应该首先阅读第一部分的基础篇即第1章;如果读者已经熟悉单片机的基本原理和编译环境,可以跳过第1章,从第二部分的工程硬件篇开始阅读,这部分从第2章至第12章;第三部分为工程软件篇,包括第13章、第14章。在学习完第二部分的各章节后再学习第三部分内容。第二部分以后的各章是循序渐进的,所以要依次阅读。
本书由罗强主编、陈丽雪副主编,冼进审校。同时参与本书工作的人员还有:王治国、冯强、曾德惠、许庆华、程亮、周聪、黄志平、胡松、邢永峰、邵军、边海龙、刘达因、赵婷、马鸿娟、侯桐、赵光明、李胜、李辉、侯杰、王红研、王磊、闫守红、康涌泉、李欢、蒋杼倩、王小东、张森、张正亮、宋利梅、何群芬、程瑶等,在此一并感谢。
感谢四川大学智能研究所给予的大力支持;感谢王标、赵剑萍给予的帮助;感谢在编写本书时陪伴着我的家人和朋友。
由于作者水平所限,加之网络技术发展迅速,本书的覆盖面广,书中错误和不妥之处在所难免,恳请广大读者批评指正。联系方式:rongzht@163.com。
编者
于四川大学