何宾老师《STC单片机原理及应用》即将上市
来 源:未知
浏览次数: 发布时间:2015-04-23
STC单片机原理及应用(立体化教程)-从器件、汇编、C到操作系统的分析和设计内容提要
本书是为国内单片机相关课程教学而编写的教材。全书共分为15章,主要内容包括:STC单片机绪论、数值表示及运算、STC单片机CPU子系统、STC单片机指令系统、STC单片机汇编语言编程模型、STC单片机C语言编程模型、STC单片机时钟、复位和电源模式原理及实现、STC单片机计数器和定时器原理及实现、STC单片机可编程计数器阵列原理及实现、STC单片机串行异步收发器原理及实现、STC单片机SPI原理及实现、STC单片机ADC原理及实现、STC 单片机增强型PWM原理及实现、STC单片机比较器原理及实现、RTX51操作系统原理及实现。
针对国内高校单片机课程教学中普遍存在的理论讲解不透彻,实践教学不系统的缺点,本书从器件、汇编语言、C语言和操作系统四个角度对STC单片机进行了全方位的解读。通过全方位的讲解,将单片机课程中的各个知识点进行融会贯通。该教材的一大特色就是理论和实际并重,不仅介绍单片机的应用,而且更加突出学习方法,教给读者系统学习微处理器和嵌入式系统的思路和方法。这样,为读者将来自己独立学习基于其它处理器的嵌入式系统打下坚实的基础。为了方便教师的教学和学生的自学,本书提供了大量的设计案例,并对这些设计案例进行了系统深入的讲解和分析。
本书可作为高职和本科单片机课程的教材,也可作为STC单片机竞赛、单片机认证考试的参考用书。对于从事单片机应用的工程师来说,也是很好的工程参考用书。
前言
作者记起第一次接触8051单片机是在1997年大学四年级第一学期,当时忙于考研,只是验证了老师给出来的几个程序,并没有认真的学习这门课程。后来由于科研的原因,接触的基本是大家认为高大上的Xilinx可编程门阵列(FPGA)和TI的数字信号处理器(DSP)。虽然时隔17年后,才有机会再次接触STC单片机,但是可以站在更高的高度,更加系统和全面的理解和看待它。整个数字设计从低到高,依次是半导体开关电路、组合逻辑电路、状态机、CPU、汇编语言、高级语言、操作系统和应用程序,这就是学习和认知数字世界的路线。学习STC单片机也就是这条路线,当你掌握了这条路线的时候,你会发现STC单片机乐趣无穷。
去年12月与STC的老总姚永平先生在教育部信息中心举办的STC单片机决赛的评审现场再次会面,期间姚总希望我能编写一本关于最新的STC单片机方面的教材。这对我来说压力是很大的,这时因为在国内图书市场上,关于单片机的书籍不下上百种,而且有几本单片机的书非常畅销。虽然此前我已经系统编写过电子设计自动化方面的整套书籍,但是编写单片机课程的教材来说对我也是一种挑战。在正式编写前,姚总建议我找到目前基本市场上公认的几本比较畅销的单片机书。我找到这些书,发现目前存在的单片机教材和书籍都存在各种问题,不能很好地解决目前国内单片机课程教学所面临的困局。工程师编写的单片机教材过于应用化,条理性有所欠缺;而高校老师所编写的单片机教材又过于理论化,并且内容比较陈旧。
在我编写单片机教材期间,姚总多次和我提到用STC单片机作为C语言教学的平台,这个想法与我不谋而合。作者曾连续三年第三学期给大学一年级电子信息类专业的学生进行为期一周的C语言实训课程的教学,我发现情况就是前期的C语言课程教学中老师讲的虽然很卖力,但是学生还是反映很抽象听不懂,似乎C语言课程都成为了本科生掌握计算机知识的屏障。问题症结所在,就是学生面对的是计算机机器,无法有效地和这个机器进行交流,他们不知道如何用人的思维与计算机对话。解决的这些困扰的方法,就是让他们能够看到CPU如何运行、存储器如何管理,CPU如何控制外设的运行。而传统C语言教学使用的PC机又不能提供让学生看到细节的条件。虽然,经过一些系统的练习,学生C语言的学习有了很大的进步,但是离教学要求仍然有一定的差距。我就一直在想,能不能在C语言实训中引入一些好的硬件平台来帮助学生学习C语言?这个问题一直困扰着我。但是,当我在编写这本单片机教材的过程中,眼前一亮,发现STC 8051单片机确实是个非常好的平台,因为CPU中的运算器和控制器、存储器、外设等能让学习者一览无余,再加上神一般的Keil µVision5软件集成开发环境,通过µVision5提供的调试器环境把单片机内部细节看个清清楚楚明明白白,将C语言中抽象的指针、数组和函数等语法都过图、表、变量监控环境全部都表示出来了。作者在编写C语言编程模型一章中,通过调试器提供的功能,把C语言中抽象的语法真正的介绍清楚了。所以,姚总的想法既是正确的也是现实的。
8051单片机自面世到现在经历了30多年,在单片机课程教学取代8051单片机的呼声日益高涨,因为很多人认为8051落伍了。因此,他们希望一上来就开始学习更高级的处理器。从技术上来说,8051是有些落后了。但是,8051带给初学者,特别是国内高校的学生,是特别健全的生态系统,包括:开放的CPU内部结构,完全公开的指令系统,大量的设计案例,容易入手的µVision5软件集成开发环境,这些都是初学嵌入式系统最好的素材。我们经常说,简单的不一定是落后的。对于学习者来说,东西越简单学习起来感觉越顺畅,学习的知识反而更系统更有条理。
作者在编写<<STC单片机原理及应用>>这本教材时,运用了作者在编写EDA工程系列丛书时所获取的大量新的知识,力图最大限度的挖掘STC单片机的性能和特点。在本书编写完成的时候,终于可以说这句话了,即:STC单片机是高职和本科学生,甚至是研究生学习嵌入式系统最优的入门级学习素材,也是相关专业学习必须掌握的最基本的计算机软件和硬件知识及技能。
在作者编写这本书的时候,以下面的思想为主线,以期待能更加透彻的表达“原理”和“应用”之间的关系。
(1)这本书既然说得是单片机的原理和应用,首先就必须要说清楚单片机的原理。单片机的原理中,最重要的就是讲清楚8051 CPU的内部结构和指令系统,使得学生学会如何分析一个新的CPU,CPU的共性等。指令系统的作用是什么,指令系统和CPU之间的关系等问题。
(2)关于在学习单片机的时候,是否还有讲解汇编语言的必要性的问题,最近在教育界有很大的争论。这里必须强调,汇编语言是了解CPU结构最重要的途径。在实际应用中,可以不使用汇编语言,但是必须让学生知道汇编语言在整个计算机系统中所起的作用,最少也要让学生通过编写简单的汇编语言彻底的理解和掌握CPU内部的结构。因为如果学生不能很好的掌握CPU的内部结构,即使将来他们使用C语言等高级语言编程单片机,也很难编写出高效率的程序代码。
(3)对于应用部分来说,既要保留传统的应用例子,又应该引入一些新的综合性的例子。这样,才能将单片机中的各个知识点联系在一起,以提高通过单片机理论知识分析和解决在单片机实际应用中所遇到问题的能力。
(4)能不能学好单片机一方面取决于教师能不能把单片机的理论真正的讲透,更重要的是学生能不能充分的在实践中进行学习。在业界人们经常说,单片机是玩好的,不是学好的,可见实践对单片机学习的重要性。
本书从开始编写到完稿历时近3个月,全书共分为15章,以STC公司目前新推出的IAP15W4K32S4单片机为平台,以Keil最新的µVision5为软件开发平台,亲自设计大小案例近100个,这些设计例子都通过上述的硬件和软件进行了调试和测试。
为了方便老师的教学和学生的自学,提供了该教材的教学课件和所用设计实例的完整设计文件,以及视频教学资源,这些资源均可以在北京汇众新特科技有限公司官方网站进行下载(http://www.gpnewtech.com)
在本书的编写过程中参考了STC公司最新的技术文档和手册,以及STC学习板原理图和PCB图,在此STC公司表示衷心的感谢。在本书编写的过程中,作者的学生李宝隆、张艳辉负责部分章节的编写工作,黎文娟对本书的全部稿件进行了初步的完善和修改。在本书编写的过程中,得到了STC公司梁工、谢工以及石晓倩经理在技术和市场服务方面的热心帮助,特别是得到了STC公司老总姚永平先生的支持,他对作者在编写本书过程中遇到的各种问题进行了耐心细致的回答。在本书出版的过程中,也得到了清华大学出版社各位编辑的帮助和指导,在此也表示深深的谢意。
由于编者水平有限,编写时间仓促,书中难免有疏漏之处,敬请读者批评指正。
何宾
2015.01于北京