目 录
第1章 单片机的C语言概述 1
1.1 单片机的C语言 1
1.1.1 单片机的C语言(C51)的特点 1
1.1.2 单片机的C语言和标准C语言的
比较 2
1.1.3 单片机的C语言与汇编语言的优
势对比 2
1.2 硬件及软件环境 6
1.2.1 硬件环境 6
1.2.2 软件环境 8
本章小结 8
习题 8
第2章 51系列单片机硬件及C51编程
基础 9
2.1 51单片机的总体结构 9
2.1.1 内部结构 9
2.1.2 外部引脚说明 10
2.1.3 CPU的时序周期 13
2.2 51单片机的存储器 14
2.2.1 程序存储器 14
2.2.2 数据存储器 15
2.2.3 特殊功能寄存器 17
2.3 C51语言的数据 20
2.3.1 常量 20
2.3.2 变量 22
2.4 C51语言对单片机主要资源的
控制 25
2.4.1 特殊功能寄存器的C51语言
定义 25
2.4.2 绝对地址的访问 27
2.5 C51语言的基本运算与流程控制
语句 28
2.5.1 基本运算 28
2.5.2 分支判断――if、switch语句 30
2.5.3 循环控制――while、for语句 32
2.5.4 break、continue、return和goto
语句 34
2.6 C51语言的数组、指针、函数 36
2.6.1 数组 36
2.6.2 指针 38
2.6.3 函数 39
2.7 C51语言的预处理命令及汇编语句
的嵌入 42
2.7.1 文件包含、宏定义、条件编译 42
2.7.2 C51中汇编语句的嵌入 44
2.8 C51程序 45
2.8.1 C51的程序结构 45
2.8.2 C51编程规范及注意事项 47
2.8.3 C51的标识符与关键字 48
本章小结 50
习题 50
第3章 P0~P3口输入/输出的C51编程 52
3.1 51单片机的P0~P3口基础知识 52
3.1.1 P0~P3口结构 52
3.1.2 P0~P3口特点总结 53
3.2 输出操作 54
3.2.1 基本输出操作举例――字节输出
与位输出 54
3.2.2 扩展输出操作举例――流水灯与
霹雳灯 55
3.2.3 扩展输出操作举例――8段LED
数码显示器 57
3.3 输入操作 62
3.3.1 闸刀型开关输入信号 63
3.3.2 单个按钮型开关输入信号 64
3.3.3 多个按钮型开关输入信号――
键盘 66
3.4 实验与设计 72
实验1 闸刀型开关输入/8段LED静态
显示输出 72
实验2 按钮型开关输入/8段LED静态
显示输出 72
设计1:计时秒表的设计 74
设计2:模拟交通信号灯控制装置的
设计 74
本章小结 74
习题 75
第4章 中断系统的C51编程 76
4.1 中断系统结构与中断控制 76
4.1.1 中断系统结构 76
4.1.2 特殊功能寄存器 77
4.2 中断优先级与中断函数 78
4.2.1 中断优先级 78
4.2.2 中断函数的结构形式 80
4.3 外部中断源的C51编程 80
4.3.1 外部中断源初始化 80
4.3.2 编程示例 81
4.4 实验与设计 84
实验1 按钮型开关模拟外部中断
实验 84
实验2 外部中断优先级实验 85
设计:出租车计价器里程计量装置的
设计 87
本章小结 87
习题 88
第5章 定时器/计数器的C51编程 89
5.1 51单片机的定时器/计数器 89
5.1.1 结构 89
5.1.2 特殊功能寄存器 90
5.2 定时器/计数器工作模式 91
5.3 定时器/计数器的应用举例 94
5.3.1 定时器/计数器的初始化 95
5.3.2 应用举例 96
5.4 实验与设计 102
实验1 按钮型开关模拟计数器实验 102
实验2 定时器实验 103
设计1:出租车计价器里程计量装置
的设计 104
设计2:计时钟的设计(倒计时) 104
本章小结 104
习题 105
第6章 串行口的C51编程 106
6.1 51单片机串行口基础知识 106
6.1.1 串行口的结构原理 106
6.1.2 串行口的应用控制 107
6.2 51单片机串行口的工作方式 108
6.2.1 串行口工作方式0 108
6.2.2 串行口工作方式1 112
6.2.3 串行口工作方式2 116
6.2.4 串行口工作方式3 119
6.3 51单片机串行口的应用举例 122
6.3.1 串行口编程基础 122
6.3.2 串行口应用举例 124
6.4 实验与设计 127
实验1 串行口控制的流水灯实验 127
实验2 两个单片机通信实验 127
本章小结 129
习题 130
第7章 外部并行扩展的C51编程 131
7.1 51单片机并行I/O口扩展基础 131
7.1.1 系统扩展总线结构图 131
7.1.2 数据线、控制线的连接 132
7.1.3 译码信号的形成――系统扩展
的寻址 132
7.2 可编程的I/O接口芯片8255A的
C51编程 135
7.2.1 8255A简介 135
7.2.2 利用8255A扩展并行的输入/输出
口示例 139
7.2.3 利用Intel 8255A作为8段LED
静态显示输出口的示例 140
7.2.4 利用Intel 8255A作为8段LED
动态显示输出口的示例 141
7.3 D/A与A/D转换器的C51编程 143
7.3.1 D/A转换器基础 143
7.3.2 8位并行D/A转换器DAC0832 145
7.3.3 A/D转换器基础 150
7.3.4 8位并行A/D转换器ADC0809 151
7.4 液晶显示器的C51编程 155
7.4.1 字符型LCD1602液晶显示模块
的C51编程 155
7.4.2 点阵式带汉字库12864液晶显示
模块接口技术 160
7.5 实验与设计 168
实验1 DAC0832单缓冲实验 168
实验2 ADC0809实验 169
设计1:电子密码锁的设计 171
设计2:波形发生器的设计 171
本章小结 171
习题 172
第8章 外部串行扩展的C51编程 173
8.1 I2C总线器件的C51编程 173
8.1.1 认识I2C总线接口 173
8.1.2 I2C总线典型器件AT24C02
应用举例 175
8.2 SPI总线器件的C51编程 180
8.2.1 认识SPI总线 181
8.2.2 SPI总线典型器件X25045应用
举例 182
8.3 单总线的C51编程 186
8.3.1 认识单总线 186
8.3.2 单总线典型器件DS18B20应用
举例 187
8.4 串行A/D接口芯片TLC2543的
C51编程 193
本章小结 196
习题 197
第9章 μVision2与Proteus使用基础 198
9.1 μVision2集成开发环境 198
9.1.1 File、Edit和View菜单 199
9.1.2 Project、Debug和Flash菜单 201
9.1.3 Peripherals、Tools和Window
菜单 202
9.2 用μVision2建立与调试工程 203
9.2.1 工程创建、设置、编译与链接 203
9.2.2 用μVision2调试工程 207
9.2.3 C51程序调试举例说明――
HELLO.C 211
9.2.4 Keil C51的调试技巧及举例 213
9.3 Proteus快速入门 216
9.3.1 集成Proteus ISIS环境 216
9.3.2 电路原理图设计 221
9.4 Proteus仿真工具介绍 226
9.4.1 探针 226
9.4.2 虚拟仪器 226
9.4.3 信号发生器 227
9.4.4 仿真图表 227
9.5 Proteus软件中的C51程序运行与
调试 228
9.5.1 驱动的安装 228
9.5.2 Keil和Proteus的配置 228
9.5.3 Keil和Proteus的调试过程 229
本章小结 229
习题 230
附录A ASCII码字符表 231
附录B 单片机应用资料查询方法 232
附录C Proteus常用分离器件名称 233
参考文献 234
单片机技术及应用:基于proteus仿真的c语言程序设计 单片机的C语言程序设计与应用:基于Proteus仿真(第4版)...
如果觉得《单片机技术及应用:基于proteus仿真的c语言程序设计 单片机的C语言程序设计与应用:基》对你有帮助,请点赞、收藏,并留下你的观点哦!