18日下午买了这本书,在书店翻阅时,看到有几页描述一些单片机的项目经验,觉得很稀罕就买了。当时本来是因为I2C接口掌握的不好,想去找找有没有专门写通讯协议的书,看到这本便买了。当初打算当作科普读物来了解一下行业,没成想这本书的信息量如此大。
可以说这几年断断续续的只能说自己学过c语言编程,玩过点51,开源硬件,而没学过单片机。看完了这本书,我脑子里对单片机才有了一个明确的定义:即靠操作特殊功能寄存器,来实现程序与物理世界的对接。并且对单片机这个行业有了总体的认识。
这一章上来就说电子制作,然后简要的介绍了一下什么时单片机和面包板之类的常用实验器件。然后,做了一个流水灯作为HelloWorld。
这本来就是常见51单片机教材的开头套路,然而,作者用的是STC12C2052,内部集成复位和时钟电路,除了电池盒上的电源线外,没有任何额外导线。这就很稀罕了,大部分学生大学时期学习单片机只接触过AT89C51,AT89C52,用国内的开发板基本就是STC89C51。具体51,52哪种不重要了,大致原理,使用方式都一样。
书上都是一样的,随便拿起一本51单片机入门,单片机接口的书基本内容前5章都没区别。一样的晶振电路,一样的复位电路,这种集成型的根本没有。知道看这本书前,我还认为所有的单片机电路都一定需要这些,不能集成到片内。
至于额外的单片机,了解的还没有AVR,PLC等东西多,再书上起码AVR还会介绍一下指令集,而STC其他的新产品,闻所未闻,顶多有个参数标号。而作者用了一片STC12C2052和一个LED就做完了LED灯实验。
LED灯程序都没讲,I/O口都没介绍,这个作者就开始讲用MAX232做串口。还好后面介绍了用USB制作ISP下载线,通过UART串口。实际上ISP下在线就是一个USB转UART模块,以CP1202为核心。
我仔细翻了一下《单片机原理及接口技术》并且回忆了一下大学时的教材和老师授课内容,完全没有讲到,连介绍都没有。印象最深刻,最老调重弹的就是紫外线光照EEPROM还是啥之类的鬼东西,然后用专业的下载器。
我大二下学期学的单片机,按时间算现在可以算大六下学期,四年期间虽然查过怎么烧录单片机,什么JLINK,但从来没有把这件事讲明白。书没有,学校没有,网上我也没找到,一直以来的想法就是,用开发板。 然后这个作者所有的元件固定方式都很随意,得找本焊接的书参照着看。就在刚刚下单了他们的电子元件套件和教材,作为数模电路的入门应该是可以的,但应该再买一本数模电路基础的教材。
后来基本就是各种各样不涉及到程序的led电路,数码管甚至还有1602等。然后我还头一次了解到了I/O口的推挽工作方式。然后这个作者举了不同种类的电子钟(LCD屏幕)的例子,不是很好操作,先略过,等复习单片机做例程的时候重新弄。
以上就是第一章的内容,占422页中的122页,很大比例。这一章作为单片机学习很适合入门了解什么是硬件,再配合一些数模电路的基础应该就够用了。起码可以做到可以简单搭配电路,看懂原理图。
从这里开始基本就是讲C语言入门,老生常谈的Keil安装,这里延时函数的问题还没有解决,书上和我的以及另一本书的都对不上,先不谈。然后C语言变量之类的,判断,循环,函数,数组。
第四节的看原理,我认为这是全书对于传统的软件工程嵌入式方向学生最重要的一节。很详细的介绍了寄存器如何控制I/O口,不过这个很多书中也有写。以及数据存储类型,硬件内部结构。
最重要的点是通过将SFR比喻成控制台,形象的说明了特殊功能寄存器的物理作用。特殊功能寄存器是程序控制硬件的唯一渠道,所有程序的最终目的都是为了SFR,所有硬件受SFR操控。
这说明了什么,每个单片机都有特殊功能寄存器,只要了解了SFR的控制方法,就相当于学会了使用了所有单片机。单片机不过是通过操作SFR中的开关来控制的可编程逻辑电路。以往不清楚不同单片机的相同之处。看完这一节,我明白了,无论是STC89C51还是STC12C2052,我都可以通过SFR去使用他们。
还有可以通过控制SFR,改变P0~P4口的工作方式:标准双向输入输出,推挽输出,高阻态输入,开漏四种。然后后面就是一些常见的函数写法,怎么设计驱动。最后对数据手册的结构进行了分析。
最后又介绍了一下STC新型号的单片机的改进,RC时钟电路之类的,没有特别精彩的地方就不说了,毕竟其余的51单片机教科书里面都包含这些。到这里420页的书讲了300页,接下来的两章才是相对于其他教材不同的地方。
小工程部分主要是以一个单片机工程师的角度,对产品开发的流程做介绍。从狭义的单片机产品,到一个产品的总体开发流程进行描述。
首先比较了工程师和技术员对几个常见问提的思考:新型号单片机,如何开始工程项目,谁来决定功能等。然后从工程层面认识单片机产品结构,分类成:运算,存储,写处理,输出,输入通信和电源,最后归纳成运算和通信。
这一节包含了立项方面的问题:客户需求,设计草稿,元器件选择,设计冗余,编写报告。这部分让我想起了之前看的,很多创业公司失败的原因就是因为对困难估计不足,而创业公司的失败往往就是因为一个产品周期太长,太困难拖垮自己。做事前先把需求分析好。
这里讲述了项目开发的具体流程。从方案提出,立项,然后起草计划,分配时间。然后研发,最后提交,中间有各种各样的问题出现,如何平衡如何解决。
生产销售,资料管理,技术支持,升级更新,都是售后方面的东西。
这四节从零开始介绍了一个工程的立项到结束。
这一部分大致介绍了行业和产业链,又着重说了一下嵌入式行业,算科普吧。还有一些职业规划的问题。