本书以MCS-51单片机为主,主要内容:绪论为单片机简介,第1章介绍单片机的结构与原理,第2章介绍单片机的指令系统与程序设计,第3章介绍单片机的内部资源及应用,第4~6章介绍单片机的外围接口技术,第7章介绍单片机系统设计,第8章为课程设计与创新实验题目。第1~7章配有习题,并免费提供包括CAI课件、典型例题的Proteus仿真源代码、仿真演示视频(二维码)、习题参考答案等在内的教学资源包。CAI课件可登录华信教育资源网(www.hxedu.com.cn)下载。 本书以培养学生的工程实践能力与创新能力为目标,突出多种典型、常用集成电路芯片的介绍与应用,突出单片机外围接口芯片的扩展、单片机系统的设计与实现及单片机的典型应用;汇编语言与C51语言程序设计并重,注重新技术和新器件的引入,如I2C总线、时钟芯片、串行A/D转换器和D/A转换器、片上系统(SoC)等;理论联系实际,系统实用。
张鑫,现为山东工商学院信息与电子工程学院教授。1985年7月毕业于哈尔滨科技大学电子工程系,获工学学士学位,1988年4月毕业于哈尔滨理工大学自动化仪表系,获工学硕士学位。 从教21年来,主讲过单片机原理及应用、微机原理及应用、计算机控制系统、集散控制系统、过程控制工程、可编程控制器、检测技术及仪表、控制仪表及装置、机床电气与控制、化工仪表及自动化、电路原理、电工学、数字电路等多门课程。正式出版著作3部,在《电力设备自动化》等杂志发表论文30余篇,主持参与省部级项目5项,完成横向课题多项,主要研究方向为嵌入式系统应用。
绪论 1
第1章 MCS-51单片机的结构与原理 10
1.1 MCS-51单片机硬件结构及引脚 10
1.1.1 MCS-51单片机内部结构 10
1.1.2 MCS-51单片机外部引脚 17
1.1.3 AT89单片机简介 19
1.1.4 STC单片机简介 19
1.2 MCS-51单片机的工作方式 20
1.2.1 复位方式 20
1.2.2 程序执行方式 21
1.2.3 节电方式 21
1.2.4 编程和校验方式 23
1.3 单片机的时序 23
1.3.1 MCS-51单片机的时序单位 23
1.3.2 MCS-51单片机指令的取指/执行时序 23
1.3.3 访问外部ROM/RAM指令的时序 24
1.4 C8051F片上系统简介 26
习题1 27
第2章 MCS-51单片机的指令系统与程序设计 29
2.1 汇编语言概述 29
2.1.1 汇编语言指令格式与伪指令 29
2.1.2 指令的分类 32
2.1.3 指令中的常用符号 32
2.1.4 指令的字节数 33
2.2 MCS-51单片机的寻址方式 34
2.2.1 立即寻址 34
2.2.2 直接寻址 34
2.2.3 寄存器寻址 35
2.2.4 寄存器间接寻址 35
2.2.5 变址寻址 36
2.2.6 相对寻址 37
2.2.7 位寻址 38
2.3 MCS-51单片机的指令系统 38
2.3.1 数据传送指令 38
2.3.2 算术运算指令 44
2.3.3 逻辑运算及移位指令 48
2.3.4 控制转移指令 51
2.3.5 位操作指令 57
2.4 C51语言 60
2.4.1 C51语言的程序结构、数据与存储类型 60
2.4.2 C51语言的头文件与库函数 64
2.4.3 C51语言中绝对地址的访问 65
2.4.4 C51语言与汇编语言混合编程的方法 67
2.5 程序设计 68
2.5.1 汇编语言程序设计的步骤 68
2.5.2 顺序程序设计 69
2.5.3 分支程序设计 70
2.5.4 循环程序设计 72
2.5.5 查表程序设计 77
2.5.6 子程序设计 81
2.6 程序设计举例 84
2.6.1 多字节算术运算程序 84
2.6.2 数制转换程序 85
2.6.3 散转程序 88
2.7 汇编语言的开发环境 91
2.7.1 单片机开发系统 91
2.7.2 汇编语言源程序的编辑与汇编 92
2.7.3 汇编语言源程序的调试 92
习题2 94
第3章 MCS-51单片机的内部资源及应用 97
3.1 MCS-51单片机的并行I/O接口 97
3.1.1 并行I/O接口的内部结构 97
3.1.2 MCS-51单片机并行I/O接口的应用 99
3.1.3 C51语言中MCS-51单片机并行I/O接口的定义方法 101
3.2 MCS-51单片机的中断系统 102
3.2.1 中断的基本概念 102
3.2.2 MCS-51单片机中断系统简介 103
3.2.3 中断的软件设计 109
3.2.4 MCS-51单片机扩展外部中断请求输入口 110
3.3 MCS-51单片机的定时器/计数器 112
3.3.1 定时器/计数器 112
3.3.2 定时器/计数器的工作方式 114
3.3.3 定时器/计数器的应用 115
3.4 MCS-51单片机的串行通信 120
3.4.1 概述 120
3.4.2 MCS-51单片机的串行口 122
3.4.3 串行口的工作方式 124
3.4.4 串行口的通信波特率 125
3.4.5 串行口的初始化 126
3.4.6 串行口的应用 126
习题3 135
第4章 MCS-51单片机的系统扩展技术 138
4.1 MCS-51单片机系统扩展概述 138
4.1.1 MCS-51单片机外部扩展原理 138
4.1.2 MCS-51单片机系统地址空间的分配 139
4.2 存储器的扩展 140
4.2.1 程序存储器的扩展 141
4.2.2 数据存储器的扩展 144
4.2.3 MCS-51单片机对外部存储器的扩展 146
4.3 并行I/O接口的扩展 146
4.3.1 概述 146
4.3.2 普通并行I/O接口的扩展 147
4.3.3 可编程并行I/O接口芯片的扩展 148
4.4 时钟芯片的扩展 157
4.4.1 时钟芯片概述 158
4.4.2 DS1302的工作原理及应用 158
4.5 总线接口的扩展 164
4.5.1 RS-232C总线标准与接口电路 165
4.5.2 RS-422/RS-485总线标准与接口电路 167
4.5.3 I2C总线标准与接口电路 170
4.5.4 其他常用总线标准 173
习题4 175
第5章 MCS-51单片机的输入/输出通道设计 177
5.1 输入/输出通道概述 177
5.1.1 传感器 177
5.1.2 单片机系统的输入/输出通道 177
5.2 D/A转换器及其硬件和软件设计 180
5.2.1 D/A转换器的性能指标 180
5.2.2 D/A转换器的分类 180
5.2.3 D/A转换器的硬件和软件设计 181
5.3 A/D转换器及接口技术 188
5.3.1 A/D转换器的性能指标 188
5.3.2 A/D转换器的分类 189
5.3.3 A/D转换器的硬件和软件设计 190
5.3.4 数据采集系统 198
习题5 201
第6章 MCS-51单片机的交互通道配置与设计 202
6.1 MCS-51单片机扩展键盘的技术 202
6.1.1 概述 202
6.1.2 使用键盘时必须解决的问题 203
6.1.3 MCS-51单片机扩展键盘的硬件和软件设计 204
6.2 MCS-51单片机扩展显示器的技术 216
6.2.1 LED显示器及其硬件和软件设计 216
6.2.2 液晶显示器及其硬件和软件设计 223
6.2.3 单片机扩展液晶显示模块LCD1602 224
6.3 MCS-51单片机扩展键盘和显示器的设计实例 233
6.3.1 利用8155/8255A扩展键盘和显示器 233
6.3.2 利用MCS-51单片机的串行口扩展键盘和显示器 236
6.3.3 利用专用芯片扩展键盘和显示器 238
习题6 239
第7章 MCS-51单片机系统设计 240
7.1 单片机系统设计过程 241
7.1.1 总体设计 241
7.1.2 硬件设计 242
7.1.3 软件设计 243
7.1.4 可靠性设计 245
7.1.5 单片机系统的调试与测试 249
7.2 MCS-51单片机系统设计举例 250
7.2.1 在工业测控系统中的应用 250
7.2.2 在温度监控系统中的应用 253
7.2.3 在直流电动机调速中的应用 258
习题7 261
第8章 课程设计与创新实验题目 262
8.1 交通信号灯实时控制系统的设计 262
8.2 智力竞赛抢答器的设计 262
8.3 住校学生生活时间提示系统的设计 263
8.4 多路数据采集系统的设计 263
8.5 温度监控系统的设计 263
8.6 万年历的设计 263
8.7 医院住院病人呼叫器的设计 263
8.8 电子密码锁的设计 264
8.9 超声波测距系统的设计 264
8.10 数字频率计的设计 264
8.11 电梯自动控制电路的设计 264
8.12 出租车计程计价器的设计 265
8.13 智能化公共汽车报站器的设计 265
8.14 自动往返电动车的设计 265
8.15 简易IC卡收费器的设计 265
8.16 消毒柜控制系统的设计 265
附录A ASCII码字符表 266
附录B MCS-51单片机指令表 267
参考文献 271