姜志海、赵艳雷、陈松编著的《单片机的C语言程序设计与应用——基于Proteus仿真(第2版)》的主要特色在于,在介绍单片机的C语言设计的过程中,清晰地说明了单片机的所有功能,并对每项功能给出了实例代码,同时详细介绍了单片机的C语言开发与仿真环境的使用,透彻分析了单片机的C语言的语法和语义,以及开发过程中可能存在的问题和难点。
本书的另一个特点是突破了传统的软、硬件截然隔裂的方法,使读者对嵌入式系统的开发有一个整体的了解。相信本书的这一特点会节省读者进入嵌入式C语言领域的时间,同时能够更清楚地认识应用系统开发的过程,深入理解单片机的C语言编程机制。
姜志海、赵艳雷、陈松编著的《单片机的C语言程序设计与应用——基于Proteus仿真(第2版)》是普通高等教育“十一五”国家级规划教材。本书以标准C语言和MCS-51单片机为基础,全面系统地介绍单片机的C语言程序设计与应用的基本问题,是一本重在应用、兼顾理论的实用教程。主要内容包括:单片机的C语言概述、KEIL与PROTEUS应用基础、C51语言程序设计基础、中断系统与定时器/计数器及串行口的C51语言编程、键盘/显示的C51编程、模拟量接口技术的C51编程。本书提供电子课件、程序代码、仿真电路图和习题参考答案。
《单片机的C语言程序设计与应用——基于Proteus仿真(第2版)》为高等学校电气与电子信息专业和计算机专业的本专科教材,也可供从事单片机应用与产品开发工作的工程技术人员学习参考。
第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.4 Proteus仿真工具介绍/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.3.1 基本运算/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芯片DAC1208的C51编程/210
7.2.1 12位并行DAC1208简介/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