0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
SC92F8372X20U

SC92F8372X20U

  • 厂商:

    SOC(赛元)

  • 封装:

    TSSOP20_6.5X4.4MM

  • 描述:

    超高速1T 8051内核16路双模触控Flash MCU

  • 数据手册
  • 价格&库存
SC92F8372X20U 数据手册
SinOne SC92F8372/8371/8370 1T 8051 内核 Flash MCU ,384 bytes SRAM ,8 Kbytes Flash,128 bytes 独立 EEPROM,16 通道可低功耗双模触控电路,4 路 8 位 PWM,3 个定时器,SSI , Check Sum 校验模块 1 总体描述 工作温度:-40 ~ 85℃ 封装: SC92F8372 (SOP20/TSSOP20) SC92F8371 (SOP16) SC92F8370 (SOP8) 预 工作电压:2.4V~5.5V 览 2 主要功能 内核: 1T 8051 Flash ROM:8 Kbytes Flash ROM(MOVC 禁止寻 址 0000H~00FFH)可重复写入 1 万次 IAP:可 code option 成 0K、0.5K、1K 或 8K EEPROM:128 bytes,无需擦除,10 万次写入,10 年以上保存寿命 SRAM:内部 256 bytes+外部 128 bytes 系统时钟(fSYS):  内建高频 24MHz 振荡器(fHRC)  作为系统时钟源时,fSYS 可通过编程器选择 设定为 12/6/2MHz  频 率 误 差 : 跨 越 (2.9V~5.5V) 及 (-20 ~ 85℃) 应用环境, 不超过 ±1% 内建低频 128kHz LRC 振荡器:  可作为 Base Timer 时钟源,可唤醒 STOP。 Page 1 of 72 可作为 WDT 的时钟源  频率误差:跨越 (4.0V ~ 5.5V) 及 (-20 ~ 85℃) 应用环境, 频率误差不超过 ±4%。 低电压复位(LVR):  复位电压有 4 级可选:分别是:4.3V、3.7V、 2.9V、2.3V  缺省值为用户烧写 Code Option 所选值 Flash 烧写和仿真:  2 线 JTAG 烧写和仿真接口 本 中断(INT):  Timer0, Timer1, Timer2, INT0, INT2, PWM, SSI,Base Timer,TK 共 9 个中断源  外部中断有 2 个中断向量,共 7 个中断口,全部 可设上升沿、下降沿、双沿中断  两级中断优先级可设 版 SC92F8372/8371/8370(以下简称 SC92F837X) 是一颗增强型的超高速 1T 8051 内核工业级集成触控 按键功能的 Flash 微控制器,指令系统完全兼容传统 8051 产品系列。 SC92F837X 内建一个 16 通道的可低功耗双模电 容触控电路,触控电路可选择在 STOP Mode 下运行。 SC92F837X 集成有 8 Kbytes Flash ROM、384 bytes SRAM 、128 bytes EEPROM、最多 18 个 GP I/O、 7 个 IO 可外部中断、3 个 16 位定时器、4 路共周期, 占 空 比 可 调 的 PWM 、 内 部 1% 高 精 度 高 频 12/6/2MHz 振荡器和 4%精度低频 128K 振荡器、一 个 UART/SPI/IIC 三选一通信口 SSI 等资源。为提高 可靠性及简化客户电路,SC92F837X 内部也集成有 4 级可选电压 LVR 等高可靠电路。SC92F837X 具有 非常优异的抗干扰性能和性能极好的触控按键性能, 非常适合应用于各种使用场合的触控按键和主控控制, 如大小智能家电和智能家居、物联网、无线通讯、游 戏机等工业控制和消费应用领域。  数字外围:  最大 18 个双向可独立控制的 I/O 口,可独立设 定上拉电阻  P0、P2 口源驱动能力分四级控制  全部 IO 具有大灌电流驱动能力(50mA)  11 位 WDT,可选时钟分频比  3 个标准 80C51 定时器 Timer0、Timer1 和 Timer2  4 路共周期,占空比可调的 PWM  1 个 UART/SPI/IIC 三选一通信口 SSI 模拟外围:  16 通道可低功耗双模触控电路,可配置为高灵 敏度模式或高可靠模式:  高灵敏度模式可适应隔空按键触控、接近 感应等对灵敏度要求较高的触控应用  高可靠模式具有很强的抗干扰性,可通过 10V 动态 CS 测试  可实现 16 路触控按键及衍生功能  高灵活度开发软件库支持,低开发难度  自动化调试软件支持,智能化开发  低功耗触控模式,单触控按键唤醒时芯片 整体功耗可低至 11uA 省电模式:  IDLE Mode,可由任何中断唤醒  STOP Mode,由 INT0、INT2、BaseTimer 和 TK 唤醒 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 92 系列产品命名规则 名称 序号 SC 92 F 8 3 7 2 X M 20 U ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ 序号 含义 ① Sinone Chip 缩写 ② 产品系列名称 ③ 产品类型(F:Flash MCU) ④ 系列号:7 :GP 系列,8:TK 系列 ⑤ ROM Size:1 为 2K,2 为 4K,3 为 8K,4 为 16K,5 为 32K… ⑥ 子系列编号:0~9,A~Z ⑦ ⑧ 引脚数:0:8pin, 1:16pin,2:20pin,3:28pin,5:32pin,6:44pin,7:48pin,8:64pin,9: 100pin 版本号:(缺省、B、C、D) ⑨ 封装形式:(D:DIP;M:SOP;X:TSSOP;F:QFP;P:LQFP;Q:QFN;K:SKDIP) ⑩ ⑪ 引脚数 预 览 版 本 包装方式:(U:管装;R:盘装;T:卷带) Page 2 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 目录 1 总体描述 ............................................................................................................................... 1 2 主要功能 ............................................................................................................................... 1 92 系列产品命名规则 ............................................................................................................... 2 目录.......................................................................................................................................... 3 3 管脚定义 ............................................................................................................................... 7 3.1 管脚配置 ..................................................................................................................................................... 7 3.2 管脚定义 ..................................................................................................................................................... 8 4 内部方框图 .......................................................................................................................... 10 本 5 FLASH ROM 和 SRAM 结构 ............................................................................................... 11 版 5.1 flash rom ................................................................................................................................................. 11 预 览 5.2 Customer Option 区域(用户烧写设置) .............................................................................................. 12 5.2.1 Option 相关 SFR 操作说明 ............................................................................................................. 13 5.3 sram ......................................................................................................................................................... 14 5.3.1 内部 256 bytes SRAM .................................................................................................................... 14 5.3.2 外部 128 bytes SRAM .................................................................................................................... 15 6 特殊功能寄存器(SFR) ......................................................................................................... 16 6.1 SFR 映像 .................................................................................................................................................. 16 6.2 SFR 说明 .................................................................................................................................................. 17 6.2.1 8051 CPU 内核常用特殊功能寄存器介绍 ...................................................................................... 18 7 电源、复位和时钟 ............................................................................................................... 19 7.1 电源电路 ................................................................................................................................................... 19 7.2 上电复位过程 ........................................................................................................................................... 19 7.2.1 复位阶段......................................................................................................................................... 19 7.2.2 调入信息阶段 ................................................................................................................................. 19 7.2.3 正常操作阶段 ................................................................................................................................. 19 7.3 复位方式 ................................................................................................................................................... 19 7.3.1 外部 RST 复位................................................................................................................................ 19 7.3.2 低电压复位 LVR ............................................................................................................................. 19 7.3.3 上电复位 POR ................................................................................................................................ 20 Page 3 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 7.3.4 看门狗复位 WDT ............................................................................................................................ 20 7.3.5 复位初始状态 ................................................................................................................................. 21 7.4 高频系统时钟电路 .................................................................................................................................... 22 7.5 低频振荡器及低频时钟定时器 .................................................................................................................. 23 7.6 STOP 模式和 IDLE 模式 .......................................................................................................................... 23 8 中央处理单元 CPU 及指令系统 ........................................................................................... 25 8.1 CPU .......................................................................................................................................................... 25 本 8.2 寻址方式 ................................................................................................................................................... 25 8.2.1 立即寻址......................................................................................................................................... 25 8.2.2 直接寻址......................................................................................................................................... 25 8.2.3 间接寻址......................................................................................................................................... 25 8.2.4 寄存器寻址 ..................................................................................................................................... 25 8.2.5 相对寻址......................................................................................................................................... 25 8.2.6 变址寻址......................................................................................................................................... 25 8.2.7 位寻址 ............................................................................................................................................ 25 9 INTERRUPT 中断 ............................................................................................................... 26 版 9.1 中断源、向量 ........................................................................................................................................... 26 览 9.2 中断结构图 ............................................................................................................................................... 27 预 9.3 中断优先级 ............................................................................................................................................... 28 9.4 中断处理流程 ........................................................................................................................................... 28 9.5 中断相关 SFR 寄存器 ............................................................................................................................... 28 10 定时器 TIMER0 、TIMER1 ............................................................................................... 31 10.1 T0 和 T1 相关特殊功能寄存器 ................................................................................................................ 31 10.2 T0 工作模式............................................................................................................................................ 33 10.3 T1 工作模式............................................................................................................................................ 35 11 定时器 TIMER2 ................................................................................................................. 36 11.1 T2 相关特殊功能寄存器 ......................................................................................................................... 36 11.2 T2 工作模式............................................................................................................................................ 38 12 PWM ................................................................................................................................. 39 12.1 PWM 结构框图 ....................................................................................................................................... 40 12.2 PWM 相关 SFR 寄存器 .......................................................................................................................... 41 Page 4 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 12.3 PWM 波形及用法 ................................................................................................................................... 44 13 GP I/O ............................................................................................................................... 46 13.1 GPIO 结构图 .......................................................................................................................................... 46 13.2 I/O 端口相关寄存器 ................................................................................................................................ 47 14 SPI/TWI/UART 三选一串行接口 SSI ................................................................................. 48 14.1 SPI ......................................................................................................................................................... 49 14.1.1 SPI 操作相关寄存器 ..................................................................................................................... 49 14.1.2 信号描述....................................................................................................................................... 50 14.1.3 工作模式....................................................................................................................................... 50 14.1.4 传送形式....................................................................................................................................... 51 14.1.5 出错检测....................................................................................................................................... 52 14.2 TWI......................................................................................................................................................... 52 14.2.1 信号描述....................................................................................................................................... 53 14.2.2 工作模式 ....................................................................................................................................... 54 14.2.3 操作步骤....................................................................................................................................... 55 版 本 14.3 UART ..................................................................................................................................................... 55 15 双模触控电路 .................................................................................................................... 57 览 15.1 触控电路的耗电模式............................................................................................................................... 57 预 15.2 触控模式 ................................................................................................................................................. 57 16 EEPROM 及 IAP 操作 ....................................................................................................... 58 16.1 EEPROM / IAP 操作相关寄存器 ............................................................................................................ 58 16.2 EEPROM / IAP 操作流程 ....................................................................................................................... 60 16.2.1 128 bytes 独立 EEPROM 操作例程 ............................................................................................. 60 16.2.2 8 Kbytes CODE 区域 IAP 操作例程 ............................................................................................. 61 17 CHECK SUM 模块 ............................................................................................................ 62 17.1 check sum 校验操作相关寄存器 ........................................................................................................... 62 18 电气特性 ........................................................................................................................... 63 18.1 极限参数 ................................................................................................................................................. 63 18.2 推荐工作条件 ......................................................................................................................................... 63 18.3 直流电气特性 ......................................................................................................................................... 63 18.4 交流电气特性 ......................................................................................................................................... 64 Page 5 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 19 应用电路 ........................................................................................................................... 66 20 订购信息 ........................................................................................................................... 67 21 封装信息 ........................................................................................................................... 68 预 览 版 本 22 规格更改记录 .................................................................................................................... 72 Page 6 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 3 管脚定义 3.1 管脚配置 特别说明:SC92F837X 的 TK14/TK15 与 TK 调试通信口复用,若需使用 TK 调试功能,请尽量避免使用 TK14/TK15! 1 20 P0.0/PWM0/TK0 CMOD/P1.0 2 19 P0.1/PWM1/TK1 VSS 3 18 P0.2/PWM2/TK2 RST/SCK/INT01/P1.1 4 17 P0.3/PWM3/TK3 tCK/TK15/T0/RX/MISO/INT02/P1.2 5 16 P0.4/INT20/TK4 tDIO/TK14/T1/TX/SDA/MOSI/INT03/P1.3 6 15 P0.5/INT21/TK5 TK13/P1.4 7 14 P2.0/INT24/TK6 TK12/P1.5 8 13 P2.1/INT25/TK7 TK11/P2.7 9 12 P2.4/TK8 TK10/P2.6 10 11 P2.5/TK9 本 SC92F8372 VDD 览 版 SC92F8372 管脚配置图 VDD P0.0/PWM0/TK0 CMOD/P1.0 2 15 P0.1/PWM1/TK1 VSS 3 14 P0.5/INT21/TK5 RST/SCK/INT01/P1.1 4 13 P2.0/INT24/TK6 tCK/TK15/T0/RX/MISO/INT02/P1.2 5 12 P2.1/INT25/TK7 tDIO/TK14/T1/TX/SDA/MOSI/INT03/P1.3 6 11 P2.4/TK8 TK13/P1.4 7 10 P2.5/TK9 TK12/P1.5 8 9 P2.6/TK10 预 16 SC92F8371 1 SC92F8371 管脚配置图 1 CMOD/P1.0 2 VSS 3 tCK/TK15/T0/RX/INT02/P1.2 4 SC92F8370 VDD 8 P0.1/PWM1/TK1 7 P2.0/INT24/TK6 6 P2.1/INT25/TK7 5 P1.3/INT03/TX/T1/TK14/tDIO SC92F8370 管脚配置图 Page 7 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 3.2 管脚定义 管脚编号 管脚名称 管脚类型 20PIN 16PIN 8PIN 1 1 1 VDD 2 2 2 P1.0/CMOD 3 3 3 VSS 4 4 - P1.1/INT01/SCK/RST I/O 5 5 4 P1.2/INT02/MISO/RX/T0/TK15 I/O Power I/O Power /tCK 6 5 P1.3/INT03/MOSI/SDA/TX/T1/ I/O 本 6 预 览 版 TK14/tDIO 7 7 - P1.4/TK13 I/O 8 8 - P1.5/TK12 I/O 9 - - P2.7/TK11 I/O 10 9 - P2.6/TK10 I/O 11 10 - P2.5/TK9 I/O 12 11 - P2.4/TK8 I/O 13 12 6 P2.1/INT25/TK7 I/O 14 13 7 P2.0/INT24/TK6 I/O 15 14 - P0.5/INT21/TK5 I/O 16 - - P0.4/INT20/TK4 I/O 17 - - P0.3/PWM3/TK3 I/O Page 8 of 72 功能说明 电源 P1.0: GPIO P1.0 CMOD: Touch Key 触控外接电容 接地 P1.1: GPIO P1.1 INT01: 外部中断 0 的输入 1 SCK: SPI 及 TWI 的 SCK RST: 复位管脚 P1.2: GPIO P1.2 INT02: 外部中断 0 的输入 2 MISO: SPI 主输入从输出 RX: UART 接收 T0: 计数器 0 外部输入 TK15: TK 的通道 15,若需使用 TK 调试功能,请尽量避免使用此 TK 通 道! tCK: 烧录和仿真口时钟线 P1.3: GPIO P1.3 INT03: 外部中断 0 的输入 3 MOSI: SPI 主输出从输入 SDA: TWI 的 SDA TX: UART 发送 T1: 计数器 1 外部输入 TK14: TK 的通道 14,若需使用 TK 调试功能,请尽量避免使用此 TK 通 道! tDIO: 烧录和仿真口数据线 P1.4: GPIO P1.4 TK13: TK 的通道 13 P1.5: GPIO P1.5 TK12: TK 的通道 12 P2.7: GPIO P2.7 TK11: TK 的通道 11 P2.6: GPIO P2.6 TK10: TK 的通道 10 P2.5: GPIO P2.5 TK9: TK 的通道 9 P2.4: GPIO P2.4 TK8: TK 的通道 8 P2.1: GPIO P2.1 INT25: 外部中断 2 的输入 5 TK7: TK 的通道 7 P2.0: GPIO P2.0 INT24: 外部中断 2 的输入 4 TK6: TK 的通道 6 P0.5: GPIO P0.5 INT21: 外部中断 2 的输入 1 TK5: TK 的通道 5 P0.4: GPIO P0.4 INT20: 外部中断 2 的输入 0 TK4: TK 的通道 4 P0.3: GPIO P0.3 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU - - P0.2/PWM2/TK2 I/O 19 15 8 P0.1/PWM1/TK1 I/O 20 16 - P0.0/PWM0/TK0 I/O 预 览 版 本 18 PWM3: PWM3 输出口 TK3: TK 的通道 3 P0.2: GPIO P0.2 PWM2: PWM2 输出口 TK2: TK 的通道 2 P0.1: GPIO P0.1 PWM1: PWM1 输出口 TK1: TK 的通道 1 P0.0: GPIO P0.0 PWM0: PWM0 输出口 TK0: TK 的通道 0 Page 9 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 4 内部方框图 LVR Controller LVD reset Internal 256 bytes RAM WDT External 128 bytes RAM 128kHz LRC WAKECNT Controller HRC Regulator HRC Voltage Reference 128 bytes EEPROM 24MHz HRC Clock Controller clock 1T 8051 CORE TIMER0 TIMER1 本 8 Kbytes Program ROM (Flash) 版 LDO & Power Manager UART SPI IIC 览 BandGap Voltage Reference Touch Key Sensor 预 TIMER2 PWM I/O IO PADS INT Interrupt Interrupt Controller SC92F837X BLOCK DIAGRAM Page 10 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 5 FLASH ROM 和 SRAM 结构 SC92F837X 的 Flash ROM 和 SRAM 结构如下: 用户ID区域 7Fh 007Fh 外部RAM EEPROM 00h (通过MOVX/DPTR寻址) 0000h 1FFFh RAM (间接寻址) FFh Flash ROM For Program SFR (直接寻址) 本 80h 7Fh 00h (直接寻址或间接寻址) 览 版 0000h RAM 5.1 FLASH ROM 预 Flash ROM 和 SRAM 结构图 SC92F837X 有 8 Kbytes 的 Flash ROM,ROM 地址为 0000H~1FFFH。此 8 Kbytes Flash ROM 可反复擦写 1 万次,可通过 SinOne 提供的专用 ICP 烧写器(SOC Pro52/DPT52/SC LINK)来进行编程及擦除。地址为 0000H~00FFH 地址的 256 bytes 区间 MOVC 指令不可寻址。 EEPROM 为独立于 8 Kbytes ROM 之外的一块区间,其地址为 00H~7FH,可在程序中对其进行单 byte 读写 操作,具体操作方法参考 16 EEPROM 及 IAP 操作。 用户 ID 区域:出厂时写入用户 ID,用户只可对其进行读操作,具体操作方式参考 16 EEPROM 及 IAP 操作。 SC92F837X 的 8 Kbytes Flash ROM 能提供查空 BLANK、编程 PROGRAM、校验 VERIFY 和擦除 ERASE 功能,但不提供读取 READ 的功能。此 Flash ROM 和 EEPROM 通常写入前无需进行擦除操作,直接写入数据即 可实现新数据的覆盖。 SC92F837X 的 Flash ROM 通过 tDIO、tCK、VDD、VSS 来进行编程,具体连接关系如下: Page 11 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU SOC PRO52 SOC DPT52 SC LINK MCU VDD tCK tDIO VSS VDD CLK DIO GND 用户应用电路 Jumper ICP 模式 Flash Writer 编程连接示意图 本 5.2 CUSTOMER OPTION 区域(用户烧写设置) 预 览 版 SC92F837X 内部有单独的一块 Flash 区域用于保存客户的上电初始值设置,此区域称为 Code Option 区域。 用户在烧写 IC 时将此部分代码写入 IC 内部,IC 在复位初始化时,就会将此设置调入 SFR 作为初始设置。 Option 相关 SFR 操作说明: Option 相关 SFR 的读写操作由 OPINX 和 OPREG 两个寄存器进行控制,各 Option SFR 的具体位置由 OPINX 确定,如下表所示: 符号 地址 说明 7 6 5 4 3 2 1 0 OP_HRCR 83H@FFH 系统时钟改变寄存器 OP_CTM0 C1H@FFH Customer Option 寄存器 0 ENWDT - SCLKS[1:0] OP_CTM1 C2H@FFH Customer Option 寄存器 1 - - - OP_HRCR[7:0] OP_HRCR (83H@FFH) 系统时钟改变寄存器(读/写) 位编号 7 6 5 符号 读/写 上电初始值 n n n 位编号 7~0 位符号 OP_HRCR[7:0] Page 12 of 72 位符号 ENWDT - 4 3 OP_HRCR[7:0] 读/写 n n DISLVR IAPS[1:0] LVRS[1:0] - - 2 1 0 n n n 说明 内部高频 RC 频率调校 中心值 10000000b 对应 HRC 中心频率,数值变大频率加快,数值变小 频率变慢。 OP_CTM0(C1H@FFH) Customer Option 寄存器 0(读/写) 位编号 7 6 5 4 符号 ENWDT SCLKS[1:0] 读/写 读/写 读/写 上电初始值 n x n 位编号 7 DISRST 3 DISRST 读/写 n 2 DISLVR 读/写 n 1 0 LVRS[1:0] 读/写 n 说明 WDT 开关 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 5~4 SCLKS[1:0] 3 DISRST 2 DISLVR 1~0 LVRS [1:0] 6 - 0:WDT 无效 1:WDT 有效(但 IC 在执行 IAP 过程中 WDT 停止计数) 系统时钟频率选择: 00:保留; 01:系统时钟频率为高频振荡器频率除以 2; 10:系统时钟频率为高频振荡器频率除以 4; 11:系统时钟频率为高频振荡器频率除以 12。 IO/RST 复位切换控制 0 :P1.1 当复位脚使用 1 :P1.1 当正常的 I/O 管脚使用 LVR 使能设置 0:LVR 正常使用 1:LVR 无效 LVR 电压选择控制 11:4.3 V 复位 10:3.7V 复位 01:2.9V 复位 00:2.3V 复位 保留 x 位符号 IAPS[1:0] 7~4,1~0 - x 读/写 n 读/写 n 1 x 0 x 说明 IAP 空间范围选择 00: Code 区域禁止 IAP 操作 01: 最后 0.5K Code 区域允许 IAP 操作 10: 最后 1K Code 区域允许 IAP 操作(0C00H~0FFFH) 11: 全部 Code 区域允许 IAP 操作(0000H~0FFFH) 保留 预 位编号 3~2 x 版 x 2 IAPS[1:0] 览 读/写 上电初始值 3 本 OP_CTM1(C2H@FFH) Customer Option 寄存器 1(读/写) 7 6 5 4 位编号 符号 5.2.1 OPTION 相关 SFR 操作说明 Option 相关 SFR 的读写操作由 OPINX 和 OPREG 两个寄存器进行控制,各 Option SFR 的具体位置由 OPINX 确定,各 Option SFR 的写入值由 OPREG 确定: 符号 地址 说明 上电初始值 OPINX FEH Option 指针 OPINX[7:0] 00000000b OPREG FFH Option 寄存器 OPREG[7:0] nnnnnnnnb 操作 Option 相关 SFR 时 OPINX 寄存器存放相关 OPTION 寄存器的地址,OPREG 寄存器存放对应的值。 例如:要将 OP_HRCR 配置为 0x01,具体操作方法如下: C 语言例程: OPINX = 83H; OPREG = 0x01; //将 OP_HRCR 的地址写入 OPINX 寄存器 //对 OPREG 寄存器写入 0x01(待写入 OP_HRCR 寄存器的值) 汇编例程: MOV OPINX,#83H MOV OPREG,#01H ; 将 OP_HRCR 的地址写入 OPINX 寄存器 ; 对 OPREG 寄存器写入 0x01(待写入 OP_HRCR 寄存器的值) Page 13 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 注意:禁止向 OPINX 寄存器写入 Customer Option 区域 SFR 地址之外的数值!否则会造成系统运行异常! 5.3 SRAM SC92F837X 单片机内部集成了 384 bytes 的 SRAM,分为内部 256 bytes RAM 和外部 128 bytes RAM。内 部 RAM 的地址范围为 00H~FFH,其中高 128 bytes(地址 80H~FFH)只能间接寻址,低 128 bytes(地址 00H~7FH)可直接寻址也可间接寻址。 特殊功能寄存器 SFR 的地址也是 80H~FFH。但 SFR 同内部高 128 bytes SRAM 的区别是:SFR 寄存器是直 接寻址,而内部高 128 bytes SRAM 只能是间接寻址。 外部 RAM 的地址为 0000H~07FH,但需通过 MOVX 指令来寻址。 5.3.1 内部 256 BYTES SRAM 内部低 128 bytes SRAM 区可分为三部分:①工作寄存器组 0~3,地址 00H~1FH,程序状态字寄存器 PSW 中的 RS0、RS1 组合决定了当前使用的工作寄存器,使用工作寄存器组 0~3 可加快运算的速度;②位寻址区 20H~2FH,此区域用户可以用作普通 RAM 也可用作按位寻址 RAM;按位寻址时,位的地址为 00H~7FH,(此 地址按位编地址,不同于通用 SRAM 按字节编地 址),程序中可由指令区分; ③用户 RAM 和堆栈 区, SC92F837X 复位过后, 8 位的堆栈 指针指向堆栈 区,用户一般会在 初始化 程序时设置初值, 建议设 置在 E0H~FFH 的单元区间。 FFH 版 本 FFH 特殊功能寄存器SFR (直接寻址) 预 览 高128 bytes RAM (只能间接寻址) 80H 80H 7FH 低128 bytes RAM (可直接寻址;也可间接寻址) 00H 内部 256 bytes RAM 结构图 Page 14 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 内部低 128 bytes RAM 结构如下: 7FH 用户RAM及堆栈RAM区 30H 2FH 位寻址RAM区 20H 1FH 工作寄存器组3 本 18H 17H 工作寄存器组2 版 10H 工作寄存器组1 07H 7E 7D 7C 7B 7A 79 78 2FH 77 76 75 74 73 72 71 70 2EH 6F 6E 6D 6C 6B 6A 69 68 2DH 67 66 65 64 63 62 61 60 2CH 5F 5E 5D 5C 5B 5A 59 58 2BH 57 56 55 54 53 52 51 50 2AH 4F 4E 4D 4C 4B 4A 49 48 29H 47 46 45 44 43 42 41 40 28H 3F 3E 3D 3C 3B 3A 39 38 27H 37 36 35 34 33 32 31 30 26H 2F 2E 2D 2C 2B 2A 29 28 25H 27 26 25 24 23 22 21 20 24H 1F 1E 1D 1C 1B 1A 19 18 23H 17 16 15 14 13 12 11 10 22H 0F 0E 0D 0C 0B 0A 09 08 21H 07 06 05 04 03 02 01 00 20H 08H 预 工作寄存器组0 00H 览 0FH 7F SRAM 结构图 5.3.2 外部 128 BYTES SRAM 外部 128 bytes SRAM 支持传统的访问外部 RAM 方法。使用 MOVX A, @Ri 或 MOVX @Ri, A 来访问外部 128 bytes RAM;也可以用 MOVX A, @DPTR 或 MOVX @DPTR﹐A 来访问外部 128 bytes RAM。 Page 15 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 6 特殊功能寄存器(SFR) 6.1 SFR 映像 SC92F837X 系列有一些特殊功能寄存器,我们称为 SFR。这些 SFR 寄存器的地址位于 80H~FFH,有些可 以位寻址,有些不能位寻址。能够进行位寻址操作的寄存器的地址末位数都是“0”或“8”,这些寄存器在需要改变单 个位的数值时非常方便。所有的 SFR 特殊功能寄存器都必须使用直接寻址方式寻址。 SC92F837X 的特殊功能寄存器名称及地址如下表: 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F F8h - - - - CHKSUML CHKSUMH OPINX OPREG F0h B IAPKEY IAPADL IAPADH IAPADE IAPDAT IAPCTL - E8h - - - - - - - OPERCON E0h ACC - - - - - - - D8h - - - - - - - - D0h PSW PWMCFG PWMCON PWMPRD PWMDTY3 PWMDTY0 PWMDTY1 PWMDTY2 C8h T2CON - RCAP2L RCAP2H TL2 TH2 BTMCON WDTCON C0h - - - - - - INT2F INT2R B8h IP IP1 INT0F INT0R - - - - - - - - - - - A8h IE IE1 - - - - - A0h P2 P2CON P2PH - - - - - SSCON0 SSCON1 SSDAT - SSCON2 - IOHCON TL1 TH0 TH1 TMCON OTCON DPH - - - PCON - - P0CON P0PH 90h P1 P1CON P1PH - 88h TCON TMOD TL0 80h P0 SP DPL 说明: 1. 2. 览 - 不可位寻址 预 可位寻址 版 98h 本 B0h SFR 寄存器中空的部分代表没有此寄存器 RAM,不建议用户使用。 SFR 中的 F1H~FFH 为系统配置使用的特殊功能寄存器,用户使用可能会导致系统异常,用户在初始化 系统时,不能对这些寄存器进行清零或其它操作。 Page 16 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 6.2 SFR 说明 特殊功能寄存器 SFR 的具体解释说明如下: 符号 地址 说明 7 6 5 4 3 2 1 0 P0 80H P0 口数据寄存器 - - P05 P04 P03 P02 P01 P00 SP 81H 堆栈指针 DPL 82H DPH 83H PCON 87H 电源管理控制寄存器 TCON 88H 定时器控制寄存器 TMOD 89H 定时器工作模式寄存器 TL0 8AH 定时器 0 低 8 位 TL1 8BH TH0 8CH TH1 上电初始值 xx000000b SP[7:0] 00000111b DPTR 数据指针低位 DPL[7:0] 00000000b DPTR 数据指针高位 DPH[7:0] 00000000b SMOD - - - - - STOP IDL 0xxxxx00b TF1 TR1 TF0 TR0 - - IE0 - 0000xx0xb - C/T1 M11 M01 - C/T0 M10 M00 x000x000b TL0[7:0] 00000000b 定时器 1 低 8 位 TL1[7:0] 00000000b 定时器 0 高 8 位 TH0[7:0] 00000000b 8DH 定时器 1 高 8 位 TH1[7:0] TMCON 8EH 定时器频率控制寄存器 - - - - - T2FD T1FD T0FD OTCON 8FH 输出控制寄存器 SSMOD[1:0] - - - - - - 00xxxxxxb P1 90H P1 口数据寄存器 - - P15 P14 P13 P12 P11 P10 xx000000b P1CON 91H P1 口输入/输出控制寄存器 - - P1C5 P1C4 P1C3 P1C2 P1C1 P1C0 xx000000b P1PH 92H P1 口上拉电阻控制寄存器 - - P1H5 P1H4 P1H3 P1H2 P1H1 P1H0 SSCON2 95H SSI 控制寄存器 2 IOHCON 97H IOH 设置寄存器 P0CON 9AH P0 口输入/输出控制寄存器 - - P0C5 P0C4 P0C3 P0C2 P0C1 P0C0 P0PH 9BH P0 口上拉电阻控制寄存器 - - P0H5 P0H4 P0H3 P0H2 P0H1 P0H0 SSCON0 9DH SSI 控制寄存器 0 SSCON1 9EH SSI 控制寄存器 1 SSDAT 9FH SSI 数据寄存器 P2 A0H P2 口数据寄存器 P2CON A1H P2PH 00000000b SSCON2[7:0] P2L[1:0] P0H[1:0] P0L[1:0] 00000000b P2C7 P2C6 A2H P2 口上拉电阻控制寄存器 P2H7 IE A8H 中断使能寄存器 IE1 A9H 中断使能寄存器 1 IP B8H 中断优先级控制寄存器 IP1 B9H 中断优先级控制寄存器 1 INT0F BAH INT0R BBH INT2F 版 P2 口输入/输出控制寄存器 xx000000b 00000000b SSCON1[7:0] 00000000b 00000000b P25 P24 - - P21 P20 0000xx00b P2C5 P2C4 - - P2C1 P2C0 0000xx00b P2H6 P2H5 P2H4 - - P2H1 P2H0 0000xx00b - ET2 - ET1 - ET0 EINT0 0x0x0x00b - - ETK EINT2 EBTM EPWM ESSI xxx00000b - - IPT2 - IPT1 - IPT0 IPINT0 xx0x0x00b - - - IPTK IPINT2 IPBTM IPPWM IPSSI xxx00000b INT0 下降沿中断控制寄存器 - - - - INT0F3 INT0F2 INT0F1 - xxxx000xb INT0 上升沿中断控制寄存器 - - - - INT0R3 INT0R2 INT0R1 - xxxx000xb C6H INT2 下降沿中断控制寄存器 - - INT2F5 INT2F4 - - INT2F1 INT2F0 xx00xx00b INT2R C7H INT2 上升沿中断控制寄存器 - - INT2R5 INT2R4 - - INT2R1 INT2R0 xx00xx00b T2CON C8H 定时器 2 控制寄存器 TF2 - RCLK TCLK - TR2 - - RCAP2L CAH 定时器 2 重载低 8 位 RCAP2L[7:0] 00000000b RCAP2H CBH 定时器 2 重载高 8 位 RCAP2H[7:0] 00000000b TL2 CCH 定时器 2 低 8 位 TL2[7:0] 00000000b TH2 CDH 定时器 2 高 8 位 TH2[7:0] BTMCON CEH 低频定时器控制寄存器 WDTCON CFH PSW EA 预 - 览 P26 xx000000b SSCON0[7:0] SSD[7:0] P27 xx000000b 00000000b 本 P2H[1:0] xxxxx000b 00000000b ENBTM BTMIF - - WDT 控制寄存器 - - - CLRWDT - D0H 程序状态字寄存器 CY AC F0 RS1 RS0 PWMCFG D1H PWM 设置寄存器 PWMCON D2H PWM 控制寄存器 PWMPRD D3H PWM 周期设置寄存器 PWMDTY3 D4H PWMDTY0 D5H PWMDTY1 PWMCKS[2:0] ENPWM PWMIF - 0x00x0xxb BTMFS[3:0] 00xx0000b WDTCKS[2:0] OV F1 xxx0x000b P 00000000b 000x0000b - INV3 INV2 INV1 INV0 - ENPWM3 ENPWM2 ENPWM1 ENPWM0 00xx0000b PWMPRD[7:0] 00000000b PWM3 占空比设置寄存器 PDT3[7:0] 00000000b PWM0 占空比设置寄存器 PDT0[7:0] 00000000b D6H PWM1 占空比设置寄存器 PDT1[7:0] 00000000b PWMDTY2 D7H PWM2 占空比设置寄存器 PDT2[7:0] 00000000b ACC E0H 累加器 ACC[7:0] OPERCON EFH 运算控制寄存器 B F0H B 寄存器 IAPKEY F1H IAPADL F2H IAPADH F3H IAP 写入地址高 5 位寄存器 Page 17 of 72 - - - - 00000000b - - - CHKSUMS xxxxxxx0b B[7:0] 00000000b IAP 保护寄存器 IAPKEY[7:0] 00000000b IAP 写入地址低 8 位寄存器 IAPADR[7:0] - - - 00000000b IAPADR[12:8] xxx00000b V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU IAPADE F4H IAP 写入扩展地址寄存器 IAPDAT F5H IAP 数据寄存器 IAPCTL F6H IAP 控制寄存器 CHKSUML FCH Check Sum 结果寄存器低位 CHKSUML[7:0] 00000000b CHKSUMH FDH Check Sum 结果寄存器高位 CHKSUMH[7:0] 00000000b OPINX FEH Option 指针 OPINX[7:0] 00000000b OPREG FFH Option 寄存器 OPREG[7:0] nnnnnnnnb IAPADER[7:0] 00000000b IAPDAT[7:0] - - - - 00000000b PAYTIMES[1:0] CMD[1:0] xxxx0000b 6.2.1 8051 CPU 内核常用特殊功能寄存器介绍 程序计数器 PC 程序计数器 PC 不属于 SFR 寄存器。PC 有 16 位,是用来控制指令执行顺序的寄存器。单片机上电或者复位 后,PC 值为 0000H,也即是说单片机程序从 0000H 地址开始执行程序。 累加器 ACC(E0H) 累加器 ACC 是 8051 内核单片机的最常用的寄存器之一,指令系统中采用 A 作为助记符。常用来存放参加计 算或者逻辑运算的操作数及结果。 B 寄存器(F0H) B 寄存器在乘除法运算中必须与累加器 A 配合使用。乘法指令 MUL A,B 把累加器 A 和寄存器 B 中的 8 位无 符号数相乘,所得的 16 位乘积的低位字节放在 A 中,高位字节放在 B 中。除法指令 DIV A,B 是用 A 除以 B,整 数商放在 A 中,余数放在 B 中。寄存器 B 还可以作为通用的暂存寄存器使用。 位编号 7 位符号 CY 览 5 F0 读/写 0 预 PSW(D0H) 程序状态字寄存器(读/写) 位编号 7 6 符号 CY AC 读/写 读/写 读/写 上电初始值 0 0 版 本 堆栈指针 SP(81H) 堆栈指针是一个 8 位的专用寄存器,它指示出堆栈顶部在通用 RAM 中的位置。单片机复位后,SP 初始值为 07H,即堆栈会从 08H 开始向上增加。08H~1FH 为工作寄存器组 1~3。 4 RS1 读/写 0 3 RS0 读/写 0 2 OV 读/写 0 1 F1 读/写 0 说明 标志位 1:加法运算最高位有进位,或者减法运算最高位有借位时 0:加法运算最高位无进位,或者减法运算最高位无借位时 进位辅助标志位(可在 BCD 码加减法运算时方便调整) 1:加法运算时在 bit3 位有进位,或减法运算在 bit3 位有借位时 0:无借位、进位 用户标志位 工作寄存器组选择位: RS1 RS0 当前使用的工作寄存器组 0~3 0 0 组 0 (00H~07H) 0 1 组 1 (08H~0FH) 1 0 组 2 (10H~17H) 1 1 组 3 (18H~1FH) 6 AC 5 4~3 F0 RS1、RS0 2 OV 溢出标志位 1 F1 0 P F1 标志 用户自定义标志 奇偶标志位。此标志位为累加器 ACC 中 1 的个数的奇偶值。 1:ACC 中 1 的个数为奇数 0:ACC 中 1 的个数为偶数(包括 0 个) Page 18 of 72 0 P 读/写 0 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 数据指针 DPTR (82H、83H) 数据指针 DPTR 是一个 16 位的专用寄存器,由低 8 位 DPL(82H)和高 8 位 DPH(83H)组成。DPTR 是 以传统 8051 内核单片机中唯一可以直接进行 16 位操作的寄存器,也可以分别对 DPL 和 DPH 按字节进行操作。 7 电源、复位和时钟 7.1 电源电路 SC92F837X 电源核心包括了 BG、LDO、POR、LVR 等电路,可实现在 2.4~5.5V 范围内可靠工作。 7.2 上电复位过程 SC92F837X 上电后,在客户端软件执行前,会经过以下的过程:  复位阶段  调入信息阶段  正常操作阶段 7.2.1 复位阶段 是指 SC92F837X 会一直处于复位的情况,直到供应给 SC92F837X 的电压高过某一电压,内部才开始有效的 Clock。复位阶段的时间长短和外部电源的上升速度有关,外部电源达到内建 POR 电压后,复位阶段才会完成。 7.2.2 调入信息阶段 览 版 本 在 SC92F837X 内部有一个预热计数器。在复位阶段期间,此预热计数器一直被清为 0,直到电压过了 POR 电压后,内部 RC 振荡器开始起振,该预热计数器开始计数。当内部的预热计数器计数到一定数目后, 每隔一定数 量个 HRC clock 就会从 Flash ROM 中的 IFB(包含 Code Option)读出一个 byte 数据存放到内部系统寄存器中。 直到预热完成后,该复位信号才会结束。 7.2.3 正常操作阶段 预 结束调入信息阶段后, SC92F837X 开始从 Flash 中读取指令代码即进入正常操作阶段。这时的 LVR 电压值是 用户写入 Code Option 的设置值。 7.3 复位方式 SC92F837X 有 4 种复位方式:①外部 RST 复位②低电压复位 LVR③上电复位 POR④看门狗 WDT 复位。 7.3.1 外部 RST 复位 外部 RST 复位就是从外部 RST 给 SC92F837X 一定宽度的复位脉冲信号,来实现 SC92F837X 的复位。 RST/SCK/INT01/P1.1 具有复位功能,用户在烧录程序前可以通过烧录上位机软件配置 Customer Option 项 来选择将其修改为非复位脚。 7.3.2 低电压复位 LVR SC92F837X 内建了一个低电压复位电路。而复位的门限电压有 4 种选择:4.3V、3.7V、2.9V、2.3V, 缺省值 Default 是用户写入的 Option 值。 OP_CTM0(C1H@FFH) Customer Option 寄存器 0(读/写) 位编号 7 6 5 4 符号 ENWDT SCLKS[1:0] 读/写 读/写 读/写 上电初始值 n x n 位编号 2 Page 19 of 72 位符号 DISLVR 3 DISRST 读/写 n 2 DISLVR 读/写 n 1 0 LVRS[1:0] 读/写 n 说明 LVR 使能设置 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 1~0 超高速 1T 8051 内核 16 路双模触控 Flash MCU 0:LVR 正常使用 1:LVR 无效 LVR 电压选择控制 11:4.3 V 复位 10:3.7V 复位 01:2.9V 复位 00:2.3V 复位 LVRS [1:0] SC92F837X 的复位部分电路结构图如下: RSTN pin LVR De-Bounce 4.3V 3.7V 2.9V 2.3V Code option De-Bounce (~2uS) RESET SFR POR (Power-Up Reset) 本 WatchDogTimer Overflow 版 SC92F837X 复位电路图 览 7.3.3 上电复位 POR 7.3.4 看门狗复位 WDT 预 SC92F837X 内部有上电复位电路,当电源电压 VDD 达到 POR 复位电压时,系统自动复位。 SC92F837X 有一个 WDT,其时钟源为内部的 128kHz 振荡器。用户可以通过编程器的 Code Option 选择是 否开启看门狗复位功能。 OP_CTM0(C1H@FFH) Customer Option 寄存器 0(读/写) 位编号 7 6 5 4 符号 ENWDT SCLKS[1:0] 读/写 读/写 读/写 上电初始值 n x n 位编号 7 位符号 ENWDT Page 20 of 72 位符号 CLRWDT 2 DISLVR 读/写 n 1 0 LVRS[1:0] 读/写 n 说明 WDT 开关(此位由系统将用户 Code Option 所设的值调入) 1: WDT 开始工作 0: WDT 关闭 WDTCON (CFH) WDT 控制寄存器(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 位编号 4 3 DISRST 读/写 n 5 x 4 CLRWDT 读/写 0 3 x 2 0 1 WDTCKS[2:0] 读/写 0 0 0 说明 WDT 清“0”位(写 1 有效) V0.2 http://www.socmcu.com SinOne 2~0 WDTCKS [2:0] 7~5,3 - SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 1 :WDT 计数器从 0 开始计数 此位由系统硬件自动置 0 看门狗时钟选择 WDTCKS[2:0] WDT 溢出时间 000 500ms 001 250ms 010 125ms 011 62.5ms 100 31.5ms 101 15.75ms 110 7.88ms 111 3.94ms 保留 7.3.5 复位初始状态 当 SC92F837X 处于复位状态时,多数寄存器会回到其初始状态。看门狗 WDT 处于关闭的状态,PORT 口寄 存器为 FFh。程序计数器 PC 初始值为 0000h,堆栈指针 SP 初始值为 07h。“热启动”的 Reset(如 WDT、LVR、 软件复位等)不会影响到 SRAM,SRAM 值始终是复位前的值。SRAM 内容的丢失会发生在电源电压低到 RAM 无法保存为止。 SFR 寄存器的上电复位初始值如下表: 初始值 SFR 名称 ACC B PSW SP DPL DPH PCON BTMCON IAPADE IAPADH IAPADL IAPCTL IAPDAT IAPKEY IE IE1 INT0R INT2R INT0F INT2F IP IP1 OPINX OPREG OTCON IOHCON P0 P0CON 00000000b 00000000b 00000000b 00000111b 00000000b 00000000b 0xxxxx00b 00xx0000b 00000000b xxx00000b 00000000b xxxx0000b 00000000b 00000000b 0x0x0x00b xxx00000b xxxx000xb xx00xx00b xxxx000xb xx00xx00b xx0x0x00b xxx00000b 00000000b nnnnnnnnb 00xxxxxxb 00000000b xx000000b xx000000b P1PH P2 P2CON P2PH PWMCFG PWMCON PWMDTY3 PWMDTY0 PWMDTY1 PWMDTY2 PWMPRD RCAP2H RCAP2L SSDAT SSCON0 SSCON1 SSCON2 TCON TMCON TMOD TH0 TL0 TH1 TL1 T2CON TH2 TL2 WDTCON Page 21 of 72 预 览 版 本 SFR 名称 初始值 xx000000b 0000xx00b 0000xx00b 0000xx00b 00x00000b 00xx0000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 0000xx0xb xxxxx000b x000x000b 00000000b 00000000b 00000000b 00000000b 0x00x0xxb 00000000b 00000000b xxx0x000b V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne P0PH P1 P1CON 超高速 1T 8051 内核 16 路双模触控 Flash MCU xx000000b xx000000b xx000000b CHKSUML CHKSUMH OPERCON 00000000b 00000000b xxxxxxx0b 7.4 高频系统时钟电路 SC92F837X 内建了一个振荡频率可调的高精度 HRC,HRC 出厂时被精确地调校至 24MHz@5V/25℃,用户 可以通过编程器的 Code Option 将系统时钟设置为 12/6/2MHz 使用。调校过程是过滤掉制程上的偏差对精度所造 成的影响。此 HRC 受工作的环境温度和工作电压影响会有一定的漂移,对于压漂(2.9V~5.5V)以及(-20℃ ~85℃)的温漂一般状况会在 ±1% 以内。 OP_CTM0(C1H@FFH) Customer Option 寄存器 0(读/写) 位编号 7 6 5 4 符号 ENWDT SCLKS[1:0] 读/写 读/写 读/写 上电初始值 n x n 位符号 SCLKS[1:0] 2 DISLVR 读/写 n 1 0 LVRS[1:0] 读/写 n 说明 系统时钟频率选择: 00:保留; 01:系统时钟频率为高频振荡器频率除以 2; 10:系统时钟频率为高频振荡器频率除以 4; 11:系统时钟频率为高频振荡器频率除以 12。 版 本 位编号 5~4 3 DISRST 读/写 n 览 SC92F837X 有一个特殊的功能:用户可修改 SFR 的值实现 HRC 频率在一定范围的调整。 预 OP_HRCR (83H@FFH) 系统时钟改变寄存器(读/写) 7 6 5 位编号 符号 读/写 n n n 上电初始值 位编号 7~0 位符号 OP_HRCR[7:0] 4 3 OP_HRCR[7:0] 2 1 0 n n n 读/写 n n 说明 HRC 频率改变寄存器 OP_HRCR[7:0]在上电后的值 HRC 确保 HRC 可准确工作在 12/6/2MHz (根据用户 Code Option 的选择),此数值的初始值每颗 IC 都可能会有差异。用户可通过修改此寄存器的值实现 HRC 工作频率的 改变。 初始值为 OP_HRCR [s],此时 IC 工作在 12/6/2MHz,OP_HRCR [7:0]每改变 1 则 HRC 频率改变约 0.23%@12MHz。 OP_HRCR [7:0]和 HRC 输出频率的关系如下: OP_HRCR [7:0]值 HRC 实际输出频率(12M 为例) OP_HRCR [s]-n 12000*(1-0.23%*n)kHz ... .... OP_HRCR [s]-2 12000*(1-0.23%*2) = 11944.8kHz OP_HRCR [s]-1 12000*(1-0.23%*1) = 11972.4kHz OP_HRCR [s] 12000kHz OP_HRCR [s]+1 12000*(1+0.23%*1) = 12027.6kHz OP_HRCR [s]+2 12000*(1+0.23%*2) = 12055.2kHz Page 22 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU ... OP_HRCR [s]+n ... 12000*(1+0.23%*n)kHz 说明: 1.IC 每次上电后 OP_HRCR[7:0]的值都是 HRC 工作在最接近 12/6/2MHz 的 HRC;用户可借助 EEPROM 在每次上电后修正 HRC 的 值以让 HRC 工作在用户需要的频率; 2.为保证 IC 工作可靠,IC 最高工作频率请勿超过 12MHz 的 10%, 即 13.2MHz; 3.请用户确认 HRC 频率的改变不会影响其它功能。 7.5 低频振荡器及低频时钟定时器 SC92F837X 内建一个频率为 128kHz 的 RC 振荡电路,作为低频时钟定时器 Base Timer 和 WDT 的时钟源。 开启 Base Timer 或使能 WDT 均可启动 128kHz 低频振荡器。 低频时钟定时器 Base Timer 可以把 CPU 从 STOP mode 唤醒,并且产生中断。 BTMCON (CEH) 低频定时器控制寄存器(读/写) 7 6 5 位编号 ENBTM BTMIF 符号 读/写 读/写 读/写 0 0 x 上电初始值 3~0 BTMFS [3:0] 5~4 - 本 BTMIF 版 6 2 1 BTMFS[3:0] 0 0 0 读/写 0 0 说明 低频 Base Timer 启动控制 0: Base Timer 不启动 1: Base Timer 启动 Base Timer 中断申请标志 当 CPU 接受 Base Timer 的中断后, 此标志位会被硬件自动清除。 用户也可以用软件清除. 低频时钟中断频率选择 0000:每 15.6ms 产生一个中断 0001:每 31.3ms 产生一个中断 0010:每 62.5ms 产生一个中断 0011:每 125ms 产生一个中断 0100:每 0.25 秒产生一个 中断 0101:每 0.5 秒产生一个 中断 0110:每 1.0 秒产生一个 中断 0111:每 2.0 秒产生一个 中断 1000:每 4.0 秒产生一个 中断 1001~1111: 保留 保留 览 位符号 ENBTM 3 预 位编号 7 4 x 7.6 STOP 模式和 IDLE 模式 SC92F837X 提供了一个特殊功能寄存器 PCON,配置该寄存器的 bit0 和 bit1 可控制 MCU 进入不同的工作模 式。 对 PCON.1 写入 1,内部的高频系统时钟就会停止, 进到 STOP 模式 , 达到省电功能。在 STOP 模式下, 用 户可以通过外部中断 INT0、INT2 和低频时钟中断把 SC92F837X 唤醒,也可以通过外部复位将 STOP 唤醒。 对 PCON.0 写入 1,程序停止运行,进入 IDLE 模式,但外部设备及时钟继续运行,进入 IDLE 模式前所有 CPU 状态都被保存。IDLE 模式可由任何中断唤醒。 Page 23 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU PCON (87H) 电源管理控制寄存器(只写、*不可读 *) 位编号 7 6 5 符号 SMOD 读/写 只写 上电初始值 0 x x 位编号 1 位符号 STOP 0 IDL 4 x 3 x 2 x 1 STOP 只写 0 0 IDL 只写 0 说明 STOP 模式控制 0: 正常操作模式 1: 节能模式, 高频振荡器停止工作,低频振荡器及 WDT 可根据设定 选择工作与否。 IDLE 模式控制 0: 正常操作模式 1: 节能模式, 程序停止运行,但外部设备及时钟继续运行,进入 IDLE 模式前所有 CPU 状态都被保存。 注意: 配置 MCU 进入 STOP 或 IDLE 模式时,对 PCON 寄存器进行配置操作的语句后面要加上 8 个 NOP 指令, 不能直接跟其它指令,否则在唤醒后无法正常执行后续的指令! 例如:设置 MCU 进入 STOP 模式: 汇编例程: ORL PCON,#02H NOP NOP NOP NOP NOP NOP NOP NOP …… Page 24 of 72 览 版 //PCON 的 bit1 STOP 位写 1,配置 MCU 进入 STOP 模式 //至少需要 8 个_nop_() 预 PCON |= 0x02; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); …… 本 C 语言例程: #include”intrins.h” ; PCON 的 bit1 STOP 位写 1,配置 MCU 进入 STOP 模式 ; 至少需要 8 个 NOP V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 8 中央处理单元 CPU 及指令系统 8.1 CPU SC92F837X 所用的 CPU 是一个 超高速的 1T 标准 8051 内核,其指令完全兼容传统 8051 内核单片机。 8.2 寻址方式 SC92F837X 的 1T 8051 CPU 指令的寻址方式有:①立即寻址②直接寻址③间接寻址④寄存器寻址⑤相对寻 址⑥变址寻址⑦位寻址 8.2.1 立即寻址 立即寻址也称为立即数,它是在指令操作数中直接给出参加运算的操作数,指令举例如下: MOV A, #50H (这条指令是将立即数 50H 送到累加器 A 中) 8.2.2 直接寻址 在直接寻址方式中,指令操作数域给出的是参加运算操作数的地址。直接寻址方式只能用来表示特殊功能寄 存器、内部数据寄存器和位地址空间。其中特殊功能寄存器和位地址空间只能用直接寻址方式访问。举例如下: ANL 50H, #91H (表示 50H 单元中的数与立即数 91H 相“与”,结果存放在 50H 单元中。其中 50H 为直 接地址,表示内部数据寄存器 RAM 中的一个单元。) 8.2.3 间接寻址 版 本 间接寻址采用 R0 或 R1 前添加“@”符号来表示。假设 R1 中的数据是 40H,内部数据存储器 40H 单元的数据 为 55H,则指令为 MOV A, @R1 (把数据 55H 传送至累加器 A)。 览 8.2.4 寄存器寻址 预 寄存器寻址时对选定的工作寄存器 R7~R0、累加器 A、通用寄存器 B、地址寄存器和进位 C 中的数进行操作。 其中寄存器 R7~R0 由指令码的低 3 位表示,ACC、B、DPTR 及进位位 C 隐含在指令码中。因此,寄存器寻址也 包含一种隐含寻址方式。寄存器工作区的选择由程序状态字寄存器 PSW 中的 RS1、RS0 来决定。指令操作数指 定的寄存器均指当前工作区的寄存器。 INC R0 是指(R0)+1→R0 8.2.5 相对寻址 相对寻址是将程序计数器 PC 中的当前值与指令第二字节给出的数相加,其结果作为转移指令的转移地址。 转移地址也成为转移目的地址,PC 中的当前值成为基地址,指令第二字节给出的数成为偏移量。由于目的地址是 相对于 PC 中的基地址而言,所以这种寻址方式成为相对寻址。偏移量为带符号的数,所能表示的范围为+127~128.这种寻址方式主要用于转移指令。 JC $+50H 表示若进位位 C 为 0,则程序计数器 PC 中的内容不改变,即不转移。若进位位 C 为 1,则以 PC 中的当前值及基 地址,加上偏移量 50H 后所得到的结果作为该转移指令的目的地址。 8.2.6 变址寻址 在变址寻址方式中,指令操作数制定一个存放变址基址的变址寄存器。变址寻址时,偏移量与变址基值相加, 其结果作为操作数的地址。变址寄存器有程序计数器 PC 和地址寄存器 DPTR。 MOVC A, @A+DPTR 表示累加器 A 为偏移量寄存器,其内容与地址寄存器 DPTR 中的内容相加,其结果作为操作数的地址,取出 该单元中的数送入累加器 A 中。 8.2.7 位寻址 位寻址是指对一些可进行位操作的内部数据存储器 RAM 和特殊功能寄存器进行位操作时的寻址方式。在进行 位操作时,借助于进位位 C 作为位操作累加器,指令操作数直接给出该位的地址,然后根据操作码的性质对该位 进行位操作。位地址与字节直接寻址中的字节地址编码方式完全一样,主要由操作指令的性质加以区分,使用时 应特别注意。 Page 25 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne MOV C, 20H 超高速 1T 8051 内核 16 路双模触控 Flash MCU (将地址为 20H 的位操作寄存器值送入进位位 C 中。) 9 INTERRUPT 中断 SC92F837X 单片机提供 9 个中断源:Timer0, Timer1, Timer2, INT0, INT2, PWM, SSI, Base Timer, TK。这 9 个中断源分为 2 个中断优先级,并可以单独分别设置为高优先级或者低优先级。两个外部中断可以分别设定其中 每个中断源的触发条件为上升、下降或上下沿,每个中断分别有独立的优先级设置位、中断标志、中断向量和使 能位,总的使能位 EA 可以实现所有中断的打开或者关闭。 9.1 中断源、向量 中断发生 时间 中断标志 中断使能 控制 中断优先权 控制 中断向量 查询优先级 中断号 (C51) 标志清除 方式 能否唤醒 STOP INT0 外部中断 0 条件符合 IE0 EINT0 IPINT0 0003H 1 (高) 0 H/W Auto 能 Timer0 Timer0 溢 出 TF0 ET0 IPT0 000BH 2 1 H/W Auto 不能 Timer1 Timer1 溢 出 TF1 ET1 IPT1 001BH 3 3 H/W Auto 不能 Timer2 Timer2 溢 出 TF2 ET2 IPT2 002BH 4 5 必须用户 清除 不能 ESSI IPSPI 本 SC92F837X 的中断源、中断向量、及相关控制位列表如下: 中断源 5 7 必须用户 清除 不能 SSI 接收或发送 SPIF/TWIF 完成 003BH PWM 溢出 PWMIF EPWM IPPWM 0043H 6 8 H/W Auto 不能 BTM Base timer 溢出 BTMIF EBTM IPBTM 004BH 7 9 H/W Auto 能 INT2 外部中断 2 条件符合 - EINT2 IPINT2 0053H 8 10 - 能 TK Touch Key 计数器溢出 TKIF ETK IPTK 005B 9 11 H/W Auto 不能 预 览 版 PWM 在 EA=1 及各中断使能控制为 1 的情况下,各中断发生情况如下: 定时器中断:Timer0 和 Timer1 溢出时会产生中断并将中断标志 TF0 和 TF1 置为“1”,当单片机执行该定时器 中断时,中断标志 TF0 和 TF1 会被硬件自动清“0”。Timer2 溢出时会产生中断并将中断标志 TF2 置为“1”,在 Timer2 中断发生后,硬件并不会自动清除 TF2 位,此 bit 必须由使用者的软件负责清除。 SSI 中断:当 SSI 接收或发送一帧数据完成时 SPIF/TWIF 位会被硬件自动置“1”,SSI 中断产生。当单片机执 行该 SSI 中断时,中断标志 SPIF/TWIF 必须由使用者的软件负责清除。 PWM 中断:当 PWM 计数器溢出时(也就是说: 计数器数到超过 PWMPRD 时),PWMIF 位(PWM Interrupt Flag)会被硬件自动置“1”,PWM 中断产生。当单片机执行该 PWM 中断时,中断标志 PWMIF 会被硬件自动清“0”。 外部中断 INT0、INT2:当外部中断口有中断条件发生时,外部中断就发生了。其中 INT0 会产生中断标志为 IE0,用户不需要处理,硬件会自动清除。INT0 有三个外部中断源, INT2 有四个外部中断源,用户可以根据需要 设成上沿、下沿或者双沿中断,可通过设置 SFR (INTxF 和 INTxR)来实现。用户可通过 IP 寄存器来设置每个 中断的优先级级别。外部中断 INT0、INT2 还可以唤醒单片机的 STOP。 Page 26 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 9.2 中断结构图 SC92F837X 的中断结构如下图所示: IE[7] (EA) Interrupt to 03 h IE[0](EINT0) INT0 TCON[1] (IE0) IE[7] (EA) Interrupt to 0Bh IE[1] (ET0) Timer-0 TCON[5] (TF0) IE[7] (EA) Interrupt to 1Bh IE[3] (ET1) Timer-1 TCON[7] (TF1) IE[7] (EA) Interrupt to 2Bh IE[5] (ET2) Timer-2 T2CON[7] (TF2) IE[7] (EA) SSI 版 SPIF/TWIF 本 IE1[0] (ESSI) Interrupt to 3Bh IE[7] (EA) IE1[1] (EPWM) Interrupt to 43 h 览 PWM PWMCO N[6] (PWMIF) BTM 预 IE[7] (EA) IE1[2] (EBTM) Interrupt to 4Bh BTMCON[6] (BTMIF) IE[7] (EA) Interrupt to 53h INT2 IE1[3] (EINT2) IE[7] (EA) TK IE1[4] (ETK) Interrupt to 5Bh TKIF SC92F837X 中断结构和向量 Page 27 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 9.3 中断优先级 SC92F837X 单片机的中断具有两个中断优先级,这些中断源的请求可编程为高优先级中断或者低优先级中 断,即可实现两级中断服务程序的嵌套。一个正在执行的低优先级中断能被高优先级中断请求所中断,但不能被 另一个同一优先级的中断请求所中断,一直执行到结束,遇到返回指令 RETI,返回主程序后再执行一条指令才能 响应新的中断请求。 也就是说: ① 低优先级中断可被高优先级中断请求所中断,反之不能; ② 任何一种中断,在响应过程中,不能被同一优先级的中断请求所中断。 中断查询顺序:SC92F837X 单片机的同一优先级中断,如果同时来几个中断,则中断响应的优先顺序同 C51 中的中断查询号相同,即查询号小的会优先响应,查询号大的会慢响应。 9.4 中断处理流程 本 当一个中断产生并且被 CPU 响应,则主程序运行被中断,将执行下述操作 ① 当前正在执行的指令执行完; ② PC 值被压入堆栈,保护现场; ③ 中断向量地址载入程序计数器 PC; ④ 执行相应的中断服务程序; ⑤ 中断服务程序结束并 RETI; ⑥ 将 PC 值退栈,并返回执行中断前的程序。 在此过程中,系统不会立即执行其它同一优先级的中断,但会保留所发生的中断请求,在当前中断处理结束 后,转去执行新的中断请求。 位编号 7 位符号 EA 5 ET2 3 ET1 1 ET0 0 EINT0 6, 4, 2 - Page 28 of 72 5 ET2 读/写 0 览 6 x 预 IE (A8H) 中断使能寄存器(读/写) 位编号 7 符号 EA 读/写 读/写 上电初始值 0 版 9.5 中断相关 SFR 寄存器 4 x 3 ET1 读/写 0 2 x 1 ET0 读/写 0 0 EINT0 读/写 0 说明 中断使能的总控制 0: 关闭所有的中断 1: 打开所有的中断 Timer2 中断使能控制 0:关闭 TIMER2 中断 1:允许 TIMER2 中断 Timer1 中断使能控制 0:关闭 TIMER1 中断 1:允许 TIMER1 中断 Timer0 中断使能控制 0:关闭 TIMER0 中断 1:允许 TIMER0 中断 外部中断 0 使能控制 0:关闭 INT0 中断 1:打开 INT0 中断 保留 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU IP (B8H) 中断优先级控制寄存器(读/写) 位编号 7 6 符号 读/写 上电初始值 x x 3 IPT1 1 IPT0 0 IPINT0 7~6, 4, 2 - 3 EINT2 2 EBTM 1 EPWM 0 ESSI 7~5 - 0 IPINT0 读/写 0 说明 览 5 x 4 ETK 3 EINT2 2 EBTM 1 EPWM 0 ESSI 读写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 Touch Key 中断使能控制 0:关闭 Touch Key 中断 1:打开 Touch Key 中断 外部中断 2 使能控制 0:关闭 INT2 中断 1:打开 INT2 中断 Base Timer 中断使能控制 0: 关闭 Base Timer 中断 1: 允许 Base Timer 中断 PWM 中断使能控制 0:关闭 PWM 中断 1:允许 PWM 计数溢出(数到 PWMPRD)时产生中断 三合一串口中断使能控制 0: 关闭串口中断 1: 允许串口中断 保留 IP1 (B9H) 中断优先级控制寄存器 1(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 Page 29 of 72 1 IPT0 读/写 0 预 位符号 ETK 2 x Timer2 中断优先权选择 0:Timer2 中断优先权为低 1:Timer2 中断优先权为高 Timer1 中断优先权选择 0:Timer1 中断优先权为低 1:Timer1 中断优先权为高 Timer0 中断优先权选择 0:Timer0 中断优先权为低 1:Timer0 中断优先权为高 INT0 计数器中断优先权选择 0:INT0 中断优先权为低 1:INT0 中断优先权为高 保留 IE1 (A9H) 中断使能寄存器 1(读/写) 位编号 7 6 符号 读/写 上电初始值 x x 位编号 4 3 IPT1 读/写 0 本 位符号 IPT2 4 x 版 位编号 5 5 IPT2 读/写 0 5 x 4 IPTK 3 IPINT2 2 IPBTM 1 IPPWM 0 IPSSI 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne IPINT2 2 IPBTM 1 IPPWM 0 IPSSI 7~5 - TCON (88H) 定时器控制寄存器(读/写) 位编号 7 6 TF1 TR1 符号 读/写 上电初始值 读/写 0 读/写 0 位符号 IE0 3~2,0 - 4 TR0 读/写 0 读/写 0 INT0F (BAH) INT0 下降沿中断控制寄存器(读/写) 7 6 5 位编号 符号 读/写 x x x 上电初始值 位编号 3~1 位符号 INT0Fn (n=1~3) 7~4,0 - 位符号 INT0Rn (n=1~3) 7~4,0 - Page 30 of 72 2 x 1 IE0 读/写 0 0 x 4 x 3 INT0F3 2 INT0F2 1 INT0F1 读/写 0 读/写 0 读/写 0 3 INT0R3 2 INT0R2 1 INT0R1 读/写 0 读/写 0 读/写 0 0 x 说明 INT0 下降沿中断控制 0 : INT0n 下降沿中断关闭 1: INT0n 下降沿中断使能 保留 INT0R (BBH) INT0 上升沿中断控制寄存器(读/写) 7 6 5 位编号 符号 读/写 x x x 上电初始值 位编号 3~1 3 x 说明 INT0 溢出中断请求标志。INT0 产生溢出,发生中断时,硬件将 IE0 置 为“1”,申请中断,CPU 响应时,硬件清“0”。 保留 预 位编号 1 5 TF0 本 3 说明 Touch Key 中断优先权选择 0:Touch Key 中断优先权为低 1:Touch Key 中断优先权为高 INT2 计数器中断优先权选择 0:INT2 中断优先权为低 1:INT2 中断优先权为高 Base Timer 中断优先权选择 0:Base Timer 中断优先权为低 1:Base Timer0 中断优先权为高 PWM 中断使能选择 0: PWM 中断优先权为低 1: PWM 中断优先权为高 三合一串口中断优先权选择 0: SSI 中断优先权为低 1: SSI 中断优先权为高 保留 版 位符号 IPTK 览 位编号 4 超高速 1T 8051 内核 16 路双模触控 Flash MCU 4 x 0 x 说明 INT0 上升沿中断控制 0 : INT0n 上升沿中断关闭 1: INT0n 上升沿中断使能 保留 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU INT2F (C6H) INT2 下降沿中断控制寄存器(读/写) 7 6 5 位编号 INT2F5 符号 读/写 读/写 x x 0 上电初始值 位符号 INT2Fn (n=0,1,4,5) 7~6,3~2 - 7~6,3~2 - 1 INT2F1 0 INT2F0 读/写 0 读/写 0 2 x 1 INT2R1 0 INT2R0 读/写 0 读/写 0 说明 4 INT2R4 3 x 读/写 0 说明 INT2 上升沿中断控制 0 : INT2n 上升沿中断关闭 1: INT2n 上升沿中断使能 保留 本 位符号 INT2Rn (n=0,1,4,5) 读/写 0 2 x INT2 下降沿中断控制 0 : INT2n 下降沿中断关闭 1: INT2n 下降沿中断使能 保留 INT2R (C7H) INT2 上升沿中断控制寄存器(读/写) 7 6 5 位编号 INT2R5 符号 读/写 读/写 x x 0 上电初始值 位编号 5~0 3 x 览 10 定时器 TIMER0 、TIMER1 版 位编号 5~0 4 INT2F4 预 SC92F837X 单片机内部的两个 16 位定时器/计数器,它们具有计数方式和定时方式两种工作模式。特殊功能 寄存器 TMOD 中有一个控制位 C/Tx 来选择 T0 和 T1 是定时器还是计数器。它们本质上都是一个加法计数器,只 是计数的来源不同。定时器的来源为系统时钟或者其分频时钟,但计数器的来源为外部管脚的输入脉冲。只有在 TRx=1 的时候,T0 和 T1 才会被打开计数。 计数器模式下,P1.2/T0 和 P1.3/T1 管脚上的每一个脉冲,T0 和 T1 的计数值分别增加 1。 定时器模式下,可通过特殊功能寄存器 TMCON 来选择 T0 和 T1 的计数来源是 fSYS/12 或 fSYS (fSYS 为分频后 的系统时钟)。 定时器/计数器 T0 有 4 种工作模式,定时器/计数器 T1 有 3 种工作模式(模式三不存在): ① 模式 0:13 位定时器/计数器模式 ② 模式 1:16 位定时器/计数器模式 ③ 模式 2: 8 位自动重载模式 ④ 模式 3:两个 8 位定时器/计数器模式 在上述模式中,T0 和 T1 的模式 0、1、2 都相同,模式 3 不同。 10.1 T0 和 T1 相关特殊功能寄存器 符号 地址 说明 Reset 值 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 - - IE0 - 0000xx0xb - C/T1 M11 M01 - C/T0 M10 M00 x000x000b TCON 88H 定时器控制寄存器 TMOD 89H 定时器工作模式寄存器 TL0 8AH 定时器 0 低 8 位 TL0[7:0] 00000000b TL1 8BH 定时器 1 低 8 位 TL1[7:0] 00000000b TH0 8CH 定时器 0 高 8 位 TH0[7:0] 00000000b TH1 8DH 定时器 1 高 8 位 TH1[7:0] 00000000b TMCON 8EH 定时器频率控制寄存器 Page 31 of 72 - - - - - T2FD T1FD T0FD xxxxx000b V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 各寄存器的解释说明如下: 读/写 0 读/写 0 位编号 7 位符号 TF1 6 TR1 5 TF0 4 TR0 4 TR0 读/写 0 读/写 0 5,4 M11,M01 2 C/T0 1,0 M10,M00 7,3 - 2 x 1 IE0 读/写 0 0 x 读/写 0 3 x 2 C/T0 1 M10 0 M00 读/写 0 读/写 0 读/写 0 T0 说明 TMOD[6]控制定时器 1 0:定时器,T1 计数来源于 fSYS 分频 1:计数器,T1 计数来源于外部管脚 T1/P1.3 定时器/计数器 1 模式选择 00 : 13 位定时器/计数器,TL1 高 3 位无效 01 : 16 位定时器/计数器,TL1 和 TH1 全 10 : 8 位自动重载定时器,溢出时将 TH1 存放的值自动重装入 TL1 11 : 定时器/计数器 1 无效(停止计数) TMOD[2]控制定时器 0 0:定时器,T0 计数来源于 fSYS 分频 1:计数器,T0 计数来源于外部管脚 T0/P1.2 定时器/计数器 0 模式选择 00 : 13 位定时器/计数器,TL0 高 3 位无效 01 : 16 位定时器/计数器,TL0 和 TH0 全 10 : 8 位自动重载定时器,溢出时将 TH0 存放的值自动重装入 TL0 11 : 定时器 0 此时作为双 8 位定时器/计数器。TL0 作为一个 8 位定时器 /计数器,通过标准定时器 0 的控制位控制;TH0 仅作为一个 8 位定时 器,由定时器 1 的控制位控制。 保留 预 位符号 C/T1 4 M01 览 TMOD (89H) 定时器工作模式寄存器(读/写) 位编号 7 6 5 C/T1 M11 符号 读/写 读/写 读/写 x 0 0 上电初始值 T1 位编号 6 3 x 说明 T1 溢出中断请求标志。T1 产生溢出,发生中断时,硬件将 TF1 置为 “1”,申请中断,CPU 响应时,硬件清“0”。 定时器 T1 的运行控制位。此位由软件置 1 和清 0。当 TR1=1 时,允许 T1 开始计数。TR1=0 时禁止 T1 计数。 T0 溢出中断请求标志。T0 产生溢出,发生中断时,硬件将 TF0 置为 “1”,申请中断,CPU 响应时,硬件清“0”。 定时器 T0 的运行控制位。此位由软件置位和清 0。当 TR0=1 时,允许 T0 开始计数。TR0=0 时禁止 T0 计数。 本 读/写 上电初始值 5 TF0 版 TCON (88H) 定时器控制寄存器(读/写) 位编号 7 6 TF1 TR1 符号 TMOD 寄存器中 TMOD[0]~TMOD[2]是设置 T0 的工作模式;TMOD[4]~TMOD[6]是设置 T1 的工作模式。 定时器和计数器 Tx 功能由特殊功能寄存器 TMOD 的控制位 C/Tx 来选择,M0x 和 M1x 都是用来选择 Tx 的工 作模式。TRx 作为 T0 和 T1 的开关控制,只有 TRx=1 时 T0 和 T1 才打开。 Page 32 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU TMCON (8EH) 定时器频率控制寄存器(读/写) 位编号 7 6 5 符号 读/写 x x x 上电初始值 位编号 1 位符号 T1FD 0 2 T2FD 1 T1FD 0 T0FD 读/写 0 读/写 0 读/写 0 2 x 1 ET0 0 EINT0 读/写 0 读/写 0 1 IPT0 0 IPINT0 读/写 0 读/写 0 T1 输入频率选择控制 0:T1 频率源自于 fSYS/12 1:T1 频率源自于 fSYS T0 输入频率选择控制 0:T0 频率源自于 fSYS/12 1:T0 频率源自于 fSYS T0FD 5 ET2 4 x 读/写 0 3 ET1 读/写 0 说明 本 位符号 ET1 版 Timer1 中断使能控制 0: 关闭 TIMER1 中断 1: 允许 TIMER1 中断 Timer0 中断使能控制 0: 关闭 TIMER0 中断 1: 允许 TIMER0 中断 ET0 预 览 1 3 x 说明 IE (A8H) 中断使能寄存器(读/写) 位编号 7 6 EA 符号 读/写 读/写 0 x 上电初始值 位编号 3 4 x IP (B8H) 中断优先级控制寄存器(读/写) 位编号 7 6 符号 读/写 x x 上电初始值 位编号 3 位符号 IPT1 1 IPT0 5 IPT2 读/写 0 4 x 3 IPT1 2 x 读/写 0 说明 Timer1 中断优先权 0:设定 Timer 1 的中断优先权是 “低” 1:设定 Timer 1 的中断优先权是 “高” Timer0 中断优先权 0:设定 Timer 0 的中断优先权是 “低” 1:设定 Timer 0 的中断优先权是 “高” 10.2 T0 工作模式 通过对寄存器 TMOD 中的 M10、M00(TMOD[1]、TMOD[0])的设置,定时器/计数器 0 可实现 4 种不同的工作 模式 。 工作模式 0: 13 位计数器/定时器。 TH0 寄存器存放 13 位计数器/定时器的高 8 位(TH0.7~TH0.0), TL0 存放低 5 位(TL0.4~TL0.0)。TL0 的高三位 (TL0.7~TL0.5)是不确定值,读取时应被忽略掉。当 13 位定时器/计数器递增溢出时,系统会将定时器溢出标志 TF0 置 1。如果定时器 0 中断被允许,将会产生一个中断。 Page 33 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU C/T0 位选择计数器/定时器的时钟输入源。如果 C/T0=1,定时器 0 输入脚 T0(P1.2)的电平从高到低的变化, 会使定时器 0 数据寄存器加 1。如果 C/T0=0,选择系统时钟的分频为定时器 0 的时钟源。 当 TR0 置 1 打开定时器 T0。TR0 置 1 并不强行复位定时器,意味着如果 TR0 置 1,定时器寄存器将从上次 TR0 清 0 时的值开始计数。所以,在允许定时器之前,应该设定定时器寄存器的初始值。 当作为定时器应用时,可配置 T0FD 来选择时钟源的分频比例。 fsys /12 /1 T0FD=0 T0FD=1 TMOD.2=0 (C/T0) (TF0) TL0 5 bit T0=P1.2 TH0 8 bit TMOD.2=1 (C/T0) TCON.5 T0中断请求 (TR0) TCON.4 定时器/计数器工作模式 0: 13 位定时器/计数器 T0FD=0 T0FD=1 TMOD.2=0 (C/T0) 版 /12 /1 览 fsys 本 工作模式 1: 16 位计数器/定时器 除了使用 16 位(TL0 的 8 位数据全部有效)计数器/定时器之外,模式 1 和模式 0 的运行方式相同。打开和配置 计数器/定时器方式也相同。 T0=P1.2 (TF0) TL0 8 bit TCON.5 T0中断请求 预 TMOD.2=1 (C/T0) TH0 8 bit (TR0) TCON.4 定时器/计数器工作模式 0: 16 位定时器/计数器 工作模式 2: 8 位自动重载计数器/定时器 在工作模式 2 中, 定时器 0 是 8 位自动重载计数器/定时器。TL0 存放计数值,TH0 存放重载值。当在 TL0 中的计数器溢出至 0x00 时,定时器溢出标志 TF0 被置 1,寄存器 TH0 的值被重载入寄存器 TL0 中。如果定时 器中断使能,当 TF0 置 1 时将产生一个中断,但在 TH0 中的重载值不会改变。在允许定时器正确计数开始之 前,TL0 必须初始化为所需要的值。 除了自动重载功能外,工作模式 2 中的计数器/定时器的使能和配置方式同模式 0 和 1 是相同的。 当作为定时器应用时,可配置寄存器 TMCON.0(T0FD)来选择定时器时钟源被系统时钟 fSYS 分频的比例。 Page 34 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne /12 /1 fsys 超高速 1T 8051 内核 16 路双模触控 Flash MCU T0FD=0 T0FD=1 (TF0) TMOD.2=0 (C/T0) TL0 8 bit T0=P1.2 TCON.5 T0中断请求 TMOD.2=1 (C/T0) Set (TR0) TCON.4 TH0 8 bit 定时器/计数器工作模式 2: 自动重载的 8 位定时器/计数器 本 工作模式 3: 两个 8 位计数器/定时器(仅限于定时器 0) 在工作模式 3 中,定时器 0 用作两个独立的 8 位计数器/定时器,分别由 TL0 和 TH0 控制。TL0 通过定时器 0 的控制位(在 TCON 中)和状态位(在 TMOD 中):TR0、C/T0、TF0 控制。定时器 0 可通过 T0 的 TMOD.2(C/T0) 来选择是定时器模式还是计数器模式。 TH0 通过定时器 1 的控制 TCON 来设置相关的控制,但 TH0 仅被限定为定时器模式,无法通过 TMOD.2(C/T0)来设定为计数器模式。TH0 由定时器控制位 TR1 的控制使能,需设定 TR1=1。当发生溢出及产 生中断时,TF1 会置 1,并按 T1 发生中断来进行相应的处理。 在 T0 被设为工作模式 3 时,TH0 定时器占用了 T1 的中断资源及 TCON 中寄存器,T1 的 16 位计数器会停 止计数,相当于“TR1=0”。当采用 TH0 定时器工作时,需设置 TR1=1。 版 10.3 T1 工作模式 览 通过对寄存器 TMOD 中的 M11、M01(TMOD[5]、TMOD[4])的设置,定时器/计数器 1 可实现 3 种不同的工作 模式 。 预 工作模式 0: 13 位计数器/定时器。 TH1 寄存器存放 13 位计数器/定时器的高 8 位(TH1.7~TH1.0);TL1 存放低 5 位(TL1.4~TL1.0)。TL1 的高三 位(TL1.7~TL1.5)是不确定值,读取时应被忽略掉。当 13 位定时器计数器递增溢出时,系统会将定时器溢出标志 TF1 置 1。如果定时器 1 中断被允许,将会产生一个中断。C/T1 位选择计数器/定时器的时钟源。 如果 C/T1=1,定时器 1 输入脚 T1(P1.3)的电平从高到低的变化,会使定时器 1 数据寄存器加 1。如果 C/T1=0, 选择系统时钟的分频为定时器 1 的时钟源。 TR1 置 1 打开定时器。TR1 置 1 并不强行复位定时器,意味着如果 TR1 置 1,定时器寄存器将从上次 TR1 清 0 时的值开始计数。所以,在允许定时器之前,应该设定定时器寄存器的初始值。 当作为定时器应用时,可配置 T1FD 来选择时钟源的分频比例。 fsys /12 /1 T1FD=0 T1FD=1 TMOD.6=0 (C/T1) T1=P1.3 TMOD.6=1 (C/T1) (TF1) TL1 5 bit TH1 8 bit TCON.7 T1中断请求 (TR1) TCON.6 定时器/计数器工作模式 0: 13 位定时器/计数器 工作模式 1: 16 位计数器/定时器 除了使用 16 位(TL1 的 8 位数据全部有效)计数器/定时器之外,模式 1 和模式 0 的运行方式相同。打开和配置 计数器/定时器方式也相同。 Page 35 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne /12 /1 fsys 超高速 1T 8051 内核 16 路双模触控 Flash MCU T1FD=0 T1FD=1 TMOD.6=0 (C/T1) (TF1) TL1 8 bit T1=P1.3 TH1 8 bit TCON.7 TMOD.6=1 (C/T1) T1中断请求 (TR1) TCON.6 定时器/计数器工作模式 0: 16 位定时器/计数器 T1FD=0 T1FD=1 TMOD.6=0 (C/T1) T1=P1.3 T1中断请求 Set 预 (TR1) TCON.6 TCON.7 览 TMOD.6=1 (C/T1) TL1 8 bit 版 /12 /1 fsys 本 工作模式 2: 8 位自动重载计数器/计数器 在工作模式 2 中, 定时器 1 是 8 位自动重载计数器/定时器。TL1 存放计数值,TH1 存放重载值。当在 TL1 中的计数器溢出至 0x00 时,定时器溢出标志 TF1 被置 1,寄存器 TH1 的值被重载入寄存器 TL1 中。如果定时 器中断使能,当 TF1 置 1 时将产生一个中断,但在 TH1 中的重载值不会改变。在允许定时器正确计数开始之 前,TL1 必须初始化为所需要的值。 除了自动重载功能外,工作模式 2 中的计数器/定时器的使能和配置方式同方式 0 和 1 是相同的。 当作为定时器应用时,可配置寄存器 TMCON.4(T1FD)来选择定时器时钟源被系统时钟 fSYS 分频的比例。 TH1 8 bit 定时器/计数器工作模式 2: 自动重载的 8 位定时器/计数器 11 定时器 TIMER2 单片机内部的 Timer2 作为定时器本质上都是一个加法计数器,定时器的时钟来源为系统时钟或者其分频时钟。 TR2 是 T2 计数的开关控制,只有在 TR2=1 的时候,T2 才会被打开计数。 定时器模式下,可通过特殊功能寄存器 TMCON 来选择 T2 的计数来源是 fSYS/12 或 fSYS。 定时器/计数器 T2 有 2 种工作模式: ① 模式 1:16 位自动重载定时器模式 ② 模式 2: 波特率发生器模式 11.1 T2 相关特殊功能寄存器 符号 地址 说明 7 6 5 4 3 2 1 0 Reset 值 TF2 - RCLK TCLK - TR2 - - 0x00x0xxb T2CON C8H 定时器 2 控制寄存器 RCAP2L CAH 定时器 2 重载低 8 位 RCAP2L[7:0] 00000000b RCAP2H CBH 定时器 2 重载高 8 位 RCAP2H[7:0] 00000000b TL2 CCH 定时器 2 低 8 位 TL2[7:0] 00000000b TH2 CDH 定时器 2 高 8 位 TMCON 8EH 定时器频率控制寄存器 Page 36 of 72 TH2[7:0] - - - - - 00000000b T2FD T1FD T0FD xxxxx000b V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 各寄存器的解释说明如下: T2CON (C8H) 定时器 2 控制寄存器(读/写) 位编号 7 6 5 TF2 RCLK 符号 读/写 读/写 读/写 0 x 0 上电初始值 5 RCLK 4 TCLK 2 TR2 6,3,1~0 - 览 预 位符号 T2FD IE (A8H) 中断使能寄存器(读/写) 位编号 7 6 EA 符号 读/写 读/写 0 x 上电初始值 位编号 5 位符号 ET2 IP (B8H) 中断优先级控制寄存器(读/写) 位编号 7 6 符号 读/写 x x 上电初始值 Page 37 of 72 2 TR2 1 x 0 x 2 T2FD 1 T1FD 0 T0FD 读/写 0 读/写 0 读/写 0 2 x 1 ET0 0 EINT0 读/写 0 读/写 0 1 IPT0 0 IPINT0 读/写 0 读/写 0 读/写 0 说明 定时器 2 溢出标志位 0:无溢出(必须由软件清 0) 1:溢出(如果 RCLK = 0 和 TCLK = 0,由硬件设 1) UART 接收时钟控制位 0:定时器 1 产生接收波特率 1:定时器 2 产生接收波特率 UART 发送时钟控制位 0:定时器 1 产生发送波特率 1:定时器 2 产生发送波特率 定时器 2 开始/停止控制位 0:停止定时器 2 1:开始定时器 2 固定写 0 TMCON (8EH) 定时器频率控制寄存器(读/写) 位编号 7 6 5 符号 读/写 x x x 上电初始值 位编号 2 3 x 本 位符号 TF2 读/写 0 版 位编号 7 4 TCLK 4 x 3 x 说明 T2 输入频率选择控制 0:T2 频率源自于 fSYS/12 1:T2 频率源自于 fSYS 5 ET2 读/写 0 4 x 3 ET1 读/写 0 说明 Timer2 中断使能控制 0: 关闭 TIMER2 中断 1: 允许 TIMER2 中断 5 IPT2 读/写 0 4 x 3 IPT1 读/写 0 2 x V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 位编号 5 超高速 1T 8051 内核 16 路双模触控 Flash MCU 位符号 IPT2 说明 Timer2 中断优先权 0:设定 Timer 2 的中断优先权是 “低” 1:设定 Timer 2 的中断优先权是 “高” 11.2 T2 工作模式 定时器 2 工作模式与配置方式如下表: TR2 1 1 RCLK 0 1 X X 0 TCLK 0 X 1 X 1 2 方式 16 位自动重载定时器 波特率发生器 X 定时器 2 停止 工作模式 1: 16 位自动重载定时器 在 16 位自动重载方式下,定时器 2 递增到 0xFFFFH,在溢出后置起 TF2 位,同时定时器自动将用户软件写 好的寄存器 RCAP2H 和 RCAP2L 的 16 位值装入 TH2 和 TL2 寄存器。 T2FD = 0 Fsys /12 TL2 TH2 本 /1 TR2 版 T2FD = 1 RCAP2L 览 Reload RCAP2H Overflow Timer2 预 TF2 模式 1: 16 位自动重载 DCEN = 0 工作模式 2: 波特率发生器 通设置 T2CON 寄存器中的 TCLK 和/或 RCLK 选择定时器 2 作为波特率发生器。接收器和发送器的波特率可 以不同。如果定时器 2 作为接收器或发送器,则定时器 1 相应的作为另一种的波特率发生器 设置 T2CON 寄存器中的 TCLK 和/或 RCLK 使定时器 2 进入波特率发生器方式,该方式与自动重载方式相似 定时器 2 的溢出会使 RCAP2H 和 RCAP2L 寄存器中的值重载入定时器 2 计数,但不会产生中断 在 UART 方式 1 和 3 中的波特率由定时器 2 的溢出率根据下列方程式决定: 1 fn2 BaudRate = × 16 (65536 − [RCAP2H, RCAP2L]) × 2 其中, fn2 为定时器 2 时钟频率: fn2 = fsys 12 ; fn2 = fsys; T2FD = 0 T2FD = 1 定时器 2 作为波特率发生器的原理图如下: Page 38 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU Timer1 Overflow Fsys /2 "1" /2 T2FD = 0 "0" SMOD /12 TL2 TH2 "1" "0" RCLK /1 TR2 T2FD = 1 Rx Clock /16 RCAP2L RCAP2H "1" "0" TCLK Tx Clock /16 模式 2:波特率发生器 览 12 PWM 版 本 注意: 1. 当事件发生时或其它任何时间都能由软件设置 TF2 为 1,只有软件以及硬件复位才能使之清 0; 2. 当 EA = 1 且 ET2 = 1 时,设置 TF2 为 1 能引起定时器 2 中断; 3. 当定时器 2 作为波特率发生器时,写入 TH2/TL2 或 RCAP2H/RCAP2L 会影响波特率的准确性,引起通 信出错。 预 SC92F837X 提供了一个独立的计数器, 它可以支持四路的 PWM 输出:PWM0 ~ PWM3。 SC92F837X 的 PWM 具有的功能为: ① 8 位 PWM 精度; ② PWM0、PWM1、PWM2 和 PWM3 周期相同,但占空比可单独设置; ③ 输出可设置正反向; ④ 提供 1 个 PWM 溢出的中断。 SC92F837X 的 PWM 可支持周期及占空比的调整,寄存器 PWMCON 和 PWMCFG 控制 PWM0~3 相关设置, PWMPRD 设置 PWM 共同的周期,PWMDTY0~3 分别控制 PWM0~3 的占空比。 Page 39 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 12.1 PWM 结构框图 PWMn Output ENPWMn INVn PDTn 重装 Q R 比较器 计数器 版 CKS 览 Fsys /1 /2 . . . /256 本 S 比较器 PWMIF 预 ENPWM 共用周期模块 缓存器 重装 PWMPRD SC92F837X PWM 结构框图 Page 40 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 12.2 PWM 相关 SFR 寄存器 符号 地址 说明 7 6 5 4 3 2 1 0 Reset 值 - INV3 INV2 INV1 INV0 000x0000b PWMCFG D1H PWM 设置寄存器 PWMCON D2H PWM 控制寄存器 PWMPRD D3H PWM 周期设置寄存器 PWMDTY3 D4H PWMDTY0 D5H PWMDTY1 D6H PWMDTY2 D7H IE1 A9H PWM3 占空比设置寄存 器 PWM0 占空比设置寄存 器 PWM1 占空比设置寄存 器 PWM2 占空比设置寄存 器 中断使能寄存器 1 - - - ETK EINT2 EBTM EPWM ESSI xxx00000b IP1 B9H 中断优先级控制寄存器 1 - - - IPTK IPINT2 IPBTM IPPWM IPSSI xxx00000b PWMCKS[2:0] ENPWM PWMIF PWMCON (D2H) PWM 控制寄存器 (读/写) 位编号 7 6 5 ENPWM PWMIF 符号 位符号 ENPWM 6 PWMIF 3 ENPWM3 2 ENPWM2 1 ENPWM1 0 ENPWM0 5~4 - x PDT3[7:0] 00000000b PDT0[7:0] 00000000b PDT1[7:0] 00000000b PDT2[7:0] 00000000b 3 ENPWM 3 读/写 0 2 ENPWM 2 读/写 0 1 ENPWM 1 读/写 0 0 ENPWM 0 读/写 0 说明 PWM 模块开关控制(Enable PWM) 1:允许 Clock 进到 PWM 单元, 开始 PWM 的工作 0:关闭 PWM 单元的工作, PWM 计数器清零。 PWMn 仍接到输出 口,若要使用与 PWMn 输出口复用的其它功能,应将 ENPWMn 置 0 PWM 中断请求标志位(PWM Interrupt Flag) 当 PWM 计数器溢出时(也就是说: 数到超过 PWMPRD 时), 此位会被 硬件自动设定成 1。如果此时 IE1[1] (EPWM) 也是被设定成 1, PWM 的中断产生。 PWM3 功能开关 0:PWM3 不输出到 IO 1:PWM3 输出到 IO PWM2 功能开关 0:PWM2 不输出到 IO 1:PWM2 输出到 IO PWM1 功能开关 0:PWM1 不输出到 IO 1:PWM1 输出到 IO PWM0 功能开关 0:PWM0 不输出到 IO 1:PWM0 输出到 IO 保留 PWMPRD (D3H) PWM 周期设置寄存器(读/写) 位编号 7 6 5 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 Page 41 of 72 x 00000000b 本 位编号 7 4 - 00xx0000b 版 读/写 0 ENPWM ENPWM ENPWM ENPWM 3 2 1 0 PWMPRD[7:0] 览 读/写 0 - 预 读/写 上电初始值 - 4 3 PWMPRD[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 V0.2 http://www.socmcu.com SinOne 位编号 7~0 SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 位符号 PWMPRD[7:0] 说明 PWM 共用的周期设置; 此数值代表 PWM0/1/2/3 输出波形的 (周期 – 1); 也就是说 PWM 输出的 周期值为(PWMPRD[7:0] + 1 )* PWM 时钟; PWMPRD[7:0] 是四路 PWM 共享的周期设置控制器。 每当 PWM 计数器数到 PWMPRD[7:0]预先设置的值时, 下一个 PWM CLK 到来时该计数器会跳数到 00h,也就是说 PWM0/1/2/3 的周期都是 (PWMPRD[7:0] + 1 )*PWM 时钟。 PWMCFG (D1H) PWM 设置寄存器(读/写) 位编号 7 6 5 PWMCKS[2:0] 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 3 INV3 2 INV2 1 INV1 0 INV0 读/写 0 读/写 0 读/写 0 读/写 0 位符号 PWMCKS[2:0] 说明 PWM 时钟源选择(PWM ClocK source Selector) 000:fSYS 001:fSYS/2 010:fSYS/4 011:fSYS/8 100:fSYS/32 101:fSYS/64 110:fSYS/128 111:fSYS/256 INV3 3 PWM3 输出反向控制 1 :把 PWM3 的输出反向 0 :PWM3 的输出不反向 INV2 2 PWM2 输出反向控制 1 :把 PWM2 的输出反向 0 :PWM2 的输出不反向 INV1 1 PWM1 输出反向控制 1 :把 PWM1 的输出反向 0 :PWM1 的输出不反向 INV0 0 PWM0 输出反向控制 1 :把 PWM0 的输出反向 0 :PWM0 的输出不反向 4 保留 PWM 计数器的计数时间可由 PWMCFG[3:0] 所控制, 分别可以选择不同个数的系统时钟去计数一个单位(prescalar selector),即选择 PWM 计数器时钟源被系统时钟 fSYS 分频的分频比。PWM0/1/2/3 还可以被 PWMCFG 中 的 INV0~INV3 来选择 PWM 输出是否反向。 预 览 版 本 位编号 7~5 4 x PWMDTY0 (D5H) PWM0 占空比设置寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 Page 42 of 72 位符号 PDT0 [7:0] 4 3 PDT0[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 PWM0 占空比长度设置; PWM0 的高电平宽度 是 (PDT0[7:0])个 PWM 时钟 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU PWMDTY1 (D6H) PWM1 占空比设置寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 位符号 PDT1[7:0] 4 读/写 0 位符号 EPWM Page 43 of 72 位符号 IPPWM 读/写 0 读/写 0 3 PDT2[7:0] 2 1 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 3 PDT3[7:0] 本 4 2 1 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 览 5 x 4 ETK 3 EINT2 2 EBTM 1 EPWM 0 ESSI 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 PWM 中断使能控制 0:关闭 PWM 中断 1:允许 PWM 计数器溢出时产生中断 IP1 (B9H) 中断优先级控制寄存器 1(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 位编号 1 读/写 0 说明 PWM3 占空比长度设置; PWM3 的高电平宽度 是 (PDT3[7:0])个 PWM 时钟 IE1 (A9H) 中断使能寄存器 1(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 位编号 1 0 预 位符号 PDT3[7:0] 1 说明 PWM2 占空比长度设置; PWM2 的高电平宽度 是 (PDT2[7:0])个 PWM 时钟 PWMDTY3 (D4H) PWM3 占空比设置寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 4 版 位符号 PDT2[7:0] 读/写 0 2 说明 PWM1 占空比长度设置; PWM1 的高电平宽度 是 (PDT1[7:0])个 PWM 时钟 PWMDTY2 (D7H) PWM2 占空比设置寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 3 PDT1[7:0] 5 x 4 IPTK 3 IPINT2 2 IPBTM 1 IPPWM 0 IPSSI 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 PWM 中断优先权选择 0:设定 PWM 的中断优先级是 “低” 1:设定 PWM 的中断优先级是 “高” V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 注意: 1. ENPWM 位能控制 PWM 模块是否工作。 2. ENPWMx 位能选择 PWMx 口作为 GPIO 还是作为 PWMx 输出。 3. EPWM(IE1.1)位能控制 PWM 是否被允许产生中断。 4. 如果 ENPWM 置 1,PWM 模块被打开,但 ENPWMx=0, PWM 输出被关闭并作为 GPIO 口。此时 PWM 模 块可以作为一个 8 位 Timer 使用,此时 EPWM(IE1.1)被置 1,PWM 仍然会产生中断。 5. 四个 PWM 共用周期,溢出时产生 PWM 中断是同一中断向量。 12.3 PWM 波形及用法 各 SFR 参数改变对 PWM 波形影响如下所述: ① 占空比变化特性 当 PWMn 输出波形时,若需改变占空比,可通过改变高电平设置寄存器 PDTn 的值实现。但需要注意: 更改 PDTn 的值,占空比会即时生效。 ② 周期变化特性 初始值:PWMDTYn=h (PWMPRD=n) 执行指令: 指令1 h h h 指令1:设置PWMPRD=m 指令2:设置PWMPRD=k 指令2 h h h h h h k+1 k+1 k+1 PWM波形: n+1 n+1 m+1 m+1 本 n+1 m+1 版 PWM周期: 览 周期变化特性图 ③ 周期和占空比的关系 Page 44 of 72 预 当 PWMn 输出波形时,若需改变周期,可通过改变周期设置寄存器 PWMPRD 的值实现。更改 PWMPRD 的 值,周期不会立即改变,而是等待本周期结束,在下个周期改变,参考上图所示。 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 1 2 ... 3 周期 PWM时钟单元 周期=PWMPRD+1 Low PWMDTYn=00H High PWMDTYn=01H Low High PWMDTYn=02H Low High PWMDTYn=PWMPRD Low High 本 PWMDTYn PWMPRD+1 版 周期与占空比关系图 预 览 周期和占空比的关系如上图所示。该结果的前提是 PWM0/1/2/3 输出反向控制 INV0/1/2/3 初始为 0,若需得 到相反结果,可置 INV0/1/2/3 为 1。 Page 45 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 13 GP I/O SC92F837X 提供了最多 18 个可控制的双向 GPIO 端口,输入输出控制寄存器用来控制各端口的输入输出状 态,当端口作为输入时,每个 I/O 端口带有由 PxPHy 控制的内部上拉电阻。此 18 个 IO 同其他功能复用。I/O 端 口在输出状态下,读到的是端口数据寄存器里的值。 注意:未使用及封装未引出的 IO 口均要设置为强推挽输出模式。 13.1 GPIO 结构图 强推挽输出模式 强推挽输出模式下,能够提供持续的大电流驱动:大于 21mA 的输出高,大于 50mA 的输出低。 强推挽输出模式的端口结构示意图如下: VDD P PORT N PxCy = 1 版 本 output register GND 览 强推挽输出模式 预 带上拉的输入模式 带上拉的输入模式下,输入口上恒定接一个上拉电阻,仅当输入口上电平被拉低时,才会检测到低电平信号。 带上拉的输入模式的端口结构示意图如下: VDD 上拉电阻 PxCy = 0 PxHy = 1 Input PORT 带上拉的输入模式 高阻输入模式(Input only) 高阻输入模式的端口结构示意图如下所示: PxCy = 0 PxHy = 0 Input PORT 高阻输入模式 Page 46 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 13.2 I/O 端口相关寄存器 P0CON (9AH) P0 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P0C5 符号 读/写 读/写 x x 0 上电初始值 P0PH (9BH) P0 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P0H5 符号 读/写 读/写 x x 0 上电初始值 预 P2CON (A1H) P2 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P2C7 P2C6 P2C5 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 P2PH (A2H) P2 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P2H7 P2H6 P2H5 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 位符号 PxCy (x=0~2, y=0~7) 7~0 PxHy (x=0~2, y=0~7) P0 (80H) P0 口数据寄存器(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 Page 47 of 72 2 P0C2 1 P0C1 0 P0C0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P0H4 3 P0H3 2 P0H2 1 P0H1 0 P0H0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P1C4 3 P1C3 2 P1C2 1 P1C1 0 P1C0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P1H4 3 P1H3 2 P1H2 1 P1H1 0 P1H0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P2C4 3 x 2 x 1 P2C1 0 P2C0 读/写 0 读/写 0 3 x 2 x 1 P2H1 0 P2H0 读/写 0 读/写 0 版 览 P1PH (92H) P1 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P1H5 符号 读/写 读/写 x x 0 上电初始值 3 P0C3 本 P1CON (91H) P1 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P1C5 符号 读/写 读/写 x x 0 上电初始值 4 P0C4 读/写 0 4 P2H4 读/写 0 说明 Px 口输入输出控制: 0:Pxy 为输入模式(上电初始值) 1:Pxy 为强推挽输出模式 Px 口上拉电阻设置,仅在 PxCy=0 时有效: 0:Pxy 为高阻输入模式(上电初始值),上拉电阻关闭; 1:Pxy 上拉电阻打开 5 P0.5 4 P0.4 3 P0.3 2 P0.2 1 P0.1 0 P0.0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU P1 (90H) P1 口数据寄存器(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 5 P1.5 4 P1.4 3 P1.3 2 P1.2 1 P1.1 0 P1.0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P2 (A0H) P2 口数据寄存器(读/写) 7 6 位编号 P2.7 P2.6 符号 5 P2.5 4 P2.4 0 P2.0 读/写 0 2 x 1 P2.1 读/写 0 3 x 读/写 0 读/写 0 5 4 3 2 1 0 读/写 上电初始值 读/写 0 读/写 0 IOHCON(97H) IOH 设置寄存器(读/写) 7 6 位编号 P2H[1:0] 符号 读/写 读/写 读/写 0 0 上电初始值 位符号 P2H[1:0] 5~4 P2L[1:0] 3~2 P0H[1:0] 1~0 P0L[1:0] 读/写 0 P0H[1:0] 读/写 0 读/写 0 读/写 0 P0L[1:0] 读/写 0 读/写 0 说明 P2 高四位 IOH 设置 00:设置 P2 高四位 IOH 等级 0(最大); 01:设置 P2 高四位 IOH 等级 1; 10:设置 P2 高四位 IOH 等级 2; 11:设置 P2 高四位 IOH 等级 3(最小); P2 低四位 IOH 设置 00:设置 P2 低四位 IOH 等级 0(最大); 01:设置 P2 低四位 IOH 等级 1; 10:设置 P2 低四位 IOH 等级 2; 11:设置 P2 低四位 IOH 等级 3(最小); P0 高四位 IOH 设置 00:设置 P0 高四位 IOH 等级 0(最大); 01:设置 P0 高四位 IOH 等级 1; 10:设置 P0 高四位 IOH 等级 2; 11:设置 P0 高四位 IOH 等级 3(最小); P0 低四位 IOH 设置 00:设置 P0 低四位 IOH 等级 0(最大); 01:设置 P0 低四位 IOH 等级 1; 10:设置 P0 低四位 IOH 等级 2; 11:设置 P0 低四位 IOH 等级 3(最小); 预 览 版 本 位编号 7~6 P2L[1:0] 14 SPI/TWI/UART 三选一串行接口 SSI SC92F837X 内部集成了三选一串行接口电路(简称 SSI),可方便 MCU 与不同接口的器件或者设备的连接。 用户可通过配置寄存器 OTCON 的 SSMOD[1:0] 位将 SSI 接口配置为 SPI、TWI 和 UART 中任意一种通信模式。 其特点如下: 1. SPI 模式可配置为主模式或从属模式中的一种 2. TWI 模式通信时只能做从机 3. UART 模式可工作在模式 1(10 位全双工异步通信)和模式 3(11 位全双工异步通信) 具体配置方式如下: Page 48 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU OTCON (8FH) 输出控制寄存器(读/写) 7 6 位编号 SSMOD[1:0] 符号 读/写 上电初始值 读/写 0 5 x 读/写 0 位编号 7~6 位符号 SSMOD[1:0] 5~0 - 4 x 3 x 2 x 1 x 0 x 说明 SSI 通信模式控制位 00:SSI 关闭 01:SSI 设置为 SPI 通信模式; 10:SSI 设置为 TWI 通信模式; 11:SSI 设置为 UART 通信模式; 保留 14.1 SPI SSMOD[1:0] = 01,三选一串行接口 SSI 配置为 SPI 接口。串行外部设备接口(简称 SPI)是一种高速串行通信 接口,允许 MCU 与外围设备(包括其它 MCU)进行全双工,同步串行通信。 14.1.1 SPI 操作相关寄存器 位符号 SPEN 5 MSTR 4 CPOL 3 CPHA 2~0 SPR[2:0] 6 - Page 49 of 72 3 CPHA 2 SPR2 1 SPR1 0 SPR0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 版 本 4 CPOL 说明 SPI 使能控制 0:关闭 SPI 1:打开 SPI SPI 主从选择 0: SPI 为从设备 1: SPI 为主设备 时钟极性控制位 0:SCK 在空闲状态下为低电平 1:SCK 在空闲状态下为高电平 时钟相位控制位 0:SCK 周期的第一沿采集数据 1:SCK 周期的第二沿采集数据 SPI 时钟速率选择位 000:fSYS /4 001:fSYS /8 010:fSYS /16 011:fSYS /32 100:fSYS /64 101:fSYS /128 110:fSYS /256 111:fSYS /512 保留 预 位编号 7 5 MSTR 览 SSCON0 (9DH) SPI 控制寄存器(读/写) 位编号 7 6 SPEN 符号 读/写 读/写 0 x 上电初始值 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU SSCON1 (9EH) SPI 状态寄存器(读/写) 位编号 7 6 SPIF WCOL 符号 位符号 SPIF 6 WCOL 3 TXE 2 DORD 0 TBIE 5~4,1 - SSDAT (9FH) SPI 数据寄存器(读/写) 位编号 7 6 符号 读/写 读/写 读/写 0 0 上电初始值 位编号 7~0 位符号 SPD[7:0] 2 DORD 读/写 0 读/写 0 1 x 0 TBIE 读/写 0 说明 SPI 数据传送标志位 0:由软件清 0 1:表明已完成数据传输,由硬件置 1 写入冲突标志位 0:由软件清 0,表明已处理写入冲突 1:由硬件置 1,表明检测到一个冲突 发送缓存器空标志 0:发送缓存器不空 1:发送缓存器空,必须由软件清零 传送方向选择位 0:MSB 优先发送 1:LSB 优先发送 发送缓存器中断允许控制位 0:不允许发送中断 1:允许发送中断,当 ESPI=1 时,TBIE=1 将产生 SPI 中断 保留 本 位编号 7 3 TXE 版 读/写 0 4 x 览 读/写 0 5 预 读/写 上电初始值 5 x 读/写 0 4 3 2 1 0 读/写 0 读/写 0 读/写 0 读/写 0 SPD[7:0] 读/写 0 说明 SPI 数据缓存寄存器 写入 SSDAT 的数据被放置到发送移位寄存器中。 读取 SSDAT 时将获得接收移位寄存器的数据。 14.1.2 信号描述 主输出从输入(MOSI): 该路信号连接主设备和一个从设备。数据通过 MOSI 从主设备串行传送到从设备,主设备输出,从设备输入。 主输入从输出(MISO): 该路信号连接从设备和主设备。数据通过 MISO 从从设备串行传送到主设备,从设备输出,主设备输入。当 SPI 配置为从设备并未被选中,从设备的 MISO 引脚处于高阻状态。 SPI 串行时钟(SCK): SCK 信号用作控制 MOSI 和 MISO 线上输入输出数据的同步移动。每 8 时钟周期线上传送一个字节。如果从 设备未被选中,SCK 信号被此从设备忽略。 14.1.3 工作模式 SPI 可配置为主模式或从属模式中的一种。SPI 模块的配置和初始化通过设置 SSCON0 寄存器(SPI 控制寄存 器)和 SSCON1(SPI 状态寄存器)来完成。配置完成后,通过设置 SSCON0,SSCON1,SSDAT(SPI 数据寄存器) Page 50 of 72 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 来完成数据传送。 在 SPI 通讯期间,数据同步地被串行的移进移出。串行时钟线(SCK)使两条串行数据线(MOSI 和 MISO)上数 据的移动和采样保持同步。如果从设备没有被选中,则不能参与 SPI 总线上的活动。 当 SPI 主设备通过 MOSI 线传送数据到从设备时,从设备通过 MISO 线发送数据到主设备作为响应,这就实 现了在同一时钟下数据发送和接收的同步全双工传输。发送移位寄存器和接收移位寄存器使用相同的特殊功能器 地址,对 SPI 数据寄存器 SSDAT 进行写操作将写入发送移位寄存器,对 SSDAT 寄存器进行读操作将获得接收移 位寄存器的数据。 有些设备的 SPI 接口会引出 SS 脚(从设备选择引脚,低有效),与 SC92F837X 的 SPI 通信时, SPI 总线 上其它设备的 SS 脚的连接方式需根据不同的通信模式进行连接。下表列出了 SC92F837X 的 SPI 不同通信模式 下,SPI 总线上其它设备 SS 脚的连接方式: SC92F837X SPI SPI 总线上其它设备 模式 从机的 SS(从设备选择引脚) 主模式 从模式 一主一从 拉低 一主多从 SC92F837X 引出多根 I/O,分别接至从 机的 SS 脚。在数据传送之前,从设备 的 SS 引脚必须被置低 从模式 主模式 一主一从 拉高 预 览 版 本 主模式  模式启动: SPI 主设备控制 SPI 总线上所有数据传送的启动。当 SSCON0 寄存器中的 MSTR 位置 1 时,SPI 在主模式 下运行,只有一个主设备可以启动传送。  发送: 在 SPI 主模式下,写一个字节数据到 SPI 数据寄存器 SSDAT,数据将会写入发送移位缓冲器。如果发送移 位寄存器已经存在一个数据,那么主 SPI 产生一个 WCOL 信号以表明写入太快。但是在发送移位寄存器中 的数据不会受到影响,发送也不会中断。另外如果发送移位寄存器为空,那么主设备立即按照 SCK 上的 SPI 时钟频率串行地移出发送移位寄存器中的数据到 MOSI 线上。当传送完毕,SSCON1 寄存器中的 SPIF 位被 置 1。如果 SPI 中断被允许,当 SPIF 位置 1 时,也会产生一个中断。  接收: 当主设备通过 MOSI 线传送数据给从设备时,相对应的从设备同时也通过 MISO 线将其发送移位寄存器的内 容传送给主设备的接收移位寄存器,实现全双工操作。因此,SPIF 标志位置 1 即表示传送完成也表示接收数 据完毕。从设备接收的数据按照 MSB 或 LSB 优先的传送方向存入主设备的接收移位寄存器。当一个字节的 数据完全被移入接收寄存器时, 处理器可以通过读 SSDAT 寄存器获得该数据。 从模式  模式启动: 当 SSCON0 寄存器中的 MSTR 位清 0,SPI 在从模式下运行。  发送与接收: 从属模式下,按照主设备控制的 SCK 信号,数据通过 MOSI 引脚移入,MISO 引脚移出。一个位计数器记录 SCK 的边沿数,当接收移位寄存器移入 8 位数据(一个字节)同时发送移位寄存器移出 8 位数据(一个字节), SPIF 标志位被置 1。数据可以通过读取 SSDAT 寄存器获得。如果 SPI 中断被允许,当 SPIF 置 1 时,也会 产生一个中断。此时接收移位寄存器保持原有数据并且 SPIF 位置 1,这样 SPI 从设备将不会接收任何数据 直到 SPIF 清 0。SPI 从设备必须在主设备开始一次新的数据传送之前将要传送的数据写入发送移位寄存器。 如果在开始发送之前未写入数据,从设备将传送“0x00”字节给主设备。如果写 SSDAT 操作发生在传送过程 中,那么 SPI 从设备的 WCOL 标志位置 1,即如果传送移位寄存器已经含有数据,SPI 从设备的 WCOL 位 置 1,表示写 SSDAT 冲突。但是移位寄存器的数据不受影响,传送也不会被中断。 14.1.4 传送形式 通过软件设置 SSCON0 寄存器的 CPOL 位和 CPHA 位,用户可以选择 SPI 时钟极性和相位的四种组合方式。 CPOL 位定义时钟的极性,即空闲时的电平状态,它对 SPI 传输格式影响不大。CPHA 位定义时钟的相位,即定 义允许数据采样移位的时钟边沿。在主从通讯的两个设备中,时钟极性相位的设置应一致。 当 CPHA = 0,SCK 的第一个沿捕获数据,从设备必须在 SCK 的第一个沿之前将数据准备好。 Page 51 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne SCK Cycle 超高速 1T 8051 内核 16 路双模触控 Flash MCU 1 2 3 4 5 6 7 8 MSB bit6 bit5 bit4 bit3 bit2 bit1 LSB bit6 bit5 bit4 bit3 bit2 bit1 LSB SPEN SCK (CPOL=0) SCK (CPOL=1) MOSI (from Master) MISO (from Slave) MSB CPHA = 0 数据传输图 当 CPHA = 1,主设备在 SCK 的第一个沿将数据输出到 MOSI 线上,从设备把 SCK 的第一个沿作为开始发送 信号,SCK 的第二沿开始捕获数据,因此用户必须在第一个 SCK 的两个沿内完成写 SSDAT 的操作。这种数据传 输形式是一个主设备一个从设备之间通信的首选形式。 1 2 MOSI (from Master) MSB bit6 MISO (from Slave) MSB SCK Cycle 3 4 5 6 7 8 LSB 本 SPEN 版 SCK (CPOL=0) 预 览 SCK (CPOL=1) bit6 bit5 bit4 bit3 bit2 bit1 bit5 bit4 bit3 bit2 bit1 LSB CPHA = 1 数据传输图 14.1.5 出错检测 在发送数据序列期间写入 SSDAT 寄存器会引起写冲突,SSCON1 寄存器中的 WCOL 位置 1。WCOL 位置 1 不会引起中断,发送也不会中止。WCOL 位需由软件清 0。 14.2 TWI SSMOD[1:0] = 10,三选一串行接口 SSI 配置为 TWI 接口。SC92F837X 在 TWI 通信时只能做从机。 SSCON0 (9DH) TWI 控制寄存器(读/写) 7 6 5 4 3 2 1 0 位编号 TWEN TWIF GCA AA STATE[2:0] 符号 读/写 读/写 读/写 读 读/写 读/写 读/写 读/写 0 0 x 0 0 0 0 0 上电初始值 位编号 7 位符号 TWEN 6 TWIF Page 52 of 72 说明 TWI 使能控制 0:关闭 TWI 1:打开 TWI TWI 中断标志位 0:由软件清零 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 1:在下列条件下,中断标志位由硬件置 1 ①第一帧地址匹配成功 ②成功接收或发送 8 位数据 ③重新启动 ④从机收到停止信号 AA 2~0 STATE[2:0] 5 - 位编号 7~1 0 位符号 TWA[6:0] GC 5 读/写 0 预 SSCON1 (9EH) TWI 地址寄存器(读/写) 7 6 位编号 符号 读/写 读/写 读/写 0 0 上电初始值 本 3 通用地址响应标志位 0:非响应通用地址 1:当 GC 置 1,同时通用地址匹配时该位由硬件置 1,并自动清零 接收使能位 0:不允许接收主机发送的信息 1:允许接收主机发送的信息 状态机状态标志位 000:此时状态机为空闲状态,等待 TWEN 置 1,检测 TWI 启动信号 001:从机接收第一帧地址和读写位(第 8 位为读写位,1 为读,0 为 写) 010:主机发送数据,从机接收数据状态 011:主机接收数据,从机发送数据状态 100:在从机发送数据状态中,当主机回 UACK 时跳转到此状态,等待 从新启动信号或停止信号。 101:从机处于接收或发送状态时,当 AA=0 时,此时跳到次状态,等 待重新启动信号或停止信号。 保留 位符号 TWDAT[7:0] 4 TWA[6:0] 3 2 1 0 GC 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 TWI 地址寄存器 TWI 通用地址使能 0: 禁止响应通用地址 1: 允许响应通用地址 SSDAT (9FH) TWI 数据缓存寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 版 GCA 览 4 4 3 TWDAT[7:0] 读/写 0 读/写 0 说明 TWI 数据缓存寄存器 14.2.1 信号描述 TWI 时钟信号线(SCL) 该时钟信号由主机发出,连接到所有的从机。每 9 个时钟周期传送一个字节数据。前 8 个周期作数据的传送, 最后一个时钟作为接收方应答时钟。 TWI 数据信号线(SDA) SDA 是双向信号线,空闲时应为高电平,由 SDA 线上的上拉电阻拉高。 Page 53 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 14.2.2 工作模式   SC92F837X 的 TWI 通信只有从机模式: 模式启动: 当 TWI 使能标志位打开(TWEN = 1),同时接收到主机发送的启动信号时,模式启动。 非通用地址响应: 从机从空闲模式(STATE[2:0] = 000)进入接收第一帧地址(STATE[2:0] = 001)状态,等待主机的第一帧 数据。第一帧数据由主机发送,包括了 7 位地址位和 1 位读写位,TWI 总线上所有从机都会收到主机的第一 帧数据。主机发送完第一帧数据后释放 SDA 信号线。若主机所发地址与某一从机自身地址寄存器中的值相同, 说明该从机被选中,被选中的从机会判断接总线上的第 8 位,即数据读写位(=1,读命令;=0,写命令), 然后占用 SDA 信号线,在 SCL 的第 9 个时钟周期给主机一个低电平的应答信号,之后会释放总线。从机被 选中后,会根据读写位的不同而进入不同的状态: ① 如果第一帧接收到的读写位是写(0),则从机进入到从机接收状态(STATE[2:0] = 010)等待接收主机 发送的数据。主机每发送 8 位,都要释放总线,等待第 9 个周期从机的应答信号。 1. 如果从机的应答信号是低电平( ACK),主机可以继续发送数据。也可以重新发送启动信号 (start),此时从机从新进入接收第一帧地址(001)状态。也可以发送停止信号,表示本次传输 结束,从机回到空闲状态,等待主机下一次的启动信号。 重新启动 WRITE ACK START ACK ACK 主机发送8位数据 7位从机地址 主机发送8位数据 SCL 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 版 如果从机应答的是高电平(AA = 0)。表示从机不再接收主机发送的数据,主动结束本次传输。从 机回到空闲状态。 WRITE ACK START SCL 1 2 3 4 5 ACK UACK STOP 主机发送8位数据 7位从机地址 6 7 8 9 1 2 3 4 5 6 主机发送8位数据 7 8 9 1 2 3 4 5 6 7 8 9 预 SDA 览 2. 本 SDA 从机应答高 AA=0:从机主动结束传输 ② 如果第一帧接收到的读写位是读(1),则从机会占用总线,向主机发送数据。每发送 8 位数据,从机释 放总线,等待主机的应答。 1. 如果主机应答的是低电平,则从机继续发送数据。在发送过程中,如果从机寄存器中的 AA 值被改 写为 0,则从机会主动结束传输并释放总线,等待主机的停止信号或重新启动信号(STATE[2:0] = 101)。 READ ACK START ACK ACK 从机发送8位数据 7位从机地址 STOP 从机发送8位数据 SCL 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 SDA 从机发送8位1 AA=0:从机主动结束传输并释放总线 2. Page 54 of 72 如果主机应答的是高电平,则从机进入接收数据模式(STATE[2:0] = 010),等待主机的停止信号 或重新启动信号。 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU READ ACK START ACK UACK STOP 从机发送8位数据 7位从机地址 从机发送8位数据 SCL 1 2 3 4 5 6 7 8 1 9 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 SDA 主机应答高,从机进入接收数据模式  通用地址的响应: GC=1 时,此时通用地址允许使用。从机进入到接收第一帧地址(STATE[2:0] = 001)状态,接收的第一帧 数据中的地址位数据为 0x00,此时所有从机响应主机。当第一帧的读写位是写(0),所有从机进入接收数 据(STATE[2:0] = 010)状态。主机每发送 8 个数据释放一次 SDA 线,并读取 SDA 线上的状态: ① 如果 SDA 为低电平(有从机应答)则主机的通信可以有以下三种方式: 继续发送数据; 重新启动,进入接收第一帧地址(STATE[2:0] = 001)的状态; 发送停止信号,结束本次通讯。 1. 2. 3. ② 如果 SDA 为高电平(AA = 0),则 SDA 为空闲状态(STATE[2:0] = 000)。 通用地址通信 主机向从机发送读命令 重新启动 WRITE ACK START READ ACK ACK 主机发送8位数据 7位通用地址 UACK STOP 从机发送8位数据 7位从机地址 SCL 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 版 本 SDA 览 主机应答高 预 注意:当使用通用地址时,主机发送的读写位不能为读(1)状态,否则除发送数据的设备,总线上其它设备均 会响应。 14.2.3 操作步骤 三合一串口中 TWI 工的操作步骤如下: ① ② ③ ④ 配置 SSMOD[1:0],选择 TWI 模式; 配置 SSCON0 TWI 控制寄存器; 配置 SSCON1 TWI 地址寄存器; 如果从机接收数据,则等待 SSCON0 中的中断标志位 TWIF 置 1。从机每接收到 8 位数据,中断标志位会被 置 1。中断标志位需手动清零; ⑤ 如果从机发送数据,则要将待发送的数据写进 TWDAT 中,TWI 会自动将数据发送出去。每发送 8 位,中断 标志位 TWIF 就会被置 1。 14.3 UART SSMOD[1:0] = 11,三选一串行接口 SSI 配置为 UART 接口。 SSCON0 (9DH) 串口 1 控制寄存器(读/写) 7 6 5 4 3 位编号 SM0 SM2 REN TB8 符号 读/写 读/写 读/写 读/写 读/写 0 x 0 0 0 上电初始值 位编号 7 Page 55 of 72 位符号 SM0 2 RB8 1 TI 0 RI 读/写 0 读/写 0 读/写 0 说明 串行通信模式控制位 0:模式 1,10 位全双工异步通信,由 1 个起始位,8 个数据位和 1 个停 V0.2 http://www.socmcu.com SinOne 5 SM2 4 REN 3 2 1 0 6 TB8 RB8 TI RI - SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 止位组成,通信波特率可变; 1:模式 3,11 位全双工异步通信,由 1 个起始位,8 个数据位,一个可 编程的第 9 位和 1 个停止位组成,通信波特率可变; 串行通信模式控制位 2,此控制位只对模式 3 有效 0:每收到一个完整的数据帧就置位 RI 产生中断请求; 1:收到一个完整的数据帧时,只有当 RB8=1 时才会置位 RI 产生中断请 求。 接收允许控制位 0:不允许接收数据; 1:允许接收数据。 只对模式 3 有效,为发送数据的第 9 位 只对模式 3 有效,为接收数据的第 9 位 发送中断标志位 接收中断标志位 保留 SSCON1 (9EH) 串口波特率控制寄存器低位(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位符号 BAUD [15:0] 版 4 3 BAUDH [7:0] 读/写 0 读/写 0 预 位编号 7~0 读/写 0 本 读/写 0 览 SSCON2(95H) 串口波特率控制寄存器高位(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 4 3 BAUDL [7:0] Page 56 of 72 0 读/写 0 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 串口波特率控制 SSDAT (9FH) 串口数据缓存寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位符号 SBUF[7:0] 1 说明 BaudRate = 位编号 7~0 2 4 3 SBUF[7:0] 读/写 0 读/写 0 fsys BAUD1H, BAUD1L 说明 串口数据缓存寄存器 SBUF 包含两个寄存器:一个发送移位寄存器和一个接收锁存器,写入 SBUF 的数据将送至发送移位寄存器,并启动发送流程,读 SBUF 将返 回接收锁存器中的内容。 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 15 双模触控电路 SC92F837X 内建一个 16 通道的的双模电容触控电路,可配置为高灵敏度模式或高可靠模式,其特点如下: 1. 高灵敏度模式可适应隔空按键触控、接近感应等对灵敏度要求较高的触控应用 2. 高可靠模式具有很强的抗干扰能力,可通过 10V 动态 CS 测试 3. 可实现 16 路触控按键及衍生功能 4. 高灵活度开发软件库支持,低开发难度 5. 自动化调试软件支持,智能化开发 6. 触控模块可以在 MCU STOP 模式下进入低功耗模式工作,单个触控按键唤醒时芯片整体功耗可低至 11uA 15.1 触控电路的耗电模式 本 SC92F837X 允许在 STOP Mode 开启触控扫描功能:这样的方式可以降低 MCU 的整体功耗从而满足有低功 耗需求的触控应用。 用户可以理解为 SC92F837X 的触控电路具有两种耗电模式: 1. 普通运行模式 2. 低功耗运行模式 两种耗电模式的定义如下: 说明 普通运行模式 低功耗运行模式 CPU RUN(Normal mode) Stop(STOP Mode) RUN RUN 触控电路 15.2 触控模式 预 览 版 SC92F837X 的双模触控电路提供了两种触控模式: 1. 高灵敏度模式 2. 高可靠模式 用户通过使用赛元提供的触控按键库文件(可从赛元官网下载获取),可选择触控模式并快速简单实现所需 的触控功能。 用户可以通过下表的信息选择最适合当前应用的触控模式: 说明 高灵敏度模式 高可靠模式 特点 ① 高抗干扰能力,可通过 3V 动态 CS ① 超强抗干扰能力,可通过 10V 动态 CS ② 超高灵敏度 ② 功耗更低 适用的应用 ① 普通触控按键应用 ① 要求具有超强抗干扰性的应用 ② 隔空触控按键应用 ② 有 10V 动态 CS 要求的应用 ③ 接近感应应用 ④ 对灵敏度要求较高的触控应用 如何进入模式 通过项目工程载入高灵敏度的触控库来选 通过项目工程载入高可靠的触控库来选择高可 择高灵敏度模式 靠模式 说明文档 《赛元 《赛元 SC92F8XXX_HighSensitive_Lib_Tn_Vx.x. SC92F8XXX_HighReliability_Lib_Tn_Vx.x.x.Li x.Lib 库文件使用手册 Vx.x》 b 库文件使用手册 Vx.x》 对应的库文件 “SC92F8X7X_HighSensitive_Lib_Tn_Vx.x “SC92F8X7X_HighReliability_Lib_Tn_Vx.x.x.LI .x.LIB” B 注意事项 ① T1 库应用于弹簧类型的应用 只可应用于弹簧类型的应用 ② T2 库的应用于隔空类型的应用,且按 键个数至少 3 个以上 选择说明 通常状况下建议使用此高灵敏度模式,将 只有两种情况下建议使用高可靠模式: 会获得更佳的使用体验。 ① 需要通过 10V 动态 CS ② 需要更低的低功耗电流,且高灵敏度模式 下电流无法满 Page 57 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 16 EEPROM 及 IAP 操作 SC92F837X 的 IAP 操作空间范围有两种模式可选: EEPROM 及 IAP 操作模式如下: 1. 128 bytes EEPROM 可以作为数据存储使用; 2. IC 的 Code 区域(范围可选)及 128 bytes EEPROM 内都可进行 In Application Programming(IAP)操作, 主要用作远程程序更新使用。 EEPROM 及 IAP 操作模式选择作为 Code Option 在编程器写入 IC 时选择: OP_CTM1(C2H@FFH) Customer Option 寄存器 1(读/写) 7 6 5 4 3 2 1 0 位编号 IAPS[1:0] 符号 x x 位编号 3~2 位符号 IAPS[1:0] 7~4,1~0 - x x F1H IAP 保护寄存器 IAPADL F2H IAP 写入地址低 8 位寄存器 IAPADH F3H IAP 写入地址高 5 位寄存器 IAPADE F4H IAP 写入扩展地址寄存器 IAPDAT F5H IAP 数据寄存器 IAPCTL F6H IAP 控制寄存器 位符号 IAPKEY[7:0] 预 IAPKEY - - 5 读/写 0 x 6 5 4 3 - - 0 Reset 值 00000000b IAPADR[7:0] 00000000b IAPADR[12:8] xxx00000b IAPADER[7:0] 00000000b IAPDAT[7:0] 00000000b - 4 3 IAPKEY[7:0] 读/写 0 1 IAPKEY[7:0] - - 2 读/写 0 PAYTIMES [1:0] CMD[1:0] xxxx0000b 2 1 0 读/写 0 读/写 0 读/写 0 说明 打开 EEPROM / IAP 功能及操作时限设置 写入一个非零值 n,代表: ① 打开 EEPROM / IAP 功能; ② n 个系统时钟后如果接收不到写入命令,则 EEPROM / IAP 功能被 重新关闭。 IAPADL(F2H) IAP 写入地址低 8 位寄存器(读/写) 位编号 7 6 5 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 Page 58 of 72 版 7 览 EEPROM / IAP 操作相关寄存器说明: 符号 地址 说明 位编号 7~0 x 读/写 n 说明 IAP 空间范围选择 00: Code 区域禁止 IAP 操作 01: 最后 0.5K Code 区域允许 IAP 操作 10: 最后 1K Code 区域允许 IAP 操作(0C00H~0FFFH) 11: 全部 Code 区域允许 IAP 操作(0000H~0FFFH) 保留 16.1 EEPROM / IAP 操作相关寄存器 IAPKEY(F1H) IAP 保护寄存器(读/写) 7 6 位编号 符号 读/写 读/写 读/写 0 0 上电初始值 读/写 n 本 读/写 上电初始值 4 3 IAPADR[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 位编号 7~0 超高速 1T 8051 内核 16 路双模触控 Flash MCU 位符号 IAPADR[7:0] 说明 EEPROM / IAP 写入地址的低 8 位 IAPADH(F3H) IAP 写入地址高 5 位寄存器(读/写) 位编号 7 6 5 符号 读/写 x x x 上电初始值 位编号 4~0 7~5 位符号 IAPADR[12:8] - 读/写 0 读/写 0 2 IAPADR[12:8] 1 0 读/写 0 读/写 0 读/写 0 4 3 IAPADER[7:0] 2 1 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 本 说明 IAP 扩展地址: 0x00:MOVC 和 IAP 烧写都针对 Code 进行 0x01:针对用户 ID 区域进行读操作,不可进行写操作 0x02:MOVC 和写入都针对 EEPROM 进行 其它:保留 位编号 7~0 位符号 IAPDAT 位编号 3~2 Page 59 of 72 x 5 读/写 0 4 3 IAPDAT[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 EEPROM / IAP 写入的数据 IAPCTL(F6H) IAP 控制寄存器(读/写) 位编号 7 6 符号 读/写 上电初始值 预 IAPDAT(F5H) IAP 数据寄存器(读/写) 位编号 7 6 符号 读/写 读/写 读/写 0 0 上电初始值 览 版 位符号 IAPADER[7:0] 3 说明 EEPROM / IAP 写入地址的高 5 位 保留 IAPADE(F4H) IAP 写入扩展地址寄存器(读/写) 位编号 7 6 5 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 4 x 位符号 PAYTIMES[1:0] 5 - 4 - x x 3 2 PAYTIMES[1:0] 读/写 0 读/写 0 1 0 CMD[1:0] 读/写 0 读/写 0 说明 EEPROM / IAP 写入操作时,CPU Hold Time 时间长度设定 00:设定 CPU HOLD TIME 4mS@12/6/2MHz 01:设定 CPU HOLD TIME 2mS@12/6/2MHz 10:设定 CPU HOLD TIME 1mS@12/6/2MHz 11:保留 说明:CPU Hold 的是 PC 指针,其他功能模块继续工作;中断标志会被 保存,并在 Hold 结束后进入中断,但多次的中断只能保留最后一次。 选择建议:VDD 在 2.7V~5.5V,可选择 10 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 1~0 CMD[1:0] 7~4 - 超高速 1T 8051 内核 16 路双模触控 Flash MCU VDD 在 2.4V~5.5V,可选择 01 或者 00 EEPROM / IAP 写入操作命令 10 : 写入 其它 : 保留 注意:EEPROM / IAP 写操作的语句后面务必要加上至少 8 个 NOP 指 令,以保证 EEPROM / IAP 操作完成后可正常执行后续的指令! 保留 16.2 EEPROM / IAP 操作流程 SC92F837X 的 EEPROM / IAP 的 写入流程如下: ① 写入 IAPADE[7:0] ,0x00:选择 Code 区,进行 IAP 操作;0x02:选择 EEPROM 区,进行 EEPROM 读写操作; ② 写入 IAPDAT[7:0](准备好 EEPROM / IAP 写入的数据); ③ 写入 {IAPADR[12:8],IAPADR[7:0]}(准备好 EEPROM / IAP 操作的目标地址); ④ 写入 IAPKEY[7:0] 写入一个非 0 的值 n(打开 EEPROM / IAP 保护,且在 n 个系统时钟内没收到写入命 令 EEPROM / IAP 会被关闭); ⑤ 写入 IAPCTL[3:0](设定 CPU Hold 时间,写入 CMD[1:0]为 1、0,CPU Hold 并启动 EEPROM / IAP 写 入); ⑥ EEPROM / IAP 写入结束,CPU 继续后续操作; 版 本 注意:编程 IC 时,若通过 Code Option 选择了“Code 区域禁止 IAP 操作”,则 IAPADE[7:0]=0x00 时(选择 Code 区),IAP 不可操作,即数据无法写入,仅可通过 MOVC 指令读取数据。 览 16.2.1 128 BYTES 独立 EEPROM 操作例程 预 #include ”intrins.h” unsigned char EE_Add; unsigned char EE_Data; unsigned char code * POINT =0x0000; EEPROM 写操作 C 的 Demo 程序: EA = 0; //关总中断 IAPADE = 0X02; //选择 EEPROM 区域 IAPDAT = EE_Data; //送数据到 EEPROM 数据寄存器 IAPADH = 0x00; //写入 EEPROM 目标地址高位值 IAPADL = EE_Add; //写入 EEPROM 目标地址低位值 IAPKEY = 0XF0; //此值可根据实际调整;需保证本条指令执行后到对 IAPCTL 赋值前, //时间间隔需小于 240(0xf0)个系统时钟,否则 IAP 功能关闭; // 开启中断时要特别注意 IAPCTL = 0X0A; //执行 EEPROM 写入操作,1ms@12M/6M/2M; _nop_(); //等待(至少需要 8 个_nop_()) _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); IAPADE = 0X00; EA = 1; //返回 ROM 区域 //开总中断 EEPROM 读操作 C 的 Demo 程序: Page 60 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU EA = 0; //关总中断 IAPADE = 0X02; //选择 EEPROM 区域 EE_Data = *( POINT +EE_Add); //读取 IAP_Add 的值到 IAP_Data IAPADE = 0X00; //返回 ROM 区域, 防止 MOVC 操作到 EEPROM EA = 1; //开总中断 16.2.2 8 KBYTES CODE 区域 IAP 操作例程 #include ”intrins.h” unsigned int IAP_Add; unsigned char IAP_Data; unsigned char code * POINT =0x0000; 预 览 版 本 IAP 写操作 C 的 Demo 程序: IAPADE = 0X00; //选择 Code 区域 IAPDAT = IAP_Data; //送数据到 IAP 数据寄存器 IAPADH = (unsigned char)((IAP_Add >> 8)); //写入 IAP 目标地址高位值 IAPADL = (unsigned char)IAP_Add; //写入 IAP 目标地址低位值 IAPKEY = 0XF0; //此值可根据实际调整;需保证本条指令执行后到对 IAPCTL 赋值前, //时间间隔需小于 240(0xf0)个系统时钟,否则 IAP 功能关闭; // 开启中断时要特别注意 IAPCTL = 0X0A; //执行 IAP 写入操作,1ms@12M/6M/2M; _nop_(); //等待(至少需要 8 个_nop_()) _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); IAP 读操作 C 的 Demo 程序: IAPADE = 0X00; IAP_Data = *( POINT+IAP_Add); //选择 Code 区域 //读取 IAP_Add 的值到 IAP_Data 注意:8 Kbytes Code 区域内的 IAP 操作有一定的风险,需要用户在软件中做相应的安全处理措施,如果操 作不当可能会造成用户程序被改写!除非用户必需此功能(比如用于远程程序更新等),不建议用户使用。 Page 61 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 17 CHECK SUM 模块 SC92F837X 内建了 1 个 check sum 模块,可用来实时生成程序代码的 16 位 check sum 值,用户可利用此 check sum 和理论值比较,监测程序区的内容是否正确。 注意:check sum 值是整个程序区的数据累加和,即 0000H~1FFDH 地址单元所有的数据。若地址单元中有 用户上次操作后的残留值,会导致 check sum 值与理论值不符。因此,建议用户对整片 code 区域进行擦除或写 0 操作后再烧录代码以保证 check sum 值与理论值一致。 17.1 CHECK SUM 校验操作相关寄存器 CHKSUML(FCH) Check Sum 结果寄存器低位(读写) 7 6 5 4 3 位编号 CHKSUML[7:0] 符号 读/写 上电初始值 位编号 7~0 读/写 0 读/写 0 位符号 CHKSUML [7:0] 读/写 0 读/写 0 读/写 0 Page 62 of 72 位符号 CHKSUMS 读/写 0 读/写 0 读/写 0 2 1 0 本 读/写 0 读/写 0 读/写 0 读/写 0 说明 Check Sum 结果寄存器高位 OPERCON (EFH) 运算控制寄存器(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 位编号 0 读/写 0 版 读/写 0 览 读/写 0 位符号 CHKSUMH [7:0] 0 Check Sum 结果寄存器低位 预 位编号 7~0 读/写 0 1 说明 CHKSUMH(FDH) Check Sum 结果寄存器高位(读写) 7 6 5 4 3 位编号 CHKSUMH[7:0] 符号 读/写 上电初始值 2 5 x 4 x 3 x 2 x 1 x 0 CHKSUMS 读/写 0 说明 Check sum 运算开始触发控制(Start) 对此 bit 写 “1”, 开始做一次 check sum 计算。此位只可写入 1 有效。 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 18 电气特性 18.1 极限参数 符号 VDD/VSS Voltage ON any Pin TA 参数 直流供电电压 任一管脚输入/输出电压 最小值 -0.3 -0.3 最大值 5.5 VDD+0.3 UNIT V V 工作环境温度 -40 85 ℃ TSTG 储存温度 -55 125 ℃ 18.2 推荐工作条件 符号 VDD TA 参数 工作电压 工作环境温度 最小值 2.4 -40 最大值 5.5 85 系统时钟频率 - UNIT V ℃ 18.3 直流电气特性 参数 最小值 典型值 最大值 单位 - 7.0 6.0 5.0 0.7 1.0 mA mA mA μA - 7.5 - mA - 5.6 - μA 电流 本 符号 版 (VDD = 5V,TA = +25℃,除非另有说明) IWDT WDT 电流 - 4.3 5.1 μA ITK1 Touch key 工作电流(高灵 敏度模式) Touch key 工作电流(高可 靠模式) - 1.4 1.7 mA - 0.3 1.0 mA 0.7VDD -0.3 0.8VDD -0.2 - 25 50 21 11 VDD+0.3 0.3VDD VDD 0.2VDD - V V V V mA mA mA mA ITK2 IO 口特性 VIH1 VIL1 VIH2 VIL2 IOL1 IOL2 IOH1 IOH2 Page 63 of 72 预 IIDL1 览 IBTM 工作电流 工作电流 工作电流 待机电流 (Power Down 模式) 待机电流 (IDLE 模式) Base Timer 工作电流 Iop1 Iop2 Iop3 Ipd1 输入高电压 输入低电压 输入高电压 输入低电压 输出低电流 输出低电流 输出高电流 P1 输出高电流 P1 测试条件 fSYS =12MHz fSYS =6MHz fSYS =2MHz BTMFS[3:0]= 1000 每 4.0 秒产生一个 中断 WDTCKS[2:0]= 000 WDT 溢出时间 500ms 施密特触发输入: RST/tCK/SCK VPin=0.4V VPin=0.8V VPin=4.3V VPin=4.7V V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne IOH3 IOH4 RPH1 超高速 1T 8051 内核 16 路双模触控 Flash MCU 输出高电流 P0/P2 - 21 - mA 输出高电流 P0/P2 - 17 - mA 输出高电流 P0/P2 - 11 - mA 输出高电流 P0/P2 - 5 - mA 输出高电流 P0/P2 - 11 - mA 输出高电流 P0/P2 - 8 - mA 输出高电流 P0/P2 - 6 - mA 输出高电流 P0/P2 - 3 - mA 上拉电阻 - 32 - k VPin=4.3V, Pxyz=0,IOH 等级 0 VPin=4.3V Pxyz=1,IOH 等级 1 VPin=4.3V Pxyz=2,IOH 等级 2 VPin=4.3V Pxyz=3,IOH 等级 3 VPin=4.7V Pxyz=0,IOH 等级 0 VPin=4.7V Pxyz=1,IOH 等级 1 VPin=4.7V Pxyz=2,IOH 等级 2 VPin=4.7V Pxyz=3,IOH 等级 3 (VDD = 3.3V,TA = +25℃,除非另有说明) 符号 参数 最小值 典型值 最大值 单位 测试条件 Iop4 Iop5 Iop6 Ipd2 工作电流 工作电流 工作电流 待机电流 (Power Down 模式) 待机电流 (IDLE 模式) Touch key 工作电流(高 灵敏度模式) Touch key 工作电流(高 可靠模式) - 5.1 4.2 3.5 0.6 1 mA mA mA uA fSYS =12MHz fSYS =6MHz fSYS =2MHz - 5.2 - mA - 1.2 1.5 mA - 0.3 1.0 mA 0.7VDD -0.3 0.8VDD -0.2 - 24 44 6 54 VDD+0.3 0.3VDD VDD 0.2VDD - V V V V mA mA mA ITK4 IO 口特性 VIH3 VIL3 VIH4 VIL4 IOL3 IOL4 IOH5 RPH2 版 览 ITK3 预 IIDL2 输入高电压 输入低电压 输入高电压 输入低电压 输出低电流 输出低电流 输出高电流 上拉电阻 本 电流 施密特触发输入: RST/tCK/SCK VPin=0.4V VPin=0.8V VPin=3.0V k 18.4 交流电气特性 (VDD = 2.4V ~ 5.5V,TA = 25℃,除非另有说明) 符号 TPOR TPDW TReset fHRC Page 64 of 72 参数 Power On Reset 时间 Power Down 模式唤醒时 间 复位脉冲宽度 RC 振荡稳定性 最小值 - 典型值 1 1 最大值 1.5 1.5 单位 ms ms 测试条件 18 23.76 24 24.24 μs MHz 低电平有效 VDD=2.9~5.5V V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 预 览 版 本 TA=-20~85 ℃ Page 65 of 72 V0.2 http://www.socmcu.com CLK DIO U1 本 Cadj 103 版 C1 C2 104 览 VCC CLK DIO 10uF/16V VD D P10/CMOD VSS P11/IN T01/SCK/RST P12/IN T02/MISO/RX/T0/TK15/tCK P13/IN T03/MOSI/SDA/TX/T1/TK14/tD IO P14/TK13 P15/TK12 P27/TK11 P26/TK10 LED*4 TK0/PW M0/P00 TK1/PW M1/P01 TK2/PW M2/P02 TK3/PW M3/P03 TK4/IN T20/P04 TK5/INT21/P05 TK6/INT24/P20 TK7/IN T25/P21 TK8/P24 TK9/P25 com4 6 a a a a a b c f b f b f b f b g g g g dp1 d e e c e c e c e c dp2 d d d d f dp3 g dp 预 J1 1 2 3 4 GND 1 2 3 4 5 6 7 8 9 10 SC92F8372 11 7 4 2 1 10 5 3 com3 8 com2 9 com1 12 20 19 18 17 16 15 14 13 12 11 R20 R19 R18 R17 R16 R15 510R 510R 510R 510R 510R 510R TK1 TK2 TK3 TK4 TK5 TK6 V0.2 http://www.socmcu.com Page 66 of 72 SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU SinOne 19 应用电路 SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 20 订购信息 封装 SOP20L TSSOP20L SOP16L SOP8L 包装 管装 管装 管装 管装 预 览 版 本 产品编号 SC92F8372M20U SC92F8372X20U SC92F8371M16U SC92F8370M08U Page 67 of 72 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU 21 封装信息 SC92F8372M20U SOP20L(300mil)外形尺寸 单位:毫米 20 11 e1 HE E ~ ~ L 1 10 Detail F e1 e b 版 mm(毫米) 2.465 A1 0.100 A2 2.100 b 0.356 预 A 览 最小 正常 最大 2.515 2.565 0.150 0.200 2.300 2.500 0.406 0.456 0.254(BSC) D 12.500 12.700 12.900 E 7.400 7.450 7.500 HE 10.206 10.306 10.406 1.27(BSC) e L 0.800 0.864 0.900 LE 1.303 1.403 1.503  0 - 10 S Page 68 of 72 A See Detail F 符号 C LE y 本 Seating Plane D S A1 A2 c D 0.660(BSC) V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU SC92F8372X20U TSSOP20L 外形尺寸 单位:毫米 11 E 20 H L 1 10 e1 e b A A1 A2 c D See Detail F 符号 最小 正常 最大 - 1.200 - 0.150 - 1.000 - 0.300 - 0.200 0.050 A2 0.800 b 0.190 c 0.090 D 6.400 - 6.600 E 6.250 - 6.550 e1 4.300 - 4.500 L  H 预 览 版 A A1 0.65(BSC) e Page 69 of 72 本 mm(毫米) 0.500 - 0.700 1 - 7 0.25(TYP) V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU SC92F8371M16U SOP16L(150mil) 外形尺寸 单位:毫米 e1 ~ ~ HE 9 E 16 £c 1 b L 8 Detail F e1 Seating Plane LE A1 e D S A A2 c D y See Detail F 符号 mm(毫米) A1 0.100 A2 1.400 b 0.356 C S 9.700 预 D E 3.800 HE 5.900 1.700 0.150 0.200 1.450 1.500 0.406 0.470 0.203(BSC) 9.900 10.160 0.505(BSC) 3.900 4.000 6.000 6.100 1.27(BSC) e L 0.500 0.660 0.700 LE 0.950 1.050 1.150 0 - 8  Page 70 of 72 最大 1.600 版 1.500 览 A 正常 本 最小 V0.2 http://www.socmcu.com SC92F8372/8371/8370 SinOne 超高速 1T 8051 内核 16 路双模触控 Flash MCU SC92F8370M08U SOP8L(150mil) 外形尺寸 单位:毫米 HE 5 E 8 z L 1 b 4 L1 D y A A1 e D A2 c Detail F See Detail F Seating Plane 符号 正常 最大 1.500 1.600 1.700 0.100 0.150 0.200 A2 - 1.450 - 0.406 0.456 0.203 0.263 4.840 4.890 3.860 3.910 6.000 6.100 0.143 D 4.790 E 3.810 HE 5.900 览 0.356 预 b C 版 A 本 最小 A1 e Page 71 of 72 mm(毫米) 1.270(BSC) L 0.650 0.660 0.670 L1 0.950 1.050 1.150  0 - 10 V0.2 http://www.socmcu.com SinOne SC92F8372/8371/8370 超高速 1T 8051 内核 16 路双模触控 Flash MCU 22 规格更改记录 版本 V0.2 日期 2018 年 2 月 2017 年 9 月 预 览 版 本 V0.1 记录 1. 增加与烧录口复用的 TK 通道使用注意事项 2. 增加用户 ID 区域说明 3. 烧录器增加 SC LINK 4. 完善 TWI 时序图 5. 电气特性:删除 IC 工作电流最大值 初版 Page 72 of 72 V0.2 http://www.socmcu.com
SC92F8372X20U 价格&库存

很抱歉,暂时无法提供与“SC92F8372X20U”相匹配的价格&库存,您可以联系我们找货

免费人工找货
SC92F8372X20U
    •  国内价格
    • 1+3.46500
    • 10+2.76050
    • 30+2.46020
    • 100+2.07900
    • 500+1.91730
    • 1000+1.81340

    库存:0

    SC92F8372X20U
    •  国内价格
    • 1+2.01388
    • 30+1.94444
    • 100+1.80555
    • 500+1.66666
    • 1000+1.59722

    库存:0