目 录
前 言
第1章 单片机基础知识1
1.1 单片机简介1
1.1.1 单片机的基本概念1
1.1.2 51单片机技术发展简程1
1.1.3 单片机的特点及应用2
1.2 数制和码制3
1.2.1 数制及转换3
1.2.2 编码6
1.3 单片机应用系统的组成9
1.4 单片机应用开发资源10
1.5 实训项目1 51单片机实现闪光灯12
1.6 思考与练习16
第2章 51单片机及其硬件结构17
2.1 51单片机系列17
2.2 51单片机的总体结构18
2.2.1 51单片机的内部结构框图及功能18
2.2.2 51单片机的芯片引脚功能21
2.3 51单片机存储器及位处理器26
2.3.1 51单片机存储器的特点26
2.3.2 程序存储器27
2.3.3 数据存储器28
2.3.4 专用寄存器(SFR)30
2.3.5 位处理器32
2.4 51单片机复位电路32
2.4.1 单片机复位32
2.4.2 复位电路及方式33
2.5 51单片机的时序与时钟电路34
2.5.1 CPU时序34
2.5.2 时钟电路35
2.6 实训项目2 单片机最小系统组成35
2.7 思考与练习36
第3章 51单片机指令系统及汇编语言
程序设计38
3.1 指令系统简介及寻址方式38
3.1.1 指令分类及格式38
3.1.2 寻址方式39
3.1.3 寻址空间及符号注释42
3.2 指令系统及应用示例43
3.2.1 数据传送指令43
3.2.2 算术运算指令46
3.2.3 逻辑操作指令48
3.2.4 位操作指令49
3.2.5 控制转移指令51
3.3 汇编语言程序设计54
3.3.1 伪指令54
3.3.2 汇编语言程序结构及应用56
3.4 实训项目3 单片机指令系统及汇编语言
程序设计60
3.5 思考与练习61
第4章 C51程序设计及应用63
4.1 C51简介63
4.1.1 C语言的标识符和关键字63
4.1.2 C51的扩展64
4.1.3 存储区及存储类型65
4.1.4 存储模式66
4.1.5 数据类型及变量66
4.2 C51运算符及表达式69
4.2.1 算术运算符与表达式69
4.2.2 关系运算符与表达式69
4.2.3 逻辑运算符与表达式70
4.2.4 赋值运算符与表达式71
4.2.5 自增/自减运算符与表达式72
4.2.6 位运算符与表达式72
4.2.7 条件运算符与表达式74
4.3 C51控制语句74
4.3.1 条件语句74
4.3.2 switch/case语句76
4.3.3 循环结构77
4.4 数组79
4.4.1 一维数组的定义、引用及初始化79
4.4.2 一维数组应用示例80
4.5 函数81
4.5.1 库函数及文件包含82
4.5.2 C51自定义函数及调用84
4.6 指针88
4.6.1 指针和指针变量88
4.6.2 通用指针与存储区指针89
4.6.3 一维数组与指针90
4.6.4 指向数组的指针作为函数参数91
4.7 Keil 51单片机集成开发环境92
4.7.1 单片机应用程序开发过程92
4.7.2 Keil开发环境的安装92
4.7.3 Keil工程的建立93
4.7.4 Keil调试功能95
4.7.5 单片机I/O端口应用示例97
4.8 实训项目4 C51实现流水灯102
4.9 思考与练习104
第5章 51单片机主要功能部件的结构
及应用105
5.1 中断系统105
5.1.1 中断的概念105
5.1.2 51单片机中断系统结构及中断
控制106
5.1.3 51单片机中断响应过程109
5.1.4 外部中断源扩展111
5.1.5 中断系统应用113
5.2 51单片机定时器/计数器115
5.2.1 定时器/计数器概述115
5.2.2 定时器/计数器的控制116
5.2.3 定时器/计数器的工作模式117
5.2.4 定时器/计数器的应用示例及仿真120
5.3 串行口127
5.3.1 串行通信的基本概念127
5.3.2 51单片机串行口129
5.3.3 串行口的应用134
5.4 51单片机外部中断及定时器中断142
5.4.1 实训项目5 输入口外部中断设计
项目142
5.4.2 实训项目6 输出口程序设计
项目144
5.5 思考与练习146
第6章 单片机系统扩展及I/O接口
技术149
6.1 单片机系统扩展149
6.1.1 单片机系统扩展及接口芯片149
6.1.2 单片机扩展后的总线结构150
6.1.3 程序存储器的扩展151
6.1.4 数据存储器的扩展152
6.2 I/O端口的扩展154
6.2.1 简单并行输出口的扩展154
6.2.2 简单并行输入口的扩展155
6.2.3 8155可编程多功能接口芯片及
扩展156
6.3 单片机扩展系统外部地址空间的编址
方法161
6.3.1 单片机扩展系统地址空间编址162
6.3.2 线选法162
6.3.3 译码法163
6.4 单片机I/O接口技术及应用164
6.4.1 键盘及接口电路164
6.4.2 LED显示器及接口电路171
6.4.3 液晶显示器及接口177
6.5 A-D转换器、D-A转换器与单片机的
接口182
6.5.1 D-A转换器及应用技术183
6.5.2 A-D转换器及应用技术186
6.6 实训项目7 键盘及LED显示器程序
设计192
6.7 思考与练习194
第7章 单片机应用系统开发及设计
实例196
7.1 单片机应用系统开发过程196
7.1.1 总体设计196
7.1.2 硬件设计196
7.1.3 软件设计197
7.1.4 软硬件仿真调试197
7.1.5 联机调试197
7.1.6 程序下载198
7.1.7 脱机运行200
7.2 单片机应用系统设计实例201
7.2.1 实训项目8 智能循迹小车201
7.2.2 实训项目9 数字电压表205
7.2.3 实训项目10 单片机舵机控制
系统208
7.2.4 实训项目11 LED点阵显示系统217
7.2.5 实训项