《单片机原理与应用》强调实用性和可操作性,基本理论以必需、够用为原则,着重介绍单片机实用性技术及实际应用,采取由浅入深、循序渐进、层次清楚、步骤详尽的写作方式,突出实践技能和动手能力。《单片机原理与应用》共8章,从单片机应用开发的角度出发,以Intel公司的MCS-51单片机为背景,介绍其内部结构组成、汇编语言程序设计、内部功能部件、系统接口技术、系统扩展、开发环境和单片机应用实例。列举大量例题和应用实例,每章末安排小结和大量可供选做的思考题与练习题,附录中还提供集成电路引脚图和ASCI码表等资料,以帮助读者拓展相关知识。帮助读者获得在检测和控制领域开展单片机应用的基本能力,使读者能够单一反三,很快地掌握单片机应用系统的开发技术。《单片机原理与应用》可作为高职高专及大专电气电子类和机械类各专业的教材,也适用于自动控制和计算机类等专业专科、函授和培训班等相关课程的教材,同时可供工程技术人员参考使用。
单片机由于具有体积小、性价比高、使用方便、系统设计灵活等特点,被广泛应用于工业控制、智能化仪表、家用电器等各个领域。目前许多高等职业学校的电子信息、电气技术、机电一体化技术等专业均开设了“单片机原理与应用”课程。通过对本课程的学习,能使学习者掌握单片机原理与接口技术及程序设计方法,熟悉单片机的应用及开发技术。
本书立足于高等职业教育人才培养目标,遵循适应社会发展需要,突出应用性,加强实践能力培养的原则。在内容安排上,我们选择了具有代表性的80C51单片机为对象,介绍了单片机的结构与原理、指令系统与程序设计、单片机的中断系统、定时与计数原理、外围接口技术应用、单片机系统扩展和常用编译软件KeilC51,引入C51编程方式,丰富了单片机开发的手段。本书采用章节编写模式,在介绍单片机结构、指令等基础上,从实际出发,分析了很多典型实例,丰富了单片机的实际应用和开发的相关内容,在内容上力求循序渐进。本书在编写过程中,充分考虑了高职学生的学习特点,注重应用性和实施性。为了便于教学和自学,在每章前有导读类信息,章末安排有小结和可供选做的习题。
第1章 单片机概述
1.1 单片机的发展概况
1.1.1 单片机组成
1.1.2 单片机芯片技术的发展概况
1.2 单片机的特点及应用
1.2.1 单片机的特点
1.2.2 单片机的应用
1.3 单片机的常用系列
1.3.1 MCS一51单片机
1.3.2 其他单片机
本章小结
思考题与习题
第2章 MCS-51单片机的组成结构
2.1 MCS-51单片机的结构和引脚
2.1.1 MCS-51单片机的内部结构
2.1.2 MCS-51的引脚定义和功能
2.2 MCS-51单片机的存储结构
2.2.1 程序存储器ROM
2.2.2 数据存储器RAM
2.2.3 特殊功能寄存器
2.3 并行I/O
2.3.1 P0端口
2.3.2 P1端口
2.3.3 P2端口
2.3.4 P3端口
2.4 时钟电路、复位电路及掉电处理
2.5 MCS-51单片机CPU时序、指令执行过程
本章小结
思考题与习题
第3章 MCS-51单片机的指令系统
3.1 概述
3.1.1 汇编语言的指令格式
3.1.2 汇编语言的符号约定
3.2 寻址方式
3.3 指令系统
3.3.1 数据传送类指令
3.3.2 算术运算类指令
3.3.3 逻辑运算类指令
3.3.4 控制转移类指令
3.3.5 位操作类指令
本章小结
思考题与习题
第4章 汇编语言程序设计
4.1 概述
4.1.1 计算机常用的编程语言
4.1.2 汇编语言的格式
4.1.3 伪指令
4.2 程序的设计步骤与方法
4.2.1 顺序程序
4.2.2 分支程序
4.2.3 查表程序
4.2.4 循环程序
4.2.5 逻辑操作程序
4.2.6 子程序设计
4.2.7 实用程序设计举例
4.3 源程序汇编及模拟运行
4.3.1 源程序汇编
4.3.2 源程序的模拟运行
本章小结
思考题与习题
第5章 MCS-51单片机的中断系统、定时器/计数器和串行口
5.1 中断系统
5.1.1 中断的基本概念
5.1.2 MCS-51单片机的中断源及中断优先级
5.1.3 中断控制及响应过程
5.1.4 中断技术的应用举例
5.2 MCS-51单片机的定时器/计数器
5.2.1 定时器/计数器的结构
5.2.2 工作模式寄存器和控制寄存器
5.2.3 定时器的4种工作模式
5.2.4 定时器/计数器的应用举例
5.3 MCS-51单片机的串行通信接口
5.3.1 串行通信概述
5.3.2 串行口结构及控制寄存器
5.3.3 串行口的工作方式
5.3.4 串行口的应用设计举例
本章小结
思考题与习题
第6章 MCS-51单片机系统的接口技术
6.1 MCS-51单片机的系统扩展概述
6.1.1 程序存储器的扩展
6.1.2 数据存储器的扩展
6.1.3 I/O口的扩展
6.1.4 综合扩展技术应用举例
6.2 人机接口
6.2.1 LED数码显示器的接口与编程
6.2.2 LCD显示器的接口与编程
6.2.3 键盘接口与编程
6.2.4 显示器/键盘系统
6.3 MCS-51单片机与A/D、D/A的接口
6.3.1 D/A转换接口技术
6.3.2 A/D转换接口技术
6.4 MCS-51单片机与功率负载的接口
6.4.1 开关型功率接口及其应用
6.4.2 步进电机接口及其应用
本章小结
思考题与习题
第7章 MCS-51开发环境(KeilC51)
7.1 Keil集成开发环境简介
7.2 KeilC51编译器的使用
7.2.1 KeilC51工具包的安装
7.2.2 Keil工程文件的建立
7.2.3 工程的详细设置
7.2.4 编译、连接
7.2.5 文件的操作
7.3 Keil的调试命令、在线汇编与断点设置
7.3.1 常用调试命令
7.3.2 在线汇编
7.3.3 断点设置
7.4 Keil程序调试窗口
7.4.1 存储器窗口
7.4.2 工程窗口寄存器页
7.4.3 观察窗口
7.4.4 程序调试窗口的应用
7.5 Keil的辅助工具
7.6 Keil的应用
7.7 C语言与MCS-51
7.8 模块化程序开发过程
7.9 MCS-51的C语言编程应用
本章小结
思考题与习题
第8章 MCS-51的应用系统设计开发
8.1 单片机的开发装置与开发步骤
8.2 单片机应用系统的设计方法
8.2.1 总体设计
8.2.2 硬件设计
8.2.3 软件设计
8.2.4 系统调试
8.3 系统应用
8.3.1 警报器系统
8.3.2 “高层建筑警示灯”控制器系统
本章小结
思考题与习题
附录1 常用集成电路引脚排列
附录2 SCH(美国标准信息交换码)表
参考文献
覆盖和共享是混合编程及连接/定位器中常采用的两种存储器管理技术。
1)覆盖单片机片内存储空间有限,连接/定位器通常重新启用程序不再用的位置。这就是说,若一个程序不再调用,也不被其他程序调用(甚至间接调用),那么在其他程序执行完之前,这个程序不再运行。这个程序的变量可以放在与其他程序完全相同的RAM空间,很像可重用的寄存器,这种技术就是覆盖。在汇编中通过手工完成的这些空间分配,在C中可以由连接器自动管理。当有几个不相关联的程序时,使用连接器完成空间分配所占用的RAM单元比手工完成空间分配要少。
2)共享共享变量前要弄清不同模块之间的变量关系。编译一个模块,而另一模块还没编写时,编译器必须给出另一模块要使用的信息。连接/定位器给共享变量分配相同的地址,字节作为字节,整数/字作为整数/字,数组作为数组,指针作为指针。汇编语言和C语言的共享不同。表7-8是二者的简要规则。