单片机应用技术项目教程(微课版)

“十二五”职业教育国家规划教材
分享 推荐 1 收藏 4 阅读 119
郭志勇 (作者)

关于本书的内容有任何问题,请联系 祝贺

名师打造精品教材,包括11个项目、30个任务、21个技能训练和2个课程设计范例。
采用企业真实任务、贴近职业岗位需求,提供100多个微课视频,改善学习体验。
“任务驱动、做中学”,全新的仿真教学模式,案例全部采用C语言编程实现。

内容摘要

本书基于应用最广泛、高速、低功耗、超强抗干扰的新一代8051单片机——STC系列单片机展开介绍,共设置有11个项目30个任务以及2个课程设计范例。采用“项目引导、任务驱动”的模式,突出“做中学”的基本理念。前7个项目注重职业岗位的基本技能训练,主要介绍单片机硬件系统、单片机开发系统、单片机并行端口应用、定时与中断系统、显示与键盘接口技术、A/D与D/A转换接口、串行接口通信技术以及单片机应用系统设计方法等内容。后4个项目和2个课程设计范例注重职业岗位的开发技能训练,主要介绍键盘控制电机方向和转速、多路温度采集监控系统、按键设置液晶电子钟、16?32 LED点阵显示、双向四车道交通灯和温湿度监控系统等单片机产品的开发方法、关键知识以及设计与实现。
本书依据“任务驱动、做中学”的编写思路,每个任务均将相关知识和职业岗位基本技能结合在一起,把知识、技能的学习融入任务完成过程中。
本书提供微课教学资源、单片机开发套件以及单片机典型应用项目,既可作为高职高专院校嵌入式技术与应用、物联网应用技术、智能控制技术、计算机应用技术、电子信息等相关专业单片机应用技术课程的教材,也可作为广大电子产品制作爱好者的自学用书。

单片机应用技术项目教程 微课清单

目录

项目一 发光二极管LED控制 1
1.1 任务1 点亮一个LED 2
1.1.1 用Proteus设计第 一个LED控制电路 2
1.1.2 用Keil C51设计第 一个C语言LED控制程序 6
1.1.3 用Proteus仿真运行调试 10
1.2 认识单片机 12
1.2.1 单片机概述 12
1.2.2 STC89C52系列单片机的基本结构 16
1.2.3 STC89C52单片机引脚功能 16
1.2.4 单片机最小系统 19
【技能训练1-1】单片机控制LED闪烁 21
1.3 任务2 LED控制电路焊接制作与调试 23
1.3.1 LED控制电路设计 23
1.3.2 LED控制电路焊接 23
1.3.3 LED控制程序下载与调试 24
1.4 任务3 声光报警器 27
1.4.1 声光报警器电路设计 27
1.4.2 声光报警器程序设计 28
【技能训练1-2】开关控制声光报警器 29
1.4.3 C语言程序的基本构成 31
1.4.4 C语言基本语句 32
关键知识点小结 33
问题与讨论 34
项目二 LED循环点亮控制 36
2.1 任务4 LED循环点亮控制 37
2.1.1 LED循环点亮电路设计 37
2.1.2 LED循环点亮程序设计 38
2.1.3 LED循环点亮控制电路焊接制作 39
2.1.4 并行I/O端口电路 40
【技能训练2-1】P0口外接上拉电阻 43
2.2 MCS-51单片机内存空间 44
2.2.1 数据存储器 45
2.2.2 特殊功能寄存器 46
2.2.3 “头文件包含”处理 49
2.2.4 程序存储器 51
2.3 任务5 开关控制LED循环点亮 52
2.3.1 开关控制LED循环点亮电路设计 52
2.3.2 开关控制LED循环点亮程序设计 52
2.3.3 C51数据类型 54
2.3.4 C语言常量与变量 57
【技能训练2-2】汽车转向灯控制设计 59
2.4 任务6 步进电机控制 61
2.4.1 认识步进电机 61
2.4.2 步进电机控制电路设计 62
2.4.3 步进电机控制程序设计 63
【技能训练2-3】基于ULN2003A的继电器驱动电路设计 64
关键知识点小结 66
问题与讨论 67
项目三 数码管显示控制 69
3.1 任务7 数码管循环显示0~9 70
3.1.1 认识数码管 70
3.1.2 数码管循环显示0~9电路设计 72
3.1.3 数码管显示程序设计 73
3.1.4 数码管循环显示0~9电路焊接制作 74
【技能训练3-1】共阳极LED数码管应用 75
3.2 C语言语句结构 76
3.2.1 关系运算符和关系表达式 76
3.2.2 逻辑运算符和逻辑表达式 77
3.2.3 if语句 78
3.2.4 switch语句 79
3.2.5 循环结构控制语句 80
3.2.6 break语句和continue语句 83
3.3 任务8 0~99计数器显示(静态显示) 83
3.3.1 0~99计数显示电路设计 83
3.3.2 0~99计数显示程序设计 84
3.3.3 C语言函数 86
【技能训练3-2】使用74LS47实现0~99计数显示 88
3.4 任务9 数码管动态扫描显示 90
3.4.1 数码管动态扫描显示电路设计 90
3.4.2 数码管动态显示程序设计 91
3.4.3 C语言数组 92
3.4.4 C51中的位操作 95
关键知识点小结 97
问题与讨论 98
项目四 键盘的设计与实现 100
4.1 任务10 独立式键盘设计与实现 101
4.1.1 认识键盘 101
4.1.2 独立式键盘电路设计 102
4.1.3 独立式键盘程序设计 102
4.1.4 独立式键盘电路焊接制作 104
4.1.5 键盘防抖动措施 104
【技能训练4-1】一键多功能按键识别设计与实现 106
4.2 任务11 矩阵式键盘设计与实现 107
4.2.1 矩阵式键盘的结构与原理 107
4.2.2 矩阵式键盘电路设计 109
4.2.3 矩阵式键盘程序设计 110
4.3 任务12 中断方式矩阵式键盘 112
4.3.1 中断概念 112
4.3.2 中断方式矩阵式键盘电路设计 113
4.3.3 中断方式矩阵式键盘程序设计 114
4.4 MCS-51单片机中断系统 115
4.4.1 单片机中断源 115
4.4.2 中断系统结构 115
4.4.3 与中断有关的4个特殊功能寄存器 116
4.4.4 中断处理过程 119
4.4.5 C51中断服务函数 121
【技能训练4-2】8路抢答器设计与实现 122
关键知识点小结 126
问题与讨论 127
项目五 电子钟设计与实现 129
5.1 任务13 生产线自动打包系统 130
5.1.1 认识定时器/计数器 130
5.1.2 生产线自动打包控制电路 132
5.1.3 生产线自动打包控制程序 133
5.2 任务14 霓虹灯控制系统 134
5.2.1 定时器/计数器工作方式 134
5.2.2 定时器/计数器相关寄存器 136
5.2.3 霓虹灯控制系统设计与实现 137
【技能训练5-1】0~59秒数码显示(定时器) 139
5.3 任务15 基于LCD液晶显示的电子钟设计 141
5.3.1 认识LCD1602液晶显示模块 141
5.3.2 电子钟电路设计 144
5.3.3 LCD1602指令操作 145
5.3.4 电子钟程序设计 147
5.3.5 电子钟电路焊接制作 150
5.4 intrins.h头文件的应用 151
5.4.1 _crol_、_irol_和_lrol_函数 151
5.4.2 _cror_、_iror_和_lror_函数 152
5.4.3 _nop_函数 152
5.4.4 _testbit_函数 152
【技能训练5-2】用_crol_函数实现LED循环点亮 153
关键知识点小结 153
问题与讨论 154
项目六 模拟量输入/输出设计与实现 156
6.1 任务16 模数转换LED显示 157
6.1.1 模拟量输入/输出概述 157
6.1.2 模数转换LED显示电路 157
6.1.3 模数转换LED显示程序 158
6.1.4 模数转换LED显示电路焊接制作 159
6.2 ADC0809模数转换器 160
6.2.1 认识ADC0809模数转换器 160
6.2.2 ADC0809结构及引脚 161
6.2.3 ADC0809工作过程及编程方法 162
【技能训练6-1】采用中断方式完成模数转换LED显示 163
6.3 任务17 数字电压表设计与实现 165
6.3.1 数字电压表电路设计 165
6.3.2 数字电压表程序设计 166
6.3.3 C语言结构体类型 168
6.3.4 结构体数组 169
【技能训练6-2】基于ADC0809的直流电机转速控制 170
6.4 任务18 信号发生器设计与实现 172
6.4.1 认识DAC0832数模转换器 172
6.4.2 信号发生器电路设计 174
6.4.3 信号发生器程序设计 176
【技能训练6-3】正弦波发生器设计 177
关键知识点小结 179
问题与讨论 180
项目七 单片机串行通信设计与实现 181
7.1 任务19 单片机点对点数据传输 182
7.1.1 串行通信基本知识 182
7.1.2 单片机点对点数据传输电路设计 185
7.1.3 单片机点对点数据传输程序设计 186
7.1.4 RS-232C串行通信总线及其接口 187
【技能训练7-1】全双工RS-232连接电路设计与实现 189
7.2 任务20 水塔水位单片机远程监控系统 189
7.2.1 单片机串行口结构 190
7.2.2 串行通信设置 192
7.2.3 水塔水位单片机远程监控系统设计 194
7.2.4 水塔水位单片机远程监控系统焊接制作 198
【技能训练7-2】单片机串行口扩展I/O口 199
7.3 任务21 单片机一对多数据传输 201
7.3.1 MCS-51单片机多机通信 201
7.3.2 单片机一对多数据传输电路设计 202
7.3.3 单片机一对多数据传输程序设计 203
7.3.4 RS-485串行接口 206
【技能训练7-3】全双工RS-485连接电路设计与实现 207
关键知识点小结 208
问题与讨论 209
项目八 LCD1602监控电机运行 210
8.1 单片机产品开发 211
8.1.1 单片机产品的结构 211
8.1.2 单片机产品开发流程 212
8.2 任务22 LCD1602监控步进电机运行设计与实现 214
8.2.1 步进电机控制技术 214
8.2.2 认识L298全桥驱动器 215
8.2.3 步进电机控制系统电路设计 216
8.2.4 LCD1602监控步进电机运行程序设计 217
8.3 任务23 LCD1602监控直流电机运行设计与实现 223
8.3.1 直流电机控制技术 223
8.3.2 LCD1602监控直流电机运行电路设计 225
8.3.3 LCD1602监控直流电机运行程序设计 225
【技能训练】智能车基本控制设计 230
关键知识点小结 234
问题与讨论 234
项目九 按键设置液晶显示电子钟 235
9.1 RT12864点阵型液晶显示模块 236
9.1.1 认识RT12864液晶显示模块 236
9.1.2 RT12864液晶显示模块内部结构 237
9.1.3 控制指令及相应代码 239
9.2 任务24 液晶电子钟电路设计 242
9.2.1 按键设置电路设计 242
9.2.2 液晶显示控制电路设计 242
9.2.3 按键设置液晶电子钟电路设计 243
9.3 任务25 液晶电子钟程序设计 244
9.3.1 按键设置程序设计 244
9.3.2 时间程序设计 247
9.3.3 液晶显示程序设计 249
【技能训练】使用DS1302芯片实现液晶电子钟电路设计 256
关键知识点小结 258
问题与讨论 259
项目十 8路温度采集监控系统 260
10.1 DS18B20温度传感器 261
10.1.1 认识DS18B20 261
10.1.2 DS18B20内部结构及功能 263
10.1.3 DS18B20通信协议 265
10.2 任务26 8路温度采集监控电路设计 268
10.2.1 温度采集电路设计 268
10.2.2 温度监控电路设计 268
10.2.3 8路温度采集监控电路设计 269
10.3 任务27 8路温度采集监控程序设计 270
10.3.1 按键处理程序设计 270
10.3.2 8路温度采集程序设计 272
10.3.3 8路温度显示程序设计 273
【技能训练】基于LCD1602的8路温度采集监控设计 275
 关键知识点小结 278
问题与讨论 279
项目十一 点阵显示设计与实现 280
11.1 任务28 8×8 LED点阵显示设计 281
11.1.1 认识LED点阵显示屏 281
11.1.2 8×8 LED点阵显示电路设计 283
11.1.3 8×8 LED点阵显示程序设计 284
11.2 任务29 16×32 LED点阵显示电路设计 286
11.2.1 构建16×32 LED点阵显示模块 286
11.2.2 16×32 LED点阵显示的列驱动电路设计 287
11.2.3 16×32 LED点阵显示的行驱动电路设计 288
11.3 任务30 16×32 LED点阵显示程序设计 290
11.3.1 使用PCtoLCD2002获取汉字字模 290
11.3.2 16×32 LED点阵汉字显示程序设计 292
【技能训练】采用逐行扫描方式,完成16×32 LED点阵汉字显示设计 296
关键知识点小结 300
问题与讨论 301
课程设计范例一 双向四车道交通灯控制 302
课程设计范例二 温湿度监控系统 315

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

郭志勇,副教授,专业带头人、骨干教师、省级教学名师,任职于安徽电子信息职业技术学院,主要讲授单片机应用技术、电子技术等课程,出版专业教材多本。

推荐用户

相关图书