目录 学习说明1 赞誉3 前言5 第一部分入门篇 第1章藉马歇门,踏神圣路: 迈进STC15单片机的大门 1.1单片机概述 1.1.1单片机厂家简介 1.1.2STC15单片机简述 1.2为何要学习STC15单片机 1.3如何玩转单片机 1.3.1做有准备的人 1.3.2经验分享 第2章欲善其事,必利其器: 软硬件平台的搭建和使用 2.1硬件平台——FSST15开发板 2.1.1FSST15开发板功能框图 2.1.2FSST15开发板基本配置 2.2开发环境——Keil μVision5 2.2.1Keil μVision5的安装 2.2.2Keil μVision5中的工程创建过程 2.3我的第一个程序——点亮LED 2.4辅助开发工具 2.4.1CH340驱动的安装 2.4.2单片机编程软件——STCISP 2.5课后学习 第二部分初级篇 第3章端倪初现,小试牛刀: 基本元器件与LED 3.1电阻的应用概述 3.1.1初识电阻 3.1.2电流与电阻的关系 3.2电容的应用概述 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.5MOS管的应用概述 3.5.1MOS管基础 3.5.2MOS管的应用 3.6运算放大器的基本应用 3.6.1负反馈 3.6.2同相放大电路 3.6.3反相放大电路 3.7STC15系列单片机的I/O口概述 3.7.1I/O口的工作模式及配置 3.7.2I/O口各种不同的工作模式结构框图 3.8LED的原理解析 3.8.1LED的原理说明 3.8.2LED的硬件电路 3.9LED的应用实例 3.9.1LED闪烁实例 3.9.2LED跑马灯实例 3.9.3LED流水灯实例 3.10课后学习 第4章排兵布阵,步步扣杀: 模块化编程 4.1夯实基础——数值的换算以及逻辑运算 4.1.1各进制之间的换算关系 4.1.2数字电路和C语言中的逻辑运算 4.2简述单片机的开发流程 4.3Keil5的进阶应用——建模 4.4单片机的模块化编程 4.4.1模块化编程的说明 4.4.2用实践解释 4.5模块化编程的应用实例 4.6课后学习 第5章点段融合,一气呵成: C语言的编程规范与数码管的应用 5.1夯实基础——C语言的编程规范 5.1.1程序的排版 5.1.2程序的注释 5.2基于STC15的单片机最小系统 5.2.1电源 5.2.2晶体振荡电路(晶振) 5.2.3复位电路 5.2.4程序下载电路 5.3数码管的原理解析 5.3.1数码管的原理说明 5.3.2数码管的硬件电路设计 5.3.3知识拓展——74HC595 5.3.4数码管的真值表与基本的编程实例 5.4数码管的应用实例 5.4.1数码管的静态显示例程 5.4.2数码管的动态显示实例 5.5课后学习 第6章审时度势,伺机而动: C语言的数据类型与定时器的应用 6.1夯实基础——C语言的数据类型 6.1.1变量与常量 6.1.2变量的作用域 6.1.3变量的存储类别 6.1.4变量的命名规则 6.2STC15单片机的内部结构 6.2.1STC15单片机的内部结构 6.2.2中央处理器(CPU) 6.2.3只读存储器(ROM)和随机存储器(RAM) 6.2.4IAP15W4K58S4单片机的存储结构 6.3STC15单片机的定时器/计数器 6.3.1学习定时器/计数器之前的说明 6.3.2定时器/计数器T0、T1的寄存器 6.3.3定时器/计数器T0、T1的工作模式 6.3.4定时器的简单应用实例和初始化步骤总结 6.4IAP15W4K58S4单片机的可编程时钟输出 6.5定时器和时钟输出应用实例 6.5.1数码管的静态显示例程(定时器) 6.5.2可编程时钟输出例程 6.6课后学习 第7章当断不断,反受其乱: C语言的条件判断语句与中断系统 7.1夯实基础——C语言的条件判断语句 7.1.1if…else语句 7.1.2switch…case语句 7.2单片机省电模式和看门狗的应用 7.2.1省电模式 7.2.2看门狗 7.2.3LED灯闪烁是因为“狗”饿了 7.2.4要让系统运行正常必须实时“喂狗” 7.3单片机的中断系统 7.3.1单片机中断的产生背景和响应过程 7.3.2单片机中断系统的框架和中断源 7.3.3单片机中断系统的寄存器 7.3.4简单中断应用实例及与中断函数有关的知识点 7.3.5中断系统的优先级 7.4中断系统的应用实例 7.4.1数码管动态显示的基本应用实例 7.4.2数码管动态刷新的改进与消影 7.5课后学习 第8章举一反三,一呼百应: C语言的循环语句与串口的应用 8.1夯实基础——C语言的循环语句 8.1.1while循环 8.1.2do…while循环 8.1.3for循环 8.2通信接口模块 8.2.1通信接口的基本分类 8.2.2串行通信概述 8.3IAP15W4K58S4单片机的串行接口 8.3.1与串行通信相关的基本寄存器 8.3.2串口1的工作模式 8.3.3串口1工作模式1的波特率计算 8.3.4串口1的应用实例 8.4RS232通信接口概述 8.4.1RS232C串口通信标准与接口定义 8.4.2RS232C通信接口的电平转换 8.5USB转串口通信 8.6通过串口实现数据互传的应用实例 8.7课后学习 第9章稳扎稳打,步步为营: C语言的数组、字符串与按键的应用 9.1夯实基础——C语言的数组、字符串 9.1.1数组 9.1.2字符串 9.2IAP15W4K58S4单片机的可编程计数器阵列 9.2.1CCP/PCA/PWM内部结构概述 9.2.2CCP/PCA/PWM的捕获模式应用实例 9.2.3CCP/PCA/PWM的16位软件定时器模式应用实例 9.2.4CCP/PCA/PWM的高速脉冲输出模式应用实例 9.3按键的处理方法 9.3.1独立按键介绍 9.3.2矩阵按键的组成 9.3.3触摸按键概述 9.3.4A/D采样方式的按键 9.4独立按键扫描方法及消抖原理 9.4.1独立按键的扫描方法 9.4.2键盘消抖的基本原理 9.4.3带消抖的按键应用程序 9.5矩阵按键的扫描方法和状态机 9.5.1矩阵按键的扫描方法 9.5.2状态机概述 9.5.3状态机法的按键检测 9.5.4基于状态机的独立按键扫描法 9.6按键扫描的应用实例 9.6.1行扫描法的矩阵按键应用实例 9.6.2高低电平翻转法的矩阵按键应用实例 9.6.3基于状态机的矩阵按键应用实例 9.7课后学习 第10章包罗万象,森然洞天: C语言的函数与液晶的基本应用 10.1夯实基础——C语言的函数 10.1.1函数的定义和应用 10.1.2函数的分类及命名规则 10.2Keil5的软件仿真、硬件仿真及延时 10.2.1基于Keil5的软件仿真应用实例 10.2.2软件仿真与延时 10.2.3基于Keil5与IAP系列单片机的硬件仿真应用实例 10.31602液晶的应用概述 10.3.11602液晶模组和电路设计 10.3.21602液晶的控制指令和时序图 10.3.31602液晶的基本应用实例 10.41602液晶的应用实例 10.4.11602液晶移屏指令 10.4.2液晶CGRAM的操作实例 10.4.3串口和1602液晶的综合应用实例 10.5课后学习 第11章沙场点兵,见风使舵: C语言的指针与LED点阵屏的应用 11.1夯实基础——C语言的指针 11.1.1指针的基本用法 11.1.2指针与数组 11.1.3指针与函数 11.2同步串行外围接口(SPI)的应用概述 11.2.1SPI介绍 11.2.2单片机内部SPI的寄存器 11.2.3SPI的数据通信方式与时序图 11.2.4SPI的应用模式与串行Flash的应用实例 11.3LED点阵屏的原理及应用 11.3.1LED点阵屏的内部原理 11.3.2LED点阵屏的硬件电路设计 11.3.3LED点阵屏的基本显示实例 11.4LED点阵屏的应用实例 11.4.1通过移屏方式显示字符——IU 11.4.2LED点阵屏的移屏简易算法 11.5课后学习 第三部分中级篇 第12章一脉相承,本源同宗: I2C总线与库开发 12.1I2C总线的通信协议 12.1.1对I2C总线的初步认识 12.1.2I2C总线的时序格式 12.2AT24C02的基本应用 12.2.1AT24C02的简述和硬件电路设计 12.2.2AT24C02的通信协议与时序图 12.2.3基于AT24C02的I2C总线协议与软件分析 12.3复合数据类型 12.3.1结构体 12.3.2枚举 12.3.3typedef关键字的应用 12.4STC15系列单片机内部E2PROM的应用 12.4.1与单片机内部E2PROM有关的寄存器 12.4.2单片机内部E2PROM的应用实例 12.5库函数与应用实例 12.5.1STC15系列库函数 12.5.2库函数的应用实例 12.6课后学习 第13章重峦叠嶂,矩阵方形: PWM的初步认识与相关应用 13.1PWM的初步认识 13.2利用可编程计数阵列产生PWM 13.2.1脉宽调制模式(PWM) 13.2.2利用CCP/PCA输出PWM的应用实例 13.2.3利用CCP/PCA高速脉冲输出功能实现两路PWM 13.2.4用T0输出PWM 13.3增强型高精度PWM的基本应用 13.3.1与高精度PWM相关的功能寄存器 13.3.2蜂鸣器和PWM的应用实例 13.3.3LED灯和PWM的应用实例 13.4常用的电动机驱动方式 13.4.1对电动机驱动芯片L298的初步认识 13.4.2H桥驱动电路简介 13.5三种常用电动机的驱动方法 13.5.1直流电动机 13.5.2简易步进电动机及其应用 13.5.3舵机的基本操作实例 13.6课后学习 第14章亦步亦趋,咫尺天涯: 数模(D/A)与模数(A/D)的转换 14.1D/A和A/D转换的初步介绍 14.1.1D/A转换原理 14.1.2A/D转换原理 14.2STC15单片机内部的ADC 14.2.1STC15系列单片机内部ADC的结构 14.2.2与ADC有关的寄存器 14.2.3ADC的简单应用实例 14.3基于ADC的独立按键检测 14.4电容感应式触摸按键(PWM+ADC) 14.5基于PWM与RC滤波器的SPWM 14.6课后学习 第15章狂风暴雨,定海神针: 逻辑分析仪与红外编解码 15.1Saleae逻辑分析仪 15.1.1示波器和逻辑分析仪的比较 15.1.2逻辑分析仪的工作原理和分类 15.1.3逻辑分析仪概述 15.1.4Saleae逻辑分析仪的使用步骤 15.2红外遥控的原理 15.3红外解码过程分析 15.4红外解码的具体实现例程 15.5红外编码与发射的过程分析 15.6红外编码与发射的应用例程 15.7课后学习 第16章有的放矢,运筹帷幄: RTX51 Tiny实时操作系统 16.1实时操作系统概述 16.2RTX51 Tiny操作系统 16.2.1RTX51 Tiny操作系统概述 16.2.2任务程序的分类 16.2.3RTX51 Tiny的工作原理 16.2.4RTX51 Tiny的配置 16.2.5RTX51 Tiny的使用步骤 16.2.6RTX51 Tiny的常用函数 16.3RTX51 Tiny的应用实例 16.3.1流星慧灯(基于RTX51 Tiny) 16.3.2简易交通灯(基于RTX51 Tiny) 16.4课后学习 第17章按图索骥,彗泛画涂: PCB的基本知识与软件学习 17.1PCB设计流程 17.2PCB特性与设计规则 17.2.1PCB板材类型 17.2.2PCB布局与布线规则 17.2.3PCB封装元件的线宽 17.3绘制PCB的软件介绍 17.3.1Altium Designer 2014使用方法 17.3.2PADS 9.5的使用过程 17.4课后学习 第四部分高级篇 第18章范水模山,双管齐下: 串口扩展与一键自动下载项目 18.1软件模拟串口应用实例 18.1.1使用定时器0软件模拟一个全双工串口 18.1.2使用两路PCA模拟一个全双工串口 18.2一键自动下载项目的功能要求与设计思想 18.3一键自动下载项目的硬件电路设计 18.3.1下载模式切换控制核心——STC15W104E 18.3.2开关电路的设计 18.4一键自动下载项目的软件编程 18.5课后学习 第19章地无遗利,心随你动: 项目开发与多功能收音机 19.1RDM项目管理作业流程 19.1.1项目要求与需求分析 19.1.2项目立项与评估 19.1.3项目分工和总体的结构框架 19.2技术准备与难关突破 19.3温度传感器——LM75A 19.3.1LM75A的寄存器列表 19.3.2LM75A的I2C硬件接口电路 19.3.3LM75A的通信协议与时序特性 19.3.4LM75A的应用实例与软件分析 19.4实时时钟——PCF8563T 19.4.1PCF8563T的功能特点 19.4.2PCF8563T的内部寄存器 19.4.3PCF8563F的IC硬件接口电路 19.4.4PCF8563F的通信协议与时序特性 19.5程序总体框架和功能划分 19.6各个子功能和总体程序的编写 19.7课后学习 第20章天上天下,唯它独尊: PID算法与四轴飞行器的设计 20.1PID算法 20.1.1PID算法概述 20.1.2PID算法的分类与应用实例 20.1.3位置式PID算法 20.2四轴飞行器硬件模型的建立 20.2.1搭建四轴飞行器的主板 20.2.2搭建四轴飞行器的遥控器 20.3四轴飞行器的软件算法 20.3.1四轴飞行器的运行状况与电动机转动的关系 20.3.2PID控制电动机的参数整定 20.3.3四元数与滤波算法 20.4四轴飞行器主板的综合程序 20.5四轴飞行器遥控器的综合程序 20.6课后学习 |