目录


基础篇单片机基础与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.1Intel(英特尔)公司的MCS51系列单片机

1.3.2MicroChip(微芯)公司的PIC系列单片机

1.3.3Atmel公司的AVR系列单片机

1.3.4STC(宏晶)公司的STC系列单片机

1.3.5全国大学生电子设计竞赛曾指定的单片机

1.4AVR单片机产品系列及开发方法

1.4.1AVR单片机采用的主要技术

1.4.2AVR单片机产品系列

1.4.3AVR单片机开发方法

第2章Arduino开源平台

2.1Arduino的产生

2.1.1Arduino的技术特点

2.1.2开源性

2.2Arduino UNO开发板

2.2.1电路图和PCB


2.2.2Arduino与ATmega328内部对应关系

2.2.3Arduino UNO板引脚安排

2.2.4Arduino UNO板的供电

2.3加载运行第一个Arduino程序

2.3.1IDE安装与功能介绍

2.3.2快速入门——加载第一个示例程序

2.3.3第一个程序的背后





第3章简洁的Arduino语言

3.1语言概览

3.2Arduino语言基础

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.1Arduino的数字输入/输出口

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.2LED数码管循环显示1~8,每个数字显示2s

4.3.34位八段LED数码管显示“2019”

第5章Arduino便捷的模拟/数字转换

5.1Arduino UNO板上的A/D转换


5.1.1逐次逼近模数转换技术

5.1.2Arduino UNO上的A/D引脚

5.1.3Arduino中的A/D转换语句

5.1.4A/D转换器主要技术参数

5.2A/D转换基本实验

5.2.1读取模拟引脚上的模拟值并显示出来

5.2.2使用A/D转换器进行按键输入判别

5.2.3使用A/D转换器读取键盘值的抢答器

第6章Arduino的时间函数和PWM

6.1Arduino中的时间函数

6.1.1delay()

6.1.2delayMicroseconds()

6.1.3millis()

6.1.4micros()

6.2独立于CPU Core的音调产生与脉冲宽度测量

6.2.1tone()与noTone()

6.2.2pulseIn()

6.3用PWM实现数字/模拟转换

6.3.1PWM基础

6.3.2Arduino的模拟输出

6.3.3读取电位器的阻值控制LED的闪烁间隔和亮度

6.3.4混合应用: 调用pulseIn()显示来自analogWrite()的高低电平脉冲
持续时间

第7章中断

7.1中断系统基本概念

7.1.1ATmega328的中断系统

7.1.2Arduino中使用的中断

7.2中断与轮询的对比实验

7.2.1轮询按键实验

7.2.2使用中断按键的实验

第8章Arduino中封装的串行通信

8.1硬件结构

8.1.1USART的硬件结构

8.1.2USART的函数概览

8.2串口通信实验

8.2.1控制Arduino UNO板上的LED

8.2.2双UNO板串口通信传输数据

高级开发篇Arduino的性能极限与高级开发


第9章ATmega328数据手册

9.1ATmega328 外部特性

9.1.1ATmega328P主要特性

9.1.2引脚排列与芯片封装

9.1.3电源、系统晶振、芯片复位引脚

9.1.4输入/输出引脚

9.2ATmega328的内部结构与指令系统

9.2.1AVR单片机内部的主要部件

9.2.2指令系统、寄存器及操作

9.3操作管理寄存器的配置和编程

9.3.1单片机的寄存器配置

9.3.2对操作管理寄存器编程

9.4高级开发用的寄存器

第10章直接操作寄存器实现高速I/O

10.1ATmega328的I/O口控制寄存器

10.2直接操控I/O口寄存器

10.2.1输出8MHz速度波形

10.2.2位操作技能训练

10.2.3直接操作寄存器的4×4薄膜键盘接口

10.2.4AVR单片机I/O口寄存器操作注意事项

第11章Arduino高速A/D采样

11.1ATmega328 A/D的内部结构

11.1.1ADC系统结构

11.1.2ADC中的寄存器

11.1.3ADC的寄存器操作的步骤

11.2具有58kHz的高保真音频数字化

11.2.1提高Arduino的采样频率

11.2.2快速A/D转换

第12章改变Arduino的PWM的频率

12.1AVR的定时器/计数器硬件

12.1.1定时器/计数器

12.1.2AVR单片机常规操作寄存器启动定时器的方法

12.1.3混合编程控制定时器

12.2更改PWM频率

12.2.1Arduino的PWM输出机理

12.2.2程序实现

第13章使Arduino具有定时中断

13.1向Arduino中添加MsTimer2库

13.2MsTimer2语法与示例

13.2.1MsTimer2语法

13.2.2可以设置间隔时间的定时中断实验

第14章Arduino开源资源及使用

14.1多样的Arduino开源硬件及开源库

14.1.1开源硬件

14.1.2Arduino库

14.2Arduino自带库的使用实例

14.2.1IDE自带LCD库——LCD1602液晶显示实验

14.2.2Arduino控制舵机

第15章产品快速开发实例

15.1电子与通信专业综合实训平台设计

15.1.1电子与通信专业开放式综合实训平台硬件

15.1.2脉冲雷达测距及PPI显示

15.1.3nRF905射频数据传输实验设计

15.2工业产品快速样品开发

15.2.1总体方案与硬件设计

15.2.2软件设计

参考文献