编辑推荐
STC15单片机实战指南(C语言版)》作者是EDN China(电子技术设计)博客专家、Moore8(摩尔吧)金牌讲师、China AET(电子技术应用)网络名师、lecfans(电子发烧友)社区之星。视频教程 为本书量身打造、与教材完全同步的教学视频,共计5000分钟,真正实现单片机学习从入门到精通。(1) 程序代码 提供书中全部100个案例的源代码,所有源代码均已通过验证、调试,均可用于实际项目开发。(2) 教学课件 提供全部20章完整的教学课件,经过教师也工程师共同商定,有助于高校师生自学与教学。(3) 工具资料 提供学习STC15单片机的常用免费开发工具、软件、素材及其他大量学习资料。(4) 四轴飞行器 提供软件与硬件完全公开的四轴飞行器解决方案,首次公开宝贵的飞行器源码,其中的四元数与欧拉角、PID、卡尔曼滤波等算法,值得读者深入研究。
内容简介
本书从工程实践的角度出发,整理了作者在单片机学习、实践中的大量经验,旨在引领读者熟练应用STC公司*的单片机。本书共20章,内容由浅入深,由点到面: 首先,从最基本的概念、开发工具入手,引领读者走进单片机的大门,深入浅出地学习STC15单片机内部资源(如定时器、中断、串口)和经典外围电路(如LED、数码管、按键、液晶、点阵、EEPROM、温度传感器、时钟、红外线解码、收音机、触摸按键、A/D、D/A),以及一些C语言和基础电路的知识; 其次,扩展了一些工程中常用的知识点,如模块化编程、PCB、实时操作系统等; 最后,以两个工程项目为例,手把手教大家如何DIY一个属于自己的“神器”——四轴飞行器,飞出单片机的大门。 为了方便读者学习,特别录制了配书视频,同时所有的工程源码采用模块化编程,后面章节的程序,更是引入库函数的概念,并且这些源码可直接移植到以后的工作项目中,帮助读者快速由初学者进阶到高手的行列。本书还提供与之配套的单片机开发板,视频、书籍、开发板三合一,真正做到理论、实践相结合,达到事半功倍的效果。 本书适合刚接触单片机的初学者自学,也可作为高等院校电子工程等相关专业的单片机教材和学生进行课程设计、毕业设计、电子竞赛等的参考用书,以及电子工程技术人员的工程用书。
作者简介
作者简介刘平 一坚科技有限公司创始人。曾先后在珠海、深圳等地主持研发通信类、LCD显示屏等多款产品,在嵌入式软件和硬件电路设计方面有极为丰富的项目实战经验。编著有《深入浅出玩转51单片机》一书,并研发了与此书配套的“飞天一号”(MGMC-V2.0)51单片机开发板,并录制配套的《31天环游单片机》视频教程,此系列产品已获得广大网友和高校师生的肯定和好评。此外,还研发了“飞天二号”(FSST32)STM32实验板、“飛天三號”(FSST15)开发板、基于STM32平台的四轴飞行器“飞蜓一号”(FTST32)、基于STC15平台的四轴飞行器“飞蜓二”(FTST15)。热衷于电子技术分享,先后获得以下网站荣誉称号:EDN China(电子技术设计)——博客专家(荣膺2015年度*博主奖);China AET(电子技术应用)——网络名师;Elecfans(电子发烧友)——社区之星;Moore8(摩尔吧)——金牌讲师。
目录
目录 学习说明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课后学习 |
STC15单片机实战指南(C语言版)——从51单片机DIY、四轴飞行器到优秀产品设计 pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版