单片机原理与应用——基于Proteus虚拟仿真技术(第2版)
作者: 徐爱钧
出版时间:2013年7月
出版社:机械工业出版社
- 机械工业出版社
- 9787111432715
- 127434
- 0045156173-2
- 平装
- 16开
- 2013年7月
- 工学
- 计算机科学与技术
- TP368.1
- 自动化、电气
- 本科
《单片机原理与应用--基于Proteus虚拟仿真技术(附光盘第2版高等院校精品课程系列教材)》以Proteus虚拟仿真技术为基础,阐述8051单片机原理与应用,对8051单片机基本结构、中断系统、定时器、串行口等功能部件的工作原理进行了完整介绍。在介绍8051指令系统的基础上,阐述了汇编语言和KeilC51高级语言程序设计方法。详细论述了系统扩展技术、模/数与数/模转换接口技术、键盘与显示器接口技术,以实例方式介绍了在Proteus平台上进行应用系统虚拟仿真设计的方法。给出了大量在Proteus集成环境ISIS中绘制的电路原理图、汇编语言和C语言应用程序范例,所有范例均在Proteus软件平台上调试通过,可以直接运行。
本书可作为高等学校工业自动化、电子测量仪器、计算机应用等相关专业“单片机原理与应用”课程的教学用书,也可供广大从事单片机应用系统开发的工程技术人员阅读。
前言
第1章 8051单片机基本结构 1
1.1 8051单片机的特点与基本结构 1
1.2 8051单片机的存储器结构 5
1.3 CPU时序 8
1.4 复位信号与复位电路 10
1.5 并行I/O端口结构 11
复习思考题 13
第2章 Proteus虚拟仿真技术 15
2.1 集成环境ISIS 15
2.2 绘制原理图 18
2.3 创建汇编语言源代码仿真文件 21
2.4 在原理图中进行源代码仿真调试 22
2.5 原理图与Keil环境联机仿真调试 25
复习思考题 31
第3章 指令系统与汇编语言程序设计 32
3.1 指令助记符和字节数 32
3.2 寻址方式 33
3.2.1 寄存器寻址 34
3.2.2 直接寻址 34
3.2.3 立即寻址 34
3.2.4 寄存器间接寻址 35
3.2.5 变址寻址 35
3.2.6 相对寻址 36
3.2.7 位寻址 36
3.3 指令分类详解 37
3.3.1 算术运算指令 37
3.3.2 逻辑运算指令 39
3.3.3 数据传送指令 40
3.3.4 控制转移指令 42
3.3.5 位操作指令 44
3.4 汇编语言程序格式与伪指令 44
3.5 应用程序设计 46
3.6 定点数运算子程序 48
复习思考题 58
第4章 Keil C51应用程序设计 61
4.1 Keil C51程序设计的基本语法 61
4.1.1 Keil C51程序的一般结构 61
4.1.2 数据类型 62
4.1.3 常量、变量及其存储模式 63
4.1.4 运算符与表达式 64
4.2 C51程序的基本语句 68
4.2.1 表达式语句 68
4.2.2 复合语句 68
4.2.3 条件语句 69
4.2.4 开关语句 69
4.2.5 循环语句 70
4.2.6 goto、break、continue语句 70
4.2.7 返回语句 71
4.3 函数 71
4.3.1 函数的定义与调用 71
4.3.2 中断服务函数与寄存器组定义 72
4.4 Keil C51编译器对ANSI C的扩展 73
4.4.1 存储器类型与编译模式 73
4.4.2 关于bit、sbit、sfr、sfr16数据类型 75
4.4.3 一般指针与基于存储器的指针及其转换 77
4.4.4 C51编译器对ANSI C函数定义的扩展 79
4.5 C51编译器的数据调用协议 82
4.6 绝对地址访问 83
4.6.1 采用扩展关键字“_at_”或指针定义变量的绝对地址 83
4.6.2 采用预定义宏指定变量的绝对地址 84
4.7 Keil C51库函数 85
4.7.1 本征库函数 85
4.7.2 字符判断转换库函数 86
4.7.3 输入/输出库函数 86
4.7.4 字符串处理库函数 87
4.7.5 类型转换及内存分配库函数 88
4.7.6 数学计算库函数 89
复习思考题 90
第5章 中断系统与定时器/计数器 91
5.1 中断的概念 91
5.2 中断系统结构与中断控制 92
5.3 中断响应 95
5.4 中断系统应用举例 97
5.4.1 中断源扩展 97
5.4.2 中断嵌套 100
5.5 定时器/计数器的工作方式与控制 103
5.6 定时器/计数器应用举例 106
5.6.1 初值和最大定时时间计算 107
5.6.2 定时器方式应用 107
5.6.3 计数器方式应用 115
5.7 利用定时器产生音乐 118
复习思考题 125
第6章 串行口通信技术 126
6.1 串行通信方式 126
6.2 串行口的工作方式与控制 127
6.3 串行口应用举例 131
6.3.1 串口/并口转换 131
6.3.2 单片机之间的通信 134
6.3.3 单片机与PC之间的通信 149
复习思考题 156
第7章 单片机系统扩展 157
7.1 程序存储器扩展 157
7.2 数据存储器扩展 158
7.3 并行I/O端口扩展 161
7.4 利用I2C总线进行系统扩展 174
7.5 8051单片机的节电工作方式 188
7.5.1 空闲和掉电工作方式 189
7.5.2 节电方式的应用 190
复习思考题 191
第8章 模/数与数/模转换接口技术 193
8.1 转换器的主要技术指标 193
8.2 数/模转换器接口技术 194
8.2.1 无内部锁存器的DAC接口方法 195
8.2.2 DAC0832与8051单片机的接口方法 196
8.2.3 DAC1208与8051单片机的接口方法 203
8.2.4 串行DAC与8051单片机的接口方法 205
8.2.5 利用DAC接口实现波形发生器 212
8.3 模/数转换器接口技术 220
8.3.1 比较式ADC 0809与8051单片机的接口方法 221
8.3.2 积分式ADC7135与8051单片机的接口方法 228
8.3.3 串行ADC与8051单片机的接口方法 237
复习思考题 242
第9章 键盘与显示器接口技术 244
9.1 LED显示器接口技术 244
9.1.1 7段LED数码显示器 244
9.1.2 串行接口8位共阴极LED驱动器MAX7219 250
9.2 键盘接口技术 258
9.2.1 编码键盘接口技术 259
9.2.2 非编码键盘接口技术 261
9.2.3 键值分析 269
9.3 8279可编程键盘/显示器芯片接口技术 274
9.3.1 8279的工作原理 274
9.3.2 8279的数据输入、显示输出及命令格式 277
9.3.3 8279的接口方法 282
9.4 液晶显示器接口技术 288
9.4.1 LCD工作原理和驱动方式 288
9.4.2 点阵字符型液晶显示模块接口技术 290
9.4.3 点阵图型液晶显示模块接口技术 306
复习思考题 317
第10章 虚拟仿真设计实例 319
10.1 数字多用仪表设计 319
10.1.1 功能要求 319
10.1.2 硬件电路设计 319
10.1.3 软件程序设计 322
10.2 红外遥控系统设计 331
10.2.1 功能要求 331
10.2.2 硬件电路设计 331
10.2.3 软件程序设计 332
10.3 简易电子琴设计 338
10.3.1 功能要求 338
10.3.2 硬件电路设计 338
10.3.3 软件程序设计 338
10.4 带农历的电子万年历设计 343
10.4.1 功能要求 343
10.4.2 硬件电路设计 343
10.4.3 软件程序设计 346
复习思考题 357
第11章 单片机系统的抗干扰技术 358
11.1 干扰源 358
11.1.1 串模干扰、共模干扰及电源干扰 358
11.1.2 数字电路的干扰 360
11.2 硬件抗干扰措施 361
11.2.1 串模干扰的抑制 361
11.2.2 共模干扰的抑制 363
11.2.3 输入/输出通道干扰的抑制 364
11.2.4 电源与电网干扰的抑制 367
11.2.5 地线系统干扰的抑制 369
11.3 软件抗干扰措施 369
11.3.1 数字量输入/输出中的软件抗干扰 370
11.3.2 程序执行过程中的软件抗干扰 371
11.3.3 系统的恢复 375
复习思考题 377
附录 378
附录A 8051指令表 378
附录B Proteus中的常用元器件 383
参考文献 384