-
内容大纲
本书将简洁的Arduino开源平台和复杂的AVR单片机教学有机结合,通过学习Arduino对单片机快速入门,又通过对单片机寄存器的操作学习高级开发,使读者能够尽快达到高水平应用开发能力。避免了以MCS-51为平台讲解单片机距离开发目标太远,而以AVR为蓝本讲解单片机太繁杂的矛盾。
本书内容由浅入深、循序渐进,可作为学习单片机技术的基础教材,也可作为高性能单片机产品的高级开发指导,还是一本实用的速查手册。 -
作者介绍
王洪源,沈阳理工大学通信工程专业主任/教授,曾在某大型电子研究设计院从事电子系统工程设计和电子装备开发工作14年。主要研究方向包括模拟训练系统与技术、信息智能处理技术。主要完成项目有沈阳北站综合电子系统、某大型综合电子信息系统、PCM数字微波通信系统、东北地区卫星数字电子汇兑系统、铁道部东北电子备用中心系统等。自20世纪80年代后期开始进行多种型号的单片机系统开发,获军队科学技术进步奖三等奖,WPD96无线时频平面调车系统获辽宁省科学技术进步奖三等奖。另获辽宁省科学技术进步奖二等奖和三等奖各1项、获1项辽宁省科学技术进步奖一等奖,1项沈阳市科学技术进步奖二等奖,1项国家级科技新产品奖,3项辽宁省教学成果三等奖。 -
目录
基础篇 单片机基础与Arduino作品快速开发
第1章 单片机基础
1.1 单片机基础技术知识
1.1.1 从计算机到单片机
1.1.2 单片机内部组成结构
1.1.3 单片机程序是如何执行的
1.2 单片机有哪些应用
1.2.1 单片机应用实例
1.2.2 参加大学生科技竞赛
1.3 单片机主要知名厂商及产品
1.3.1 Intel(英特尔)公司的MCS-51系列单片机
1.3.2 MicroChip(微芯)公司的PIC系列单片机
1.3.3 Atmel公司的AVR系列单片机
1.3.4 STC(宏晶)公司的STC系列单片机
1.3.5 全国大学生电子设计竞赛曾指定的单片机
1.4 AVR单片机产品系列及开发方法
1.4.1 AVR单片机采用的主要技术
1.4.2 AVR单片机产品系列
1.4.3 AVR单片机开发方法
第2章 Arduino开源平台
2.1 Arduino的产生
2.1.1 Arduino的技术特点
2.1.2 开源性
2.2 Arduino UNO开发板
2.2.1 电路图和PCB
2.2.2 Arduino与ATmega328内部对应关系
2.2.3 Arduino UNO板引脚安排
2.2.4 Arduino UNO板的供电
2.3 加载运行第一个Arduino程序
2.3.1 IDE安装与功能介绍
2.3.2 快速入门——加载第一个示例程序
2.3.3 第一个程序的背后
第3章 简洁的Arduino语言
3.1 语言概览
3.2 Arduino语言基础
3.2.1 程序的架构
3.2.2 数据类型
3.2.3 数据运算
3.3 程序结构
3.3.1 顺序结构
3.3.2 选择结构
3.3.3 循环结构
3.4 函数的使用
3.4.1 自己封装函数
3.4.2 函数中的参数传递
3.4.3 非空类型的函数
第4章 数字输入/输出
4.1 Arduino的数字输入/输出口
4.1.1 数字I/O口配置语句
4.1.2 数字输出语句
4.1.3 数字I/O口输入语句
4.2 简单数字输入/输出实验
4.2.1 按键开关控制LED灯亮灭
4.2.2 用一体化结构蜂鸣器模拟救护车笛声
4.3 复杂的数字I/O实验
4.3.1 多彩广告灯实验
4.3.2 LED数码管循环显示1~8,每个数字显示2s
4.3.3 4位八段LED数码管显示“2019”
第5章 Arduino便捷的模拟/数字转换
5.1 Arduino UNO板上的A/D转换
5.1.1 逐次逼近模数转换技术
5.1.2 Arduino UNO上的A/D引脚
5.1.3 Arduino中的A/D转换语句
5.1.4 A/D转换器主要技术参数
5.2 A/D转换基本实验
5.2.1 读取模拟引脚上的模拟值并显示出来
5.2.2 使用A/D转换器进行按键输入判别
5.2.3 使用A/D转换器读取键盘值的抢答器
第6章 Arduino的时间函数和PWM
6.1 Arduino中的时间函数
6.1.1 delay()
6.1.2 delayMicroseconds()
6.1.3 millis()
6.1.4 micros()
6.2 独立于CPUCore的音调产生与脉冲宽度测量
6.2.1 tone()与noTone()
6.2.2 pulseIn()
6.3 用PWM实现数字/模拟转换
6.3.1 PWM基础
6.3.2 Arduino的模拟输出
6.3.3 读取电位器的阻值控制LED的闪烁间隔和亮度
6.3.4 混合应用:调用pulseIn()显示来自analogWrite()的高低电平脉冲持续时间
第7章 中断
7.1 中断系统基本概念
7.1.1 ATmega328的中断系统
7.1.2 Arduino中使用的中断
7.2 中断与轮询的对比实验
7.2.1 轮询按键实验
7.2.2 使用中断按键的实验
第8章 Arduino中封装的串行通信
8.1 硬件结构
8.1.1 USART的硬件结构
8.1.2 USART的函数概览
8.2 串口通信实验
8.2.1 控制Arduino UNO板上的LED
8.2.2 双UNO板串口通信传输数据
高级开发篇Arduino的性能极限与高级开发
第9章 ATmega328数据手册
9.1 ATmega328外部特性
9.1.1 ATmega328P主要特性
9.1.2 引脚排列与芯片封装
9.1.3 电源、系统晶振、芯片复位引脚
9.1.4 输入/输出引脚
9.2 ATmega328的内部结构与指令系统
9.2.1 AVR单片机内部的主要部件
9.2.2 指令系统、寄存器及操作
9.3 操作管理寄存器的配置和编程
9.3.1 单片机的寄存器配置
9.3.2 对操作管理寄存器编程
9.4 高级开发用的寄存器
第10章 直接操作寄存器实现高速I/O
10.1 ATmega328的I/O口控制寄存器
10.2 直接操控I/O口寄存器
10.2.1 输出8MHz速度波形
10.2.2 位操作技能训练
10.2.3 直接操作寄存器的4×4薄膜键盘接口
10.2.4 AVR单片机I/O口寄存器操作注意事项
第11章 Arduino高速A/D采样
11.1 ATmega328 A/D的内部结构
11.1.1 ADC系统结构
11.1.2 ADC中的寄存器
11.1.3 ADC的寄存器操作的步骤
11.2 具有58kHz的高保真音频数字化
11.2.1 提高Arduino的采样频率
11.2.2 快速A/D转换
第12章 改变Arduino的PWM的频率
12.1 AVR的定时器/计数器硬件
12.1.1 定时器/计数器
12.1.2 AVR单片机常规操作寄存器启动定时器的方法
12.1.3 混合编程控制定时器
12.2 更改PWM频率
12.2.1 Arduino的PWM输出机理
12.2.2 程序实现
第13章 使Arduino具有定时中断
13.1 向Arduino中添加MsTimer2库
13.2 MsTimer2语法与示例
13.2.1 MsTimer2语法
13.2.2 可以设置间隔时间的定时中断实验
第14章 Arduino开源资源及使用
14.1 多样的Arduino开源硬件及开源库
14.1.1 开源硬件
14.1.2 Arduino库
14.2 Arduino自带库的使用实例
14.2.1 IDE自带LCD库——LCD1602液晶显示实验
14.2.2 Arduino控制舵机
第15章 产品快速开发实例
15.1 电子与通信专业综合实训平台设计
15.1.1 电子与通信专业开放式综合实训平台硬件
15.1.2 脉冲雷达测距及PPI显示
15.1.3 nRF905射频数据传输实验设计
15.2 工业产品快速样品开发
15.2.1 总体方案与硬件设计
15.2.2 软件设计
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...