简介
本书以MCS-51系列单片机为模型,主要介绍单片机的基本结构、工作
原理、指令系统、程序设计以及系统扩展与工程应用。本书从第8章开始专
门介绍了C51编程技术及其应用,在讲解单片机原理的同时也介绍了单片机
C语言程序设计方法,特别在讲解部分实例时,给出汇编语言和C语言两种
语言的编写方法,目的是通过比较汇编语言与C语言的编写特点,使学生能
够有比较性地选择一种语言的学习,并且认识另一种语言。
本书依据高职教育培养高技能型人才的要求和办学特点来编写,内容
系统、全面、深入浅出,重点突出动手能力的培养。在讲授基本工作原理
的同时,编者结合自己多年的教学和项目开发经验,给出了许多实际项目
,在项目的设置上力求做到难易程度循序渐进,使学生能够轻松掌握相关
的技能与知识。本书侧重单片机系统构成与应用设计,通过实践环节,软
、硬结合,初步培养学生的单片机开发能力。
本书适合高职高专类院校作为“单片机”或“C51”等相关课程的教材
,也可作为各类电子信息工程、自动化技术人员和计算机爱好者的参考书
。
目录
第1章 单片机基础知识/1
1.1 单片微型计算机/1
1.1.1 单片机最小系统/1
1.1.2 单片机的基本知识/2
1.1.3 单片机的发展概况/4
1.1.4 单片机主要品种简介/7
1.1.5 单片机的应用/9
1.2 计算机的数制/9
1.2.1 数制/10
1.2.2 数制转换/10
1.2.3 二进制编码/16
1.2.4 计算机中数的表示/17
思考与练习/18
第2章 MCS-51单片机结构/19
2.1 MCS-51单片机基本结构原理/19
2.1.1 KeilC51仿真软件简介/20
2.1.2 MCS-51单片机组成/21
2.1.3 MCS-51单片机内部结构框图及引脚功能/22
2.1.4 时钟电路与复位电路/24
2.1.5 中央处理器/28
2.1.6 8051单片机I/O结构/31
2.2 MCS-51单片机存储器/35
2.2.1 程序存储器/36
2.2.2 数据存储器/37
2.2.3 MCS-51单片机片内数据存储器的配置/37
2.2.4 单片机特殊功能寄存器/40
2.2.5 特殊功能寄存器的位寻址/41
2.3 单片机并口控制系统/42
2.4 实践训练/43
任务1:数据存储器的读、写/43
任务2:彩灯控制/45
思考与练习/47
第3章 MCS-51指令系统/49
3.1 指令格式/49
3.1.1 单字节指令/49
3.1.2 双字节指令/50
3.1.3 三字节指令/50
3.2 寻址方式/51
3.2.1 直接寻址/52
3.2.2 立即数寻址/52
3.2.3 寄存器寻址/53
3.2.4 寄存器间接寻址/53
3.2.5 变址寻址/53
3.2.6 位寻址/54
3.2.7 相对寻址/54
3.3 指令类型/55
3.3.1 指令分类/55
3.3.2 数据传送类指令/56
3.3.3 算术运算类指令/61
3.3.4 逻辑操作类指令/67
3.3.5 位操作类指令/71
3.3.6 控制转移类指令/73
3.4 伪指令/78
3.5 实践训练/81
任务1:指令的熟悉及使用/81
任务2:指令的分析及应用/83
思考与练习/86
第4章 MCS-51程序设计/88
4.1 三种基本程序结构/88
4.1.1 顺序程序/88
4.1.2 分支程序/90
4.1.3 循环程序/92
4.2 子程序和参数传递方法/95
4.2.1 工作寄存器或累加器传递参数/96
4.2.2 用指针寄存器来传递参数/96
4.2.3 用堆栈来传递参数/96
4.2.4 程序段参数传递/99
4.3 查表程序设计/100
4.4 散转程序设计/101
4.4.1 用转移指令表实现散转/101
4.4.2 用转移地址表实现散转/103
4.5 实践训练/104
任务1:20个数的从小到大排序/104
任务2:数码管显示程序设计/106
思考与练习/107
第5章 单片机中断系统/109
5.1 中断概述/109
5.1.1 中断的概念/109
5.1.2 中断的特点/110
5.2 中断系统的结构与控制/111
5.2.1 中断系统的结构/111
5.2.2 中断系统控制/111
5.3 中断处理过程/114
5.3.1 中断系统的功能/114
5.3.2 中断处理/115
5.4 外部中断源的扩展/119
5.4.1 用定时器作外部中断源/119
5.4.2 中断和查询相结合/119
5.5 中断应用举例/120
5.6 实践训练/127
任务:工业顺序控制/127
思考与练习/129
第6章 定时器/计数器/131
6.1 定时器/计数器的基本概念/131
6.2 定时器/计数器的基本结构和工作原理/133
6.2.1 定时器/计数器的结构/133
6.2.2 定时器/计数器的工作原理/133
6.3 定时器/计数器的控制字/134
6.3.1 定时器/计数器的方式寄存器TMOD/134
6.3.2 控制寄存器TCON/135
6.4 定时器/计数器的4种工作方式及应用/135
6.4.1 工作方式0/135
6.4.2 工作方式1/136
6.4.3 工作方式2/136
6.4.4 工作方式3/137
6.5 定时器/计数器的初始化/138
6.5.1 定时器/计数器的初始化步骤/138
6.5.2 定时器/计数器的定时/计数范围和预置数的计算方法/138
6.6 定时器/计数器的应用举例/141
6.6.1 定时器的应用/141
6.6.2 计数器的应用/143
6.7 实践训练/144
任务:广告灯光左右移动/144
思考与练习/148
第7章 单片机串行接口/150
7.1 串行接口通信概述/150
7.1.1 串行通信基础及基本概念/150
7.1.2 MCS-51单片机串行口结构/152
7.1.3 串行接口的工作方式/154
7.1.4 MCS-51串行口的波特率/157
7.2 常用的串行通信总线/158
7.2.1 RS-232C总线/159
7.2.2 RS-449、RS-422A、RS-423A标准接口/161
7.2.3 20mA电流环路串行接口/162
7.3 MCS-51单片机之间的通信/163
7.3.1 MCS-51单片机双机通信技术/163
7.3.2 MCS-51单片机多机通信/167
7.4 实践训练/170
任务:单片机与PC通信/170
思考与练习/173
第8章 KeilC51编译器的使用/175
8.1 KeilC51使用的一个实例/175
8.2 KeilC51的使用方法/176
8.2.1 KeilμVision2IDE运行环境/176
8.2.2 项目文件的建立/178
8.2.3 项目添加程序的方法/180
8.2.4 编译、连接和形成目标文件/182
8.2.5 运行、调试/183
8.2.6 多文件的处理/183
8.2.7 仿真环境的设置/185
8.3 KeilC51的调试技巧/188
8.3.1 设置和删除断点/188
8.3.2 查看和修改寄存器的内容/188
8.3.3 观察和修改变量/188
8.3.4 观察存储器区域/189
8.3.5 并行口的使用/189
8.4 实践训练/190
任务:在KeilC51环境下单片机资源的应用/190
思考与练习/191
第9章 C51程序设计及应用/192
9.1 C51程序设计基础知识/192
9.1.1 C51特点/192
9.1.2 C51编程的例子/193
9.1.3 C51的标识符和保留字/195
9.1.4 C51的数据类型/195
9.1.5 C51的常量/198
9.1.6 变量/199
9.1.7 C51的常用运算符/203
9.1.8 C51的输入与输出/208
9.1.9 C51的基本语句/211
9.2 C51的函数与数组/217
9.2.1 函数的定义/218
9.2.2 函数的调用与声明/220
9.2.3 数组/222
9.3 实践训练/225
任务1:MCS-51I/O字节操作应用/225
任务2:MCS-51I/O位操作应用/226
任务3:MCS-51定时器应用/227
任务4:MCS-51外部中断应用/228
任务5:MCS-51串行口中断应用/229
任务6:MCS-51访问外部数据存储器的应用/230
思考与练习/231
第10章 MCS-51系统扩展及接口技术/233
10.1 单片机系统扩展概述/233
10.1.1 单片机应用系统扩展要求/233
10.1.2 单片机常用扩展芯片/233
10.2 存储器扩展/234
10.2.1 存储器扩展概述/234
10.2.2 程序存储器扩展/235
10.2.3 数据存储器的扩展/239
10.3 I/O口扩展设计/242
10.3.1 8255可编程并行接口芯片/242
10.3.2 8155可编程并行接口芯片/248
10.4 显示器接口扩展技术/254
10.5 键盘接口设计/256
10.5.1 键盘工作原理/257
10.5.2 键盘接口设计/257
10.6 模/数和数/模转换电路/261
10.6.1 D/A转换器与8031的接口设计/261
10.6.2 A/D转换器与8031的接口设计/264
10.7 实践训练/267
任务1:存储器扩展设计/267
任务2:输入/输出口扩展设计/270
任务3:A/D和D/A转换器电路接口设计/272
思考与练习/275
第11章 单片机应用系统设计/277
11.1 单片机应用系统的基本结构/277
11.1.1 单片机应用系统的结构/277
11.1.2 单片机应用系统设计的基本过程/278
11.2 单片机应用系统的硬件设计/280
11.2.1 硬件系统设计原则/280
11.2.2 硬件设计/281
11.3 单片机应用系统的软件设计/283
11.3.1 软件设计的特点/283
11.3.2 资源分配/284
11.3.3 单片机应用系统开发工具/285
11.4 单片机应用系统设计项目实践/285
项目1:单片机自动门锁设计/285
项目2:红外遥控系统设计/299
思考与练习/309
附录1 Vision2菜单项命令、工具栏图标、默认快捷键及描述/310
附录2 C51常用库函数/315
附录3 C51中的关键字/319
参考文献/321
1.1 单片微型计算机/1
1.1.1 单片机最小系统/1
1.1.2 单片机的基本知识/2
1.1.3 单片机的发展概况/4
1.1.4 单片机主要品种简介/7
1.1.5 单片机的应用/9
1.2 计算机的数制/9
1.2.1 数制/10
1.2.2 数制转换/10
1.2.3 二进制编码/16
1.2.4 计算机中数的表示/17
思考与练习/18
第2章 MCS-51单片机结构/19
2.1 MCS-51单片机基本结构原理/19
2.1.1 KeilC51仿真软件简介/20
2.1.2 MCS-51单片机组成/21
2.1.3 MCS-51单片机内部结构框图及引脚功能/22
2.1.4 时钟电路与复位电路/24
2.1.5 中央处理器/28
2.1.6 8051单片机I/O结构/31
2.2 MCS-51单片机存储器/35
2.2.1 程序存储器/36
2.2.2 数据存储器/37
2.2.3 MCS-51单片机片内数据存储器的配置/37
2.2.4 单片机特殊功能寄存器/40
2.2.5 特殊功能寄存器的位寻址/41
2.3 单片机并口控制系统/42
2.4 实践训练/43
任务1:数据存储器的读、写/43
任务2:彩灯控制/45
思考与练习/47
第3章 MCS-51指令系统/49
3.1 指令格式/49
3.1.1 单字节指令/49
3.1.2 双字节指令/50
3.1.3 三字节指令/50
3.2 寻址方式/51
3.2.1 直接寻址/52
3.2.2 立即数寻址/52
3.2.3 寄存器寻址/53
3.2.4 寄存器间接寻址/53
3.2.5 变址寻址/53
3.2.6 位寻址/54
3.2.7 相对寻址/54
3.3 指令类型/55
3.3.1 指令分类/55
3.3.2 数据传送类指令/56
3.3.3 算术运算类指令/61
3.3.4 逻辑操作类指令/67
3.3.5 位操作类指令/71
3.3.6 控制转移类指令/73
3.4 伪指令/78
3.5 实践训练/81
任务1:指令的熟悉及使用/81
任务2:指令的分析及应用/83
思考与练习/86
第4章 MCS-51程序设计/88
4.1 三种基本程序结构/88
4.1.1 顺序程序/88
4.1.2 分支程序/90
4.1.3 循环程序/92
4.2 子程序和参数传递方法/95
4.2.1 工作寄存器或累加器传递参数/96
4.2.2 用指针寄存器来传递参数/96
4.2.3 用堆栈来传递参数/96
4.2.4 程序段参数传递/99
4.3 查表程序设计/100
4.4 散转程序设计/101
4.4.1 用转移指令表实现散转/101
4.4.2 用转移地址表实现散转/103
4.5 实践训练/104
任务1:20个数的从小到大排序/104
任务2:数码管显示程序设计/106
思考与练习/107
第5章 单片机中断系统/109
5.1 中断概述/109
5.1.1 中断的概念/109
5.1.2 中断的特点/110
5.2 中断系统的结构与控制/111
5.2.1 中断系统的结构/111
5.2.2 中断系统控制/111
5.3 中断处理过程/114
5.3.1 中断系统的功能/114
5.3.2 中断处理/115
5.4 外部中断源的扩展/119
5.4.1 用定时器作外部中断源/119
5.4.2 中断和查询相结合/119
5.5 中断应用举例/120
5.6 实践训练/127
任务:工业顺序控制/127
思考与练习/129
第6章 定时器/计数器/131
6.1 定时器/计数器的基本概念/131
6.2 定时器/计数器的基本结构和工作原理/133
6.2.1 定时器/计数器的结构/133
6.2.2 定时器/计数器的工作原理/133
6.3 定时器/计数器的控制字/134
6.3.1 定时器/计数器的方式寄存器TMOD/134
6.3.2 控制寄存器TCON/135
6.4 定时器/计数器的4种工作方式及应用/135
6.4.1 工作方式0/135
6.4.2 工作方式1/136
6.4.3 工作方式2/136
6.4.4 工作方式3/137
6.5 定时器/计数器的初始化/138
6.5.1 定时器/计数器的初始化步骤/138
6.5.2 定时器/计数器的定时/计数范围和预置数的计算方法/138
6.6 定时器/计数器的应用举例/141
6.6.1 定时器的应用/141
6.6.2 计数器的应用/143
6.7 实践训练/144
任务:广告灯光左右移动/144
思考与练习/148
第7章 单片机串行接口/150
7.1 串行接口通信概述/150
7.1.1 串行通信基础及基本概念/150
7.1.2 MCS-51单片机串行口结构/152
7.1.3 串行接口的工作方式/154
7.1.4 MCS-51串行口的波特率/157
7.2 常用的串行通信总线/158
7.2.1 RS-232C总线/159
7.2.2 RS-449、RS-422A、RS-423A标准接口/161
7.2.3 20mA电流环路串行接口/162
7.3 MCS-51单片机之间的通信/163
7.3.1 MCS-51单片机双机通信技术/163
7.3.2 MCS-51单片机多机通信/167
7.4 实践训练/170
任务:单片机与PC通信/170
思考与练习/173
第8章 KeilC51编译器的使用/175
8.1 KeilC51使用的一个实例/175
8.2 KeilC51的使用方法/176
8.2.1 KeilμVision2IDE运行环境/176
8.2.2 项目文件的建立/178
8.2.3 项目添加程序的方法/180
8.2.4 编译、连接和形成目标文件/182
8.2.5 运行、调试/183
8.2.6 多文件的处理/183
8.2.7 仿真环境的设置/185
8.3 KeilC51的调试技巧/188
8.3.1 设置和删除断点/188
8.3.2 查看和修改寄存器的内容/188
8.3.3 观察和修改变量/188
8.3.4 观察存储器区域/189
8.3.5 并行口的使用/189
8.4 实践训练/190
任务:在KeilC51环境下单片机资源的应用/190
思考与练习/191
第9章 C51程序设计及应用/192
9.1 C51程序设计基础知识/192
9.1.1 C51特点/192
9.1.2 C51编程的例子/193
9.1.3 C51的标识符和保留字/195
9.1.4 C51的数据类型/195
9.1.5 C51的常量/198
9.1.6 变量/199
9.1.7 C51的常用运算符/203
9.1.8 C51的输入与输出/208
9.1.9 C51的基本语句/211
9.2 C51的函数与数组/217
9.2.1 函数的定义/218
9.2.2 函数的调用与声明/220
9.2.3 数组/222
9.3 实践训练/225
任务1:MCS-51I/O字节操作应用/225
任务2:MCS-51I/O位操作应用/226
任务3:MCS-51定时器应用/227
任务4:MCS-51外部中断应用/228
任务5:MCS-51串行口中断应用/229
任务6:MCS-51访问外部数据存储器的应用/230
思考与练习/231
第10章 MCS-51系统扩展及接口技术/233
10.1 单片机系统扩展概述/233
10.1.1 单片机应用系统扩展要求/233
10.1.2 单片机常用扩展芯片/233
10.2 存储器扩展/234
10.2.1 存储器扩展概述/234
10.2.2 程序存储器扩展/235
10.2.3 数据存储器的扩展/239
10.3 I/O口扩展设计/242
10.3.1 8255可编程并行接口芯片/242
10.3.2 8155可编程并行接口芯片/248
10.4 显示器接口扩展技术/254
10.5 键盘接口设计/256
10.5.1 键盘工作原理/257
10.5.2 键盘接口设计/257
10.6 模/数和数/模转换电路/261
10.6.1 D/A转换器与8031的接口设计/261
10.6.2 A/D转换器与8031的接口设计/264
10.7 实践训练/267
任务1:存储器扩展设计/267
任务2:输入/输出口扩展设计/270
任务3:A/D和D/A转换器电路接口设计/272
思考与练习/275
第11章 单片机应用系统设计/277
11.1 单片机应用系统的基本结构/277
11.1.1 单片机应用系统的结构/277
11.1.2 单片机应用系统设计的基本过程/278
11.2 单片机应用系统的硬件设计/280
11.2.1 硬件系统设计原则/280
11.2.2 硬件设计/281
11.3 单片机应用系统的软件设计/283
11.3.1 软件设计的特点/283
11.3.2 资源分配/284
11.3.3 单片机应用系统开发工具/285
11.4 单片机应用系统设计项目实践/285
项目1:单片机自动门锁设计/285
项目2:红外遥控系统设计/299
思考与练习/309
附录1 Vision2菜单项命令、工具栏图标、默认快捷键及描述/310
附录2 C51常用库函数/315
附录3 C51中的关键字/319
参考文献/321
单片机技术及应用
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×