1 概述
2 特性及价格
2.1 STC8A8K64S4A12系列特性及价格
2.2 STC8A4K64S2A12系列特性及价格
2.3 STC8F2K64S4系列特性及价格
2.4 STC8F2K64S2系列特性及价格
2.5 STC8F1K08S2系列特性及价格
2.6 STC8C1K08S2A10系列提前通告
2.7 STC8P1K08S2A10系列提前通告
2.8 STC8P1K16S2A10系列提前通告
2.9 STC8P2K32S4A12系列提前通告
2.10 STC8H04A10系列提前通告
2.11 STC8H04系列提前通告
3 管脚及说明
3.1 管脚图
3.1.1 STC8A8K64S4A12系列管脚图
3.1.2 STC8A4K64S2A12系列管脚图
3.1.3 STC8F2K64S4系列管脚图
3.1.4 STC8F2K64S2系列管脚图
3.1.5 STC8F1K08S2系列管脚图
3.1.6 STC8C1K08S2A10系列管脚图
3.1.7 GX8S003系列管脚图
3.1.8 STC8P1K08S2A10系列管脚图
3.1.9 STC8P1K16S2A10系列管脚图
3.1.10 STC8P2K32S4A12系列管脚图
3.2 管脚说明
3.2.1 STC8A8K64S4A12系列管脚说明
3.2.2 STC8A4K64S2A12系列管脚说明
3.2.3 STC8F2K64S4系列管脚说明
3.2.4 STC8F2K64S2系列管脚说明
3.3 功能脚切换
3.3.1 功能脚切换相关寄存器
3.4 范例程序
3.4.1 串口1切换
3.4.2 串口2切换
3.4.3 串口3切换
3.4.4 串口4切换
3.4.5 SPI切换
3.4.6 PWM切换
3.4.7 PCA/CCP/PWM切换
3.4.8 I2C切换
3.4.9 比较器输出切换
3.4.10 主时钟输出切换
4 封装尺寸图
4.1 LQFP64S封装尺寸图(12mm*12mm)
4.2 LQFP64L封装尺寸图(16mm*16mm)
4.3 LQFP48封装尺寸图(9mm*9mm)
4.4 LQFP44封装尺寸图(12mm*12mm)
4.5 LQFP32封装尺寸图(9mm*9mm)
4.6 QFN64封装尺寸图(8mm*8mm)
4.7 QFN48封装尺寸图(6mm*6mm)
4.8 QFN32封装尺寸图(4mm*4mm)
4.9 PDIP40封装尺寸图
4.10 TSSOP20封装尺寸图
4.11 SOP16封装尺寸图
4.12 STC8系列单片机命名规则
5 ISP下载及典型应用线路图
5.1 STC8F系列ISP下载应用线路图
5.1.1 使用RS-232转换器下载
5.1.2 使用PL2303-SA下载
5.1.3 使用PL2303-GL下载
5.1.4 使用U8-Mini工具下载
5.1.5 使用U8W工具下载
5.1.6 USB直接ISP下载
5.2 STC8A系列ISP下载应用线路图
5.2.1 使用RS-232转换下载(使用高精度ADC)
5.2.2 使用RS-232转换下载(ADC一般应用)
5.2.3 使用PL2303-SA下载
5.2.4 使用PL2303-GL下载
5.2.5 使用U8-Mini工具下载
5.2.6 使用U8W工具下载
5.2.7 USB直接ISP下载
6 时钟、复位与电源管理
6.1 系统时钟控制
6.2 STC8系列内部IRC频率调整
6.3 STC15系列内部IRC频率调整
6.4 系统复位
6.5 系统电源管理
6.6 范例程序
6.6.1 选择系统时钟源
6.6.2 主时钟分频输出
6.6.3 看门狗定时器应用
6.6.4 软复位实现自定义下载
6.6.5 低压检测
6.6.6 省电模式
6.6.7 使用INT0/INT1/INT2/INT3/INT4中断唤醒MCU
6.6.8 使用T0/T1/T2/T3/T4中断唤醒MCU
6.6.9 使用RxD/RxD2/RxD3/RxD4中断唤醒MCU
6.6.10 使用LVD中断唤醒MCU
6.6.11 使用CCP0/CCP1/CCP2/CCP3中断唤醒MCU
6.6.12 CMP中断唤醒MCU
6.6.13 使用LVD功能检测工作电压(电池电压)
7 存储器
7.1 程序存储器
7.2 数据存储器
7.2.1 内部RAM
7.2.2 内部扩展RAM
7.2.3 外部扩展RAM
7.3 存储器中的特殊参数
7.3.1 读取Bandgap电压值 (从ROM中读取)
7.3.2 读取Bandgap电压值 (从RAM中读取)
7.3.3 读取全球唯一ID号 (从ROM中读取)
7.3.4 读取全球唯一ID号 (从RAM中读取)
7.3.5 读取32K掉电唤醒定时器的频率 (从ROM中读取)
7.3.6 读取32K掉电唤醒定时器的频率 (从RAM中读取)
7.3.7 手动设置内部IRC频率 (从ROM中读取)
7.3.8 手动设置内部IRC频率 (从RAM中读取)
8 特殊功能寄存器
8.1 STC8A8K64S4A12系列
8.2 STC8A4K64S2A12系列
8.3 STC8F2K64S4系列
8.4 STC8F2K64S2系列
8.5 特殊功能寄存器列表
9 I/O口
9.1 I/O口相关寄存器
9.2 配置I/O口
9.3 I/O的结构图
9.3.1 准双向口(弱上拉)
9.3.2 推挽输出
9.3.3 高阻输入
9.3.4 开漏输出
9.4 特殊I/O口说明
9.4.1 P2.0/RSTCV
9.4.2 PWM相关I/O口
9.5 范例程序
9.5.1 端口模式设置
9.5.2 双向口读写操作
10 指令系统
11 中断系统
11.1 STC8系列中断源
11.1.1 STC8A8K64S4A12系列中断源
11.1.2 STC8A4K64S2A12系列中断源
11.1.3 STC8F2K64S4系列中断源
11.1.4 STC8F2K64S2系列中断源
11.2 STC8中断结构图
11.3 STC8系列中断列表
11.4 中断相关寄存器
11.4.1 中断使能寄存器(中断允许位)
11.4.2 中断请求寄存器(中断标志位)
11.4.3 中断优先级寄存器
11.5 范例程序
11.5.1 INT0中断(上升沿和下降沿)
11.5.2 INT0中断(下降沿)
11.5.3 INT1中断(上升沿和下降沿)
11.5.4 INT1中断(下降沿)
11.5.5 INT2中断(下降沿)
11.5.6 INT3中断(下降沿)
11.5.7 INT4中断(下降沿)
11.5.8 定时器0中断
11.5.9 定时器1中断
11.5.10 定时器2中断
11.5.11 定时器3中断
11.5.12 定时器4中断
11.5.13 UART1中断
11.5.14 UART2中断
11.5.15 UART3中断
11.5.16 UART4中断
11.5.17 ADC中断
11.5.18 LVD中断
11.5.19 PCA中断
11.5.20 SPI中断
11.5.21 CMP中断
11.5.22 PWM中断
11.5.23 I2C中断
12 定时器/计数器
12.1 定时器的相关寄存器
12.2 定时器0/1
12.3 定时器2
12.4 定时器3/4
12.5 掉电唤醒定时器
12.6 范例程序
12.6.1 定时器0(模式0-16位自动重载)
12.6.2 定时器0(模式1-16位不自动重载)
12.6.3 定时器0(模式2-8位自动重载)
12.6.4 定时器0(模式3-16位自动重载不可屏蔽中断)
12.6.5 定时器0(外部计数-扩展T0为外部下降沿中断)
12.6.6 定时器0(测量脉宽-INT0高电平宽度)
12.6.7 定时器0(时钟分频输出)
12.6.8 定时器1(模式0-16位自动重载)
12.6.9 定时器1(模式1-16位不自动重载)
12.6.10 定时器1(模式2-8位自动重载)
12.6.11 定时器1(外部计数-扩展T1为外部下降沿中断)
12.6.12 定时器1(测量脉宽-INT1高电平宽度)
12.6.13 定时器1(时钟分频输出)
12.6.14 定时器1(模式0)做串口1波特率发生器
12.6.15 定时器1(模式2)做串口1波特率发生器
12.6.16 定时器2(16位自动重载)
12.6.17 定时器2(外部计数-扩展T2为外部下降沿中断)
12.6.18 定时器2(时钟分频输出)
12.6.19 定时器2做串口1波特率发生器
12.6.20 定时器2做串口2波特率发生器
12.6.21 定时器2做串口3波特率发生器
12.6.22 定时器2做串口4波特率发生器
12.6.23 定时器3(16位自动重载)
12.6.24 定时器3(外部计数-扩展T3为外部下降沿中断)
12.6.25 定时器3(时钟分频输出)
12.6.26 定时器3做串口3波特率发生器
12.6.27 定时器4(16位自动重载)
12.6.28 定时器4(外部计数-扩展T4为外部下降沿中断)
12.6.29 定时器4(时钟分频输出)
12.6.30 定时器4做串口4波特率发生器
13 串口通信
13.1 串口相关寄存器
13.2 串口1
13.2.1 串口1模式0
13.2.2 串口1模式1
13.2.3 串口1模式2
13.2.4 串口1模式3
13.2.5 自动地址识别
13.3 串口2
13.3.1 串口2模式0
13.3.2 串口2模式1
13.4 串口3
13.4.1 串口3模式0
13.4.2 串口3模式1
13.5 串口4
13.5.1 串口4模式0
13.5.2 串口4模式1
13.6 串口注意事项
13.7 范例程序
13.7.1 串口1使用定时器2做波特率发生器
13.7.2 串口1使用定时器1(模式0)做波特率发生器
13.7.3 串口1使用定时器1(模式2)做波特率发生器
13.7.4 串口2使用定时器2做波特率发生器
13.7.5 串口3使用定时器2做波特率发生器
13.7.6 串口3使用定时器3做波特率发生器
13.7.7 串口4使用定时器2做波特率发生器
13.7.8 串口4使用定时器4做波特率发生器
14 比较器,掉电检测,内部固定比较电压
14.1 比较器内部结构图
14.2 比较器相关的寄存器
14.3 范例程序
14.3.1 比较器的使用(中断方式)
14.3.2 比较器的使用(查询方式)
14.3.3 比较器作外部掉电检测
14.3.4 比较器检测工作电压(电池电压)
15 IAP/EEPROM
15.1 EEPROM相关的寄存器
15.2 关于EEPROM编程和擦除等待时间的重要说明
15.3 EEPROM大小及地址
15.4 范例程序
15.4.1 EEPROM基本操作
15.4.2 使用MOVC读取EEPROM
15.4.3 使用串口送出EEPROM数据
16 ADC模数转换
16.1 ADC相关的寄存器
16.2 ADC典型应用线路图
16.2.1 高精度ADC应用
16.2.2 ADC一般应用(对ADC精度要求不高的应用)
16.3 ADC线性参数
16.4 范例程序
16.4.1 ADC基本操作(查询方式)
16.4.2 ADC基本操作(中断方式)
16.4.3 格式化ADC转换结果
16.4.4 利用ADC第16通道测量外部电压或电池电压
17 PCA/CCP/PWM应用
17.1 PCA相关的寄存器
17.2 PCA工作模式
17.2.1 捕获模式
17.2.2 软件定时器模式
17.2.3 高速脉冲输出模式
17.2.4 PWM脉宽调制模式
17.2.4.1 8位PWM模式
17.2.4.2 7位PWM模式
17.2.4.3 6位PWM模式
17.2.4.4 10位PWM模式
17.3 范例程序
17.3.1 PCA输出PWM(6/7/8/10位)
17.3.2 PCA捕获测量脉冲宽度
17.3.3 PCA实现16位软件定时
17.3.4 PCA输出高速脉冲
17.3.5 PCA扩展外部中断
18 增强型PWM
18.1 PWM相关的寄存器
18.2 范例程序
18.2.1 输出任意周期和任意占空比的波形
18.2.2 两路PWM实现互补对称带死区控制的波形
18.2.3 PWM实现渐变灯(呼吸灯)
19 同步串行外设接口SPI
19.1 SPI相关的寄存器
19.2 SPI通信方式
19.2.1 单主单从
19.2.2 互为主从
19.2.3 单主多从
19.3 配置SPI
19.4 数据模式
19.5 范例程序
19.5.1 SPI单主单从系统主机程序(中断方式)
19.5.2 SPI单主单从系统从机程序(中断方式)
19.5.3 SPI单主单从系统主机程序(查询方式)
19.5.4 SPI单主单从系统从机程序(查询方式)
19.5.5 SPI互为主从系统程序(中断方式)
19.5.6 SPI互为主从系统程序(查询方式)
20 I2C总线
20.1 I2C相关的寄存器
20.2 I2C主机模式
20.3 I2C从机模式
20.4 范例程序
20.4.1 I2C主机模式访问AT24C256(中断方式)
20.4.2 I2C主机模式访问AT24C256(查询方式)
20.4.3 I2C主机模式访问PCF8563
20.4.4 I2C从机模式(中断方式)
20.4.5 I2C从机模式(查询方式)
20.4.6 测试I2C从机模式代码的主机代码
21 增强型双数据指针
21.1 范例程序
21.1.1 示例代码1
21.1.2 示例代码2
附录A 应用注意事项
A.1 关于使用CLR指令关闭EA的重要说明
A.2 关于EEPROM编程和擦除等待时间的重要说明
A.3 STC8F2K64S4系列应用注意事项
A.4 STC8F2K64S2系列应用注意事项
A.5 STC8A8K64S4A12系列应用注意事项
A.6 STC8A4K64S2A12系列应用注意事项
A.7 使用外部晶振对STC8系列进行仿真的注意事项
附录B STC仿真器使用指南
附录C STC-USB驱动程序安装说明
附录D 电气特性
附录E 更新记录