描述
开 本: 16开纸 张: 轻型纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121325946
全书共21章,首先介绍了单片机的基本知识,引入51单片机和Arduino单片机,通过诸多实例讲解了两种形式单片机的结构、原理、编程方法以及调试方法等。内容基本覆盖了单片机入门所需知识点。本书语言浅显易懂,实例丰富,同时在网站http://eelab.buaa.edu.cn/的“创新园地”栏目中开源电路图与源程序。
第1章 单片机概述 (2)
1.1 单片机简介 (2)
1.2 计算机发展史 (2)
1.3 单片机发展史 (4)
1.4 单片机的应用 (5)
1.5 如何学习单片机 (6)
1.6 小结 (8)
第2章 51单片机的基本结构和工作原理 (9)
2.1 概述 (9)
2.2 引脚及小系统 (9)
2.2.1 时钟电路引脚 (9)
2.2.2 复位信号引脚 (10)
2.2.3 输入/输出引脚 (11)
2.2.4 其他控制引脚 (11)
2.2.5 单片机小系统 (12)
2.3 内部结构 (12)
2.4 中央处理器 (14)
2.4.1 运算器 (14)
2.4.2 控制器 (14)
2.4.3 指令集与指令周期 (15)
2.5 存储器 (20)
2.5.1 数据存储器 (20)
2.5.2 程序存储器 (25)
2.6 工作过程 (26)
2.7 小结 (28)
第3章 51单片机开发板介绍 (29)
3.1 小系统 (29)
3.2 电源系统 (31)
3.3 外围器件与接口 (32)
3.4 小结 (33)
第4章 51单片机LED灯控制 (34)
4.1 LED工作原理 (34)
4.2 I/O寄存器控制 (36)
4.3 流程图 (39)
4.4 程序设计 (39)
4.4.1 C51基础 (39)
4.4.2 LED灯亮灭的C51程序 (41)
4.5 编写/编译/调试 (41)
4.5.1 编写 (42)
4.5.2 编译 (44)
4.5.3 调试 (45)
4.6 烧写 (47)
4.7 小结 (48)
第5章 51单片机控制数码管 (49)
5.1 数码管工作原理 (49)
5.1.1 LED灯两种接法 (50)
5.1.2 位选与段选 (51)
5.1.3 两种显示方式 (52)
5.1.4 消去残影 (53)
5.2 I/O寄存器控制 (55)
5.3 静态显示实现 (55)
5.3.1 流程图 (55)
5.3.2 程序设计 (56)
5.3.3 烧写 (56)
5.4 动态显示实现 (57)
5.4.1 流程图 (57)
5.4.2 程序设计 (57)
5.4.3 烧写 (58)
5.5 小结 (59)
第6章 51单片机按键控制 (60)
6.1 按键检测原理 (60)
6.1.1 独立按键 (60)
6.1.2 矩阵键盘 (61)
6.1.3 按键消抖 (62)
6.2 I/O寄存器控制 (63)
6.3 独立按键功能实现 (63)
6.3.1 流程图 (63)
6.3.2 程序设计 (63)
6.3.3 烧写 (64)
6.4 矩阵键盘功能实现 (64)
6.4.1 流程图 (65)
6.4.2 程序设计 (66)
6.4.3 烧写 (68)
6.5 小结 (69)
第7章 51单片机的中断系统 (70)
7.1 中断系统概述 (70)
7.1.1 中断的概念 (70)
7.1.2 中断源 (70)
7.1.3 中断向量表 (71)
7.1.4 中断优先级 (71)
7.1.5 中断的技术优势 (72)
7.2 中断寄存器控制 (72)
7.2.1 中断允许控制寄存器IE (73)
7.2.2 中断优先控制寄存器IP (74)
7.2.3 定时器/计数器控制寄存器TCON (75)
7.3 流程图 (76)
7.4 程序设计 (76)
7.4.1 中断服务函数写法 (76)
7.4.2 C51程序 (77)
7.4.3 由汇编程序看程序运行过程 (77)
7.5 烧写 (79)
7.6 小结 (80)
第8章 51单片机定时器 (81)
8.1 定时器工作原理 (81)
8.1.1 定时/计数两种模式 (81)
8.1.2 定时器的工作过程 (82)
8.2 相关寄存器控制 (83)
8.2.1 工作方式寄存器TMOD (84)
8.2.2 定时器/计数器控制寄存器TCON (85)
8.2.3 定时器T0/T1的高/低8位TH0/TL0/TH1/TL1 (86)
8.3 定时器功能实现(方式1) (86)
8.3.1 工作方式1 16位定时/计数器 (86)
8.3.2 定时器的初始化 (87)
8.3.3 流程图 (88)
8.3.4 程序设计 (89)
8.3.5 调试 (89)
8.3.6 烧写 (91)
8.4 定时器的其他工作方式 (92)
8.4.1 工作方式0 13位定时/计数器 (92)
8.4.2 工作方式2 自动重装初值的8位定时/计数器 (93)
8.4.3 工作方式3 将T0分成两个独立的8位定时/计数器 (95)
8.5 小结 (96)
第9章 51单片机串口通信 (97)
9.1 串行口的工作原理 (97)
9.1.1 串行通信基本概念 (97)
9.1.2 字符帧 (98)
9.1.3 波特率 (98)
9.1.4 串行通信的传输方向 (99)
9.1.5 串口工作流程 (99)
9.1.6 接口电路 (100)
9.2 串口相关寄存器控制 (101)
9.2.1 串行数据缓冲器SBUF (103)
9.2.2 串行口控制寄存器SCON (103)
9.2.3 电源控制寄存器PCON (104)
9.3 串口通信工作方式 (104)
9.3.1 工作方式0 同步移位寄存器 (104)
9.3.2 工作方式1 10位数据的异步通信口 (104)
9.3.3 工作方式2 11位数据的异步通信口 (106)
9.3.4 工作方式3 11位数据的异步通信口 (106)
9.4 波特率的计算 (107)
9.4.1 串口4种工作方式下的波特率计算 (107)
9.4.2 波特率计算方式举例 (107)
9.5 流程图 (107)
9.5.1 串口数据发送操作 (107)
9.5.2 串口数据接收操作 (108)
9.6 程序设计 (108)
9.7 烧写 (110)
9.8 小结 (111)
第10章 基于51单片机的LCD电子钟 (112)
10.1 LCD工作原理 (112)
10.1.1 液晶的概念 (112)
10.1.2 液晶通光原理 (112)
10.1.3 液晶显示器工作原理 (113)
10.1.4 LCD-1602工作原理 (114)
10.2 系统连接 (117)
10.3 流程图 (118)
10.4 程序设计 (118)
10.5 烧写 (122)
10.6 小结 (122)
第11章 基于51单片机的打地鼠游戏 (123)
11.1 工作原理 (123)
11.1.1 LCD-12864工作原理 (123)
11.1.2 AT24C02工作原理 (124)
11.2 系统连接图 (125)
11.3 流程图 (125)
11.4 程序设计 (127)
11.5 烧写 (131)
11.6 小结 (133)
下 篇
第12章 Arduino入门 (136)
12.1 Arduino的诞生 (136)
12.2 Arduino的特性 (137)
12.3 熟悉Arduino Uno (138)
12.4 搭建Arduino开发环境 (139)
12.4.1 安装Arduino IDE (139)
12.4.2 配置Arduino IDE (141)
12.5 编写Arduino程序 (142)
12.5.1 Arduino程序构成 (142)
12.5.2 编写Arduino程序三例 (143)
12.6 小结 (145)
第13章 Arduino开发板介绍 (146)
13.1 Arduino开发板简介 (146)
13.2 Arduino开发板核心电路 (148)
13.3 Arduino开发板电源系统 (149)
13.4 Arduino开发板USB (150)
13.5 Arduino开发板外设接口 (151)
13.6 小结 (151)
第14章 Arduino数字输入输出接口 (152)
14.1 数字接口工作原理 (152)
14.1.1 数字接口数量与布局 (152)
14.1.2 输入或输出模式设置 (153)
14.1.3 数字接口功能函数 (153)
14.2 数字输出接口 (154)
14.2.1 系统连接 (154)
14.2.2 流程图 (155)
14.2.3 程序设计 (155)
14.2.4 烧写 (156)
14.3 数字输入接口 (157)
14.3.1 系统连接 (157)
14.3.2 流程图 (157)
14.3.3 程序设计 (158)
14.3.4 烧写 (158)
14.4 小结 (159)
第15章 Arduino模拟输入输出接口 (160)
15.1 模拟接口工作原理 (160)
15.1.1 模拟输入接口 (160)
15.1.2 模拟输出接口 (161)
15.1.3 模拟接口位置 (161)
15.1.4 模拟输入接口的相关函数 (162)
15.1.5 模拟输出接口的相关函数 (163)
15.2 模拟输入接口 (163)
15.2.1 系统连接 (163)
15.2.2 流程图 (164)
15.2.3 程序设计 (164)
15.2.4 烧写 (165)
15.3 模拟输入Constrain函数 (165)
15.3.1 限制输入数据范围 (165)
15.3.2 映射输入数值 (166)
15.4 map函数 (167)
15.4.1 系统连接 (167)
15.4.2 流程图 (167)
15.4.3 程序设计 (167)
15.4.4 烧写 (169)
15.5 模拟输出接口 (169)
15.5.1 流程图 (169)
15.5.2 程序设计 (169)
15.5.3 烧写 (170)
15.6 小结 (170)
第16章 Arduino串口通信 (171)
16.1 工作原理 (171)
16.1.1 Arduino串口引脚 (171)
16.1.2 Serial库函数 (172)
16.2 流程图 (173)
16.3 程序设计 (173)
16.4 小结 (174)
第17章 基于Arduino的串口RGB迷你灯 (175)
17.1 RGB-LED工作原理 (175)
17.2 系统连接 (175)
17.3 流程图 (176)
17.4 程序设计 (177)
17.5 烧写 (178)
17.6 小结 (179)
第18章 基于Arduino的温湿度计 (180)
18.1 DHT11传感器工作原理 (180)
18.2 系统连接 (182)
18.3 流程图 (183)
18.4 程序设计 (184)
18.5 烧写 (187)
18.6 小结 (187)
第19章 基于Arduino的超声波测距装置 (188)
19.1 工作原理 (188)
19.1.1 超声波测距原理 (188)
19.1.2 LCD工作原理 (189)
19.2 系统连接 (189)
19.3 流程图 (190)
19.4 程序设计 (190)
19.5 烧写 (191)
19.6 小结 (192)
第20章 基于Arduino的重力感应联机互动游戏设备 (193)
20.1 工作原理 (193)
20.1.1 MPU-6050加速度传感器 (193)
20.1.2 HC-05蓝牙模块 (194)
20.2 系统连接 (195)
20.3 流程图 (195)
20.4 程序设计 (197)
20.5 烧写 (199)
20.6 小结 (200)
第21章 基于Arduino的WiFi小车 (201)
21.1 工作原理 (201)
21.1.1 WiFi小车结构 (201)
21.1.2 ESP8266 WiFi模块 (201)
21.1.3 L298N电机驱动模块 (202)
21.2 系统连接 (203)
21.3 流程图 (204)
21.4 程序设计 (204)
21.4.1 ESP8266调试 2
前 言
单片机是一种集成CPU、存储器、I/O口、定时器的微型计算机系统,也叫微控制器,在智能仪器、工业控制、家用电器、网络通信、模块化系统、汽车电子、消费电子等领域应用广泛。
全书分为两篇,上篇包括第1章~第11章,以经典的8051单片机为例,介绍单片机结构、工作原理及编程方法;下篇包括第12章~第21章,结合单片机发展趋势,介绍Arduino单片机平台及其编程方法。两种单片机均提供应用实例方便学习掌握,整体结构如附图所示。
附图 本书内容组织结构图
第1章主要介绍单片机的发展历史及应用领域。第2章详细介绍了8051单片机的内部结构及指令系统。第3章介绍了编者开发的单片机开发板硬件系统,作为后续讲解过程中的硬件基础。第4章~第9章循序渐进地介绍了8051单片机对I/O口、中断系统、定时器、串口等资源的控制,并提供可以运行的程序代码。第10章~第11章结合课程中实践作品,提供了基于51单片机的应用实例。第12章介绍了目前非常流行的开源单片机平台Arduino及其开发环境搭建。第13章介绍了Arduino硬件电路,作为后续讲解过程中的硬件基础。第14章~第17章介绍了Arduino应用开发中常用功能模块的编程实现。第18章~第21章提供了基于Arduino的应用实例。
本书由王俊、张玉玺、刘寒颖编著,其中王俊编著了第1、2、3、4、5、12、13、14、15章;张玉玺编著了第6、7、8、9、16、17、18、19章;刘寒颖编著了第10、11、20、21章;后由王俊对本书进行统稿。本书在编写过程中,北京航空航天大学电子信息工程学院的硕士生吴智昌、罗雨泉、朱振国、李伟华、马抒恒、屈亦成,本科生胡杨、李天一、王孖杰等,结合项目调试经验,参与了单片机例程的编写与书稿的编辑工作。
本教材配有开源电路图及源程序,可登录北京航空航天大学空天电子信息实验教学中心网站(http://eelab.buaa.edu.cn/)免费下载。
书中如有疏漏或不当之处,恳请广大读者批评指正。
评论
还没有评论。