第1章 单片机的C语言概述 1
1.1 C语言与MCS-51单片机编程 1
1.1.1单片机的C语言的特点 1
1.1.2单片机的C语言和标准C语言的比较 2
1.1.3单片机的C语言与汇编语言的优势对比 2
1.2 C51程序 6
1.2.1 C51的程序结构 6
1.2.2 C51编程规范及注意事项 7
1.2.3 C51的标识符与关键字 8
1.3 C51编程举例 10
本章小结 14
习题 14
第2章μVision2与Proteus使用基础 15
2.1 μVision2集成开发环境 15
2.1.1 File、 Edit和View菜单 16
2.1.2 Project、 Debug和Flash菜单 18
2.1.3 Peripherals、 Tools和Window菜单 19
2.2用μ Vision2建立与调试工程 20
2.2.1工程创建、设置、编译与链接 20
2.2.2用μ Vision2调试工程 25
2.2.3 C51程序调试举例说明——HELLO.C 28
2.2.4 Keil C51的调试技巧及举例 30
2.3 Proteus快速入门 34
2.3.1集成Proteus ISIS环境 34
2.3.2电路原理图设计 38
2.4Proteus仿真工具介绍 43
2.4.1探针 43
2.4.2虚拟仪器 44
2.4.3信号发生器 44
2.4.4仿真图表 45
2.5 Proteus软件中的C51程序运行与调试 45
2.5.1驱动的安装 45
2.5.2 Keil和Proteus的配置 46
2.5.3 Keil和Proteus的调试过程 47
本章小结 47
习题 47
第3章 单片机C51语言程序设计基础 48
3.1 C51语言的数据 48
3.1.1数据类型 48
3.1.2常量与变量 48
3.1.3数据存储类型 52
3.1.4局部变量与全局变量 56
3.2 C51语言对单片机主要资源的控制 58
3.2.1特殊功能寄存器的C51语言定义 58
3.2.2绝对地址的访问 61
3.2.3位变量的C51语言定义 62
3.3 C51语言的基本运算与流程控制语句 63
3.31基本运算 63
3.3.2选择(分支)控制语句 68
3.3.3循环结构流程控制语句 73
3.3.4 break语句、continue语句和goto语句 77
3.4 C51语言的数组与指针 78
3.4.1数组 79
3.4.2指针 82
3.5 C51语言函数 85
3.5.1函数的基本问题 85
3.5.2中断函数 91
3.5.3 C51语言的库函数 91
3.6 C51的预处理命令及汇编语句的嵌入 94
3.6.1文件包含 94
3.6.2宏定义指令 95
3.6.3条件编译 96
3.6.4 C51中汇编语句的嵌入 98
本章小结 99
习题 99
第4章MCS-51系列单片机中断与定时/计数器的C51编程 100
4.1中断系统基本知识 100
4.1.1中断系统结构与中断控制 100
4.1.2中断优先级与中断请求的撤除 102
4.1.3中断函数的结构形式 103
4.2外部中断源的C51编程 103
4.2.1外部中断源初始化 103
4.2.2外部中断源的C51编程示例 104
4.3定时/计数器基本知识 107
4.3.1定时/计数器的结构与控制 107
4.3.2工作方式与工作模式 108
4.3.3定时/计数器的初始化 111
4.4定时/计数器不同工作模式下的C51编程 113
4.4.1工作模式1的C51编程 114
4.4.2工作模式2的C51编程 115
4.4.3工作模式3的C51编程 115
4.5中断与定时/计数器综合编程示例 116
本章小结 133
习题 134
第5章MCS-51系列单片机串行口的C51编程 135
5.1串行口基础知识 135
5.1.1串行口的结构 135
5.1.2有关的寄存器 135
5.1.3串行口的工作方式 137
5.2不同工作方式下的C51编程 138
5.2.1工作方式0的C51程序设计 138
5.2.2工作方式1的C51程序设计 142
5.2.3工作方式2的C51程序设计 146
5.2.4工作方式3的C51程序设计 150
5.3串行口的C51编程应用示例 154
本章小结 165
习题 166
第6章MCS-51系列单片机键盘显示的C51编程 167
6.1七段数码显示器的C51编程 167
6.1.1七段LED显示器基础知识 167
6.1.2七段数码静态显示的C51编程 169
6.1.3七段数码动态显示的C51编程 171
6.1.4串行口控制的LED显示的C51编程 176
6.2键盘接口的C51编程 177
6.2.1键盘的基础知识 177
6.2.2独立式键盘接口的C51编程 178
6.2.3矩阵键盘的C51编程 180
6.3点阵LED显示器接口的C51编程 185
6.3.1点阵LED显示器基础知识 185
6.3.2一个5×7点阵显示一个字符的C51编程 186
6.3.3一个8×8点阵显示字符串的C51编程 187
6.3.4两个8×8点阵显示字符串的C51编程 189
6.4液晶显示器的C51编程 190
6.4.1 LCD基础知识 190
6.4.2字符型LCD1602应用的C51编程 192
本章小结 200
习题 200
第7章MCS-51系列单片机模拟量接口的C51编程 201
7.1 8位并行D/A转换器DAC0832的C51编程 201
7.1.1 DAC0832基础知识 201
7.1.2 DAC0832单缓冲和双缓冲的C51编程 202
7.1.3 DAC0832输出各种波形的C51编程 206
7.2 12位并行D/A芯片DAC 1208的C51编程 210
7.2.1 12位并行DAC 1208简介 210
7.2.2 DAC1208的C51编程 211
7.3 8位A/D转换器ADC0808/0809的C51编程 212
7.3.1 ADC0808/0809简介 212
7.3.2 ADC0809的C51编程 213
7.4 12位串行A/D转换器TLC2543的C51编程 215
7.4.1 TLC2543简介 216
7.4.2 TLC2543的C51编程 217
本章小结 220
习题 220
附录A MCS-51系列单片机简介 221
附录B 8255A简介 228
附录C ASCII码字符表 232
附录D Proteus常用分离器件名称 233
参考文献 234