微信扫一扫,移动浏览光盘
简介
杨欣、张延强、张铠麟编著的《实例解读51单片机完全学习与应用》
集单片机基础知识、单片机系统设计、电路知识及实验方法、工艺设计、
电子元器件、Proteus/uVision软件介绍等诸多内容于一身,实用性强。这
些内容不是简单的顺序堆砌,而是以单片机基础知识和系统应用为主线,
在其中完美地穿插与之相关的模电、数电、电子元器件、软件知识,真正
做到将单片机系统设计所需要的方方面面知识有机地融为一个整体,实现
不需要过多电路基础就能深度学习单片机基础知识和上手单片机系统设计
与开发的目的。
《实例解读51单片机完全学习与应用》语言生动、插图形象、实例丰
富,精心安排的知识铺垫可帮助者循序渐进地理解单片机基础知识,丰富
的实例将单片机原理、编程及应用构成一个整体。非常适合单机初学者作
为学习用书,对于正在学习或学过单片机课程,却还不会编程、不会应用
的读者,本书也将会你“拨云见日”的有益参考书。
目录
《实例解读51单片机完全学习与应用(配教学视频)》
第1篇 序 幕
第1章 单片机在哪里 3
1.1 ■寻找单片机 3
1.1.1 电磁炉与单片机 4
1.1.2 mp3播放机与单片机 5
1.1.3 更多单片机 5
1.2 ■学习单片机 6
1.2.1 掌握单片机基础知识 6
1.2.2 理解单片机系统 6
1.2.3 成为单片机系统设计师 7
1.3 ■单片机之家 7
1.3.1 intel 8051单片机 7
1.3.2 pic单片机 8
1.3.3 avr单片机 9
1.3.4 其他单片机 9
1.4 ■应用体验——数字温度计 9
1.4.1 数字温度计工作原理 10
1.4.2 体验数字温度计 10
1.5 ■实例解读——装小球系统 11
.1.5.1 需求分析 11
1.5.2 系统框架 12
第2章 如何成为单片机系统设计师 13
2.1 ■需要准备哪些 13
2.1.1 综合素质 13
2.1.2 软件工具 15
2.1.3 硬件工具之一:面包板 15
2.1.4 硬件工具之二:万用板和印刷电路板 18
2.1.5 焊接工具 19
2.1.6 焊接方法 21
2.2 ■单片机系统设计流程 22
2.2.1 需求分析 22
2.2.2 电路设计 23
2.2.3 程序设计 24
2.2.4 系统调试 24
2.3 ■应用体验——单片机控制下的发光二极管 25
2.3.1 发光二极管工作原理 25
2.3.2 单片机的控制 26
2.3.3 体验单片机控制发光二极管 26
2.4 ■实例解读——反应时间测试仪 27
2.4.1 需求分析 27
2.4.2 电路设计 27
2.4.3 程序设计 28
第3章 单片机系统登场 30
3.1 ■单片机系统组成 30
3.1.1 单片机本身 31
3.1.2 系统的构成 31
3.2 ■单片机系统抽丝剥茧 32
3.2.1 at89s51单片机的“外衣” 33
3.2.2 at89s51单片机的管脚 34
3.2.3 常见外设 36
3.3 ■元器件插曲之一:变压器 38
3.3.1 变压器基础知识 38
3.3.2 电源变压器 39
3.4 ■元器件插曲之二:二极管与整流 40
3.4.1 二极管基础知识 40
3.4.2 整流 40
3.4.3 整流全桥 42
3.5 ■元器件插曲之三:电容 43
3.5.1 电容基础知识 43
3.5.2 电容的种类 44
3.5.3 电源滤波 46
3.6 ■元器件插曲之四:三端稳压与单片机系统电源 47
3.6.1 三端稳压基础知识 47
3.6.2 单片机系统电源方案一:自制直流稳压电源 48
3.6.3 单片机系统电源方案二:电源适配器 48
3.6.4 单片机系统电源方案三:usb口供电 49
3.7 ■元器件插曲之五:晶振与振荡器 50
3.7.1 晶振基础知识 50
3.7.2 振荡器 51
3.8 ■诠释单片机最简系统 52
3.8.1 单片机最简系统 52
3.8.2 电源端(vcc、gnd) 52
3.8.3 时钟信号端(xtal1、xtal2) 53
3.8.4 复位端(rst) 54
3.8.5 外部程序存储器访问控制端( ) 55
3.8.6 从最简系统出发 56
3.9 ■元器件插曲之六:电阻 56
3.9.1 电阻基础知识 56
3.9.2 电阻的参数和种类 58
3.9.3 电阻的分压、限流、上拉作用 59
3.10 ■从单片机最简系统开始设计 60
3.10.1 发光二极管交替发光 61
3.10.2 程序设计 61
3.10.3 初见汇编语言 63
3.10.4 初识指令 64
3.10.5 立即数 65
3.11 ■应用体验——发光二极管的交替发光 66
3.11.1 控制交替发光的原理 66
3.11.2 体验交替发光 66
3.12 ■元器件插曲之七:开关 66
3.12.1 开关基础知识 66
3.12.2 常用开关 67
3.13 ■实例解读——与发光二极管的交互 68
3.13.1 需求分析 68
3.13.2 电路设计 69
3.13.3 程序设计 69
3.13.4 延时子程序 72
第4章 单片机系统设计辅助软件 74
4.1 ■proteus单片机系统仿真软件 74
4.1.1 proteus软件界面 75
4.1.2 用proteus仿真 76
4.2 ■µvision单片机程序开发 82
4.2.1 µvision软件界面 83
4.2.2 新建和保存项目 83
4.2.3 向项目中添加文件 84
4.2.4 汇编程序,生成执行代码 87
4.2.5 生成下载到单片机的执行代码hex文件 88
4.3 ■µvision的调试及仿真功能 89
4.3.1 调试界面 89
4.3.2 虚拟逻辑分析仪 89
4.4 ■应用体验——把程序下载到单片机里 92
4.4.1 下载器与单片机 92
4.4.2 体验下载过程 92
4.5 ■实例解读——流水灯 93
4.5.1 需求分析 93
4.5.2 电路设计 94
4.5.3 软件设计 94
第2篇 揭 密
第5章 单片机的触角——i/o口 101
5.1 ■何谓i/o口 101
5.1.1 i/o口的功能 101
5.1.2 i/o口与单片机的关系 102
5.1.3 i/o口的操作 103
5.2 ■元器件插曲之八:场效应管 104
5.2.1 jfet 105
5.2.2 mosfet 106
5.3 ■元器件插曲之九:逻辑门 106
5.3.1 非门 106
5.3.2 或门 107
5.3.3 或非门 107
5.3.4 与门 107
5.3.5 与非门 107
5.3.6 异或门 108
5.3.7 缓冲器 108
5.4 ■元器件插曲之十:锁存器与触发器 108
5.4.1 门控d锁存器 109
5.4.2 边沿d触发器 109
5.5 ■i/o口结构探密 110
5.5.1 p1口 110
5.5.2 p3口 110
5.5.3 p0口 111
5.5.4 p2口 112
5.5.5 i/o口小结 112
5.6 ■应用体验——控制流水灯 112
5.6.1 功能与电路 113
5.6.2 体验控制流水灯 113
5.7 ■实例解读——晃晃灯 113
5.7.1 原理分析 114
5.7.2 需求分析 114
5.7.3 电路设计 114
5.7.4 软件设计 116
第6章 七段数码管显示 118
6.1 ■二进制与数据 118
6.1.1 二进制与数字 118
6.1.2 二进制与语音 119
6.1.3 二进制与图像 120
6.2 ■元器件插曲之十一:七段数码管 121
6.2.1 七段数码管原理 121
6.2.2 七段数码管显示数字 122
6.3 ■应用体验——计时器 123
6.3.1 功能与电路 124
6.3.2 体验计时器 124
6.4 ■元器件插曲之十二:蜂鸣器 125
6.4.1 蜂鸣器 125
6.4.2 蜂鸣器如何工作 125
6.5 ■元器件插曲之十三:三极管及三极管开关 125
6.5.1 三极管基础 126
6.5.2 三极管的直流放大特性 128
6.5.3 三极管的直流增益 128
6.5.4 三极管的电流关系式 129
6.5.5 三极管开关 129
6.6 ■实例解读——带声音提示的秒表 130
6.6.1 需求分析 130
6.6.2 电路设计 130
6.6.3 开关抖动的处理 130
6.6.4 计时中数字的增加 133
6.6.5 软件设计 134
第7章 解剖单片机 136
7.1 ■单片机的功耗 136
7.1.1 运行功耗 137
7.1.2 i/o口驱动功耗 137
7.1.3 空闲模式 137
7.1.4 待机模式 138
7.2 ■单片机内部结构 138
7.2.1 从i/o口到内部结构 138
7.2.2 数据在内部交换 139
7.2.3 算术逻辑单元(alu) 140
7.2.4 在µvision中观察寄存器 141
7.3 ■单片机的程序存储器 142
7.3.1 整体结构 143
7.3.2 程序下载到哪里 144
7.3.3 片内程序存储器 144
7.3.4 程序计数器pc 145
7.3.5 是片内还是片外程序存储器 145
7.3.6 在µvision中观察程序存储器 147
7.4 ■单片机的数据存储器 149
7.4.1 片内数据存储器 149
7.4.2 工作寄存器区(00h~1fh) 150
7.4.3 位寻址区(20h~2fh) 151
7.4.4 开放区(30h~7fh) 153
7.4.5 在µvision中观察数据存储器 153
7.5 ■单片机的特殊功能寄存器 155
7.5.1 特殊功能寄存器分布图 155
7.5.2 特殊功能寄存器的功能 156
7.5.3 特殊功能寄存器的字节操作 158
7.5.4 特殊功能寄存器的位操作 158
7.5.5 在µvision中观察特殊功能寄存器 159
7.6 ■应用体验——用取表方式实现流水灯 162
7.6.1 取表法 162
7.6.2 取表法小结 164
7.6.3 体验流水灯 165
7.7 ■实例解读——直接驱动七段数码管 165
7.7.1 需求分析 165
7.7.2 电路设计 165
7.7.3 软件设计 166
第8章 单片机与汇编指令 168
8.1 ■汇编语言真面目 168
8.1.1 汇编语言与高级语言 169
8.1.2 从汇编程序到执行代码 169
8.1.3 伪指令 170
8.2 ■指令的执行 173
8.2.1 振荡周期、机器周期、指令周期 173
8.2.2 指令的执行 174
8.3 ■寻址方式 175
8.3.1 直接寻址 175
8.3.2 间接寻址 175
8.3.3 寄存器寻址 176
8.3.4 寄存器特征寻址 177
8.3.5 立即寻址 177
8.3.6 变址寻址 177
8.4 ■指令分类 177
8.4.1 指令概述 178
8.4.2 指令的长度 178
8.5 ■算术运算指令 179
8.5.1 加法指令——add a, [src-byte] 179
8.5.2 带进位的加法指令——addc a, [src-byte] 180
8.5.3 带借位的减法指令——subb a,[src-byte] 181
8.5.4 自增/自减指令——inc [byte]/ dec [byte] 181
8.5.5 乘法指令——mul ab 182
8.5.6 除法指令——div ab 183
8.5.7 十进制调整指令——da a 183
8.6 ■逻辑运算指令 184
8.6.1 与操作——anl [dest-byte],[src-byte] 184
8.6.2 或操作——orl [dest-byte], [src-byte] 185
8.6.3 异或操作——xrl [dest-byte],[src-byte] 186
8.6.4 累加器a清0操作——clr a 186
8.6.5 累加器a取反操作——cpl a 187
8.6.6 累加器a位移动操作——rl、rlc、rr、rrc 187
8.6.7 累加器a高低位交换操作——swap a 188
8.7 ■数据装载指令 189
8.7.1 片内数据装载指令——mov[dest], [src] 189
8.7.2 数据指针dptr装载指令——mov dptr, #data16 190
8.7.3 堆栈指令——push、pop 191
8.7.4 数据交换指令——xch、xchd 194
8.7.5 片外数据装载指令——movx [dest], [src] 195
8.7.6 查表指令——movc [dest], [src] 197
8.8 ■布尔指令 198
8.8.1 清0、置1、取反操作——clr、setb、cpl 198
8.8.2 布尔逻辑运算指令——anl、orl 199
8.8.3 位数据装载指令——mov [dest-bit],[src-bit] 200
8.8.4 布尔跳转指令——jc、jnc、jb、jnb、jbc 200
8.9 ■调用子程序指令 201
8.9.1 长调用指令——lcall 201
8.9.2 绝对调用指令——acall 202
8.9.3 返回指令——ret、reti 203
8.10 ■跳转与循环指令 203
8.10.1 无条件跳转指令——ljmp、ajmp、sjmp、jmp 203
8.10.2 条件跳转指令——jz、jnz 204
8.10.3 比较跳转指令——cjne [dest-byte], [src-byte], rel 205
8.10.4 循环指令——djnz [byte],[rel-addr] 207
8.10.5 无操作指令——nop 208
8.11 ■应用体验——七段数码管的串行控制技术 208
8.11.1 串行与并行传输 208
8.11.2 串行控制七段数码管 209
8.11.3 程序设计 210
8.12 ■实例解读——指令应用(程序)实例 211
8.12.1 数据求和 211
8.12.2 减法与二进制的二补数 212
8.12.3 异或操作指令xrl用于比较寄存器数值 213
8.12.4 利用布尔指令产生矩形波信号 214
8.12.5 布尔指令应用于控制 215
第3篇 解 密
第9章 传感器及模拟信号的处理 219
9.1 ■元器件插曲之十四:运算放大器 219
9.1.1 运算放大器基础 220
9.1.2 运算放大器的参数 221
9.1.3 运算放大器的黄金守则 222
9.2 ■基础运放电路 223
9.2.1 同相放大器 223
9.2.2 反相放大器 224
9.2.3 跟随器 225
9.2.4 向运放进行单电源供电 226
9.3 ■比较器 226
9.3.1 过零比较器 227
9.3.2 非过零比较器 227
9.3.3 迟滞比较器(施密特触发器) 228
9.4 ■具有运算功能的运放电路 229
9.4.1 加法放大器 229
9.4.2 单运放差分放大器 230
9.4.3 仪表放大器 232
9.5 ■滤波器 234
9.5.1 高通滤波器 234
9.5.2 低通滤波器 235
9.5.3 带通滤波器 236
9.5.4 带阻滤波器 238
9.6 ■传感器 238
9.6.1 压力传感器 239
9.6.2 光电传感器 242
9.6.3 温度传感器 243
9.7 ■应用体验——幅频变换 245
9.7.1 mpx4115a压力传感器 245
9.7.2 幅频变换器 247
9.8 ■实例解读——磁场强度的测量 248
9.8.1 霍尔传感器与磁场的测量 248
9.8.2 线性霍尔传感器3503 248
9.8.3 检测电路 250
第10章 adc和dac 251
10.1 ■模数转换 251
10.1.1 从模拟信号到数字信号 251
10.1.2 电平指示器中的adc 253
10.2 ■元器件插曲之十五:adc0804 255
10.2.1 管脚名称及功能 255
10.2.2 使能控制端 255
10.2.3 转换控制端 256
10.2.4 时钟信号 256
10.2.5 模拟输入电压范围 256
10.2.6 转换时间 256
10.2.7 接地 257
10.2.8 参考电平与分辨率 257
10.3 ■adc与单片机 258
10.3.1 单片机控制adc0804 258
10.3.2 程序设计 259
10.4 ■模拟信号的调理 260
10.4.1 电平变换电路 260
10.4.2 峰值检测器 261
10.4.3 绝对值电路 262
10.4.4 微分器和积分器 263
10.4.5 采样保持电路 264
10.4.6 接地问题 266
10.5 ■数模转换 268
10.5.1 数模转换基础 269
10.5.2 dac0808 269
10.5.3 dac的程序控制 270
10.6 ■如何选择adc 271
10.6.1 常用adc简介 271
10.6.2 如何确定位数 273
10.6.3 如何确定转换速率 273
10.6.4 如何确定是否需要采样保持器 273
10.6.5 如何确定工作电压和参考电平 274
10.7 ■如何选择dac 274
10.7.1 如何确定分辨率 274
10.7.2 如何确定线性度 274
10.7.3 如何确定转换精度 274
10.7.4 如何理解建立时间 275
10.7.5 按参数条件选择 275
10.8 ■应用体验——dac正弦波
发生器 276
10.8.1 正弦信号公式 276
10.8.2 正弦波发生程序 277
10.9 ■实例解读——数字温控系统 278
10.9.1 系统功能与硬件设计 278
10.9.2 程序设计 278
第11章 时间的计算 283
11.1 ■定时与计数 283
11.1.1 什么是定时 283
11.1.2 什么是计数 284
11.1.3 单片机的timer 285
11.2 ■与timer有关的寄存器 285
11.2.1 timer实现的延时 285
11.2.2 timer模式控制寄存器tmod 286
11.2.3 timer寄存器 288
11.2.4 timer控制寄存器tcon 288
11.2.5 timer用做定时/计数器小结 288
11.3 ■timer的工作模式1 289
11.3.1 模式1的特点 289
11.3.2 模式1的设置 290
11.3.3 模式1的计数初始值 291
11.3.4 设计模式1的计数初始值 292
11.3.5 利用timer进行长时间定时 294
11.4 ■timer的工作模式0 295
11.4.1 模式0的特点 295
11.4.2 设计模式0的计数初始值 296
11.5 ■timer的工作模式2 297
11.5.1 模式2的特点 297
11.5.2 模式2的设置 298
11.5.3 设计模式2的计数初始值 300
11.6 ■timer的工作模式3 300
11.6.1 模式3的特点 300
11.6.2 模式3的设置 301
11.6.3 设计模式3的计数初始值 303
11.6.4 在vision中观察timer 303
11.7 ■计数器 305
11.7.1 计数器的应用 305
11.7.2 计数器的设置 306
11.7.3 在vision中操作计数器 307
11.7.4 计数器的计数初始值设定 308
11.7.5 各种模式下的计数器 308
11.7.6 计数脉冲的要求 311
11.7.7 tmod寄存器的门控位 312
11.8 ■看门狗 313
11.8.1 什么是看门狗 313
11.8.2 单片机的内置看门狗 313
11.9 ■应用体验——“叮咚”门铃 315
11.9.1 功能及电路 315
11.9.2 “叮咚”声发生程序 315
11.10 ■实例解读——频率计 318
11.10.1 利用计数器设计频率计 318
11.10.2 频率计的程序 318
第12章 扫描与显示 322
12.1 ■扫描多位七段数码管 322
12.1.1 动态扫描的原理 323
12.1.2 动态扫描操作指南 325
12.1.3 动态扫描方式程序 326
12.2 ■扫描键盘 327
12.2.1 什么是键盘 327
12.2.2 键盘的电路结构 328
12.2.3 键盘按键判断程序 329
12.2.4 键盘编码器芯片74c922 332
12.3 ■扫描发光二极管点阵 334
12.3.1 显示原理 334
12.3.2 发光二极管点阵器件结构 335
12.3.3 发光二极管点阵与单片机电路 336
12.3.4 点阵显示程序 336
12.3.5 点阵屏幕的应用 338
12.3.6 点阵应用中的问题 342
12.4 ■液晶屏 344
12.4.1 液晶屏的应用 344
12.4.2 字符液晶屏 345
12.4.3 字符液晶屏显示原理 346
12.4.4 单片机与字符液晶屏的接口 347
12.4.5 字符液晶屏的控制程序 349
12.4.6 图形点阵液晶屏显示原理 352
12.4.7 单片机与图形点阵液晶屏的接口 353
12.4.8 图形点阵液晶屏的控制程序 355
12.5 ■应用体验——电子时钟 369
12.5.1 功能及电路 369
12.5.2 时钟程序 370
12.6 ■实例解读——带汉字字库的液晶屏 374
12.6.1 带汉字字库的液晶屏 375
12.6.2 带汉字字库的液晶屏管脚 376
12.6.3 单片机与带汉字字库的液晶屏 377
第13章 串行沟通 379
13.1 ■串行还是并行 379
13.1.1 串行与并行的比喻 379
13.1.2 串行与并行器件 380
13.2 ■单片机串行数据交换 381
13.2.1 at89s51的串行口 382
13.2.2 串行流水灯 383
13.2.3 串行接收数据 385
13.3 ■与串行通信有关的寄存器 387
13.3.1 串行口缓冲寄存器sbuf 387
13.3.2 串行口控制寄存器scon 387
13.4 ■串行口工作模式 389
13.4.1 模式0 389
13.4.2 模式1 390
13.4.3 模式2 392
13.4.4 模式3 392
13.5 ■应用体验——双机通信 393
13.5.1 双机通信的应用 393
13.5.2 双机通信的通信链路 393
13.5.3 排队呼叫系统 395
13.6 ■普通计算机的串行通信口 398
13.6.1 计算机串行口 398
13.6.2 本机串口实验 400
13.6.3 用visual basic设计串口通信程序 401
13.7 ■实例解读——网络密码锁 406
13.7.1 串行口电平转换芯片 406
13.7.2 单片机与计算机串行通信实验 408
13.7.3 网络密码锁 410
第14章 中断的魅力 416
14.1 ■“打扰”单片机 416
14.1.1 外部中断一例 417
14.1.2 中断服务的指挥——中断向量表 418
14.2 ■中断的控制及处理 419
14.2.1 中断的响应及处理 419
14.2.2 中断使能寄存器ie 421
14.3 ■外部中断0和外部中断1 422
14.3.1 外部中断信号输入端 和 422
14.3.2 外部中断的低电平触发 423
14.3.3 外部中断的下降沿触发 424
14.3.4 低电平与下降沿触发的区分 426
14.4 ■timer 0中断和timer 1中断 426
14.3.1 timer和timer中断 427
14.3.2 利用timer中断作信号发生器 427
14.5 ■串行通信中断 428
14.5.1 串行通信中断应用 429
14.5.2 发送中断和接收中断的判断 429
14.6 ■应用体验——解放了的cpu 431
14.6.1 轮询与中断 432
14.6.2 中断优先级 433
14.6.3 利用timer中断实现拉幕式显示 436
14.7 ■实例解读——电子琴 438
14.7.1 音符与频率 438
14.7.2 电子琴电路设计 439
14.7.3 电子琴程序设计 440
第4篇 远 航
第15章 单片机控制外设的本领 447
15.1 ■元器件插曲之十六:继电器 447
15.1.1 继电器基础知识 448
15.1.2 单片机与继电器 448
15.2 ■元器件插曲之十七:红外发光二极管 449
15.2.1 红外发光二极管基础知识 450
15.2.2 红外发光二极管的应用 450
15.2.3 红外计数器 451
15.3 ■元器件插曲之十八:直流电动机 453
15.3.1 直流电动机基础知识 453
15.3.2 直流电动机的通断控制 454
15.4 ■什么是pwm(脉宽调制) 454
15.4.1 平均电压概念 455
15.4.2 pwm与平均电压 456
15.4.3 产生pwm信号的方法 457
15.5 ■直流电动机的运行控制 459
15.5.1 pwm信号与直流电动机 459
15.5.2 直流电动机的转速、转向控制 460
15.5.3 单片机控制直流电动机 462
15.5.4 直流电动机的全面控制 463
15.6 ■元器件插曲之十九:步进电动机 466
15.6.1 步进电动机基础知识 466
15.6.2 步进电动机的种类 467
15.7 ■步进电动机的运行控制 468
15.7.1 步进电动机的控制方法 468
15.7.2 步进电动机与单片机 470
15.8 ■应用体验——用pwm信号控制直流电动机 472
15.8.1 l298驱动直流电动机 473
15.8.2 直流电动机控制程序 473
15.9 ■实例解读——太阳跟随系统 476
15.9.1 为了获得最大的太阳光 477
15.9.2 系统电路 477
15.9.3 程序设计 478
第16章 数据的保存 483
16.1 ■片内与片外存储器 483
16.1.1 为什么要有片内、片外之分 484
16.1.2 电子密码锁的片外存储器 484
16.1.3 判断片外数据存储器或片外程序存储器 485
16.1.4 存储器容量的描述 486
16.1.5 存储器组织 487
16.1.6 访问速度 488
16.1.7 存储器的地址 488
16.2 ■存储器操作及家族成员 489
16.2.1 读存储器与写存储器 489
16.2.2 存储器两大家族:ram和rom 490
16.3 ■rams 491
16.3.1 ram家族 491
16.3.2 sram的存储单元 491
16.3.3 asram(异步sram) 492
16.3.4 sb sram(同步爆发式sram) 495
16.3.5 cache存储器(高速缓冲存储器) 496
16.3.6 dram的存储单元 496
16.4 ■roms 499
16.4.1 rom家族 499
16.4.2 mask rom 499
16.4.3 prom 501
16.4.4 uv eprom 502
16.4.5 eeprom(e2prom) 503
16.4.6 flash 504
16.4.7 flash存储器与其他存储器的比较 506
16.5 ■单片机与片外程序存储器 507
16.5.1 片外程序存储器 507
16.5.2 单片机的 端 508
16.5.3 单片机的p0和p2 508
16.5.4 单片机的 端 509
16.5.5 单片机的 端 510
16.6 ■单片机与片外数据存储器 510
16.6.1 片外数据存储器 511
16.6.2 eeprom作片外数据存储器 511
16.6.3 sram作片外数据存储器 514
16.7 ■应用体验——扩展串行片外数据存储器 515
16.7.1 串行eeprom 516
16.7.2 单片机与串行eeprom接口 516
16.7.3 串行eeprom的启动、停止操作 517
16.7.4 串行eeprom的写操作 518
16.7.5 串行eeprom的读操作 520
16.7.6 串行eeprom的读/写程序 521
16.8 ■实例解读——gps(全球卫星定位系统) 527
16.8.1 身边的gps设备 527
16.8.2 gps模块 528
16.8.3 nmea协议 529
16.8.4 单片机与gps模块 530
附录a 光盘内容介绍 532
附录b 51单片机指令集 534
附录c 指令的执行代码表 538
附录d proteus软件图标命令 545
附录e at89s51单片机 特殊功能寄存器一览表 546
附录f 51单片机汇编程序保留字 555
附录g ascii码表 558
附录h 主流电子元器件生产商网址 562
附录i 如何使用windows计算器进行数制转换 563
附录j 钢琴琴键的发音频率 565
附录k 常用低容量存储器器件表(ram、rom) 567
附录l nmea协议消息字段含义 569
参考文献 572
第1篇 序 幕
第1章 单片机在哪里 3
1.1 ■寻找单片机 3
1.1.1 电磁炉与单片机 4
1.1.2 mp3播放机与单片机 5
1.1.3 更多单片机 5
1.2 ■学习单片机 6
1.2.1 掌握单片机基础知识 6
1.2.2 理解单片机系统 6
1.2.3 成为单片机系统设计师 7
1.3 ■单片机之家 7
1.3.1 intel 8051单片机 7
1.3.2 pic单片机 8
1.3.3 avr单片机 9
1.3.4 其他单片机 9
1.4 ■应用体验——数字温度计 9
1.4.1 数字温度计工作原理 10
1.4.2 体验数字温度计 10
1.5 ■实例解读——装小球系统 11
.1.5.1 需求分析 11
1.5.2 系统框架 12
第2章 如何成为单片机系统设计师 13
2.1 ■需要准备哪些 13
2.1.1 综合素质 13
2.1.2 软件工具 15
2.1.3 硬件工具之一:面包板 15
2.1.4 硬件工具之二:万用板和印刷电路板 18
2.1.5 焊接工具 19
2.1.6 焊接方法 21
2.2 ■单片机系统设计流程 22
2.2.1 需求分析 22
2.2.2 电路设计 23
2.2.3 程序设计 24
2.2.4 系统调试 24
2.3 ■应用体验——单片机控制下的发光二极管 25
2.3.1 发光二极管工作原理 25
2.3.2 单片机的控制 26
2.3.3 体验单片机控制发光二极管 26
2.4 ■实例解读——反应时间测试仪 27
2.4.1 需求分析 27
2.4.2 电路设计 27
2.4.3 程序设计 28
第3章 单片机系统登场 30
3.1 ■单片机系统组成 30
3.1.1 单片机本身 31
3.1.2 系统的构成 31
3.2 ■单片机系统抽丝剥茧 32
3.2.1 at89s51单片机的“外衣” 33
3.2.2 at89s51单片机的管脚 34
3.2.3 常见外设 36
3.3 ■元器件插曲之一:变压器 38
3.3.1 变压器基础知识 38
3.3.2 电源变压器 39
3.4 ■元器件插曲之二:二极管与整流 40
3.4.1 二极管基础知识 40
3.4.2 整流 40
3.4.3 整流全桥 42
3.5 ■元器件插曲之三:电容 43
3.5.1 电容基础知识 43
3.5.2 电容的种类 44
3.5.3 电源滤波 46
3.6 ■元器件插曲之四:三端稳压与单片机系统电源 47
3.6.1 三端稳压基础知识 47
3.6.2 单片机系统电源方案一:自制直流稳压电源 48
3.6.3 单片机系统电源方案二:电源适配器 48
3.6.4 单片机系统电源方案三:usb口供电 49
3.7 ■元器件插曲之五:晶振与振荡器 50
3.7.1 晶振基础知识 50
3.7.2 振荡器 51
3.8 ■诠释单片机最简系统 52
3.8.1 单片机最简系统 52
3.8.2 电源端(vcc、gnd) 52
3.8.3 时钟信号端(xtal1、xtal2) 53
3.8.4 复位端(rst) 54
3.8.5 外部程序存储器访问控制端( ) 55
3.8.6 从最简系统出发 56
3.9 ■元器件插曲之六:电阻 56
3.9.1 电阻基础知识 56
3.9.2 电阻的参数和种类 58
3.9.3 电阻的分压、限流、上拉作用 59
3.10 ■从单片机最简系统开始设计 60
3.10.1 发光二极管交替发光 61
3.10.2 程序设计 61
3.10.3 初见汇编语言 63
3.10.4 初识指令 64
3.10.5 立即数 65
3.11 ■应用体验——发光二极管的交替发光 66
3.11.1 控制交替发光的原理 66
3.11.2 体验交替发光 66
3.12 ■元器件插曲之七:开关 66
3.12.1 开关基础知识 66
3.12.2 常用开关 67
3.13 ■实例解读——与发光二极管的交互 68
3.13.1 需求分析 68
3.13.2 电路设计 69
3.13.3 程序设计 69
3.13.4 延时子程序 72
第4章 单片机系统设计辅助软件 74
4.1 ■proteus单片机系统仿真软件 74
4.1.1 proteus软件界面 75
4.1.2 用proteus仿真 76
4.2 ■µvision单片机程序开发 82
4.2.1 µvision软件界面 83
4.2.2 新建和保存项目 83
4.2.3 向项目中添加文件 84
4.2.4 汇编程序,生成执行代码 87
4.2.5 生成下载到单片机的执行代码hex文件 88
4.3 ■µvision的调试及仿真功能 89
4.3.1 调试界面 89
4.3.2 虚拟逻辑分析仪 89
4.4 ■应用体验——把程序下载到单片机里 92
4.4.1 下载器与单片机 92
4.4.2 体验下载过程 92
4.5 ■实例解读——流水灯 93
4.5.1 需求分析 93
4.5.2 电路设计 94
4.5.3 软件设计 94
第2篇 揭 密
第5章 单片机的触角——i/o口 101
5.1 ■何谓i/o口 101
5.1.1 i/o口的功能 101
5.1.2 i/o口与单片机的关系 102
5.1.3 i/o口的操作 103
5.2 ■元器件插曲之八:场效应管 104
5.2.1 jfet 105
5.2.2 mosfet 106
5.3 ■元器件插曲之九:逻辑门 106
5.3.1 非门 106
5.3.2 或门 107
5.3.3 或非门 107
5.3.4 与门 107
5.3.5 与非门 107
5.3.6 异或门 108
5.3.7 缓冲器 108
5.4 ■元器件插曲之十:锁存器与触发器 108
5.4.1 门控d锁存器 109
5.4.2 边沿d触发器 109
5.5 ■i/o口结构探密 110
5.5.1 p1口 110
5.5.2 p3口 110
5.5.3 p0口 111
5.5.4 p2口 112
5.5.5 i/o口小结 112
5.6 ■应用体验——控制流水灯 112
5.6.1 功能与电路 113
5.6.2 体验控制流水灯 113
5.7 ■实例解读——晃晃灯 113
5.7.1 原理分析 114
5.7.2 需求分析 114
5.7.3 电路设计 114
5.7.4 软件设计 116
第6章 七段数码管显示 118
6.1 ■二进制与数据 118
6.1.1 二进制与数字 118
6.1.2 二进制与语音 119
6.1.3 二进制与图像 120
6.2 ■元器件插曲之十一:七段数码管 121
6.2.1 七段数码管原理 121
6.2.2 七段数码管显示数字 122
6.3 ■应用体验——计时器 123
6.3.1 功能与电路 124
6.3.2 体验计时器 124
6.4 ■元器件插曲之十二:蜂鸣器 125
6.4.1 蜂鸣器 125
6.4.2 蜂鸣器如何工作 125
6.5 ■元器件插曲之十三:三极管及三极管开关 125
6.5.1 三极管基础 126
6.5.2 三极管的直流放大特性 128
6.5.3 三极管的直流增益 128
6.5.4 三极管的电流关系式 129
6.5.5 三极管开关 129
6.6 ■实例解读——带声音提示的秒表 130
6.6.1 需求分析 130
6.6.2 电路设计 130
6.6.3 开关抖动的处理 130
6.6.4 计时中数字的增加 133
6.6.5 软件设计 134
第7章 解剖单片机 136
7.1 ■单片机的功耗 136
7.1.1 运行功耗 137
7.1.2 i/o口驱动功耗 137
7.1.3 空闲模式 137
7.1.4 待机模式 138
7.2 ■单片机内部结构 138
7.2.1 从i/o口到内部结构 138
7.2.2 数据在内部交换 139
7.2.3 算术逻辑单元(alu) 140
7.2.4 在µvision中观察寄存器 141
7.3 ■单片机的程序存储器 142
7.3.1 整体结构 143
7.3.2 程序下载到哪里 144
7.3.3 片内程序存储器 144
7.3.4 程序计数器pc 145
7.3.5 是片内还是片外程序存储器 145
7.3.6 在µvision中观察程序存储器 147
7.4 ■单片机的数据存储器 149
7.4.1 片内数据存储器 149
7.4.2 工作寄存器区(00h~1fh) 150
7.4.3 位寻址区(20h~2fh) 151
7.4.4 开放区(30h~7fh) 153
7.4.5 在µvision中观察数据存储器 153
7.5 ■单片机的特殊功能寄存器 155
7.5.1 特殊功能寄存器分布图 155
7.5.2 特殊功能寄存器的功能 156
7.5.3 特殊功能寄存器的字节操作 158
7.5.4 特殊功能寄存器的位操作 158
7.5.5 在µvision中观察特殊功能寄存器 159
7.6 ■应用体验——用取表方式实现流水灯 162
7.6.1 取表法 162
7.6.2 取表法小结 164
7.6.3 体验流水灯 165
7.7 ■实例解读——直接驱动七段数码管 165
7.7.1 需求分析 165
7.7.2 电路设计 165
7.7.3 软件设计 166
第8章 单片机与汇编指令 168
8.1 ■汇编语言真面目 168
8.1.1 汇编语言与高级语言 169
8.1.2 从汇编程序到执行代码 169
8.1.3 伪指令 170
8.2 ■指令的执行 173
8.2.1 振荡周期、机器周期、指令周期 173
8.2.2 指令的执行 174
8.3 ■寻址方式 175
8.3.1 直接寻址 175
8.3.2 间接寻址 175
8.3.3 寄存器寻址 176
8.3.4 寄存器特征寻址 177
8.3.5 立即寻址 177
8.3.6 变址寻址 177
8.4 ■指令分类 177
8.4.1 指令概述 178
8.4.2 指令的长度 178
8.5 ■算术运算指令 179
8.5.1 加法指令——add a, [src-byte] 179
8.5.2 带进位的加法指令——addc a, [src-byte] 180
8.5.3 带借位的减法指令——subb a,[src-byte] 181
8.5.4 自增/自减指令——inc [byte]/ dec [byte] 181
8.5.5 乘法指令——mul ab 182
8.5.6 除法指令——div ab 183
8.5.7 十进制调整指令——da a 183
8.6 ■逻辑运算指令 184
8.6.1 与操作——anl [dest-byte],[src-byte] 184
8.6.2 或操作——orl [dest-byte], [src-byte] 185
8.6.3 异或操作——xrl [dest-byte],[src-byte] 186
8.6.4 累加器a清0操作——clr a 186
8.6.5 累加器a取反操作——cpl a 187
8.6.6 累加器a位移动操作——rl、rlc、rr、rrc 187
8.6.7 累加器a高低位交换操作——swap a 188
8.7 ■数据装载指令 189
8.7.1 片内数据装载指令——mov[dest], [src] 189
8.7.2 数据指针dptr装载指令——mov dptr, #data16 190
8.7.3 堆栈指令——push、pop 191
8.7.4 数据交换指令——xch、xchd 194
8.7.5 片外数据装载指令——movx [dest], [src] 195
8.7.6 查表指令——movc [dest], [src] 197
8.8 ■布尔指令 198
8.8.1 清0、置1、取反操作——clr、setb、cpl 198
8.8.2 布尔逻辑运算指令——anl、orl 199
8.8.3 位数据装载指令——mov [dest-bit],[src-bit] 200
8.8.4 布尔跳转指令——jc、jnc、jb、jnb、jbc 200
8.9 ■调用子程序指令 201
8.9.1 长调用指令——lcall 201
8.9.2 绝对调用指令——acall 202
8.9.3 返回指令——ret、reti 203
8.10 ■跳转与循环指令 203
8.10.1 无条件跳转指令——ljmp、ajmp、sjmp、jmp 203
8.10.2 条件跳转指令——jz、jnz 204
8.10.3 比较跳转指令——cjne [dest-byte], [src-byte], rel 205
8.10.4 循环指令——djnz [byte],[rel-addr] 207
8.10.5 无操作指令——nop 208
8.11 ■应用体验——七段数码管的串行控制技术 208
8.11.1 串行与并行传输 208
8.11.2 串行控制七段数码管 209
8.11.3 程序设计 210
8.12 ■实例解读——指令应用(程序)实例 211
8.12.1 数据求和 211
8.12.2 减法与二进制的二补数 212
8.12.3 异或操作指令xrl用于比较寄存器数值 213
8.12.4 利用布尔指令产生矩形波信号 214
8.12.5 布尔指令应用于控制 215
第3篇 解 密
第9章 传感器及模拟信号的处理 219
9.1 ■元器件插曲之十四:运算放大器 219
9.1.1 运算放大器基础 220
9.1.2 运算放大器的参数 221
9.1.3 运算放大器的黄金守则 222
9.2 ■基础运放电路 223
9.2.1 同相放大器 223
9.2.2 反相放大器 224
9.2.3 跟随器 225
9.2.4 向运放进行单电源供电 226
9.3 ■比较器 226
9.3.1 过零比较器 227
9.3.2 非过零比较器 227
9.3.3 迟滞比较器(施密特触发器) 228
9.4 ■具有运算功能的运放电路 229
9.4.1 加法放大器 229
9.4.2 单运放差分放大器 230
9.4.3 仪表放大器 232
9.5 ■滤波器 234
9.5.1 高通滤波器 234
9.5.2 低通滤波器 235
9.5.3 带通滤波器 236
9.5.4 带阻滤波器 238
9.6 ■传感器 238
9.6.1 压力传感器 239
9.6.2 光电传感器 242
9.6.3 温度传感器 243
9.7 ■应用体验——幅频变换 245
9.7.1 mpx4115a压力传感器 245
9.7.2 幅频变换器 247
9.8 ■实例解读——磁场强度的测量 248
9.8.1 霍尔传感器与磁场的测量 248
9.8.2 线性霍尔传感器3503 248
9.8.3 检测电路 250
第10章 adc和dac 251
10.1 ■模数转换 251
10.1.1 从模拟信号到数字信号 251
10.1.2 电平指示器中的adc 253
10.2 ■元器件插曲之十五:adc0804 255
10.2.1 管脚名称及功能 255
10.2.2 使能控制端 255
10.2.3 转换控制端 256
10.2.4 时钟信号 256
10.2.5 模拟输入电压范围 256
10.2.6 转换时间 256
10.2.7 接地 257
10.2.8 参考电平与分辨率 257
10.3 ■adc与单片机 258
10.3.1 单片机控制adc0804 258
10.3.2 程序设计 259
10.4 ■模拟信号的调理 260
10.4.1 电平变换电路 260
10.4.2 峰值检测器 261
10.4.3 绝对值电路 262
10.4.4 微分器和积分器 263
10.4.5 采样保持电路 264
10.4.6 接地问题 266
10.5 ■数模转换 268
10.5.1 数模转换基础 269
10.5.2 dac0808 269
10.5.3 dac的程序控制 270
10.6 ■如何选择adc 271
10.6.1 常用adc简介 271
10.6.2 如何确定位数 273
10.6.3 如何确定转换速率 273
10.6.4 如何确定是否需要采样保持器 273
10.6.5 如何确定工作电压和参考电平 274
10.7 ■如何选择dac 274
10.7.1 如何确定分辨率 274
10.7.2 如何确定线性度 274
10.7.3 如何确定转换精度 274
10.7.4 如何理解建立时间 275
10.7.5 按参数条件选择 275
10.8 ■应用体验——dac正弦波
发生器 276
10.8.1 正弦信号公式 276
10.8.2 正弦波发生程序 277
10.9 ■实例解读——数字温控系统 278
10.9.1 系统功能与硬件设计 278
10.9.2 程序设计 278
第11章 时间的计算 283
11.1 ■定时与计数 283
11.1.1 什么是定时 283
11.1.2 什么是计数 284
11.1.3 单片机的timer 285
11.2 ■与timer有关的寄存器 285
11.2.1 timer实现的延时 285
11.2.2 timer模式控制寄存器tmod 286
11.2.3 timer寄存器 288
11.2.4 timer控制寄存器tcon 288
11.2.5 timer用做定时/计数器小结 288
11.3 ■timer的工作模式1 289
11.3.1 模式1的特点 289
11.3.2 模式1的设置 290
11.3.3 模式1的计数初始值 291
11.3.4 设计模式1的计数初始值 292
11.3.5 利用timer进行长时间定时 294
11.4 ■timer的工作模式0 295
11.4.1 模式0的特点 295
11.4.2 设计模式0的计数初始值 296
11.5 ■timer的工作模式2 297
11.5.1 模式2的特点 297
11.5.2 模式2的设置 298
11.5.3 设计模式2的计数初始值 300
11.6 ■timer的工作模式3 300
11.6.1 模式3的特点 300
11.6.2 模式3的设置 301
11.6.3 设计模式3的计数初始值 303
11.6.4 在vision中观察timer 303
11.7 ■计数器 305
11.7.1 计数器的应用 305
11.7.2 计数器的设置 306
11.7.3 在vision中操作计数器 307
11.7.4 计数器的计数初始值设定 308
11.7.5 各种模式下的计数器 308
11.7.6 计数脉冲的要求 311
11.7.7 tmod寄存器的门控位 312
11.8 ■看门狗 313
11.8.1 什么是看门狗 313
11.8.2 单片机的内置看门狗 313
11.9 ■应用体验——“叮咚”门铃 315
11.9.1 功能及电路 315
11.9.2 “叮咚”声发生程序 315
11.10 ■实例解读——频率计 318
11.10.1 利用计数器设计频率计 318
11.10.2 频率计的程序 318
第12章 扫描与显示 322
12.1 ■扫描多位七段数码管 322
12.1.1 动态扫描的原理 323
12.1.2 动态扫描操作指南 325
12.1.3 动态扫描方式程序 326
12.2 ■扫描键盘 327
12.2.1 什么是键盘 327
12.2.2 键盘的电路结构 328
12.2.3 键盘按键判断程序 329
12.2.4 键盘编码器芯片74c922 332
12.3 ■扫描发光二极管点阵 334
12.3.1 显示原理 334
12.3.2 发光二极管点阵器件结构 335
12.3.3 发光二极管点阵与单片机电路 336
12.3.4 点阵显示程序 336
12.3.5 点阵屏幕的应用 338
12.3.6 点阵应用中的问题 342
12.4 ■液晶屏 344
12.4.1 液晶屏的应用 344
12.4.2 字符液晶屏 345
12.4.3 字符液晶屏显示原理 346
12.4.4 单片机与字符液晶屏的接口 347
12.4.5 字符液晶屏的控制程序 349
12.4.6 图形点阵液晶屏显示原理 352
12.4.7 单片机与图形点阵液晶屏的接口 353
12.4.8 图形点阵液晶屏的控制程序 355
12.5 ■应用体验——电子时钟 369
12.5.1 功能及电路 369
12.5.2 时钟程序 370
12.6 ■实例解读——带汉字字库的液晶屏 374
12.6.1 带汉字字库的液晶屏 375
12.6.2 带汉字字库的液晶屏管脚 376
12.6.3 单片机与带汉字字库的液晶屏 377
第13章 串行沟通 379
13.1 ■串行还是并行 379
13.1.1 串行与并行的比喻 379
13.1.2 串行与并行器件 380
13.2 ■单片机串行数据交换 381
13.2.1 at89s51的串行口 382
13.2.2 串行流水灯 383
13.2.3 串行接收数据 385
13.3 ■与串行通信有关的寄存器 387
13.3.1 串行口缓冲寄存器sbuf 387
13.3.2 串行口控制寄存器scon 387
13.4 ■串行口工作模式 389
13.4.1 模式0 389
13.4.2 模式1 390
13.4.3 模式2 392
13.4.4 模式3 392
13.5 ■应用体验——双机通信 393
13.5.1 双机通信的应用 393
13.5.2 双机通信的通信链路 393
13.5.3 排队呼叫系统 395
13.6 ■普通计算机的串行通信口 398
13.6.1 计算机串行口 398
13.6.2 本机串口实验 400
13.6.3 用visual basic设计串口通信程序 401
13.7 ■实例解读——网络密码锁 406
13.7.1 串行口电平转换芯片 406
13.7.2 单片机与计算机串行通信实验 408
13.7.3 网络密码锁 410
第14章 中断的魅力 416
14.1 ■“打扰”单片机 416
14.1.1 外部中断一例 417
14.1.2 中断服务的指挥——中断向量表 418
14.2 ■中断的控制及处理 419
14.2.1 中断的响应及处理 419
14.2.2 中断使能寄存器ie 421
14.3 ■外部中断0和外部中断1 422
14.3.1 外部中断信号输入端 和 422
14.3.2 外部中断的低电平触发 423
14.3.3 外部中断的下降沿触发 424
14.3.4 低电平与下降沿触发的区分 426
14.4 ■timer 0中断和timer 1中断 426
14.3.1 timer和timer中断 427
14.3.2 利用timer中断作信号发生器 427
14.5 ■串行通信中断 428
14.5.1 串行通信中断应用 429
14.5.2 发送中断和接收中断的判断 429
14.6 ■应用体验——解放了的cpu 431
14.6.1 轮询与中断 432
14.6.2 中断优先级 433
14.6.3 利用timer中断实现拉幕式显示 436
14.7 ■实例解读——电子琴 438
14.7.1 音符与频率 438
14.7.2 电子琴电路设计 439
14.7.3 电子琴程序设计 440
第4篇 远 航
第15章 单片机控制外设的本领 447
15.1 ■元器件插曲之十六:继电器 447
15.1.1 继电器基础知识 448
15.1.2 单片机与继电器 448
15.2 ■元器件插曲之十七:红外发光二极管 449
15.2.1 红外发光二极管基础知识 450
15.2.2 红外发光二极管的应用 450
15.2.3 红外计数器 451
15.3 ■元器件插曲之十八:直流电动机 453
15.3.1 直流电动机基础知识 453
15.3.2 直流电动机的通断控制 454
15.4 ■什么是pwm(脉宽调制) 454
15.4.1 平均电压概念 455
15.4.2 pwm与平均电压 456
15.4.3 产生pwm信号的方法 457
15.5 ■直流电动机的运行控制 459
15.5.1 pwm信号与直流电动机 459
15.5.2 直流电动机的转速、转向控制 460
15.5.3 单片机控制直流电动机 462
15.5.4 直流电动机的全面控制 463
15.6 ■元器件插曲之十九:步进电动机 466
15.6.1 步进电动机基础知识 466
15.6.2 步进电动机的种类 467
15.7 ■步进电动机的运行控制 468
15.7.1 步进电动机的控制方法 468
15.7.2 步进电动机与单片机 470
15.8 ■应用体验——用pwm信号控制直流电动机 472
15.8.1 l298驱动直流电动机 473
15.8.2 直流电动机控制程序 473
15.9 ■实例解读——太阳跟随系统 476
15.9.1 为了获得最大的太阳光 477
15.9.2 系统电路 477
15.9.3 程序设计 478
第16章 数据的保存 483
16.1 ■片内与片外存储器 483
16.1.1 为什么要有片内、片外之分 484
16.1.2 电子密码锁的片外存储器 484
16.1.3 判断片外数据存储器或片外程序存储器 485
16.1.4 存储器容量的描述 486
16.1.5 存储器组织 487
16.1.6 访问速度 488
16.1.7 存储器的地址 488
16.2 ■存储器操作及家族成员 489
16.2.1 读存储器与写存储器 489
16.2.2 存储器两大家族:ram和rom 490
16.3 ■rams 491
16.3.1 ram家族 491
16.3.2 sram的存储单元 491
16.3.3 asram(异步sram) 492
16.3.4 sb sram(同步爆发式sram) 495
16.3.5 cache存储器(高速缓冲存储器) 496
16.3.6 dram的存储单元 496
16.4 ■roms 499
16.4.1 rom家族 499
16.4.2 mask rom 499
16.4.3 prom 501
16.4.4 uv eprom 502
16.4.5 eeprom(e2prom) 503
16.4.6 flash 504
16.4.7 flash存储器与其他存储器的比较 506
16.5 ■单片机与片外程序存储器 507
16.5.1 片外程序存储器 507
16.5.2 单片机的 端 508
16.5.3 单片机的p0和p2 508
16.5.4 单片机的 端 509
16.5.5 单片机的 端 510
16.6 ■单片机与片外数据存储器 510
16.6.1 片外数据存储器 511
16.6.2 eeprom作片外数据存储器 511
16.6.3 sram作片外数据存储器 514
16.7 ■应用体验——扩展串行片外数据存储器 515
16.7.1 串行eeprom 516
16.7.2 单片机与串行eeprom接口 516
16.7.3 串行eeprom的启动、停止操作 517
16.7.4 串行eeprom的写操作 518
16.7.5 串行eeprom的读操作 520
16.7.6 串行eeprom的读/写程序 521
16.8 ■实例解读——gps(全球卫星定位系统) 527
16.8.1 身边的gps设备 527
16.8.2 gps模块 528
16.8.3 nmea协议 529
16.8.4 单片机与gps模块 530
附录a 光盘内容介绍 532
附录b 51单片机指令集 534
附录c 指令的执行代码表 538
附录d proteus软件图标命令 545
附录e at89s51单片机 特殊功能寄存器一览表 546
附录f 51单片机汇编程序保留字 555
附录g ascii码表 558
附录h 主流电子元器件生产商网址 562
附录i 如何使用windows计算器进行数制转换 563
附录j 钢琴琴键的发音频率 565
附录k 常用低容量存储器器件表(ram、rom) 567
附录l nmea协议消息字段含义 569
参考文献 572
All you need tu know about the 8051 microcontroller
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!