第1章 初识51系列单片机 1
【学习目标】 1
1.1单片机概述 1
1.1.1单片机定义及其特点 1
1.1.2单片机的发展历史 2
1.1.3单片机的发展趋势 2
1.1.4单片机的应用领域 3
1.1.5单片机的主要厂商和机型 4
1.2 51系列单片机的结构 6
1.2.1单片机的功能特点 6
1.2.2单片机的内部结构 7
1.2.3单片机的引脚概述 10
1.2.4单片机最小系统硬件组成 11
1.3 51系列单片机的存储器配置 14
1.3.1单片机存储器的组织形式 14
1.3.2程序存储器(ROM) 15
1.3.3片内数据存储器(片内RAM) 16
1.3.4片外数据存储器(片外RAM) 21
1.4 51系列单片机的工作时序 21
【单元小结】 22
【习题】 22
第2章 单片机开发工具及系统设计方法 24
【学习目标】 24
2.1单片机开发工具 24
2.1.1软件开发工具Keil μVision3简介 24
2.1.2 Keil μ Vision3的使用方法 25
2.1.3仿真开发工具Proteus ISIS简介 36
2.1.4 Proteus ISIS的使用方法 38
2.1.5目标代码下载与调试方法 40
2.2单片机应用系统设计 42
2.2.1单片机应用系统的组成 42
2.2.2单片机应用系统的设计原则 42
2.2.3单片机应用系统的设计方法 43
2.2.4单片机应用系统的调试方法 45
2.3项目演练:信号灯控制器的设计 47
【单元小结】 51
【习题】 51
第3章 单片机程序设计——C51语言基础 52
【学习目标】 52
3.1 C51语言初步 52
3.1.1程序设计的基本概念 52
3.1.2 C51语言程序结构 53
3.2标识符、关键字与数据类型 54
3.2.1标识符与关键字 54
3.2.2数据类型 56
3.3常量、变量及其存储模式 58
3.3.1常量 58
3.3.2变量及其存储类型 59
3.3.3系统默认的存储器模式 60
3.3.4变量的作用范围及变量的存在时间 61
3.4运算符与表达式 62
3.5基本语句 64
3.5.1条件判断语句(if…else…) 64
3.5.2开关语句(switch) 65
3.5.3循环语句 65
3.5.4 break、continue和goto语句 66
3.6数组 67
3.7函数 67
3.7.1函数的定义 67
3.7.2函数的调用 69
3.7.3对被调用函数的说明 69
3.8指针 70
3.8.1指针变量的定义 70
3.8.2指针变量的引用 71
3.8.3指针与数组 72
【单元小结】 72
【习题】 73
第4章 单片机的I/O口——输出口的基础应用 75
【学习目标】 75
4.1并行I/O口结构及功能特点 75
4.2单片机控制LED 78
4.2.1发光二极管(LED)的基本知识 78
4.2.2项目演练:闪烁信号灯控制器的设计 79
4.2.3项目演练:跑马灯控制器的设计 81
4.3 LED数码管显示器的设计 85
4.3.1 LED数码管的结构与工作原理 85
4.3.2项目演练:LED数码管显示器的设计 86
4.4单片机控制蜂鸣器 89
4.4.1蜂鸣器及其驱动电路 89
4.4.2项目演练:声音报警器的设计 89
【单元小结】 92
【习题】 92
第5章 单片机的I/O口——输入口的基础应用 93
【学习目标】 93
5.1单片机的输入口的结构与功能特点 93
5.2按键的输入电路设计 94
5.2.1闸刀开关与按键开关 94
5.2.2按键及输入电路设计 94
5.2.3按键的消抖处理 95
5.2.4项目演练:键控信号灯的设计(键控灯亮) 96
5.2.5项目演练:键控信号灯的设计(考虑对按键消抖和按键释放的判断) 97
5.2.6项目演练:键控信号灯的设计(一键多功能) 99
5.3综合项目演练:花样彩灯控制器的设计 103
【单元小结】 107
【习题】 107
第6章 单片机中断系统的应用 108
【学习目标】 108
6.1单片机中断系统概述 108
6.1.1中断的概念 108
6.1.2中断源 109
6.1.3中断的特点 109
6.1.4中断优先权 110
6.1.5中断嵌套 110
6.2 51系列单片机的中断系统 110
6.2.1单片机的中断系统结构与控制 110
6.2.2单片机的中断处理过程 113
6.2.3单片机中断请求的撤除 115
6.3 51系列单片机中断系统软件设计方法 116
6.3.1中断系统的初始化编程 116
6.3.2中断服务程序的编写 117
6.4综合项目演练:带应急信号处理的交通灯控制器的设计 119
【单元小结】 127
【习题】 127
第7章 单片机定时/计数器的应用 129
【学习目标】 129
7.1 51系列单片机定时/计数器的结构与工作原理 129
7.1.1定时/计数器的结构 129
7.1.2定时/计数器的工作原理 130
7.2 51系列单片机定时/计数器的控制 131
7.3 51系列单片机定时/计数器的工作方式 132
7.4 51系列单片机定时中断系统软件设计方法 134
7.4.1定时/计数器的初始化 135
7.4.2定时/计数器的应用 136
7.5综合项目演练:电子秒表的设计 137
【单元小结】 142
【习题】 143
第8章 单片机串行口的应用 145
【学习目标】 145
8.1串行通信的基本知识 145
8.1.1串行通信的概念 145
8.1.2串行通信的分类 146
8.1.3串行通信的传输方式 147
8.1.4串行通信接口标准RS-232接口 148
8.2 51系列单片机的串行通信接口 150
8.2.1单片机的串行口及控制寄存器 150
8.2.2串行口的工作方式 152
8.2.3串行通信的波特率 153
8.2.4串行口的初始化 154
8.3综合项目演练:单片机与PC的通信 154
【单元小结】 159
【习题】 159
第9章 单片机输入/输出口的高级应用 161
【学习目标】 161
9.1 LED数码管显示方式 161
9.1.1静态显示与动态显示 161
9.1.2 51系列单片机与LED数码管静态显示接口 162
9.1.3 51系列单片机与LED数码管动态显示接口 163
9.2键盘扫描 168
9.2.1键盘的结构与工作原理 168
9.2.2 51系列单片机与独立按键键盘的接口 169
9.2.3 51系列单片机与行列矩阵键盘的接口 169
9.3综合项目演练:多功能数字电子钟的设计 172
9.4单片机与字符型液晶显示器接口的设计 184
9.4.1字符型液晶显示器概述 184
9.4.2 LCD1602字符型液晶显示器的控制 184
9.5时钟芯片DS1302 187
9.5.1 DS1302芯片简介 187
9.5.2 DS1302的控制函数 189
9.6综合项目演练:万年历的设计 191
【单元小结】 199
【习题】 200
第10章 单片机A/D接口电路设计 202
【学习目标】 202
10.1 A/D转换芯片的结构与工作原理 202
10.1.1 A/D转换器概述 202
10.1.2典型A/D转换器芯片ADC0809 202
10.2 51系列单片机与ADC0809的接口 204
10.2.1 8路模拟通道选择 204
10.2.2转换数据的传送 205
10.3综合项目演练:电压报警器的设计 207
【单元小结】 213
【习题】 214
第11章 单片机D/A接口电路设计 215
【学习目标】 215
11.1 D/A转换芯片的结构与工作原理 215
11.1.1 D/A转换器概述及主要技术指标 215
11.1.2典型D/A转换器芯片DAC0832 216
11.2 51系列单片机与DAC0832的接口 218
11.2.1单缓冲方式连接 219
11.2.2双缓冲方式的接口与应用 219
11.3综合项目演练:多功能波形发生器的设计 220
【单元小结】 230
【习题】 230
附录A 51系列单片机指令表 231
附录B ASCII码字符表 237
参考文献 238