首页 > 图书中心 > 深入浅出STC8增强型51单片机进阶攻略

目录

无痛入门基础篇

第1章“麻雀虽小,五脏俱全”开门见山讲单片机

1.1“一沙一起源,一芯一世界”集成电路的国度

1.2追寻电子界的神物“七窍玲珑芯”

1.3“师傅领进门,修行靠个人”单片机的修行路

1.3.1“戒躁求实”入行准备

1.3.2“根骨奇佳”电子基础

1.3.3“能说会道”编程语言

1.3.4“武功秘籍”学习资源

1.3.5“武器装备”实践平台

1.3.6“内功心法”学习方法

1.4小宇老师的“毒鸡汤”和大学寄语

第2章“国芯科技,百花齐放”STC增强型8051单片机

2.1宏晶科技20载,STC家的微控制器

2.2“大白话”单片机啥参数,咋选型

2.3“经典创新”STC89/STC90系列单片机

2.4“实力强者”STC15系列单片机

2.5“再推新宠”STC8/STC16系列单片机

2.6“主角上场”搭建可靠的STC8最小系统

2.6.1看懂单片机引脚分类和功能

2.6.2电源单元很重要

2.6.3下载电路不可少

2.6.4复位电路要搞好

2.6.5时钟电路真奇妙

2.6.6接口外围要配套

第3章“搭筑高台,唱出好戏”软硬结合产出利器

3.1“抟土成人”量身打造STC专属硬件平台

3.1.1细说开发板的“那些事”

3.1.2思修电子STC“战将”系列开发平台简介

3.2“塑造灵魂”软件环境搭建与工程配置

3.2.1主流IDE之Keil C51简介

3.2.2单文件与模块化工程建立方法及比较

3.3“形神合一”程序烧录与软硬联调

3.3.1如何用STCISP软件烧录程序

3.3.2单片机自己能当仿真器,你逗我

3.3.3官方联机/脱机编程器STCU8W咋用

3.4“百宝之箱”话说STCISP的那些妙用

3.4.1官方信息获取可以这么简单

3.4.2资源配置与调试居然有助攻

3.4.3固件升级可以自定发布程序

3.4.4居然妄想截获串口程序明码

3.5“望闻问切”参数测试与时序分析

3.5.1常规电参好工具“万用表”

3.5.2信号观察好搭档“示波器”

3.5.3数据分析好帮手“逻辑分析仪”

第4章“五指琴魔,智能乐章”I/O资源配置及运用

4.1“Play it!”弹奏单片机的智能乐章

4.2初识STC8系列单片机引脚资源

4.3引脚内部结构及模式特性

4.3.1如何理解准双向/弱上拉端口

4.3.2如何理解推挽/强上拉端口

4.3.3如何理解高阻输入

4.3.4如何理解开漏输出

4.4玩转7类寄存器拿下I/O资源配置

4.4.1引脚模式如何配

4.4.2附加功能有哪些

4.5如何处理不同系统I/O电平标准及转换

4.5.1基于SN74LVC8T245做单向8通道电平转换

4.5.2基于SN74LVC16T245做单向16通道电平转换

4.5.3基于TXB0108做双向标准I/O电平转换

4.5.4基于TXS0108做双向开漏I/O电平转换

4.6疏忽引脚电气特性险些酿成“悲剧”

4.7I/O引脚配置及模式验证

4.7.1基础项目A“点灯”观察各模式拉灌电流差异

4.7.2基础项目B“隔空感应”的高阻态魔术灯

4.7.3进阶项目A巧用开漏模式做“触摸”控制灯

第5章“光电世界,自信爆棚”初阶LED器件运用

5.1瞬间自信心爆棚的入门经典“流水灯”

5.1.1为什么入门经典总是“点灯实验”

5.1.2发光二极管结构及电气特性

5.1.3基础项目A左移/右移/花样流水灯

5.2“火柴棍游戏”说数码管原理

5.2.1数码管组成结构及分类

5.2.2基础项目B一位数码管0~F显示实验

5.2.3基础项目C分散引脚一位数码管驱动实验

5.3多位数码显示及专用芯片方案

第6章“各有所长,百花齐放”编程语言/方式及平台

6.1争论不休的汇编和C最后谁赢了

6.2经典语言不同方式下的流水灯实验对比

6.2.1“厉害了”我的Keil C51代码优化器

6.2.2基础项目A基于C51语言“位运算法”效果

6.2.3基础项目B基于C51语言“数组法”效果

6.2.4基础项目C基于C51语言“Keil标准库函数法”效果

6.2.5基础项目D基于A51语言的效果

6.3在Keil C51环境中汇编和C代码居然能“混编”

6.4思维拓展: “寄存器/库函数开发方式”是啥

6.5眼界拓展: 居然会有“图形化”的单片机开发工具

6.6平台拓展: 那些不能不玩的创客拓展平台

6.6.1积木Arduino平台的C/C++编程及风格

6.6.2国产“神器”51duino/STMduino运动控制驱动平台

6.6.3开源PYboard平台的MicroPython编程及风格

第7章“点、线、面的艺术”字符点阵液晶屏运用

7.1单片机人机交互中的显示单元

7.1.1常见的单片机显示方案选择

7.1.2神奇的单片机“显卡”

7.2字符型1602液晶模块

7.2.1模块功能引脚定义

7.2.2读/写时序及程序实现

7.2.3液晶功能配置命令

7.2.4基础项目A字符+进度+移屏+组合显示实验

7.2.5进阶项目A四线驱动1602节省I/O实验

7.3图形/点阵型12864液晶模块

7.3.1模块功能引脚定义

7.3.2读/写时序及程序实现

7.3.3液晶功能配置命令

7.3.4汉字坐标与绘图坐标

7.3.5基础项目B12864液晶字符、汉字显示实验

7.3.6基础项目C12864液晶进度条动画效果

7.3.7进阶项目B两线驱动12864节省I/O实验

7.3.8进阶项目C两线串行模式正弦波打点绘图

第8章“0101,我是键码!”按键及编码开关运用

8.1人机交互常规输入器件简介及使用

8.1.1轻触按键分类及结构

8.1.2轻触按键电压波形

8.1.3按键信号“去抖动”方法

8.2独立按键编程及应用

8.2.1基础项目A独立按键检测与控制实验

8.2.2进阶项目A长/短按键动作识别实验

8.2.3进阶项目B单/双击按键动作识别实验

8.2.4进阶项目C组合按键动作识别实验

8.3行列式矩阵键盘结构及应用

8.3.1基础项目B“线反转式”键值解析实验

8.3.2进阶项目D分散引脚4×4矩阵解析实验

8.4“拧不到头的怪旋钮”旋转编码器

8.4.1“怪旋钮”简介及运用

8.4.2进阶项目E编码器EC11增减计数实验

8.5“参数配置好帮手”BCD编码开关

8.5.1“小开关”可得2n个编码状态

8.5.2基础项目C挡位调整及显示实验

片内资源进阶篇

第9章“高楼大厦,各有功用”存储器结构及功能

9.1存储器难道不是“鸡肋”知识点吗

9.2让人“头疼不已”的8032微控制器时代

9.3你若是校长,教学楼和宿舍楼怎么修

9.4“宿舍区”就类似于程序存储器ROM

9.5“教学区”就类似于数据存储器RAM

9.6在Keil C51中看似“无用”的配置项

9.7藏匿于存储器单元中的“特殊”参数

9.7.1基础项目A读取STC8系列单片机的“身份证”号

9.7.2基础项目B片内Bandgap电压是多少

第10章“内藏三心,坚实比金”时钟源配置及运用

10.1“唐僧的心”说STC8时钟源形式及特点

10.2小宇老师的STC8“时钟树”

10.3如何利用STCISP工具轻松调配主时钟频率

10.4选择片外时钟源作为系统主时钟

10.5选择片内时钟源作为系统主时钟

10.5.1STCISP是如何调节IRC频率的呢

10.5.2基础项目C配置片内高速时钟及分频实验

10.5.3基础项目D配置片内低速时钟及分频实验

10.6实用的时钟信号输出“CCO”功能

第11章“轻重缓急,有条不紊”中断源配置及运用

11.1用“生活场景”弄明白“中断”那些事

11.2单片机中断机制的名词解释及意义

11.3细说STC8系列单片机的中断资源

11.3.1“四大类”理清中断源划分

11.3.2“抓脉络”看懂中断资源结构

11.3.3“消消乐”方法降低中断学习难度

11.3.4“四大步”解决中断流程及寄存器配置

11.4查询法和中断法下的编程对比

11.4.1基础项目A查询法实现键控灯实验

11.4.2基础项目B中断法实现键控灯实验

第12章“老和尚捻珠数羊”基础型定时计数器运用

12.1软件延时法与软件计数法

12.2单片机定时/计数器本质及区分

12.3基础型T/C资源简介及配置

12.3.1T0资源模式配置及计算

12.3.2T1资源模式配置及计算

12.3.3T2资源模式配置及计算

12.3.4T3/T4资源模式配置及计算

12.4基础型T/C资源编程及运用

12.4.1利用STCISP轻松运用T/C资源

12.4.2基础项目A自定义1Hz信号输出实验

12.4.3基础项目BT4时钟输出功能实验

12.4.4基础项目C基于NE555制作方波信号发生器

12.4.5基础项目D外部脉冲计数实验

第13章“捕获比较,功能王者”高级型定时/计数器运用

13.1为啥会有高级型T/C资源

13.2“小菜一碟”定时功能

13.2.1PWMA资源时基单元结构

13.2.2定时功能配置流程及相关寄存器简介

13.2.3基础项目A分挡输出1Hz1kHz10kHz方波实验

13.3“轻松拿下”计数功能

13.3.1外部时钟源模式1计数功能

13.3.2模式1配置流程及相关寄存器简介

13.3.3基础项目B捕获/比较通道脉冲计数实验

13.3.4外部时钟源模式2计数功能

13.3.5模式2配置流程及相关寄存器简介

13.3.6基础项目C外部触发引脚脉冲计数实验

13.4输入捕获之“轻松测量”信号周期及占空比

13.4.1谈谈方波信号的频率及占空比测量

13.4.2PWMA资源的输入捕获功能

13.4.3周期测量功能配置流程

13.4.4基础项目D简易1kHz~1MHz方波信号频率计

13.4.5PWM信号占空比测量

13.4.6什么是复位触发模式

13.4.7占空比测量功能配置流程

13.4.8基础项目E简易PWM信号占空比测量实验

13.5“灵活自由”的输出比较功能

13.5.1输出比较功能结构及用途

13.5.2什么叫作“边沿对齐”方式

13.5.3怎么理解“中间对齐”方式

13.5.4边沿/中间对齐PWM输出配置流程

13.5.5基础项目F边沿对齐方式4路PWM信号输出

13.5.6基础项目G中间对齐方式4路PWM信号输出

第14章“你来我往,烽火传信”串行通信及UART运用

14.1“烽火戏诸侯”说单片机数据通信

14.2单片机数据通信基础知识铺垫

14.2.1单片机并行通信

14.2.2单片机串行通信

14.2.3串行通信位同步方式

14.2.4串行通信数据传送方式

14.2.5收发时钟及通信速率

14.2.6串行信道数据编码格式

14.2.7串口通信电平标准及适配

14.2.8常用串行通信接口

14.3UART资源简介及配置

14.3.1串口寄存器分类及串口1配置

14.3.2工作模式0: “伪通信”串/并转换模式

14.3.3工作模式1: “181”结构可变速率模式

14.3.4工作模式2: “1811”结构固定速率模式

14.3.5工作模式3: “1811”结构可变速率模式

14.3.6串口2模式讲解与配置

14.3.7串口3模式讲解与配置

14.3.8串口4模式讲解与配置

14.3.9用STCISP轻松搞定串口初始化配置

14.4UART资源编程及运用

14.4.1基础项目A串口打印单片机“身份证号”实验

14.4.2基础项目B重定向使用printf()函数实验

14.4.3基础项目C多串口切换printf()输出实验

14.4.4进阶项目A上/下位机单字节命令交互实验

14.4.5进阶项目B自制“AT指令集”串口交互实验

第15章“击鼓声响,双向传花”串行外设接口SPI运用

15.1“击鼓传花”说SPI“玩法”

15.2SPI资源介绍及运用

15.2.1主从“角色”如何配置

15.2.2SPI通信的三种方式

15.2.3数据帧结构怎么选

15.2.4时钟极性和相位是什么含义

15.2.5基础项目A三线SPI接口双机通信实验

15.3初识华邦/兆易创新25Qxx系列存储颗粒

15.3.1W25Qxx系列存储颗粒概述

15.3.2W25Qxx系列存储颗粒“控制和状态寄存器”

15.3.3W25Qxx系列存储颗粒功能指令详解

15.3.4进阶项目A串口打印W25Q16存储器芯片器件ID

15.3.5进阶项目BW25Q16存储芯片数据读写实验

第16章“大老爷升堂,威武!”串行总线接口I2C运用

16.1“大老爷升堂问案”说I2C“玩法”

16.2初识标准I2C总线协议

16.2.1“相关人等”I2C总线上的“角色”

16.2.2“升堂退堂”数据有效性及起止条件

16.3I2C资源介绍及运用

16.3.1主机模式寄存器配置

16.3.2从机模式寄存器配置

16.4初识Atmel公司AT24Cxx系列EEPROM芯片

16.4.1AT24Cxx系列芯片简介

16.4.2AT24Cxx系列芯片写操作时序

16.4.3AT24Cxx系列芯片读操作时序

16.4.4基础项目A读写AT24C02应答测试实验

16.4.5进阶项目A单字节读写AT24C02实验

16.4.6进阶项目B多字节读写AT24C02实验

16.4.7进阶项目C页写入AT24C02实验

第17章“信号量化翻译官”模数转换器运用

17.1表达消息的“电信号”

17.1.1模拟信号

17.1.2数字信号

17.1.3A/D转换与D/A转换

17.2A/D资源介绍及运用

17.2.1A/D资源配置流程

17.2.2基础项目A查询法打印ADC结果实验

17.2.3基础项目B中断法打印ADC结果实验

17.3A/D转换系统可靠性设计

17.3.1供电及基准电压优化

17.3.2采样前端电路滤波、分压、负压处理

17.3.3采样数据软件滤波

17.4A/D转换的诸多“玩法”

17.4.1进阶项目A电压采集和低/高压等级指示器

17.4.2进阶项目B“一线式”4×4矩阵键盘设计与实现

第18章“公平之秤,轻重几何”电压比较器资源运用

18.1电压比较器功能及专用芯片运用

18.2双路阈值均可调的单限电压比较器

18.3临界信号防抖动的迟滞电压比较器

18.4双限域内求稳定的窗口电压比较器

18.5STC8系列单片机比较器资源运用

18.5.1片内比较器结构及工作流程

18.5.2片内比较器寄存器配置方法

18.5.3基础项目D查询法验证比较器功能实验

18.5.4基础项目E中断法验证比较器功能实验

18.5.5基础项目F巧用电压比较器监测系统掉电

18.5.6基础项目G巧用电压比较器区分电压梯级

18.6有了比较器,自己也能“造”个ADC

18.6.1一阶RC积分器+比较器=廉价ADC

18.6.2进阶项目A基于RC积分器与比较器的ADC实验

第19章“一键还原,跑飞重置”系统复位与看门狗运用

19.1单片机非得要复位吗

19.2常规的POR方式“上电复位”

19.3经典的MRST方式“人工复位”

19.4实用的LVR方式“低压复位”

19.4.1基础项目A验证LVD低压复位功能实验

19.4.2进阶项目A巧用LVD实现电量指示实验

19.5特殊的WDR方式“看门狗复位”

19.6灵活的SWR方式“软件复位”

第20章“摇身一变睡美人”电源管理及功耗控制

20.1单片机工作状态及迁移过程

20.2为什么要注重单片机系统功耗

20.3STC8H系列单片机功耗指标及调控优势

20.4如何降低单片机系统功耗

20.4.1功耗控制之硬件调整

20.4.2功耗控制之软件优化

20.5STC8系列单片机省电模式配置与唤醒

20.5.1省电模式(PD/IDLE模式)配置方法

20.5.2基础项目A验证省电模式下的系统功耗实验

20.5.3基础项目B利用WKT唤醒MCU实验

20.5.4基础项目C利用INT唤醒MCU实验

20.5.5基础项目D利用T/C唤醒MCU实验

20.5.6基础项目E利用RxD唤醒MCU实验

20.5.7基础项目F利用SDA唤醒MCU实验

20.5.8基础项目G利用LVD唤醒MCU实验

20.5.9基础项目H利用CMP唤醒MCU实验

第21章“修房子,搞装修”ISP/IAP及EEPROM编程

21.1单片机系统中的ISP/IAP技术应用

21.1.1什么是ISP/IAP技术

21.1.2简析ISP/IAP在STC8单片机中的应用

21.2“样板房/大通间”说EEPROM区域划分

21.3STC8系列单片机EEPROM编程运用

21.3.1相关寄存器功用及配置方法

21.3.2基础项目A自增数据掉电记忆实验(IAP方式)

21.3.3基础项目B自增数据掉电记忆实验(MOVC方式)

21.3.4进阶项目A数据读写与串口打印实验

第22章“千头万绪,分身有术”RTX51操作系统运用

22.1常规“前后台编程框架”中的任务处理

22.2while(1)死循环编程形式有局限吗

22.2.1基础项目A键控灯的“困扰”实验

22.2.2基础项目B改进版键控灯实验

22.3RTOS实时操作系统的引入

22.3.1怎么理解系统的实时性

22.3.2有必要在51单片机上加操作系统吗

22.4Keil C51里的“好宝贝”: RTX51实时操作系统

22.4.1话说RTX51 Full与RTX51 Tiny

22.4.2RTX51系统的任务处理与编程

22.4.3如何部署RTX51 Tiny系统到项目工程

22.4.4轻松解读Conf_tny.A51汇编核心

22.4.5灵活运用RTX51TNY.H现成函数

22.5体现RTX51带来的编程优势

22.5.1进阶项目A利用RTX51解除键控灯的“困扰”实验

22.5.2基础项目C利用os_wait2()替换delay()延时实验

22.5.3基础项目D验证任务间的信号传递实验

22.6巧用Keil C51仿真/调试模式加深RTX51理解

22.7小宇老师寄语: 熟悉一款主流RTOS是必要的

22.7.1亚马逊FreeRTOS系统简介

22.7.2睿赛德RTThread系统简介

参考文献

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘