第1章 单片机基础知识概述 1
1.1 单片机概述 1
1.1.1 单片机及其发展概况 1
1.1.2 单片机的特点和应用 2
1.1.3 单片机的发展趋势 3
1.1.4 MCS-51单片机 4
1.2 单片机学习的预备知识 6
1.2.1 数制及其转换 6
1.2.2 有符号数的表示方法 8
1.2.3 二-十进制代码(BCD码) 9
1.3 Proteus应用简介 10
本章小结 13
习题 13
第2章 MCS-51单片机的结构及原理 14
2.1 MCS-51单片机的内部结构 14
2.1.1 MCS-51单片机的组成 14
2.1.2 MCS-51单片机的外部引脚及其功能 17
2.2 MCS-51单片机的存储器结构 18
2.2.1 存储器的划分方法 18
2.2.2 程序存储器 19
2.2.3 数据存储器 20
2.2.4 特殊功能寄存器 22
2.3 I/O端口 25
2.3.1 并行I/O端口 25
2.3.2 串行I/O端口 29
2.4 单片机的复位、时钟与时序 29
2.4.1 复位与复位电路 29
2.4.2 时钟电路 30
2.4.3 单片机时序 31
本章小结 32
习题 32
第3章 MCS-51单片机汇编语言程序设计 33
3.1 汇编语言程序设计概述 33
3.1.1 汇编语言的特点 33
3.1.2 汇编语言的语句格式 34
3.1.3 描述操作数的简记符号 34
3.1.4 汇编语言程序设计的步骤 34
3.2 MCS-51单片机指令系统简介 35
3.2.1 MCS-51单片机指令系统 35
3.2.2 伪指令 35
3.3 单片机汇编语言程序的基本结构形式 36
3.3.1 顺序程序 36
3.3.2 分支程序 36
3.3.3 循环程序 38
3.4 MCS-51单片机汇编语言程序设计举例 39
3.4.1 算术运算程序 39
3.4.2 数制转换程序 40
3.4.3 定时程序 41
3.4.4 查表程序 41
3.4.5 数据极值查找程序 42
3.4.6 数据排序程序 43
本章小结 44
习题 44
第4章 C语言程序设计 46
4.1 数据类型 46
4.1.1 变量与常量 48
4.1.2 整型数据 49
4.1.3 浮点型数据 50
4.1.4 字符型数据 50
4.1.5 位类型 51
4.2 运算符及表达式 51
4.2.1 算术运算符及表达式 51
4.2.2 关系运算法及表达式 52
4.2.3 逻辑运算法及表达式 53
4.2.4 赋值运算符及表达式 54
4.2.5 移位运算符及表达式 54
4.2.6 位运算符及表达式 55
4.2.7 运算符的优先级和关联性 55
4.3 程序控制结构 56
4.3.1 条件结构 56
4.3.2 开关结构 60
4.3.3 循环结构 61
4.4 函数 64
4.4.1 常用标准库函数 65
4.4.2 函数定义 68
4.4.3 函数的调用 69
4.5 指针与数组 70
4.5.1 指针 70
4.5.2 数组 71
本章小结 74
习题 74
第5章 开发工具——Proteus和Keil C 75
5.1 Proteus环境 75
5.1.1 ISIS的界面简介 75
5.1.2 ISIS工具栏 78
5.1.3 仿真控制按钮 79
5.1.4 原理图设计 79
5.2 Keil C环境 84
5.2.1 Keil的配置 85
5.2.2 Keil的调试 86
5.3 Keil和Proteus联合编程 87
本章小结 91
习题 92
第6章 开发工具——单片机I/O端口应用 93
6.1 LED及数码管 93
6.2 按键及键盘 97
6.3 蜂鸣器和扬声器 102
6.4 I/O应用举例 103
本章小结 112
习题 112
第7章 单片机的中断系统 113
7.1 中断的基本概念 113
7.2 中断处理过程 114
7.3 单片机中断控制 116
7.3.1 5级中断源 116
7.3.2 中断寄存器 117
7.3.3 中断响应及中断服务控制 119
7.4 中断应用举例 120
本章小结 128
习题 129
第8章 单片机的定时/计数器 130
8.1 定时/计数器的结构 130
8.1.1 定时/计数器的工作原理 130
8.1.2 定时/计数器的结构 131
8.2 定时/计数器的控制 131
8.2.1 TMOD 131
8.2.2 TCON 132
8.3 定时/计数器的工作方式 133
8.4 定时/计数器应用举例 134
8.4.1 初值计算 134
8.4.2 编程举例 135
本章小结 145
习题 145
第9章 单片机的串行口应用 146
9.1 通信的基本概念 146
9.1.1 并行通信与串行通信 146
9.1.2 同步通信与异步通信 147
9.1.3 波特率 148
9.1.4 单工制式、半双工制式、双工制式 149
9.2 串行口内部结构 149
9.3 串行口的控制 150
9.3.1 串行口控制寄存器SCON(98H) 150
9.3.2 电源控制寄存器PCON(87H) 150
9.4 工作方式 151
9.4.1 工作方式0 151
9.4.2 工作方式1 151
9.4.3 工作方式2、方式3 151
9.4.4 MCS-51单片机串行口的波特率 152
9.5 应用举例 153
本章小结 156
习题 156
第10章 单片机的A/D和D/A应用 157
10.1 ADC0809 157
10.1.1 ADC0809的内部逻辑结构 157
10.1.2 引脚结构 158
10.1.3 ADC0809应用说明 159
10.2 DAC0832 161
10.2.1 D/A转换概念 161
10.2.2 分辨率概念 161
10.2.3 DAC0832引脚功能 162
10.2.4 DAC0832的结构与工作方式 162
10.2.5 DAC0832的外部连接 163
10.2.6 DAC0832应用举例 163
本章小结 167
习题 167
附录一 实验指导 168
实验一 数据传送 168
实验二 闪烁灯 170
实验三 跑马灯 172
实验四 串联/并联转换 174
实验五 数码管显示 176
实验六 I2C总线实验 179
实验七 定时器实验 183
实验八 串口通信 185
实验九 称重实验 187
实验十 电子时钟实验 190
附录二 MCS-51单片机指令系统及指令解释 195
参考文献 200