产品特色
编辑推荐
买书即送单片机开发板,价格较单独购置图书和单片机开发板更优惠。
配套网站包含源代码和操作视频,让学习更简单。
图书包括基础项目和拓展项目,读者既可以学习和了解单片机原理,也可以制作有趣又实用的项目作品。
内容简介
本书以51系列单片机为载体,采用项目化教学方式,由浅入深地安排实训内容,将知识点和相关实训内容结合,突出对读者动手能力的培养。项目内容包含了基础和拓展两大部分。基础部分包括单片机开发环境构建、流水灯、蜂鸣器、LED显示器、按键输入、中断、定时器和串口通信等内容,免费赠送的开发板可设计实验完全覆盖这些内容;拓展部分则是精选出的具有代表性的真实项目,体现了时代性的创客特色,包括红外遥控、声音传感器、温度传感器、倾斜开关、超声传感器、人体红外传感器、火焰传感器和无线模块等内容。同时,本书配套的网站提供了更多的实训项目资源,进一步提高读者实战技能,体现“互联网+”特色。
作者简介
吴险峰,华中科技大学模式识别和智能系统专业博士,曾在某跨国通信企业工作多年,主持和参与50多项国际项目,具备丰富的项目实战和管理经验。现为深圳信息职业技术学院嵌入式专业的教师,工作期间主持和参与多项课题,公开发表论文十余篇,教学经验丰富。
目录
项目1 构建单片机开发环境 1
1.1 项目分析 2
1.2 技术准备 2
1.2.1 单片机系统简介 2
1.2.2 安装USB驱动程序 2
1.2.3 单片机程序烧录方法和相关工具 3
1.2.4 使用单片机开发软件Keil4 5
项目2 了解开发板 8
2.1 项目分析 9
2.2 技术准备 9
2.2.1 亚博BST-M51模块电路图 9
2.2.2 亚博科技BST-M51学习板
功能模块图 10
项目3 点亮一个LED 11
3.1 项目分析 12
3.2 技术准备 12
3.2.1 理论知识 12
3.2.2 程序基础 12
3.3 项目实施 26
项目4 流水灯实验 29
4.1 项目分析 30
4.2 技术准备 30
4.2.1 流水灯硬件实物 30
4.2.2 流水灯原理图 30
4.2.3 流水灯实验理论知识 31
4.2.4 定时器的结构 33
4.2.5 定时器的TMOD和TCON寄存器 33
4.2.6 定时器工作方式 34
4.2.7 定时器编程步骤 34
4.3 项目实施 35
项目5 蜂鸣器实验 38
5.1 项目分析 39
5.2 技术准备 39
5.2.1 蜂鸣器硬件实物 39
5.2.2 蜂鸣器实验相关电路 39
5.2.3 串行接口的结构 40
5.2.4 串口的4种工作方式和波特率 41
5.2.5 C51串口编程 43
5.3 项目实施 43
5.3.1 简单蜂鸣器发声实验 43
5.3.2 给前面任务的流水灯加入报警效果 44
项目6 LED显示器静态显示 46
6.1 项目分析 47
6.2 技术准备 47
6.2.1 LED显示器静态显示简介 47
6.2.2 LED显示器可显示内容和特点 47
6.2.3 LED显示器的结构与原理 47
6.2.4 LED显示2种接法 48
6.3 项目实施 49
项目7 LED显示器动态显示 51
7.1 项目分析 52
7.2 技术准备 52
7.2.1 LED显示器动态显示与扫描原理 52
7.2.2 4位LED显示器的动态和静态显示连接方式图 52
7.2.3 编程实验理论准备 52
7.3 项目实施 55
项目8 独立键盘输入 58
8.1 项目分析 59
8.2 技术准备 59
8.2.1 独立键盘输入理论知识 59
8.2.2 硬件模块工作原理 59
8.2.3 认识轻触开关按键 60
8.2.4 键盘的分类 61
8.3 项目实施 61
项目9 单片机中断系统 63
9.1 项目分析 64
9.2 技术准备 64
9.2.1 单片机中断系基本概念 64
9.2.2 中断传送方式及其特点 64
9.2.3 80C51中断系统 65
9.2.4 中断服务函数 68
9.3 项目实施 69
9.3.1 外部中断低电平触发 69
9.3.2 外部中断下降沿触发 70
项目10 单片机定时器 71
10.1 项目分析 72
10.2 技术准备 72
10.2.1 单片机定时基础 72
10.2.2 定时/计数器T0的工作原理 72
10.2.3 定时/计数器的结构及工作原理 72
10.2.4 定时/计数器的工作方式 75
10.3 项目实施 77
项目11 串口通信 79
11.1 项目分析 80
11.2 技术准备 80
11.2.1 串口通信理论知识 80
11.2.2 计算机通信的分类 80
11.2.3 串行通信与并行通信 80
11.2.4 信号的调制与解调 82
11.2.5 串行通信的错误校验 82
11.2.6 传输速率及其与传输距离的关系 83
11.2.7 串口结构 83
11.2.8 串行通信的数据结构 83
11.3 项目实施 85
项目12 综合实验:秒表 87
12.1 项目分析 88
12.2 技术准备 88
12.3 项目实施 88
项目13 LCD显示器静态显示字符 93
13.1 项目分析 94
13.2 技术准备 94
13.2.1 LCD 1602介绍 94
13.2.2 LCD1602的驱动操作 95
13.2.3 LCD 1602的指令码 96
13.2.4 RAM地址映射图 97
13.3 项目实施 97
项目14 红外遥控 102
14.1 项目分析 103
14.2 技术准备 103
14.2.1 红外线 103
14.2.2 NEC协议 108
14.2.3 红外遥控器键码值 109
14.3 项目实施 109
14.3.1 红外线发送 109
14.3.2 红外线接收 113
项目15 简易计算器(LED显示器显示) 117
15.1 项目分析 118
15.2 技术准备 118
15.3 项目实施 118
15.4 技术拓展 120
项目16 音乐喷泉 122
16.1 项目分析 123
16.2 技术准备 123
16.2.1 模块原理图 123
16.2.2 模块接口说明 124
16.3 项目实施 124
16.4 技术拓展 125
项目17 防盗报警器 127
17.1 项目分析 128
17.2 项目准备 128
17.3 项目实施 129
项目18 8×8点阵显示“爱心” 131
18.1 项目分析 132
18.2 技术准备 132
18.2.1 8×8点阵介绍 132
18.2.2 MAX7219介绍 132
18.2.3 MAX7219引脚说明 132
18.2.4 串行数据格式 133
18.2.5 可寻址的数据寄存器和控制寄存器 133
18.3 项目实施 134
18.4 技术拓展 136
项目19 温度计显示 138
19.1 项目分析 139
19.2 技术准备 139
19.2.1 DS18B20单线总线的工作方式 139
19.2.2 DS18B20的操作步骤 142
19.3 项目实施 145
19.4 技术拓展 148
项目20 测距显示 150
20.1 项目分析 151
20.2 技术准备 151
20.2.1 HC-SR04超声波测距模块 151
20.2.2 超声波测距原理 152
20.3 项目实施 153
20.4 技术拓展 158
20.4.1 超声波测距(LED显示器显示改I/O端口) 158
20.4.2 超声波测距LCD1602显示 159
项目21 步进电机控制 161
21.1 项目分析 162
21.2 技术准备 162
21.2.1 步进电机简介 162
21.2.2 步进电机转动原理及内部结构 162
21.2.3 ULN2003 163
21.3 项目实施 163
21.3.1 单-双八拍 163
21.3.2 加、减速 166
21.3.3 双四拍 168
21.4 技术拓展 170
21.4.1 正、反转 170
21.4.2 速度调节 171
21.4.3 自制秒表 174
项目22 A/D-D/A模块 177
22.1 项目分析 178
22.2 技术准备 178
22.2.1 PCF8591介绍 178
22.2.2 PCF8591的器件地址与控制寄存器 179
22.2.3 I2C总线的数据传送 179
22.3 项目实施 184
22.4 技术拓展 190
22.4.1 D/A输出模块 190
22.4.2 A/D模块(LCD1602显示) 190
项目23 火焰报警器 193
23.1 项目分析 194
23.2 技术准备 194
23.2.1 光、热敏电阻拓展接线原理 194
23.2.2 火焰传感器介绍 194
23.3 项目实施 194
23.4 技术拓展 200
23.4.1 热感灯 200
23.4.2 火焰传感器报警 201
项目24 人体红外感应灯 202
24.1 项目分析 203
24.2 技术准备 203
24.2.1 基本概念及参数 203
24.2.2 功能特点 203
24.2.3 使用说明 204
24.3 项目实施 205
24.4 技术拓展 210
项目25 无线模块 211
25.1 项目分析 212
25.2 技术准备 212
25.2.1 NRF24L01简介 212
25.2.2 模块外接引脚 212
25.2.3 SPI 212
25.2.4 工作模式 214
25.2.5 数据通道 215
25.3 项目实施 216
25.4 技术拓展 224
项目26 智能风扇系统(综合实验) 225
26.1 项目分析 226
26.2 技术准备 226
26.3?项目实施 226
附件 亚博BST-M51主要模块电路图 240
参考文献 244
踏上嵌入式开发的探索之旅——《51单片机项目教程(C语言版)》 欢迎来到一个充满创造与实践的奇妙世界!如果你对让冰冷的电子元件“活”起来充满好奇,如果你渴望将自己的想法变为现实,那么《51单片机项目教程(C语言版)》(赠单片机开发板)无疑是你开启这段激动人心旅程的最佳伙伴。本书并非枯燥的理论堆砌,而是以实用的项目驱动,带你一步步走进51单片机的应用殿堂,让你在动手中学习,在实践中成长。 为什么选择51单片机? 在浩瀚的电子技术海洋中,51单片机以其经典的地位、易于上手的特性以及广泛的应用场景,成为了无数电子爱好者和初学者入门嵌入式开发的“首选语言”。它就像一个精巧的微型计算机,虽然结构相对简单,但其强大的功能足以支撑起各种各样的智能设备和控制系统。学习51单片机,不仅是掌握一项技术,更是打开了通往物联网、智能家居、工业自动化等众多前沿领域的大门。 《51单片机项目教程(C语言版)》将带你领略什么? 本书精心设计,旨在让你在轻松愉快的氛围中,扎实掌握51单片机的硬件原理、C语言编程以及实际项目开发的全过程。我们深知理论的枯燥,因此,本书的每一章都紧密围绕着一个或多个实际项目展开。这意味着你不再是独自面对晦涩难懂的电路图和代码,而是将学习过程融入到解决一个个具体问题的挑战中。 从零开始,构建你的第一个智能系统 本书的结构安排可谓循序渐进,即使你对单片机一无所知,也能 confidently 地跟随我们的脚步。 基础夯实: 我们会从最基础的51单片机结构、工作原理、指令系统入手,让你对这个“大脑”有一个清晰的认识。同时,C语言作为本书的主要开发语言,也将进行系统性的讲解,侧重于单片机开发中常用的数据类型、运算符、控制语句、函数等,让你能够熟练运用C语言来指挥单片机。 硬件交互: 学习如何控制单片机的输入输出(I/O)端口,这是与外部世界沟通的桥梁。我们将通过丰富的实例,教你如何点亮LED灯,控制蜂鸣器发声,读取按键的状态,以及连接数码管显示数字……每一个简单的操作,都将是你走向更复杂项目的重要基石。 外设篇: 随着学习的深入,我们将引入各种常用的外部设备,如定时器/计数器、中断系统、串行通信(UART)、模数转换(ADC)、数模转换(DAC)等。你会学习到如何利用定时器精确控制时间,如何通过中断响应外部事件,如何与上位机或其他设备进行数据交换,以及如何处理模拟信号……这些篇章将极大拓展你的项目应用范围。 项目实战,让知识落地: 这才是本书的灵魂所在!我们精心挑选了一系列具有代表性的、且在实际中具有广泛应用价值的项目,带你从零开始构建。例如: 点亮你的第一个LED灯: 从最简单的“Hello, World!”开始,体验代码控制硬件的乐趣。 数字时钟系统: 学习利用定时器和数码管,制作一个功能齐全的时钟,了解时间的精确控制。 简易报警器: 结合传感器和蜂鸣器,学习如何检测环境变化并发出警报。 交通灯控制器: 模拟真实的交通信号灯,学习状态机的设计思路和逻辑控制。 温湿度监测系统: 连接温湿度传感器,实时采集环境数据并进行显示,这是物联网应用的基础。 基于数码管的计算器: 学习按键输入处理和简单的四则运算实现,锻炼逻辑思维能力。 红外遥控接收与发送: 了解红外通信原理,实现遥控控制,为智能家居项目奠定基础。 多功能电子骰子: 结合LED阵列和随机数生成,体验趣味性项目的开发。 每一个项目都将详细阐述其设计思路、硬件连接、C语言程序编写、调试过程以及可能遇到的问题和解决方案。你将不仅仅是复制代码,而是理解代码背后的逻辑,学会如何分析问题、解决问题,培养独立的项目开发能力。 赠送的单片机开发板——你的专属实验室 为了让你能够立即开始实践,本书特别赠送一块性能稳定、功能齐全的51单片机开发板。这块开发板集成了51系列单片机核心,并预留了丰富的接口,方便连接各种外围模块。它将是你手中的“魔法石”,承载着你一个个奇思妙想,让你在理论学习的同时,能够立刻动手验证,亲身体验代码运行带来的奇妙效果。从点亮第一个LED,到构建复杂的系统,开发板都将是你最忠实的伙伴。 不仅仅是教程,更是思维的启蒙 《51单片机项目教程(C语言版)》的目标远不止于教会你如何编写代码和连接电路。它更希望在你心中播撒下创新的种子,激发你对电子世界的无限探索欲。通过本书的学习,你将: 培养逻辑思维和系统化解决问题的能力: 每一个项目都是一个待解决的工程问题,你需要分解任务,设计方案,然后一步步实现。 提升动手实践和调试能力: 电子项目的开发离不开反复的试验和调试,你会逐渐掌握定位和解决硬件、软件问题的技巧。 建立工程化开发的初步概念: 从需求分析到方案设计,再到代码实现和测试,你会初步接触到真实的工程开发流程。 激发持续学习的兴趣: 掌握了51单片机,你就会发现,这个世界还有无数待你去探索的精彩,从更高级的微控制器到复杂的嵌入式系统,你的学习之路将更加宽广。 谁适合阅读本书? 在校学生: 无论你是电子工程、计算机科学还是自动化专业的学生,本书都能为你提供坚实的嵌入式开发基础。 电子爱好者: 对DIY电子项目充满热情,希望将创意变为现实的你,本书将是你不可多得的宝藏。 初级嵌入式开发工程师: 希望巩固51单片机基础,拓展项目实践经验的你,本书将为你提供系统性的学习路径。 跨领域技术人员: 希望将嵌入式技术应用于自己工作领域的你,本书能帮助你快速入门。 告别纸上谈兵,拥抱触手可及的智能世界! 《51单片机项目教程(C语言版)》(赠单片机开发板)期待与你一同踏上这段充满挑战与乐趣的嵌入式开发之旅。翻开它,你将不仅仅获得一本教材,更将获得一把开启智能世界大门的钥匙,和一个让你亲手创造无限可能的平台。现在,就让我们一起,用代码点亮梦想,用创意改变世界!