设为首页
加入收藏夹
关于我们
给我留言
 网站首页 | 产品列表 | 软件下载 | 技术资料 | 购买流程 | 付款方式 | 发货查询 | 联系方式 | 淘宝商店 | 论坛入口 |
手把手教你学单片机(第2版)
 
内容提要

 手把手教你学单片机(第2版)》以实际编程及做实验为主线贯穿《手把手教你学单片机(第2版)》。完全摒弃教科书的方法,采用“程序完成后软件仿真→单片机烧录程序→试验板通电实验”的方法,以全新的方式边学边实验,将初学者领进单片机世界的大门。第2版增加了单片机的接口扩展和驱动内容。随书所附的光盘中提供了《手把手教你学单片机(第2版)》所有的实验程序文件,并增加了多媒体教学例程,可供读者在学习、实验时参考。
    《手把手教你学单片机(第2版)》的读者对象是大中专学生、职业学校学生、广大电子制作爱好者。

第1章  实验设备及器材使用介绍
1.1 单片机的发展史及特点1
1.2 单片机入门的有效途径2
1.3 实验工具及器材3
1.3.1 Keil C51 Windows集成开发环境3
1.3.2 TOP851多功能编程器4
1.3.3 LED输出试验板5
1.3.4 LED数码管输出试验板6
1.3.5 5 V高稳定专用稳压电源8
1.3.6 16×2字符型液晶显示模组8
第2章  Keil C51集成开发环境及TOP851多功能编程器
2.1 Keil C51集成开发环境软件安装10
2.2 TOP851烧录软件安装11
2.3 TOP851烧录软件操作12
2.3.1 文件操作和编辑12
2.3.2 选择型号16
2.3.3 读/写单片机17
第3章  初步接触KeilC51及TOP851软件并感受第一个演示程序效果
3.1 建立一个工程项目,选择芯片并确定选项19
3.2 建立源程序文件21
3.3 添加文件到当前项目组中22
3.4 编译(汇编)文件23
3.5 检查并修改源程序文件中的错误24
3.6 软件模拟仿真调试24
3.7 烧录程序(编程操作)25
3.8 观察程序运行的结果27
第4章  单片机的基本知识
4.1 MCS51单片机的基本结构28
4.2 80C51基本特性及引脚定义29
4.2.1 80C51的基本特征29
4.2.2 80C51的引脚定义及功能30
4.3 80C51的内部结构31
4.4 80C51的存储器配置和寄存器33
第5章  汇编语言程序指令的学习
5.1 MCS51单片机的指令系统37
5.2 汇编语言的特点38
5.3 汇编语言的语句格式38
第6章  数据传送指令的学习及实验
6.1 按寻址方式分类的数据传送指令40
6.1.1 立即数寻址40
6.1.2 直接寻址40
6.1.3 寄存器寻址40
6.1.4 寄存器间接寻址40
6.1.5 位寻址41
6.1.6 变址寻址41
6.1.7 相对寻址41
6.2 点亮/熄灭一个发光二极管的实验,自动循环工作41
6.2.1 实现方法41
6.2.2 源程序文件41
6.2.3 程序分析解释43
6.2.4 小结43
6.3 点亮/熄灭一个发光二极管的实验,点亮/熄灭时间自动发生变化(分3段),自动循环工作43
6.3.1 实现方法43
6.3.2 源程序文件44
6.3.3 程序分析解释45
6.3.4 小结45
6.4 P1口的8个发光二极管每隔2个右循环点亮实验46
6.4.1 实现方法46
6.4.2 源程序文件46
6.4.3 程序分析解释46
6.4.4 小结47
6.5 MCS51内部的RAM和特殊功能寄存器SFR的数据传送指令47
6.5.1 以累加器为目的操作数47
6.5.2 以寄存器为目的操作数47
6.5.3 以直接地址为目的操作数47
6.5.4 以寄存器间接地址为目的操作数48
6.5.5 16位数据传送48
6.6 “跑马灯”实验 48
6.6.1 实现方法48
6.6.2 源程序文件49
6.6.3 程序分析解释51
6.6.4 小结53
6.7 单片机的受控输出显示实验53
6.7.1 实现方法53
6.7.2 源程序文件53
6.7.3 程序分析解释54
6.8 小结55
第7章  算术运算指令的学习及实验
7.1 算术运算指令56
7.1.1 加法指令56
7.1.2 带进位加法指令56
7.1.3 带借位减法指令56
7.1.4 乘法指令57
7.1.5 除法指令57
7.1.6 加1指令57
7.1.7 减1指令57
7.1.8 二十进制调整指令58
7.2 52H、FCH两数相加实验,结果从P1口输出58
7.2.1 实现方法58
7.2.2 源程序文件58
7.2.3 程序分析解释59
7.3 FFH、03H两数相乘实验,结果从P0、P1口输出60
7.3.1 实现方法60
7.3.2 源程序文件60
7.3.3 程序分析解释61
7.4 加1指令实验,让P1口的8个发光二极管模拟二进制的加法运算61
7.4.1 实现方法61
7.4.2 源程序文件61
7.4.3 程序分析解释62
7.5 加1指令实验(不进行二十进制调整)62
7.5.1 实现方法62
7.5.2 源程序文件63
7.5.3 程序分析解释64
7.6 加1指令实验(进行二十进制调整)64
7.6.1 实现方法64
7.6.2 源程序文件64
7.6.3 程序分析解释65
7.7 小结66
第8章  逻辑运算指令的学习及实验
8.1 逻辑运算指令67
8.1.1 累加器A取反指令67
8.1.2 累加器A清0指令67
8.1.3 逻辑“与”指令67
8.1.4 逻辑“或”指令68
8.1.5 逻辑“异或”指令68
8.1.6 循环移位指令68
8.1.7 累加器半字节交换指令69
8.2 逻辑运算举例一69
8.2.1 实现方法69
8.2.2 源程序文件69
8.2.3 程序分析解释71
8.3 逻辑运算举例二72
8.3.1 实现方法72
8.3.2 源程序文件72
8.3.3 程序分析解释73
8.4 逻辑运算举例三73
8.4.1 实现方法74
8.4.2 源程序文件74
8.4.3 程序分析解释74
8.5 小结75
第9章  控制转移类指令的学习及实验
9.1 控制转移类指令76
9.1.1 无条件转移指令76
9.1.2 条件转移指令77
9.1.3 比较转移指令77
9.1.4 循环转移指令78
9.1.5 子程序调用及返回指令78
9.2 散转程序实验79
9.2.1 实现方法79
9.2.2 源程序文件80
9.2.3 程序分析解释82
9.2.4 小结83
9.3 统计含58H关键字的实验84
9.3.1 实现方法84
9.3.2 源程序文件84
9.3.3 程序分析解释85
第10章  位操作指令的学习
10.1 位操作指令87
10.1.1 位数据传送指令87
10.1.2 位控制修正指令87
10.1.3 位逻辑运算指令88
10.2 将P1.0的状态传送到P2.0的实验88
10.2.1 实现方法88
10.2.2 源程序文件88
10.2.3 程序分析解释89
10.3 比较输入数大小的实验90
10.3.1 实现方法90
10.3.2 源程序文件90
10.3.3 程序分析解释91
10.4 将累加器A中的立即数移出的实验91
10.4.1 实现方法92
10.4.2 源程序文件92
10.4.3 程序分析解释92
10.5 实现逻辑函数的实验93
10.5.1 实现方法93
10.5.2 源程序文件93
10.5.3 程序分析解释94
第11章  栈操作指令、空操作指令、伪指令及字节交换指令的学习 11.1 栈操作指令96
11.1.1 堆栈指令96
11.1.2 出栈指令96
11.2 空操作指令96
11.3 伪指令97
11.3.1 汇编起始命令97
11.3.2 汇编结束命令97
11.3.3 等值命令97
11.3.4 定义字节命令98
11.3.5 定义字命令98
11.3.6 预留存储区命令99
11.3.7 定义位命令99 11.3.8 定义数据地址命令99 11.4 字节交换指令99
11.5 查0~9平方表实验100
11.5.1 实现方法100
11.5.2 源程序文件100
11.5.3 程序分析解释102
11.6 利用NOP指令产生精确方波实验104
11.6.1 实现方法104 11.6.2 源程序文件104
11.6.3 程序分析解释106
11.7 MCS51指令分类表107
第12章  定时器/计数器及实验
12.1 定时器/计数器的结构及工作原理111
12.2 定时器/计数器方式寄存器和控制寄存器112
12.3 定时器/计数器的工作方式113
12.3.1 方式0113
12.3.2 方式1114
12.3.3 方式2115 12.3.4 方式3115
12.4 定时器/计数器的初始化116
12.5 蜂鸣器发音实验117 12.5.1 实现方法117
12.5.2 源程序文件117
12.5.3 程序分析解释118
12.6 定时器T1方式2计数实验118
12.6.1 实现方法118
12.6.2 源程序文件119
12.6.3 程序分析解释119 12.7 定时器T1方式1定时实验120 12.7.1 实现方法120
12.7.2 源程序文件120
12.7.3 程序分析解释121
第13章  中断系统及实验
13.1 中断的种类124
13.1.1 外中断124
13.1.2 内中断124
13.2 MCS51单片机的中断系统124
13.2.1 中断源及控制124
13.2.2 中断响应127
13.3 令LED输出试验板上的蜂鸣器发出1 kHz音频的实验128
13.3.1 实现方法128 13.3.2 源程序文件129
13.3.3 程序分析解释129
13.4 利用外中断方式进行数据采集实验130
13.4.1 实现方法130 13.4.2 源程序文件130 13.4.3 程序分析解释131 13.5 中断嵌套实验132
13.5.1 实现方法132
13.5.2 源程序文件132
13.5.3 程序分析解释133
13.6 交通灯控制器实验134
13.6.1 实现方法134 13.6.2 源程序文件134
13.6.3 程序分析解释136
13.7 键控计数实验138
13.7.1 实现方法138 13.7.2 源程序文件138
13.7.3 程序分析解释139
第14章  汇编语言的程序设计及实验
14.1 单片机应用系统的设计过程141
14.2 汇编语言程序设计步骤142
14.3 顺序程序设计142
14.4 右移循环流水灯实验143
14.4.1 实现方法143
14.4.2 源程序文件143
14.4.3 程序分析解释144
14.5 循环程序设计145 14.6 找数据块中最大数的实验145
14.6.1 实现方法145
14.6.2 源程序文件146
14.6.3 程序分析解释147
14.7 延时子程序的结构148
14.8 寻找ASCII码“$”的实验149
14.8.1 实现方法149
14.8.2 源程序文件149
14.8.3 程序分析解释150
14.9 子程序设计、调用及返回151
14.9.1 子程序的结构特点151 14.9.2 编写子程序时的注意要点151
14.9.3 子程序的调用与返回152
14.9.4 子程序嵌套152
14.10 使P0口的8个LED闪烁20次实验152
14.10.1 实现方法152
14.10.2 源程序文件152
14.10.3 程序分析解释153
14.11分支程序设计154
14.11.1 单分支程序154
14.11.2 多分支程序154
14.12 做简单的+、-、×、÷实验156
14.12.1 实现方法156
14.12.2 源程序文件156
14.12.3 程序分析解释158
14.13 查表程序设计160
14.14 单片机演奏音乐的实验161
14.14.1 实现方法161
14.14.2 源程序文件161
14.14.3 程序分析解释163 14.15 数据排序实验164
14.15.1 实现方法164
14.15.2 源程序文件165
14.15.3 程序分析解释171 第15章  键盘接口技术及实验
15.1 独立式键盘172
15.2 行列式键盘173
15.3 独立式键盘接口的编程模式173
15.4 行列式键盘接口的编程模式174
15.5 键盘工作方式174
15.6 独立式键盘输入实验175
15.6.1 实现方法175 15.6.2 源程序文件175
15.6.3 程序分析解释177
15.7 行列式键盘输入实验178
15.7.1 实现方法178
15.7.2 源程序文件178
15.7.3 程序分析解释180
15.8 扫描方式的键盘输入实验181
15.8.1 实现方法181
15.8.2 源程序文件181
15.8.3 程序分析解释182
15.9 定时中断方式的键盘输入实验183
15.9.1 实现方法183
15.9.2 源程序文件183
15.9.3 程序分析解释184
第16章  LED显示器接口技术及实验
16.1 LED数码显示器的构造及特点186 16.2 LED数码显示器的显示方法188 16.2.1静态显示法188
16.2.2 动态扫描显示法189
16.3 静态显示实验190
16.3.1 实现方法190
16.3.2 源程序文件190
16.3.3 程序分析解释191
16.4 慢速动态显示实验192
16.4.1 源程序文件192 16.4.2 程序分析解释193
16.5 快速动态显示实验193
16.5.1 源程序文件193
16.5.2 程序分析解释194
16.6 实时时钟实验195
16.6.1 实现方法195
16.6.2 源程序文件195
16.6.3 程序分析解释198  第17章  字符型液晶(LCD)模块原理及设计学习
17.1 液晶显示器概述202
17.2 16×2字符型液晶显示模块(LCM)特性203
17.3 16×2字符型液晶显示模块(LCM)引脚及功能203
17.4 16×2字符型液晶显示模块(LCM)的内部结构203
17.5 液晶显示控制驱动集成电路HD44780特点204
17.6 HD44780工作原理205 17.6.1 DDRAM——数据显示用RAM206
17.6.2 CGROM——字符产生器ROM207
17.6.3 CGRAM——字型、字符产生器RAM208
17.6.4 IR——指令寄存器209
17.6.5 DR——数据寄存器209
17.6.6 BF——忙碌标志信号209
17.6.7 AC——地址计数器209
17.7 LCD控制器的指令209
17.7.1 清除显示器210
17.7.2 光标归位设定210
17.7.3 设定字符进入模式210
17.7.4 显示器开关210
17.7.5 显示光标移位211
17.7.6 功能设定211 17.7.7 CGRAM地址设定211 17.7.8 DDRAM地址设定211
17.7.9 忙碌标志BF或AC地址读取212 17.7.10 写数据到CGRAM或DDRAM中212 17.7.11 从CGRAM或DDRAM中读取数据212
17.8 LCM工作时序212
17.9 单片机驱动LCM的电路213
第18章  体验第一个液晶程序的效果并建立模块化设计的相关子程序
18.1 体验第一个液晶程序的效果215
18.1.1 源程序文件215
18.1.2 程序分析解释218
18.2 查询忙碌标志信号子程序222 18.2.1 源程序文件222
18.2.2 程序分析解释222
18.3 写指令到LCM(IR寄存器)子程序223
18.3.1 源程序文件223
18.3.2 程序分析解释223
18.4 写数据到LCM(DR寄存器)子程序223
18.4.1 源程序文件223 18.4.2 程序分析解释224
18.5 清除显示屏子程序224 18.5.1 源程序文件224
18.5.2 程序分析解释224
18.6 启动LCM子程序224 18.6.1 源程序文件225
18.6.2 程序分析解释225
18.7 让字母“F”在显示屏的第2行第10列显示227 18.7.1 源程序文件227
18.7.2 程序分析解释228
18.8 使LCM显示2行字符串(英文信息)229
18.8.1 源程序文件229
18.8.2 程序分析解释232 18.9 使LCM显示2行字符串(英文信息)并循环移动233
18.9.1 源程序文件233
18.9.2 程序分析解释235
第19章  简单的液晶显示型自动化仪器的设计学习及实验
19.1 工业生产自动计数器238 19.1.1 实现方法238
19.1.2 源程序文件238
19.1.3 程序分析解释246
19.2 设备运行状态自动显示器249 19.2.1 实现方法250
19.2.2 源程序文件250
19.2.3 程序分析解释253
19.3 液晶显示计时时钟254
19.3.1 源程序文件254
19.3.2 程序分析解释260
19.4 让液晶显示屏显示自制图形“中”264
19.4.1 实现方法264
19.4.2 源程序文件264
19.4.3 程序分析解释266 19.5 液晶显示屏显示复杂的自制图形268
19.5.1 实现方法268
19.5.2 源程序文件268 19.5.3 程序分析解释271
第20章  Keil C51集成开发环境的设置及调试方法
20.1 工程项目的建立、源程序文件的建立及加载273
20.1.1 建立工程文件274
20.1.2 源程序文件的建立276
20.1.3 添加文件到当前项目组中278
20.2 工程的详细设置280
20.2.1 Target页面280
20.2.2 Output页面281
20.2.3 Listing页面282
20.2.4 C51页面283
20.2.5 Debug页面 284
20.3 编译、连接285
20.4 Keil C51集成开发环境软件的调试方法286
20.4.1 常用调试命令286 20.4.2 断点设置286
20.4.3 在线汇编287
20.4.4 程序调试时的常用窗口287 20.5 外围接口工具289
20.5.1 P1口作为输入端口289
20.5.2 P1口作为输出端口290
20.5.3 外部中断INT0291 20.5.4 定时器/计数器0292
第21章  看门狗定时器使用及简单的接口扩展 21.1 看门狗定时器的使用293
21.2 实验: P0~P3口的32个LED(发光管)依次流水点亮,形成“流水灯” 293 21.2.1 实现方法294
21.2.2 源程序文件294 21.2.3 程序分析解释295 21.3 模拟程序失控情况的“流水灯”实验297 21.3.1 源程序文件297 21.3.2 程序分析解释299
21.4 简单的接口功率扩展300
21.5 常用的外部芯片扩展302
21.5.1 数据存储器6264的扩展及应用实例303
21.5.2 用8255A可编程并行接口芯片扩展I/O口及应用实例307
21.5.3 用8155A可编程并行接口芯片扩展I/O口及应用实例310
21.5.4 扩展8位A/D转换芯片ADC0809及应用实例314
21.5.5 扩展8位D/A转换芯片DAC0832及应用实例317 参考文献320

料下载 | 技术资料 | 购买流程 | 付款方式 | 发货查询 | 联系方式 | 淘宝商店

公司地址:深圳市龙华镇民治潜龙花园惠宁阁13-G    邮政编码:518131
客服电话:+86-0755-28187975 13715306011   传真:+86-0755-28187976
客服信箱:
tangyonghong1984@tom.com(兼MSN)
销售: 243355504 (唐永红)先生   技术支持:443935535 (钟先生)
网站版权:单片机工具之家