项目1 设计信号灯控制系统 1
任务1 相关知识 1
1.1.1 单片机的基本知识 1
1.1.2 单片机的内部结构 5
1.1.3 单片机的CPU系统 7
1.1.4 单片机的存储器系统 11
1.1.5 单片机的并行I/O口系统 19
1.1.6 单片机的其他功能单元 22
1.1.7 单片机的外部结构 23
1.1.8 C51程序的基本构成 25
1.1.9 C51的数据结构 26
1.1.10 C51存储区域与存储模式 34
1.1.11 C51运算符与表达式 35
1.1.12 C51语句 41
1.1.13 C51函数 56
1.1.14 C51数组 77
1.1.15 C51指针 83
1.1.16 C51结构体 97
任务2 系统总体设计 109
1.2.1 系统的组成 109
1.2.2 系统的工作原理 110
任务3 系统硬件设计 110
1.3.1 单片机选型 110
1.3.2 主控模块设计 112
1.3.3 LED信号灯电路设计 113
任务4 系统软件设计 113
1.4.1 算法设计 114
1.4.2 数据结构设计 115
1.4.3 程序设计 115
1.4.4 C语言源程序 117
1.4.5 汇编语言源程序 117
任务5 系统仿真调试 118
任务6 能力拓展 125
任务7 项目考核 125
项目2 设计数码管显示系统 126
任务1 相关知识 126
2.1.1 数码管的结构 126
2.1.2 数码管的工作原理 127
2.1.3 数码管的字形编码 127
2.1.4 LED数码管的显示方式 128
任务2 系统总体设计 130
2.2.1 系统的组成 130
2.2.2 系统的工作原理 131
任务3 系统硬件设计 131
2.3.1 主控模块设计 131
2.3.2 数码管显示模块设计 131
任务4 系统软件设计 132
2.4.1 算法设计 132
2.4.2 数据结构设计 133
2.4.3 程序设计 134
2.4.4 C语言源程序 135
2.4.5 汇编语言源程序 136
任务5 系统仿真调试 137
任务6 能力拓展 137
任务7 项目考核 137
项目3 设计按键识别系统 139
任务1 相关知识 139
3.1.1 独立式键盘 139
3.1.2 矩阵式键盘 140
任务2 系统总体设计 142
3.2.1 系统的组成 142
3.2.2 系统的工作原理 142
任务3 系统硬件设计 143
3.3.1 主控模块设计 143
3.3.2 键盘模块设计 143
任务4 系统软件设计 144
3.4.1 算法设计 144
3.4.2 数据结构设计 145
3.4.3 程序设计 145
3.4.4 C语言源程序 147
3.4.5 汇编语言源程序 148
任务5 系统仿真调试 151
任务6 能力拓展 151
任务7 项目考核 151
项目4 设计报警器系统 152
任务1 相关知识 152
4.1.1 中断系统的结构 152
4.1.2 中断系统控制 154
4.1.3 中断系统响应 156
4.1.4 中断系统应用 157
任务2 系统总体设计 159
任务3 系统硬件设计 159
4.3.1 主控模块设计 159
4.3.2 按键模块设计 159
4.3.3 音频报警模块设计 160
任务4 系统软件设计 161
4.4.1 算法设计 161
4.4.2 数据结构设计 162
4.4.3 程序设计 162
4.4.4 C语言源程序 163
4.4.5 汇编语言源程序 165
任务5 系统仿真调试 166
任务6 能力扩展 166
任务7 项目考核 167
项目5 设计秒表控制系统 168
任务1 相关知识 168
5.1.1 定时器/计数器的结构 168
5.1.2 定时器/计数器的工作方式 171
任务2 系统总体设计 176
任务3 系统硬件设计 176
5.3.1 主控模块设计 176
5.3.2 秒表显示模块设计 176
任务4 系统软件设计 177
5.4.1 算法设计 177
5.4.2 数据结构设计 178
5.4.3 程序设计 179
5.4.4 C语言源程序 179
5.4.5 汇编语言源程序 183
任务5 系统仿真调试 185
任务6 能力扩展 185
任务7 项目考核 185
项目6 设计LCD显示系统 187
任务1 相关知识 187
6.1.1 液晶显示器的优点 187
6.1.2 液晶显示器的分类 188
6.1.3 液晶显示器的工作原理 189
6.1.4 液晶显示器的技术参数 190
6.1.5 液晶显示器各种图形的显示原理 191
任务2 系统总体设计 192
任务3 系统硬件设计 192
6.3.1 主控模块设计 192
6.3.2 LCD显示模块设计 192
任务4 系统软件设计 198
6.4.1 算法设计 198
6.4.2 数据结构设计 198
6.4.3 程序设计 198
6.4.4 C语言源程序 200
6.4.5 汇编语言源程序 203
任务5 系统仿真调试 207
任务6 能力扩展 207
任务7 项目考核 207
项目7 设计串行通信系统 208
任务1 相关知识 208
7.1.1 串行通信的分类 209
7.1.2 波特率 210
7.1.3 串行通信的制式 210
7.1.4 RS-232C总线标准与应用 211
7.1.5 RS-485总线标准与应用 213
7.1.6 MCS-51串行口的内部结构 214
7.1.7 MCS-51串行口的工作方式 216
7.1.8 MCS-51串行口的波特率 217
任务2 系统总体设计 219
7.2.1 系统的组成 219
7.2.2 系统的工作原理 219
任务3 系统硬件设计 219
7.3.1 主控模块设计 219
7.3.2 LCD显示模块设计 220
7.3.3 串行口通信模块设计 220
任务4 系统软件设计 222
7.4.1 算法设计 222
7.4.2 数据结构设计 222
7.4.3 程序设计 222
7.4.4 C语言源程序 224
7.4.5 汇编语言源程序 228
任务5 系统仿真调试 232
任务6 能力扩展 233
任务7 项目考核 233
项目8 设计数字电压表系统 234
任务1 相关知识 234
8.1.1 A-D转换器简介 234
8.1.2 A-D转换器的主要技术指标 235
任务2 系统总体设计 235
任务3 系统硬件设计 236
8.3.1 主控模块设计 236
8.3.2 LCD显示模块设计 236
8.3.3 A-D转换模块设计 236
任务4 系统软件设计 239
8.4.1 算法设计 239
8.4.2 数据结构设计 239
8.4.3 程序设计 240
8.4.4 C语言源程序 243
8.4.5 汇编语言源程序 247
任务5 系统仿真调试 252
任务6 能力扩展 252
任务7 项目考核 253
项目9 设计信号发生器系统 254
任务1 相关知识 254
9.1.1 D-A转换器的基本原理 254
9.1.2 D-A转换器的主要技术指标 254
9.1.3 集成D-A转换器DAC0832 255
9.1.4 DAC0832和MCS-51单片机的接口 256
任务2 系统总体设计 258
任务3 系统硬件设计 259
9.3.1 主控模块设计 259
9.3.2 LCD显示模块设计 259
9.3.3 键盘输入模块设计 259
9.3.4 串行口通信电路模块设计 259
9.3.5 D-A转换模块设计 259
任务4 系统软件设计 260
9.4.1 算法设计 260
9.4.2 数据结构设计 260
9.4.3 程序设计 261
9.4.4 C语言源程序 265
9.4.5 汇编语言源程序 272
任务5 系统仿真调试 278
任务6 能力扩展 278
任务7 项目考核 278
项目10 设计步进电动机控制系统 279
任务1 相关知识 279
10.1.1 步进电动机的分类和结构 280
10.1.2 步进电动机的原理 281
10.1.3 步距角与转速计算 284
10.1.4 步进电动机的单片机控制 285
任务2 系统总体设计 291
任务3 系统硬件设计 291
10.3.1 主控模块设计 291
10.3.2 步进电动机驱动模块设计 291
任务4 系统软件设计 292
10.4.1 算法设计 292
10.4.2 数据结构设计 293
10.4.3 程序设计 294
10.4.4 C语言源程序 294
10.4.5 汇编语言源程序 296
任务5 系统仿真调试 299
任务6 能力扩展 299
任务7 项目考核 299
附录 301
附录A 标准ASCII码字符集 301
附录B C语言常用库函数 302
附录C C语言运算符的优先级与结合性 306
附录D 特殊功能寄存器 306
附录E Easy 51pro v2.0的使用 307
附录F C51中的关键字 310
参考文献 312