第1章 Proteus 1
1.1 进入Proteus ISIS 1
1.1.1 图形编辑窗口 2
1.1.2 预览窗口(The Overview Window) 3
1.1.3 对象选择器窗口 3
1.2 图形编辑的基本操作 3
1.2.1 对象放置(Object Placement) 3
1.2.2 选中对象(Tagging an Object) 4
1.2.3 删除对象(Deleting an Object) 4
1.2.4 拖动对象(Dragging an Object) 4
1.2.5 拖动对象标签(Dragging an Object Label) 4
1.2.6 调整对象大小(Resizing an Object) 4
1.2.7 调整对象的方向(Reorienting an Object) 5
1.2.8 编辑对象(Editing an Object) 5
1.2.9 编辑对象标签(Editing An Object Label) 5
1.2.10 复制所有选中的对象(Copying all Tagged Objects) 6
1.2.11 移动所有选中的对象(Moving all Tagged Objects) 6
1.2.12 删除所有选中的对象(Deleting all Tagged Objects) 6
1.2.13 画线(Wiring Up) 6
1.2.14 编辑区域的缩放 8
1.2.15 点状栅格和刷新 8
1.2.16 取消与恢复上一操作 9
1.3 单片机应用系统的仿真调试 9
1.3.1 实例1-1 9
1.3.2 实例1-2 12
习题1 18
第2章 C51编程基础知识 20
2.1 C语言程序的基本结构 20
2.1.1 C语言程序的基本结构 20
2.1.2 函数的调用——“先声明,后调用” 21
2.1.3 函数的连接 23
2.2 函数的定义 25
2.2.1 函数定义的一般形式 25
2.2.2 函数的参数和函数的返回值 26
2.2.3 函数的调用 26
2.3 C语言的标识符、关键字和数据类型 27
2.3.1 标识符和关键字 27
2.3.2 数据类型 29
2.4 C语言的常量、变量及存储器类型 31
2.4.1 常量 31
2.4.2 变量 31
2.4.3 变量的存储类型 32
2.4.4 51单片机特殊功能寄存器变量的定义 33
2.4.5 51单片机位寻址区(20H~2FH)位变量的定义 34
2.5 运算符与表达式 35
2.6 分支语句与分支选择结构 38
2.6.1 表达式语句与复合语句 38
2.6.2 条件分支语句 39
2.6.3 开关语句 41
2.7 循环语句与循环结构 42
2.7.1 while语句与do-while语句 42
2.7.2 for语句 44
2.7.3 goto语句、break语句和continue语句 44
2.8 构造类型数据 46
2.8.1 数组 46
2.8.2 指针 50
2.8.3 结构体 53
2.8.4 共用体 58
2.8.5 枚举类型 61
2.9 编译预处理及重新定义数据类型 63
2.9.1 宏定义 63
2.9.2 文件包含 64
2.9.3 条件编译 65
2.9.4 重新定义数据类型 66
习题2 66
第3章 51单片机内部接口的典型编程 68
3.1 定时器/计数器的控制与应用编程 68
3.1.1 使用定时器T0以方式1产生周期为1ms的方波 68
3.1.2 使用定时器T1以方式1计数,并送数码管显示计数值 69
3.1.3 使用定时器T1以方式2定时,控制发光二极管闪烁(100ms) 70
3.2 中断控制与C51编程 71
3.2.1 中断服务函数 72
3.2.2 外部中断应用例程 72
3.2.3 定时中断应用例程 74
3.3 串行接口与C51编程 75
3.3.1 波特率的选择 76
3.3.2 双机串口通信应用例程 76
3.3.3 PC机与单片机间的串口通信 77
习题3 80
第4章 STC系列单片机 81
4.1 概述 81
4.1.1 STC89系列单片机 81
4.1.2 STC12系列单片机 82
4.2 开发环境与开发工具 84
4.2.1 关于编译与仿真 84
4.2.2 STC系列单片机的最小系统与在线编程(ISP)电路 85
4.2.3 STC系列单片机编程软件的使用 86
4.3 新增特殊功能与编程 87
4.3.1 STC89系列单片机扩展RAM的使用 87
4.3.2 STC89系列单片机的P4口 88
4.3.3 STC89系列单片机的双数据指针与控制寄存器AUXR1 89
4.3.4 STC89系列单片机的中断系统 89
4.3.5 STC89系列单片机定时器T2的应用 90
4.3.6 STC89系列单片机的看门狗及软件复位 93
4.3.7 STC89系列单片机IAP与内部EEPROM的使用 96
4.3.8 STC89系列单片机的上电复位标志与掉电模式 98
4.3.9 STC89系列单片机电磁干扰的防护措施 99
习题4 100
第5章 常用单元电路 101
5.1 电源电路 101
5.1.1 三端固定集成稳压器 101
5.1.2 三端可调集成稳压器 102
5.1.3 集成稳压器应用实例 104
5.1.4 低压差线性集成稳压器 104
5.1.5 开关集成稳压器 105
5.1.6 集成基准电压源 106
5.2 集成运算放大器与集成功率放大器的应用 107
5.2.1 集成运算放大器的应用 107
5.2.2 集成功率放大器的应用 108
5.3 波形产生电路 109
5.3.1 555电路组成的方波振荡器 109
5.3.2 高频集成函数发生器MAX038 109
5.4 信号调理电路 112
5.4.1 仪表放大器 112
5.4.2 有源滤波器 113
5.4.3 V/F、F/V转换电路 115
5.4.4 V/I、I/V转换电路 118
5.4.5 真有效值/直流转换集成电路 119
5.5 传感器电路 121
5.5.1 传感器概述 121
5.5.2 金属传感器 123
5.5.3 光电传感器 124
5.5.4 超声波传感器 126
习题5 129
第6章 人机对话接口技术与C51编程 131
6.1 键盘 131
6.1.1 独立式键盘 131
6.1.2 矩阵键盘 132
6.1.3 按键开关的抖动问题 133
6.1.4 键盘的工作方式 134
6.1.5 独立式键盘应用例程 135
6.1.6 矩阵键盘应用例程 136
6.2 LED数码管 138
6.2.1 LED显示器的结构与工作原理 138
6.2.2 LED显示的接口电路 139
6.2.3 LED动态显示应用例程(一) 140
6.2.4 LED动态显示应用例程(二) 141
6.3 字符型LCD 144
6.3.1 LCD概述 144
6.3.2 字符型LCD概述 145
6.3.3 16×2字符型LCD的驱动子函数 151
6.3.4 16×2字符型LCD的应用例程 152
6.4 图形LCD 155
6.4.1 ZY12864D液晶显示器的技术参数与性能 155
6.4.2 ZY12864D模块的内部结构与外部接口引脚 156
6.4.3 ZY12864D模块控制指令 157
6.4.4 128×64图形LCD的驱动子函数 159
6.4.5 128×64图形LCD的应用例程 161
习题6 167
第7章 测控接口技术与C51编程 169
7.1 A/D转换接口与应用 169
7.1.1 A/D转换器概述 169
7.1.2 ADC0809型8位A/D转换器 170
7.1.3 TLC08318位A/D转换器 174
7.2 D/A转换接口与应用 177
7.2.1 D/A转换器概述 177
7.2.2 DAC08328位D/A转换器 179
7.2.3 MAX53212位D/A转换器 183
习题7 187
第8章 串行总线接口技术与C51编程 189
8.1 单线总线 189
8.1.1 单总线数字温度传感器DS18B20介绍 189
8.1.2 单片DS18B20温度检测应用设计 194
8.1.3 多片DS18B20温度检测应用设计 197
8.2 I2C总线 200
8.2.1 I2C总线简介 200
8.2.2 I2C总线工作原理 200
8.2.3 AT24Cxx系列芯片的操作模式 201
8.2.4 AT24C64应用编程 203
习题8 209
第9章 LED显示屏应用设计 210
9.1 LED显示屏硬件设计 210
9.2 LED显示屏工作原理 215
9.3 LED显示屏驱动程序 220
习题9 222
第10章 GPS模块应用系统设计 224
10.1 GPS模块的功能特性 224
10.2 GPS模块的应用编程 228
10.2.1 GPS模块数据通讯协议 228
10.2.2 GPS模块的应用编程示例 232
10.3 GPS模块的应用实例 237
习题10 253
第11章 GPRS模块应用设计 254
11.1 GPRS模块的功能特性 254
11.2 GPRS模块的应用编程 258
11.3 GPRS模块的应用实例 262
习题11 283
第12章 单片机应用系统的可靠性设计 284
12.1 单片机系统可靠性设计一般方法 284
12.2 单片机应用系统硬件电磁兼容技术 286
12.3 单片机系统软件可靠性设计技术 290
习题12 298
附录 GQDJL-1型单片机开发板简介 299
参考文献 300