目录 基础篇单片机基础与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(英特尔)公司的MCS51系列单片机 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软件设计 参考文献