查看: 2260|回复: 1

我写的书《拿来就用单片机》的前言部分

[复制链接]

该用户从未签到

发表于 2008-8-23 06:36:52 | 显示全部楼层 |阅读模式
分享到:
前言 首先,我要声明,本书不是一本教科书,也不是学术论文。本书不是用严谨的词汇堆砌的文字,而是尽量用通俗的语言为你做掌握单片机的铺路石。本书所有的知识都来源于实践而不是理论。 很多人都知道单片机的功能很强大,都知道嵌入式控制很时髦,也都以为那是专业人员做的事,其实非专业人员也同样可以做到。非专业人员搞点单片机更具有实际意义。学会单片机不是目的,而是掌握单片机这种工具,是用来建立一个控制系统的工具而达到控制目的而已,完全是为了非单机专业系统服务的,诸如化工、铁路等。纯粹的单片机是没有任何实际意义的。我国的现状是很多专业需要单片机控制,诸如环保,但是这些专业的人士却从来也没有接触到自动控制,更不用说单片机了。如何破解这个矛盾呢?一般情况是,要么因为没有合适的控制手段而放弃了自己的意图或者研究方向,要么找个单片机专家为自己服务。通常的结果是不满意的,两个完全不同的专业人士遇到一起,如果彼此的知识面没有适当的交集的话,彼此之间都会有与对方说不清楚的感觉,都会觉得有力使不出的感觉,最终无法达到自己的目的。编写本书的目的就是为那些没有学到单片机的同时还要使用单片机的人士提供一个获得使用单片机应用的能力,虽然很多人一直认为使用单片机控制需要很好的专业基础,但是实际上绝大多数的在单片机方面作出成就的人士都没有系统的学过单片机,这是因为我们的目的在于应用单片机,而不是研究单片机。所以掌握其它专业知识的人士在掌握使用单片机的手段后,在本领域应用单片机会更加得心应手。51单片机是一种通用型的单片机,几乎适应控制领域的各个方面,所以我们选择51单片机作为控制手段。而且51单片机的外围芯片比比皆是,价格极为低廉。最重要的是,51单片机不仅硬件资源十分丰富,而且软件资源也十分丰富,98%的芯片驱动程序都可以在网络上找到,而且绝大多数的芯片厂家在推出一个芯片时,都会提供51单片机的程序,很少会提供其它的程序,这就为51单片机使用者提供了极大的方便。51单片机是一种十分经典的单片机,学会了这种单片机,再学习其它单片机就会轻松很多。我声明,我这样说没有丝毫贬低其它单片机的意思,不过确实,其它单片机在某些方面表现的不如51机,比如PIC单片机开发成本比较高,而且扩展起来也不是很容易,虽然这是一个市场定位的问题,但是对于很多人来说不能不说是一个不小的麻烦。C51有不少的版本,而且支持的芯片也不是完全相同,本书不会涉及到这些不同,所以本书介绍的内容可以应用在全部的C51程序中,至少笔者还没有发现我提供的程序还有不支持的C51版本。 如何才能掌握好单片机的控制技术呢?掌握单片机的技术不是很难的事。为什么这么说呢,单片机虽然已经渗透到了生活的方方面面,控制内容和控制方式千变万化,但是它的硬件结构却十分单调,不管你是新手还是高手,单片机的具体电路原理图基本一致,不会因为你的技术水平很高就会弄出别的花样来。原因很简单,当着单片机出厂的时候,其电路图就已经确定,在这方面,新手和高手是站在同一起跑线的,唯一的差别就是在经验,当一个新手还在翻阅书籍查找资料的时候,富于经验的人可能已经完成了一张图纸。既然是这样,对于刚刚开始学习单片机的人来说,熟悉一个单片机的基本电路和一个扩展电路是十分必要的,这样可以让你不必在浩瀚的书海中查找你需要的点滴资料,而是直接就拿出你熟悉过的图纸,虽然这些图纸可能存在一些你并不需要的东西,你把它理解为这是将来可能要扩展的东西就可以了,毕竟现在硬件十分的便宜,你这点浪费同你浪费的时间和你可能产生的错误相比微不足道。编制程序的语言有好多种,常用的有汇编、PLMC,这些产品中不同的厂家提供,性能和使用对象也不尽相同,选对编程语言对你的入门很重要。一般说来,对于一个高手来说,使用汇编可以编制成一个很高效率的程序,也就是用最短的代码最快的速度达到目的。汇编的缺点也是不可克服的,主要是阅读起来比较困难,即使是自己的程序也是如此。而对于新手来说,汇编的优点并不存在,而缺点却更加突出。PLM是一种高级的与硬件无关的语言,这种语言的优点是与控制系统的硬件无关,也就是你不必知道硬件的具体参数和性质,只要有一个任务书或者流程图,你就可以编制成一个相当好的程序。缺点是目前国内使用的人越来越少,交流起来困难一些。C语言是一种介于高级语言和汇编语言之间的一种计算机编程语言,一方面它具有与硬件无关性,另一方面也能直接控制到硬件的具体结构。由于C语言具有高级语言和汇编语言的共同特点,所以目前C语言相当的流行,相关的程序库也特别的多,所以几乎适合所有的编程人员,无论他是新手还是高手。学会一个单片机及其编程语言很容易,但是学好却不是那么容易,对于一个新手来说,如何快速的掌握并精通一套单片机及其编程语言呢?首先我想说,仅仅看书是看不会的,学好单片机及其编程语言,动手是非常重要的,离开了动手看书充其量是了解了一些而已。其次,学习单片机最好带着问题学,这样学习单片机的速度快,针对性强。第三,学习掌握单片机要从简单之处入手,不要试图上来就去解决大的问题,否则极为容易因为难度或者挫折而放弃对单片机的努力。而简单的东西极为容易成功,极为容易产生成就感,而且可以为解决大问题打好基础。第四,一开始就要养成良好的编程习惯。虽然这些习惯对于开始学习单片机的人来说可能是多余的,因为他可能还没有接触更多的需要这些习惯用法的东西,但是一旦不好的习惯养成了就很难在克服掉,这会为以后的编程制造很多的不必要的麻烦。 掌握好一门单片机的技术至少需要一台计算机,一本书和一块开发板。有时我们还需要一些辅助的东西,比如仿真器、编程器、万用表、示波器等。与单片机相关的软件都是比较小的软件,运行这些软件不需要太好的计算机,一般能流畅运行windows98软件的计算机都可以。书是不可缺的,按照书的提示和引导可以在学习中起到事半功倍的效果,而且一本好的书不但能够指导你的学习和实践,而且还能象手册一样查到很多工作中用到的知识和数据。开发板是学习和实践的有力工具,我们可以通过开发板观察到我们编程中要得到的现象,从而验证我们编程正确性。对于开始工作特别是要解决工作中的问题的新手来说,开发板最好是能够直接用在工作中的,这样可以在学习中工作,在工作中学习。单片机虽然属于电子类产品,但是它要解决的通常不是电子类的问题,而是那些诸如测量湿度、控制温度等工艺问题,在这种情况下能不能成为一个单片机控制高手,主要取决于这个方面工艺的精通程度,单片机反到不是特别重要,所以把注意力特别集中在编程上并不一定会成为高手。学习单片机的另一个要素是学习者要持之以恒。单片机是一门技术,作为技术在学习的过程中一定会出现这样那样的问题,而这些问题可能不会一下子就解决,这就需要学习者有一个恒心,通常最困难的时刻就是成功的开始。很多资料在谈到单片机及其语言的时候总是大篇幅的介绍那些硬件和软件,似乎把这些硬件软件背下来就能搞好单片机了,依据我个人的经验和对别人经验的总结,我们认为事情并不是这样的。其实那些硬件和软件我们可以查到很多的资料,根本就不用特别的去记忆它,在我们需要的时候能够查阅到就可以了,我们对它的记忆应该是在工作的实践中自然的去记忆,而我们要学习掌握的应该是分析问题解决体的方法。  学习单片机要善于解决小问题很多人以为用单片机控制是很高深的学问,一定要具备解决大问题的本领。这话很对,但是学习单片机的过程却是解决小问题的过程,为什么呢?对于一个新手而言,学习单片机的过程应该是如何把一个问题分解成一个个小问题,并且把这些小问题继续分解下去,直到不能再分解为止。不管多么难的大问题在这样的层层分解后都会变成一个个十分简单的小问题。单片机C51语言非常适合对于问题的分解和解决。C51的程序主要是由函数组成的,在另外一些语言,函数可能又被称为子程序等,我们在编制程序的时候让每一个函数解决一个问题,并且只解决一个小问题,一个最小的问题。这是快速编写程序的重要的方法之一,因为编制这样一个小问题的程序是很简单的,结构也会很清晰,程序量也很小,即使出现错误也很容易纠正或改进。这些解决小问题的函数就像建筑中的一个个砖头,虽然本身没有什么了不起,但是整合在一起就是一个雄伟的大建筑。整合的过程就是C51的主函数,主函数就是把这些函数按照流程的需要一一排列起来。 本书就是给予上面的观点写作的。 本书提供一个经典的51机电路,这个电路可以涵盖绝大多数的单片机的应用,笔者也会为这个电路提供相应的C51程序。你可以直接使用这个电路和程序,完全可以不进行任何删改,虽然这样做可能会有些浪费,但是和你的进度相比,这些浪费当然是微道不足的,就像前面所说的那样。在读懂本书的基础上,使用本书的提供的电路和配套的C51程序,可以使你在使用单片机的时候更加关注你的控制对象,而不是你的单片机硬件系统和软件程序本身。 本书分十六章,第一章主要是给读者补习一下单片机的基础知识;第二章介绍一个典型的51单片机应用电路;第三章以P1端口为例介绍51单片机端口的使用方法;第五章介绍单片机的扩展端口的芯片;第五章介绍了一个常用的液晶屏在本书电路的使用方法和驱动程序;第六章介绍单片机的键盘电路及其驱动程序。液晶屏和键盘一起构成的单片机的人机界面系统;第七章介绍了单片机的串口电路及其几个驱动程序,这是单片机与单片机、单片机与计算机之间甚至单片机与其它控制系统之间的通讯必然选择。虽然还有更好的通讯方式,但这是最简单最实用的。第八章介绍了单片机的计数器和几个具有实际意义的例子;第九章介绍单片机的定时器和几个具体的例子,虽然很多资料将其放在一起谈,但是它们的实际意义确实有很大的不同,所以我们将它们分做两章介绍。第十章介绍了单片机的中断,虽然中断几乎贯穿于单片机的全部硬件,但是从很多人的实践来看,将其归入单独一章,无论是讲解还是作为资料查询都是十分有益和方便的。第十一章介绍一种经典的51单片机的扩展电路,扩展单片机的数据存储器6264。第十二章介绍另一种经典的51单片机的扩展电路,扩展单片机的AD转换芯片0809。第十六章介绍了在实际应用中必须用到的信号隔离问题;第十七章介绍了在实际应用中必须用到的电磁兼容的问题。上述两章主要是现场应用应该注意到的问题,没有什么具体的程序,而且也只是泛泛而论,这是因为现场情况复杂多变,不可能用两个章节就能够谈的清楚。 本书不是教科书,也不会用教科书的口吻与大家交流。本书尽力避免谈及理论的问题,也尽力避免在概念上花费更多的精力和文字,而是更多的注重应用,是一本依据实践而编写的书。本书力图达到的目的是介绍的电路和程序几乎不用修改,直接通过鼠标就可以“复制粘贴”到你的应用系统中。虽然我们会逐块介绍我们谈到的电路,逐条介绍我们谈到的程序,但是我们力图使你在没有完全看懂的情况下就可以直接使用我们介绍的电路和程序,很多问题可以在进一步的工作中继续领会。正因为如此,我们才将本书取名为“拿来就用”。本书要求读者应该具有大专或大专以上的文化水准,要求读者比较熟练的使用计算机。 本书提供一张光盘,光盘里面提供了本书介绍了用PROTEL99绘制的电路图和程序,同时也附上一些常用的工具软件,这些软件通常是免费的或者是共享的。
回复

使用道具 举报

该用户从未签到

发表于 2008-8-25 00:47:12 | 显示全部楼层

回复:我写的书《拿来就用单片机》的前言部分

不敢评论
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-12-28 20:22 , Processed in 0.149524 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.