本书分为7个项目,将单片机应用系统的设计与传感器的相关知识有机地融合在一起。其中前面4个项目分别为“认识单片机”、“设计模拟彩灯”、“设计设备显示屏”、“设计时间显示系统”。项目5、项目6和项目7则是以不同类型传感器的学习为主要目标,以点带面的形式介绍了八大类常用的传感器。为了方便读者使用,将书中用到的Keil软件和Proteus软件的使用、汇编指令、C语言语句以附录的形式安排在了正文的后面。
本书在内容编排上采用了项目加知识链接的形式。其中每个项目又细分为不同的任务,将枯燥难懂的单片机的相关基础知识打散重新组合,安排在每个项目的后面,确保了知识体系的完整性。
本书可作为高等职业院校、高等专科院校、成人高校、民办高校电气自动化、机电一体化、应用电子等专业的教学用书,也可作为有关工程技术人员的参考与自学用书。
项目1 认识单片机 1
项目要求 1
项目分解 1
任务1-1 绘制单片机最小系统 2
任务1-2 初涉单片机软件编程 4
任务1-3 搭建单片机硬件系统 8
项目知识链接 10
单片机的基础知识 10
AT89S51单片机最小系统 12
AT89S51单片机存储器空间的配置及功能 16
项目2 设计模拟彩灯 23
项目要求 23
项目分解 23
任务2-1 控制一个LED灯的闪烁 23
任务2-2 控制8个LED跑马灯 27
任务2-3 控制任意变化的彩灯 31
项目知识链接 35
程序设计的基本思路 35
单片机的I/O端口 36
延时程序的编写 37
项目3 设计设备显示屏 40
项目要求 40
项目分解 40
任务3-1 控制单个数码管显示 40
任务3-2 控制数码管显示OFF 44
任务3-3 显示设备正常运行状态 49
项目知识链接 54
认识八段LED数码管 54
项目4 设计时间显示系统 56
项目要求 56
项目分解 56
任务4-1 按键控制数码管显示 57
任务4-2 设计简易时间显示系统 63
任务4-3 设计带按键控制的时间显示系统 70
项目知识链接 78
中断的基本概念 78
定时/计数器的基本概念 83
键盘接口 87
项目5 设计感应自动门 94
项目要求 94
项目分解 94
任务5-1 设计简单自动门 94
任务5-2 设计带位置控制的自动门 100
任务5-3 设计防挤夹自动门 105
项目知识链接 111
自动门的基础知识 111
传感器的基本知识 112
红外传感器 115
微波传感器 120
接近传感器 123
直流电动机的驱动控制 129
项目6 设计转速测量仪 132
项目要求 132
项目分解 132
任务6-1 设计霍尔转速测量仪 133
任务6-2 设计光电转速测量仪 140
任务6-3 设计磁电转速测量仪 148
项目知识链接 157
转速测量的基本概念 157
霍尔传感器 160
光电传感器 165
磁电传感器 170
蜂鸣器电路 173
项目7 设计温度控制系统 175
项目要求 175
项目分解 175
任务7-1 设计AD590温度显示系统 175
任务7-2 设计DS18B20温度控制系统 183
项目知识链接 191
温度传感器 191
单片机串行通信 201
A/D转换基础知识 205
DS18B20温度传感器 208
附录A Proteus仿真软件使用 217
一、软件基本介绍 217
二、电路图绘制与仿真 220
附录B Keil μVision3编程软件使用 227
一、创建项目与生成源文件 227
二、Keil软件调试功能应用 231
附录C 汇编语言编程基础 235
一、汇编语言指令基本概念 235
二、数据传送类指令与顺序程序设计 237
三、控制转移指令与循环程序设计 242
四、逻辑运算指令 246
五、算术运算指令 247
六、位操作类指令 250
附录D Keil C51编程基础 251
一、C51程序的基本结构 251
二、C51程序中函数 253
三、C51程序中常量、变量及运算 254
四、C51程序中的基本语句 257
参考文献 260
MCS-51系列单片机以其入门容易、性价比高等优点一直在单片机应用市场占据着一席之地。很多院校都将其作为电类相关专业的一门专业课程,而不同院校和专业根据其开设课程的特点,有些倾向于学习汇编语言编程,有些则倾向于学习C语言编程。这两种编程语言使用起来各有优点,本书为了更好满足学与教的不同要求,同时兼顾了两种语言的编程方法介绍,读者可以选择其中一种编程语言为主进行学习,在学有余力的同时可以对比两种语言的编程,会发现其实是一通百通的问题,关键在于思路。
为了更好的切合专业课的改革,本书将信号检测的相关知识与单片机应用系统的设计有机地融合在一起。信号检测与传感器的使用能够使得单片机系统的开发与应用有更广阔的空间,让学生的想象力与创造力有更好的着力点。而与单片机控制系统相结合又能让信号检测与传感器知识学习从单纯的器件认识上升到了器件的应用上。内容安排上则以点带面,以一种传感器应用带动一类传感器的学习,以多类传感器的学习辐射常用传感器的实践。
作为面向高职高专层次学生的教材,本书突出强调以下特点。
1.两条主线,方便学与教
全书采用项目加知识链接的形式进行内容重组。每个项目以“做”为主线,充分体现出“做中学,学中做”的原则;同时又将“知识体系”作为辅线,将原来枯燥难懂的单片机的相关基础知识,如内部结构、存储空间分配、特殊功能寄存器与传感器基本工作原理等内容打散重新组合,以项目知识链接的形式安排在每个项目的后面,用到才学,立学立用,确保了知识体系的完整性。教师在教学过程中可以根据自身教学的特点以及学生学习的不同阶段灵活地将两部分内容进行组合,融入课前知识预备,课中技能学习,课后能力提升的各个环节中。
2.采用项目化的设计理念
全书分为7个项目,其中前面4个项目分别为“认识单片机”、“设计模拟彩灯”、“设计设备显示屏”、“设计时间显示系统”。以掌握单片机基础知识作为最终学习目标,将各个知识点以从易到难,从简单到复杂的顺序融入其中。同时4个项目又都自成体系,每一个项目均结合学习者学习的基本规律,将最终要完成的功能进行细分,分成三个相对独立又互相关联的任务来完成,方便教师的教学过程的组织与课时的划分,一个任务一个重要知识点,确保一个任务攻克一个堡垒,稳步前进。
项目5和项目6则是以不同类型传感器的学习为主要目标,以点带面的形式介绍各种不同类型的传感器的工作原理以及选型应用。内容安排模式从前面的递进型转化成平行模式。两个项目分别以“设计感应自动门”和“设计转速测量仪”作为最终实现目标,在进一步巩固单片机系统设计与编程能力的同时介绍了“红外传感器”、“微波传感器”、“电容传感器”、“电感传感器”、“霍尔传感器”、“光电传感器”、“磁电传感器”七大类常用的传感器。
项目7是一个综合性的大项目,分成两个任务,分别使用两种比较常用的温度传感器AD590和DS18B20作为信号检测传感器。其中任务7-1中融入了在实际应用中较多的模数转换环节。而在任务7-2中则将DS18B20为例详细介绍现代的智能型数字传感器的使用方式方法。教师在进行本项目的教学时除了需要对模数转换环节以及单总线器件的时序图部分对学生进行必要的引导以外,可以放手让学生自主完成。
为了方便读者的自学,本书将使用到的Keil软件和Proteus软件以附录的形式安排在了本书的后面。同时为了方便读者在进行程序编写的时候对汇编指令或者C语言语句进行查阅,在附录部分对两种语言做了系统的介绍。
3.强调“必需、够用”原则
本书定位于易学、易懂、易掌握,强调在实践中学习,同时又确保知识体系的完整性,便于教师课堂讲解。对单片机部分重点讲解基础和核心的知识点,而对于传感器部分则强调资料收集的能力。学生通过本书入门后,可自行查阅参考书或产品说明书。
全书建议学时为90到120,其中项目1到6中每个任务占用4学时,共72学时,项目7采用8学时加30学时的形式开展教学,同时增加必要自主趣味设计环节。也可以根据实际情况将项目7采用学生自主学习的翻转课堂形式开展,确保课程在90学时内完成。
本书由淮安信息职业技术学院朱才荣担任主编,由刘洪恩教授担任主审。其中,朱才荣编写了项目3~项目7、附录B、D和全书的统稿工作,王继凤编写了项目1和附录B以及项目案例的开发工作,龚希宾编写了项目1中知识链接部分和附录C,钱玲玲编写了项目2和附录A。在本书的编写过程中,还参考了相关文献,并引用了其中的一些内容,在此也对这些文献的作者表示诚挚的谢意。
由于作者水平有限,书中的不足之处在所难免,恳请读者批评和指正。
编者
2014年6月