图书前言

在IT行业中,有多少曾经热极一时的技术都已成为明日黄花,风光不再,而单片机和嵌入式系统的应用却日益广泛,热度与日俱增。目前,物联网已经成为IT业界甚至整个社会的热门话题,被认为是下一个极具潜力的经济增长点。物联网的核心是传感器、计算机与网络,其中,传感器与单片机构成对物体进行控制的嵌入式控制系统,是物联网的终端,因此,在物联网的发展过程中,单片机与嵌入式系统必将扮演着举足轻重的角色,并将得到长足的发展。

要想学好单片机,并能够以单片机作为核心芯片设计出嵌入式控制系统,必须理解单片机以及相关外设的基本原理,只有具备坚实而深厚的理论基础,才能真正进入嵌入式控制系统的设计领域。然而,对于单片机的应用而言,理论很重要,实践更重要。因此,要想真正学好单片机,除了具备坚实而深厚的理论基础之外,还必须亲自动手,在掌握原理的基础上,从最简单的微控制系统设计开始,大胆尝试、逐步深入、反复试验、积累经验、吸取教训、不断提高。为了保证学生有条件进行微控制系统设计与实现的训练,必须建设微控制系统设计与实现实验室。

1. 建设微控制系统设计与实现实验室的意义

建设微控制系统设计与实现实验室具有下列重要意义。

(1) 通过引导学生动手操作,开发学生在微控制系统设计与实现方面的潜力,提高学生的就业竞争力,提升学生的就业质量。

在过去的20年里,计算机类专业曾经一度成为炙手可热的火爆专业,几乎所有的大学都设置这类专业,学生也竞相填报。这阵热潮催生了目前计算机类专业毕业生供大于求的局面。近五年来,计算机类专业面临的就业形势越来越严峻。由于就业困难,很多学生不再积极填报计算机类专业,不少高校计算机类专业的招生计划都不能完成。如果不主动寻找出路,计算机类专业必将陷入困境。

计算机类专业走到今天这一步,除了复杂的社会原因之外,高校在课程设置、教学模式方面也存在着很多值得深刻反思的地方。近几年,虽然计算机类专业毕业生的就业前景黯淡,但是每年还是有一些从事微控制系统开发的企业来学校招聘能够胜任微控制系统设计与实现岗位的人才,这些岗位的待遇和前途比其他岗位还要优越一些,然而,应聘者寥寥无几。经过大量调查得知,学生不是不愿意到这些企业去工作,而是对自己在硬件方面的能力缺乏信心,不敢面对面试官的提问。究其原因,根源还是在于课程设置、教学模式等方面。

大家知道,从电子管、晶体管计算机,到集成电路、大规模集成电路、超大规模集成电路计算机,主流的计算机基本上都是采用冯·诺依曼体系结构的。这种体系结构的计算机主要采取人机交互式的工作方式,在智能方面的表现不够突出。从20世纪80年代开始,日本、美国等国家提出了研制第五代计算机的计划,研究的目标是打破以往计算机固有的体系结构,使计算机具有像人一样的判断、推理、思维能力,实现接近于人的思维方式,向智能化方向发展。智能计算机不再具有我们通常见到的微型计算机的外形,例如,智能家电中的控制系统就是智能计算机的一个实例,汽车电子中的控制系统也是智能计算机。这些智能计算机实际上就是基于单片机的微控制系统。随着自动控制应用需求的扩展和自动控制技术的发展,很多微控制系统还需要操作系统的支持,这就是基于ARM的嵌入式系统。

目前,大多数高校的计算机类专业都设置了“单片机原理与应用”和“嵌入式系统”课程。通过调研发现,大多数教师仍然采取老套的、陈旧的、落后的教学方法,课堂上放放PPT,绝大多数实验是教师设计好的、验证性的实验,基本上是在实验箱上完成的,课堂教学和实验都没有充分调动学生的主动性、积极性,学生在教学活动中的主体地位没有得到体现。学生就是听课、看书、复习、考试,如果考试及格了,这门课也就结束了。在这种课程设置和教学模式下,学生没有得到充分的实际操作训练,动手能力不够,他们不敢去应聘微控制系统设计一类的岗位也就不足为奇了。

为了克服这种课程设置和教学模式的弊端,真正培养学生的动手能力,必须进行大胆的尝试。对于“单片机原理与应用”课程来说,可以在这门课程结束之后,通过对学生进行调查和考察,根据学生的成绩、兴趣、特长等对学生进行分类,因材施教,针对不同的学生采取有针对性的教学模式。对那些有意从事微控制系统设计工作、对单片机和嵌入式系统有浓厚兴趣、具有一定发展潜力的学生,再开设一门选修课程“微控制系统设计与实现”,一方面帮助他们巩固所学的理论知识,更主要的是开发他们在微控制系统设计方面的潜力。这些教学、实训、开发工作都可以在微控制系统设计与实现实验室里进行。

(2) 通过设计与实现一些实际的微控制系统,在设备、人才、理论、经验等方面进行积累,为学校开设新专业——“物联网工程”专业奠定基础。

IT业从来就是一个充满活力和朝气的产业,新生事物层出不穷。早在20世纪末,国际上就已经兴起了物联网技术的研究热潮。2008年后,随着国际金融危机的蔓延,美国、欧盟、日韩等国家和地区纷纷将物联网产业上升到国家信息产业战略的高度。

物联网市场潜力巨大。根据2010年11月发布的《中国物联网产业发展年度蓝皮书》的统计,2007年全球物联网市场规模达到700亿美元,2008年达到780亿美元,年增长10%以上。该蓝皮书指出,未来全球物联网产业将呈现快速增长的态势,预计2012年全球市场规模将超过1700亿美元,2015年将接近3500亿美元,年平均增长率接近25%。

根据2014年发布的《中国物联网行业竞争格局及发展动向研究报告(2014—2019)》,国际数据公司(IDC)在其发布的报告中指出,2013年全球物联网市场规模约为1.9万亿美元,未来6年将增长5万亿美元,到2020年物联网市场规模将达到7.1万亿美元。2013年至2020年期间,全球物联网产业年复合增长率将达17.5%。

我国物联网产业起步良好,具有一定的发展基础。我国相继成立了传感网络标准工作组、泛在网技术委员会等组织,并在制定国家标准、参与制定国际标准等方面积极工作,取得了国际标准制定的话语权。在物联网技术研发方面,无锡物联网产业研究院等单位致力于物联网感知层、传输层和应用层三层架构体系的搭建和系统集成。在物联网应用方面,面向国家重大战略和应用需求,完成了一系列研发工作和产业化工作,包括机场入侵防御、电网、物流、医疗、环保等领域的应用,使我国物联网技术和应用研究在国际上有了较高的地位。

根据中国物联网研究发展中心的预测数据,我国物联网整体市场规模: 2010年为2000亿元,2011年为2500亿元,2012年为3300亿元,2013年为4200亿元,2014年为5400亿元,2015年为7500亿元。5年的复合增长率超过30%,具有巨大的市场投资潜力。

随着物联网产业的兴起,IT业出现了重大的发展机遇,作为IT业重要组成部分的计算机类专业也将在物联网这个新兴产业中找到自己的位置,并发挥重要的作用。东南大学、北京邮电大学、电子科技大学等一批国内知名高校纷纷在无锡设立物联网研发机构,并积极申报“物联网工程”专业。2011年,全国“物联网工程”专业招生的高校有40所,到2012年,这一数字已经达到了120。可以预见,最近几年申报“物联网工程”专业的高校还会进一步增加,而且,历史经验告诉我们,在不久的将来,“物联网工程”专业又将达到饱和。为了能够在市场潜力巨大的物联网产业中占据一席之地,并且避免计算机类专业目前所处的尴尬局面,我们应该特别重视先发优势,积极、主动、尽快地筹备申报“物联网工程”专业。

从系统角度来看,物联网可以划分为三层体系结构,即感知互动层、网络传输层和应用服务层。其中感知互动层的核心就是基于单片机或ARM的微控制系统。因此,建设微控制系统设计与实现实验室是为申报“物联网工程”专业在设备、人才、理论、经验等方面进行储备,具有前瞻性。

2. 微控制系统设计与实现实验室建设的现状与不足

有些大学的机械设计制造及其自动化、电气工程及其自动化、电子科学与技术、电子信息工程、通信工程、自动化、计算科学与技术等本科专业的人才培养方案开设了“单片机原理与应用”、“嵌入式系统”等硬件类课程,这是符合市场需求的,值得肯定。不过,与这些课程配套的大多数实验仍然停留在实验箱阶段,这是远远不够的。在实验箱上做实验存在以下的缺点。

(1) 学生对硬件系统的总体结构了解不够,对接口技术涉及不多。在实验箱上做实验,硬件系统的构建主要是通过连线实现的,学生只需按照实验指导书所指定的步骤,一步一步地把系统中应该连接在一起的端口用导线连接起来就可以了。很少有学生去钻研该微控制系统的电路原理图,更不用说去研究这些接口连接所依据的基本原理了,而这些都是进行微控制系统设计与实现所必须经历的过程。

(2) 学生对软件系统的结构与流程理解不深,程序代码编写能力训练不足。在实验箱上做实验,为了使学生在有限的时间内能够完成实验,提高实验的成功率,对于某个微控制系统,一般都提供与硬件系统相配合的程序代码,学生只需在Keil C等程序编译平台上编译、调试、运行程序就可以了。这样一来,学生就不大会自己动脑筋编写程序代码,更不会主动去提高基于硬件系统的软件设计能力了。

(3) 学生对系统的概念缺乏整体认识。由于硬件系统和软件系统都可以依赖他人,因此,学生没有必要从宏观角度去思考微控制系统的整体结构,也没有必要从微观角度去深入研究微控制系统的局部细节。这样,他们就不可能完整地建立一个微控制系统的概念。

总之,在实验箱上做实验,学生所做的只是重复别人已经做过的实验过程,而对微控制系统设计与制作的整个流程缺乏了解,在微控制系统设计与实现能力方面得不到有效的锻炼,虽然学生最后看到了预期的实验结果,但是,他们的收获其实并不大。如果让他们自己设计与实现一个微控制系统,他们一定会茫然无措,无从下手。

我们认为,在“单片机原理与应用”、“嵌入式系统”等硬件类课程中,应该让学生多接触实物,在自己动手的基础上牢固掌握所学的知识,进而提高微控制系统设计与实现的能力。特别是“单片机原理与应用”课程的实验,应该鼓励、指导每位学生做一个小系统。通过这样的训练,学生不但可以深刻理解单片机片内功能部件的功能,而且可以在实际应用中利用汇编语言和C语言进行程序设计,还可以真正建立系统的概念。这些目标在基于实验箱的实验中是不可能达到的,而必须进行专门的微控制系统设计与制作的训练。

调查发现,相当多的高校已经认识到对学生进行微控制系统设计与制作训练的必要性和重要性,但是他们自己却没有能力开展这项训练,因此只好聘请其他单位代为培训。例如,合肥学院、合肥师范学院、滁州学院、安庆师范学院、池州学院、淮南师范学院等高校,纷纷与合肥求精公司合作,邀请合肥求精公司到学校进行培训。

安徽三联学院计算机科学与技术系也于2011年委托合肥求精公司代为培训,但是,由于合肥求精公司常年在外地培训,在时间安排上存在很大的困难。即使合肥求精公司回到合肥,他们也因为我院参训人数较少而不愿意到我院来培训,学生必须自己到合肥求精公司去接受培训。采用这种培训方式,学生的安全存在隐患,而且还要交纳不少培训费用。

如果建成了微控制系统设计与制作实验室,那么,我们就可以在校内完成微控制系统设计与制作的训练任务,既能保证学生的安全,又能节约费用,一举多得,甚至走在很多院校的前头,因此,建设微控制系统设计与制作实验室的举措具有一定的创新性。

3. 微控制系统设计与实现实验室建设的方向

在建设微控制系统设计与制作实验室之前,必须确定实验室建设的方向与目标,才能做到目标明确,有的放矢。我们确定了实验室建设的方向与目标如下。

(1) 建设一个实验室实体。微控制系统设计与制作是一项操作性很强的工作,学生在设计与制作微控制系统时,必须有一个固定的活动场所,还需要比较齐备的工作台、工具、零件、仪器与仪表等,这些物质条件只能由单位来筹备,学生个人是无法置办齐全的。

(2) 培养一支实验教师队伍。实验教师是实验室的重要组成部分,在一定程度上决定了实验与实训的质量,因此,必须精心挑选合格的实验教师。我们要求实验教师不但能够指导学生进行微控制系统设计与制作的实验与实训,而且能够亲自设计与制作一些微控制系统,还要创造性地构思一些微控制系统设计项目供学生选择练习,在指导学生实验与实训的同时,不断积累经验,逐步提升自己的业务水平。我们期望,在实验教师与参训学生的互动中,实现教学相长,逐渐丰富实验室的底蕴,提升实验室的层次。

(3) 确定实验室的基本训练内容。为了使微控制系统设计与制作实验室能够有计划、按步骤地开展工作,实验室必须有明确的训练内容。我们确定了实验室的以下基本训练内容。第一,电路焊接技术训练; 第二,设计并制作微控制系统训练板,在训练板上进行针对微控制系统的C语言程序设计训练; 第三,在电路辅助设计平台Protel上进行PCB设计与制作实训; 第四,在电路仿真平台Proteus上进行电路仿真实训; 第五,每个学生选择一个典型的微控制系统设计项目,独立地进行微控制系统的设计与制作。

(4) 在前期实训工作的基础上,编写本书初稿,并使用该教材初稿开展一期实训,通过实际的训练工作,检验本实验室的实际培训效果,发现教材初稿中存在的问题并加以修正,不断完善,然后成书出版,作为以后实验室培训的教材或参考书。

(5) 确定实验室的长远目标。虽然目前微控制系统设计与制作还有自己的舞台和生存空间,但是,孤立的微控制系统设计与制作是狭隘的,随着时间的推移,其生命力会逐渐减弱。为了使微控制系统设计与制作能够与时俱进,必须把它融入物联网产业之中,让其在物联网工程中找到自己的位置。为此,微控制系统设计与制作实验室必须拥有一些基于物联网视角的设计与制作项目。

4. 微控制系统设计与实现实验室建设的实践

根据微控制系统设计与制作实验室建设的方向与目标,我们做了以下探索。

(1) 建成了一个实体实验室。本实验室具有以下硬件条件: 面积70平方米的实验室1间,实验台10套,工具和元器件储存柜4个,电子设计作品展示柜5个,数字电子示波器2台,AT89C51单片机芯片30片,STC12C5A16S2单片机芯片30片,恒温烙铁10套,万用表5个,电工螺丝刀5套,带放大镜台灯2台,台钻1台,锉刀1套,手锯1把,其他电工工具若干,其他元器件若干,实验耗材若干。

(2) 初步培养出了一支实验教师队伍。我们对本院计算机科学与技术系的“单片机原理与应用”、“嵌入式系统”、“计算机组装与维护”等课程的任课教师进行培训,让他们担任微控制系统设计与制作实验室的实验指导老师。另外,从2012届计算机科学与技术本科专业的毕业生中遴选一名优秀学生担任本实验室的实验员,负责实验室的日常管理工作,协助实验指导老师指导参训学生进行微控制系统设计与制作,并作为指导老师负责组队参加飞思卡尔杯全国大学生智能车大赛。经过长时间的磨合,这支实验教师队伍已经能够承担本实验室的基本任务。

(3) 开展了微控制系统设计与制作的培训工作。2012年,我们尝试自己开展微控制系统设计与制作的培训工作。首先,对学生进行电路焊接训练。发给每位学生两块电路焊接训练板,一块用于进行插针式元器件焊接训练,另一块用于贴片式元器件焊接训练。其次,采用青岛帕沃伸公司的单片机训练板,对学生进行硬件实物焊接训练以及基于实际应用的C语言程序设计训练。接着,向学生介绍使用Protel 99 SE设计电路原理图、画元件原理图符号、画元件封装图、设计电路板的基本方法。最后,要求每位学生选择一个适合自己的应用项目,独立设计并制作硬件系统,编写程序,调试运行,形成完整的成品。训练结果表明,我们采取的教学模式效果很好。

在开展培训工作的过程中,我们参考、借鉴合肥求精公司、青岛帕沃伸公司的单片机训练板的设计思想,设计并制作了以单片机AT89C51为核心的微控制系统训练板; 学习合肥凌翔信息科技有限公司的轮式机器人、跳舞机器人、扫地机器人、灭火机器人、机械臂、智能玩具等电子产品,设计并制作5个实际的微控制系统,以实例为引导,介绍微控制系统设计与实现的一般方法与详细过程。在以往的工作经历中,我们多次采取走出去、请进来的办法,通过参考、借鉴他人的成功经验,寻找捷径,少走弯路。实践证明,这种办法是有效的、可行的。

(4) 依托微控制系统设计与实现实验室,积极参与大学生创新实践活动。从2011年起,我们三次组队参加飞思卡尔杯全国大学生智能车大赛,参赛的5支队伍取得了4个二等奖、1个优秀奖的良好成绩。通过参加全国性的大学生智能车大赛,既调动了学生进行微控制系统设计与实现的热情,为学院争得了荣誉,又检验了本实验室的水平。

(5) 编写了本书。建设一个微控制系统设计与实现实训室的结果,一部分体现在实训指导教材中,全书由四篇和三个附录组成。

第一篇,实训任务包括插针式电子元器件的焊接,闪光电路的焊接与调试、贴片式电子元器件的焊接以及微控制系统开发训练板的焊接等。通过亲自动手进行焊接练习,了解、熟悉电子元器件的类型、特征,逐步掌握电子元器件的焊接技术,为微控制系统的电路设计与制作奠定基础。

第二篇,设计并制作以单片机AT89C51为核心的微控制系统训练板,该训练板涵盖单片机AT89C51的存储器、通用I/O口、定时器/计数器、外部中断、ADC/DAC、串口等内部资源,同时包括键盘、鼠标、LED数码管、点阵LED显示器、LCD等外部设备。利用该训练板,学生可以进行微控制系统的C语言程序设计、系统调试与运行等方面的实训,从而加深对单片机AT89C51各项功能的理解,提高对微控制系统的整体认识,培养基于实际应用的程序设计能力。

第三篇,学习EDA的常用软件Protel 99 SE。简要介绍Protel的基本功能和设计环境,以及使用Protel设计电路原理图、画元件原理图符号、画元件封装图、设计电路板的基本方法。

第四篇,进行微控制系统设计与实现的实际训练。引导学生自己动手,设计与实现一些实际的微控制系统。通过这些实例,培养学生分析问题和解决问题的能力,强化硬件设计方面的训练,提高程序设计能力。更重要的是,通过这些接近于实际设计的训练,培养学生的团队协作精神,锻炼他们敢于面对挫折与困难的意志品质,帮助学生建立系统的概念,熟知项目研究的一般过程,为学生将来工作奠定基础。

附录A是训练板的电路原理图,供学生在进行焊接与程序设计训练时参考。

附录B介绍电路仿真软件Proteus 7 Professional的功能与使用方法。对于一个微控制系统而言,在PCB和控制程序设计完成之后,一般就可以考虑制作微控制系统的实物了。但是,为了提高系统制作的成功概率,节约系统设计和制作的成本和时间,先在电路仿真平台上进行仿真实验,待仿真实验证明硬件系统、软件系统都正确之后,再制作实物。

附录C列举了20个微控制系统设计与实现的题目,供学生在课程设计或毕业设计时选用。在安徽三联学院计算机科学与技术系2012届、2014届本科计算机科学与技术专业毕业生的毕业设计中,作者指导的学生中有多人所做的课题是关于微控制系统设计的,设计出的微控制系统有电子时钟、温度控制器、安保报警器、交通控制信号灯、电子计算器、户外广告显示系统、门禁系统、运动计时器、避障灭火智能车、三维立体LED彩灯、自主寻迹竞速智能车等。通过这些微控制系统的设计与制作,微控制系统设计与实现实验室研究团队积累了丰富的工作经验。

(6) 注意设计作品的展示和工作经验的积累。在实验室建设的过程中,我们注意收集、保存参训学生设计与制作的电子作品,让这些作品作为活生生的证据,见证微控制系统设计与实现实验室的发展历史。在实验室的电子设计作品展示柜中,陈列了我们三次组队参加飞思卡尔杯全国大学生智能车大赛的所有车模,从这些车模上,既可以看出我们在智能车设计与制作方面的技术进步,也可以看出微控制系统设计与实现实验室的发展历程,还可以看出微控制系统设计与实现实验室建设团队的成长足迹。另外,我们始终注意微控制系统设计与制作经验的积累,实验室建设团队的负责人和主要成员出版/发表了相当多与本课题有关的著作/论文。

基于单片机或嵌入式系统的微控制系统设计与制作是一种开放性的实践活动,设计思路是广阔的、发散的、没有疆界的,没有最好,只有更好,只有勇于创新,才能不断推出有特色的设计成果。建设一个微控制系统设计与实现实验室,旨在为有志于从事微控制系统设计与制作的大学生提供一个实验、实训、交流、开发的平台。多年的实验室建设实践表明,我们的努力方向是正确的,效果是明显的,取得了预期的结果。

本书是作者在多次教学实践的基础上,参考相当多文献资料,经过多次编写、反复修改而成的,在正式出版之前,作为培训教材在本科计算机科学与技术专业使用过多次。使用本书的教师和学生一致反映,本书以应用为出发点,突出能力培养,体系完整,结构合理,层次清楚,难度适中,循序渐进,便于教学,教学效果显著。

本书可以作为高等院校计算机科学与技术、自动化、嵌入式系统、物联网、电子技术等专业的辅助教材,也可以作为有志于从事嵌入式系统设计、物联网工程的IT工程技术人员的参考书。

本书由安徽三联学院计算机工程学院孙宝法博士编著,安徽三联学院计算机工程学院梁月放老师参加编写,其中,孙宝法编写第一篇、第二篇、第三篇、第四篇的实训1与实训2、附录A、附录B以及附录C,梁月放编写第四篇的实训3、实训4、实训5。

在编写本书的过程中,作者参考了相当多关于单片机、嵌入式系统、电子设计自动化等方面的教材和其他文献资料。在此谨向这些文献的作者致以诚挚的谢意!

为了便于阅读与学习,我们为读者准备了训练板实训项目的源程序,以及微控制系统设计实例的相关文件,需要者可以到清华大学出版社网站(http://www.tup.com.cn)免费下载,或者直接与作者(Email: sunbaofa@sohu.com)联系。

由于作者水平有限,书中错漏在所难免,敬请广大读者批评指正。我们将认真听取大家的意见和建议,并加以改进。谢谢大家的支持!

孙宝法

2015年6月于安徽三联学院