第1章 单片机8051简介 1
1.1 8051特性 1
1.1.1 8051系列成员 2
1.2 其他8051兼容芯片简介 3
1.2.1 ATMEL 89C51系列单片机 3
1.2.2 DALLAS DS80C320单片机 3
1.2.3 WINBOND W78C31单片机 4
1.3 8051引脚说明 4
1.4 系统重置 7
1.5 内存空间 7
1.5.1 只读存储器 8
1.5.2 随机存储器 9
1.5.3 地址00H~7FH 10
1.5.4 特殊功能寄存器 11
1.5.5 外部随机存储器 13
1.6.1 IE: 中断允许寄存器 15
1.6 8051内部控制寄存器 15
1.6.2 IP: 中断优先次序寄存器 16
1.6.3 TMOD: 计时器模式控制寄存器 16
1.6.4 TCON: 计时控制寄存器 17
1.6.5 SCON: 串行端口控制寄存器 18
1.6.6 PCON: 电源控制寄存器 18
1.7 习题 19
2.1 实验必备的硬件配置 20
第2章 实验环境设定 20
2.2 软件使用工具 22
2.3 硬件接口卡 23
第3章 8051 C编译器使用说明 26
3.1 MICRO-C51编译器特性 26
3.1.1 MICRO-C51编译器特性 26
3.2 MICRO-C51编译器组成 27
3.2.1 磁盘内容 28
3.2.2 代码兼容性 31
3.3 内存模式 31
3.3.2 小型模式 32
3.3.1 极小型模式 32
3.3.3 压缩型模式 33
3.3.4 中型模式 33
3.3.5 大型模式 33
3.3.6 局部变量存取 34
3.3.7 全局变量存放 34
3.4 编译程序 34
3.4.4 汇编语言编译器 35
3.5 综合的编译程序 35
3.4.5 链接器 35
3.4.2 编译器 35
3.4.3 最优化处理器 35
3.4.1 前置处理器 35
3.5.1 CC51指令格式 36
3.5.2 编译器出现的错误消息 37
3.6 工作环境设置 37
3.7 操作实例 39
3.8 以ROM模拟器来做程序测试 47
3.8.1 X.BAT内容 48
3.8.2 T.BAT内容 49
3.9 使用89C51烧录模拟器来做程序测试 51
3.9.1 X1.BAT内容 52
3.10 MICRO-C51程序设计技巧 53
3.10.1 存取8051单片机特殊功能寄存器 53
3.10.2 位的控制 54
3.10.3 中断子程序的设计 55
3.10.4 内存应对式I/O 56
3.10.5 程序中加入汇编语言语句 57
第4章 8051多功能控制板设计 59
4.1 控制板设计概念 59
4.1.1 单片机控制板基本功能 59
4.2 8051多功能控制板特性 60
4.3 8051基本控制电路 61
4.4 8051内存扩充设计 62
4.4.1 系统总线 63
4.4.2 内存使用 64
4.5 通信接口 66
4.4.3 I/O解码 66
4.6 LCD接口 67
4.6.1 LCD特性 67
4.6.2 引脚说明 68
4.7 8255接口 69
4.8 7段数码管及按键输入 70
4.9 D/A语音接口 71
4.9.1 引脚说明 72
4.9.2 DAC0800接口设计 73
4.9.3 音频放大电路 74
4.10 声效接口 75
4.10.1 芯片特性 75
4.10.2 内部结构 76
4.10.3 引脚说明 77
4.10.4 可编程声效发生器接口设计 78
4.11 LED显示及蜂鸣器控制 80
4.12 电源控制电路 81
5.1 8051多功能控制板快速安装及测试 83
第5章 8051多功能控制板制作及测试 83
5.2 单片机基本工作验证 84
5.3 测试RS232接口 85
5.4 测试8255接口 86
5.5 共阴极7段数码管测试 87
5.6 测试按键输入 87
5.7 测试蜂鸣器 87
5.8 测试8只LED 87
5.9 声效测试 88
5.10 测试D/A接口 88
5.11 测试8255I/O扩充接口 89
5.12 测试LCD接口 89
5.13 加装电源控制 89
第6章 8255接口控制 91
6.1 8255简介 91
6.2 8255引脚说明 92
6.3 8255工作说明 93
6.3.1 模式设定 94
6.4 8255工作模式 95
6.5 8255模式1工作 96
6.5.1 模式I的输入控制方式 97
6.5.2 模式I的输出控制方式 99
6.5.3 模式I的组合 101
6.6 8255模式2工作 101
6.6.1 模式2的组合方式 102
6.8 8255接口电路测试 103
6.7 8255端口C的交互式控制信号状态读取 103
6.8.1 8255接口电路测试功能 104
6.8.2 P51/ O控制头文件P51.H 104
6.9 习题 107
第7章 多功能控制板基本I/O功能 108
7.1 单板上工作指示LED 108
7.2 “走马灯”式电路控制 109
7.3 读取DIP开关设定 112
7.4.2 扫描控制7段数码管 115
7.4.1 7段数码管控制 115
7.4 扫描控制7段数码管 115
7.5 键盘扫描 118
7.6 键盘扫描及7段数码管控制 125
7.7 蜂鸣器控制 129
7.8 习题 131
8.1.1 询问式 132
8.1.3 DMA处理 132
8.1.2 中断控制式 132
8.1 I/O控制的方式 132
第8章 中断控制 132
8.2 8051中断控制结构 133
8.3 相关控制寄存器 134
8.3.1 TCON:计时控制寄存器 134
8.3.2 IE:中断允许寄存器 135
8.3.3 IP:中断优先权寄存器 135
8.4 8051C语言中断程序的写法 135
8.5 外部中断控制实验1 136
8.6 外部中断控制实验2 138
8.7 习题 141
第9 章 8051计时计数器 142
9.1 计时计数器相关控制寄存器 142
9.2 计数器模式0的工作 143
9.2.1 计时工作脉冲 144
9.2.2 启动计算器 144
9.2.3 计时时间长短设定 145
9.2.4 计时溢出如何处理 145
9.3 计数器模式1的工作 147
9.4 计数器模式2的工作 149
9.5 计数器模式3的工作 152
9.6 驱动7段数码管 153
9.6.1 计数器0及计数器1同时存在 156
9.7 驱动7段数码管及按键扫描 159
9.8 计时时钟的制作 164
9.9 手动计数器实验 169
9.10 简易频率计实验 173
9.11 习题 178
第10章 串行接口控制 179
10.1 串行数据传送原理 179
10.1.1 并行通信 179
10.1.2 串行通信 180
10.1.3 非同步串行数据传输 180
10.1.4 传输速率——波特率 181
10.2 8051串行传输接口 181
10.2.3 串行传输模式2 182
10.2.2 串行传输模式1 182
10.2.1 串行传输模式0 182
10.2.4 串行传输模式3 183
10.3 串行传送控制寄存器 183
10.4 串行传输波特率的设定 184
10.5 PC上的RS232通信程序 185
10.5.1 工作命令cmd 185
10.5.2 通信协议参数byte 185
10.5.3 通信端口port指定 186
10.5.5 MODEM(调制解调器)状态 187
10.5.4 通信端口状态 187
10.6 串行传送驱动程序 193
10.6.1 初始化串行通信端口 193
10.6.2 传送数据 194
10.6.3 接收数据 197
10.7 使用MICRO C51函数 200
10.7.1 由串行端口输出数据 200
10.8 输入一字符串 205
10.9 输入一数字 207
10.10 建立交互式的8051系统开发环境 209
10.11 习题 212
第11章 LCD接口控制 213
11.1 LCD内部结构介绍 213
11.1.1 CG ROM 213
11.1.2 DD RAM 213
11.1.3 CG RAM 213
11.1.4 控制方式 214
11.1.5 LCD控制指令 214
11.2.1 写命令到LCD 216
11.2 LCD驱动子程序 216
11.2.2 写数据至LCD 217
11.2.3 初始化LCD 217
11.3 LCD显示器测试 218
11.4 自定义LCD字型 221
11.5 习题 225
第12章 单片机8051声效设计 226
12.1 可编程声效发生器内部寄存器分析 226
12.1.1 音调控制产生寄存器R0~R5 226
12.1.2 噪声产生寄存器R6 227
12.1.3 音调/噪声混合及输入/输出应用控制寄存器R7 227
12.1.4 振幅控制寄存器R8,R9,R10 227
12.1.5 包络发生器控制寄存器R11、R12、R13 227
12.1.6 输入输出端口寄存器R14、R15 229
12.2 声效控制原理 229
12.3 可编程声效发生器声音频率计算 230
12.2.3 频率扫描效果 230
12.2.2 噪声配合包络控制效果 230
12.2.1 单纯音调效果 230
12.4 产生救护车警报声 235
12.5 产生机关枪声响 237
12.6 产生爆炸声响 240
12.7 产生激光枪声响 242
12.8 产生炸弹呼啸声效 244
12.9 测试各个单音音阶 246
12.10 演奏一段旋律 248
12.11 习题 251
第13章 数字模拟转换器接口 252
13.1 DAC接口设计 252
13.2 测量 DAC输出电压值 253
13.3 由DAC接口发出声音 254
13.4 习题 256
第14章 利用8051输出语音 257
14.1 声音录音放音基本原理 257
14.2 产生及编辑语音波形文件 258
14.3 转换语音数据文件 260
14.4 让8051电路板播放语音 263
14.5 习题 267
第15章 8051控制PCI/O接口卡 268
15.1 8051模拟PCI/O插槽信号 268
15.2 PC/8051语音控制实验卡介绍 269
15.3 语音卡电路设计 270
15.4 8051单板控制语音卡 274
15.6 8051单板控制多功能实验卡 283
15.5 PC/8051多功能实验卡介绍 283
第16章 8051无线遥控接口 301
16.2 遥控模块系统组成 301
16.1 遥控模块特性说明 302
16.2.1 发射器 302
16.2.2 接收机 302
16.3 编解码IC HT12简介 303
16.3.1 HT 12编解码器特性介绍 304
16.3.2 引管说明 304
16.4 遥控模块电路说明 306
16.4.1 控制信号分析 307
16.4.2 引脚使用功能 308
16.5 8051接收模块测试程序 309
16.6 8051多功能控制板无线遥控接口 314
16.6.1 P51接收无线电遥控的信号 314
16.6.2 P51发射无线电的信号 318
17.1 红外线接口应用场合 324
17.2 红外线接口实验套件简介 324
第17章 8051红外线遥控接口控制 324
17.2.1 红外线接口实验套件介绍 325
17.3 示范程序介绍 326
17.3.3 IR:C:PC上红外线信号波形观察及学习程序 326
17.3.3 IC:C:PC上IR.SET遥控器解码程序 328
17.3.3 H.ASM:单片机8051 IR_SET遥控器解码程序 329
17.3.4 12.ASM:单片机8051 IR_SET遥控器应用示范程序 330
17.3.5 KIR.C:PC控制CD放音机控制程序 331
17.3.6 VIR.C:声控CD放音机控制程序 333
18.1 声控电脑原理 335
第18章 8051声控电脑设计 335
18.2 系统特性及组成 336
18.2.1 DSP语音识别声控系统特性 336
18.2.2 DSP语音识别声控系统组成 337
18.3 DSP控制板简介 338
18.3.1 DSP控制板组成 338
18.3.2 DSP控制板I/O接点说明 339
18.3.3 跳线设定 339
18.4 语音识别DSP控制命令 340
18.5 声控系统展示操作 341
18.6 声控系统展示控制程序 342
18.7 声控电脑应用 343
附录A ROM模拟器使用 345
附录B 8051多功能控制板零件表 348
附录C AT89C1051/892051特性介绍 351
附录D 89CXX烧录模拟器EPM89特性 354
附录E 89CXX烧录模拟器EPM89使用说明 355