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

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
SC92F8547P48R

SC92F8547P48R

  • 厂商:

    SOC(赛元)

  • 封装:

    LQFP48_7X7MM

  • 描述:

    超高速 1T 8051 内核 Flash MCU ,2 Kbytes SRAM ,32 Kbytes Flash,128 bytes 独立EEPROM,31 路高灵敏度触控电路,12 位ADC,1 个...

  • 数据手册
  • 价格&库存
SC92F8547P48R 数据手册
SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 Flash MCU ,2 Kbytes SRAM ,32 Kbytes Flash,128 bytes 独立 EEPROM,31 路高灵敏度触控电路,12 位 ADC,1 个模拟比较器,LCD/LED Driver,12 位 PWM,3 个定时器,乘除法器,UART,SSI ,Check Sum 校验模块 境,经过寄存器修正后频率误差不超过 ±4% 1 总体描述 低电压复位(LVR):  复位电压有 4 级可选: 4.3V、3.7V、2.9V、2.3V  缺省值为用户烧写 Code Option 所选值 SC92F8547/8546/8543/8541(以下简称 SC92F854X) 系列是一颗增强型的超高速 1T 8051 内核工业级 Flash 微 控 制 器 , 指 令 系 统 完 全 兼 容 传 统 8051 产 品 系 列 。 SC92F854X 集 成 有 32 Kbytes Flash ROM、 2 Kbytes SRAM 、128 bytes EEPROM、内置有 31 路高灵敏度隔空 电容触控电路、最多 46 个 GP I/O、16 个 IO 可外部中断、 3 个 16 位定时器、17 路 12 位高精度 ADC、1 个模拟比较 器、8 路 12 位 PWM、IO 驱动分级控制(LED segment 口)、1 个 16 ×16 位硬件乘除法器、内部±1%高精度高频 16/8/4/1.33MHz 振荡器和±4%精度低频 128K 振荡器、可 外接晶体振荡器、UART 等通讯接口等资源。为提高可靠 性及简化客户电路,SC92F854X 内部也集成有 4 级可选电 压 LVR、2.4V 基准 ADC 参考电压、低耗电 WDT 等高可靠 电路。SC92F854X 具有非常优异的抗干扰性能,非常适合 应用于各种物联网控制、大小智能家电和智能家居、充电 器、电源、航模、对讲机、无线通讯、游戏机等工业控制 和消费应用领域。 版 工作电压:2.4V~5.5V 预 览 工作温度:-40 ~ 85℃ 封装: SC92F8547 (LQFP48) SC92F8546 (LQFP44) SC92F8543 (SOP28/TSSOP28) SC92F8541 (SOP16) 内核:超高速的 1T 8051 Flash ROM:32 Kbytes Flash ROM(MOVC 禁止寻址 0000H~00FFH 的 256 bytes) IAP:可 code option 成 0K、0.5K、1K 或 32K EEPROM:128 bytes,无需擦除,10 万次写入,10 年以 上保存寿命 SRAM : 内部 256 bytes+外部 1792 bytes+PWM&LCD RAM 80 bytes 系统时钟(fSYS):  内建高频 16MHz 振荡器(fHRC)  IC 工作的系统时钟,可通过编程器选择设定为:  16MHz @2.9~5.5V  8/4/1.33MHz@2.4~5.5V  频率误差:跨越 (3.0V~5.5V) 及 (-20 ~ 85℃) 应用环 境,不超过 ±1% 内置低频晶体振荡器电路:  可外接 32K 振荡器,作为 Base Timer 时钟源,可唤 醒 STOP 内建低频 128kHz LRC 振荡器:  可作为 Base Timer 及 WDT 的时钟源,并唤醒 STOP  频率误差:跨越 (4.0V ~ 5.5V) 及 (-20 ~ 85℃) 应用环 Page 1 of 107 中断(INT):  Timer0,Timer1,Timer2,INT0~2,ADC,PWM, UART,SSI,Base Timer,TK,CMP 共 13 个中断 源  外部中断有 3 个中断向量,共 16 个中断口,全部可 设上升沿、下降沿、双沿中断  两级中断优先级可设 数字外围:  最大 46 个双向可独立控制的 I/O 口,可独立设定上拉 电阻  P0~P3L(P3.0/1/2/3)口源驱动能力分四级控制  全部 IO 具有大灌电流驱动能力(50mA)  11 位 WDT,可选时钟分频比  3 个标准 80C51 定时器 Timer0、Timer1 和 Timer2  最多 8 路共用周期、单独可调占空比的 12 位 PWM  1 个独立 UART 通信口  1 个 UART/SPI/IIC 三选一 SSI 通信口  集成 16 ×16 位硬件乘除法器 本 2 主要功能 Flash 烧写和仿真:  2 线 JTAG 烧写和仿真接口 LCD/LED 驱动器:  LCD/LED 二选一,共用寄存器和 IO 口  8 X 24、6 X 26、5 X 27、或 4X 28 段 LED 驱动  LED segment 口源驱动能力分四级控制  8 X 24、6 X 26、5 X 27、或 4X 28 段 LCD 驱动  SC92F8541 无 LCD/LED Driver 模拟外围:  31 路高灵敏度 TK 电路  可实现 31 路高灵敏度隔空触控按键及衍生功能  高灵活度开发软件库支持,低开发难度  自动化调试软件支持,智能化开发  17 路 12 位±2LSB ADC  内建基准的 2.4V 参考电压  ADC 的参考电压有 2 种选择,分别是 VDD 以及 内部 2.4V  内部一路 ADC 可直接测量 VDD 电压  可设 ADC 转换完成中断  1 个模拟比较器  四路输入一路参考电压输入  比较电压 16 级可选(VDD 分压) 省电模式:  IDLE Mode,可由任何中断唤醒  STOP Mode,可由 INT0~2 和 Base Timer 唤醒 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 92 系列产品命名规则 名称 SC 92 F 8 5 4 7 X P 48 R 序号 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ 序号 含义 ① 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 107 V0.5 http://www.socmcu.com SinOne 目录 SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 1 总体描述 ............................................................................................................................... 1 2 主要功能 ............................................................................................................................... 1 92 系列产品命名规则 ............................................................................................................... 2 目录.......................................................................................................................................... 3 3 管脚定义 ............................................................................................................................... 7 3.1 LQFP48/LQFP44 管脚配置 ....................................................................................................................... 7 3.1.1 LQFP48/LQFP44 管脚定义 .............................................................................................................. 9 3.2 SOP28/TSSOP28 管脚配置 ..................................................................................................................... 13 3.2.1 SOP28/TSSOP28 管脚定义 ........................................................................................................... 13 版 本 3.3 SOP16 管脚配置(无 LED driver) ........................................................................................................ 16 3.3.1 SOP16 管脚定义 ............................................................................................................................ 16 览 4 内部框图 ............................................................................................................................. 18 预 5 FLASH ROM 和 SRAM 结构 ............................................................................................... 19 5.1 flash rom ................................................................................................................................................. 19 5.2 Customer Option 区域(用户烧写设置) .............................................................................................. 20 5.2.1 Option 相关 SFR 操作说明 ............................................................................................................. 21 5.3 sram ......................................................................................................................................................... 22 5.3.1 内部 256 bytes SRAM .................................................................................................................... 22 5.3.2 外部 1792 bytes SRAM .................................................................................................................. 23 5.3.3 PWM&LCD 80 bytes SRAM .......................................................................................................... 24 6 特殊功能寄存器(SFR) ......................................................................................................... 24 6.1 SFR 映像 .................................................................................................................................................. 24 6.2 SFR 说明 .................................................................................................................................................. 25 6.2.1 8051 CPU 内核常用特殊功能寄存器介绍 ...................................................................................... 26 7 电源、复位和时钟 ............................................................................................................... 27 7.1 电源电路 ................................................................................................................................................... 27 7.2 上电复位过程............................................................................................................................................ 27 7.2.1 复位阶段......................................................................................................................................... 27 7.2.2 调入信息阶段 ................................................................................................................................. 27 Page 3 of 107 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 7.2.3 正常操作阶段 ................................................................................................................................. 28 7.3 复位方式 ................................................................................................................................................... 28 7.3.1 外部 RST 复位................................................................................................................................ 28 7.3.2 低电压复位 LVR ............................................................................................................................. 28 7.3.3 上电复位 POR ................................................................................................................................ 29 7.3.4 看门狗复位 WDT ............................................................................................................................ 29 7.3.5 复位初始状态 ................................................................................................................................. 30 7.4 高频系统时钟电路 .................................................................................................................................... 31 7.5 低频振荡器及低频时钟定时器 .................................................................................................................. 32 7.6 STOP 模式和 IDLE 模式 .......................................................................................................................... 33 8 中央处理单元 CPU 及指令系统 ........................................................................................... 35 8.1 CPU .......................................................................................................................................................... 35 览 版 本 8.2 寻址方式 ................................................................................................................................................... 35 8.2.1 立即寻址......................................................................................................................................... 35 8.2.2 直接寻址......................................................................................................................................... 35 8.2.3 间接寻址......................................................................................................................................... 35 8.2.4 寄存器寻址 ..................................................................................................................................... 35 8.2.5 相对寻址......................................................................................................................................... 35 8.2.6 变址寻址......................................................................................................................................... 35 8.2.7 位寻址 ............................................................................................................................................ 35 预 9 INTERRUPT 中断 ............................................................................................................... 36 9.1 中断源、向量 ........................................................................................................................................... 36 9.2 中断结构图 ............................................................................................................................................... 38 9.3 中断优先级 ............................................................................................................................................... 39 9.4 中断处理流程 ........................................................................................................................................... 39 9.5 中断相关 SFR 寄存器 ............................................................................................................................... 39 10 定时器 TIMER0 、TIMER1 ............................................................................................... 43 10.1 T0 和 T1 相关特殊功能寄存器 ................................................................................................................ 43 10.2 T0 工作模式............................................................................................................................................ 45 10.3 T1 工作模式............................................................................................................................................ 47 11 定时器 TIMER2 ................................................................................................................. 49 11.1 T2 相关特殊功能寄存器 ......................................................................................................................... 49 11.2 T2 工作模式............................................................................................................................................ 51 Page 4 of 107 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 12 乘除法器 ........................................................................................................................... 55 13 PWM ................................................................................................................................. 56 13.1 PWM 结构框图 ....................................................................................................................................... 56 13.2 PWM 相关 SFR 寄存器 .......................................................................................................................... 57 13.3 PWM 波形及用法 ................................................................................................................................... 59 14 GP I/O ............................................................................................................................... 60 14.1 GPIO 结构图 .......................................................................................................................................... 60 14.2 I/O 端口相关寄存器 ................................................................................................................................ 61 15 LCD/LED 显示驱动 ........................................................................................................... 65 15.1 LCD/LED 显示驱动相关寄存器 .............................................................................................................. 65 本 15.2 LCD/LED 显示 RAM 配置 ...................................................................................................................... 67 览 版 15.3 LCD 波形 ................................................................................................................................................ 68 15.3.1 1/3Bias LCD 波形 ......................................................................................................................... 68 15.3.2 1/4Bias LCD 波形 ......................................................................................................................... 69 15.4 LED 波形 ................................................................................................................................................ 70 预 15.5 LCD/LED 例程 ....................................................................................................................................... 71 15.5.1 LCD 配置例程 .............................................................................................................................. 71 15.5.2 LED 配置例程 ............................................................................................................................... 71 16 UART0 .............................................................................................................................. 72 16.1 串口通信的波特率 .................................................................................................................................. 73 17 SPI/TWI/UART 三选一串行接口 SSI ................................................................................. 74 17.1 SPI ......................................................................................................................................................... 74 17.1.1 SPI 操作相关寄存器 ..................................................................................................................... 74 17.1.2 信号描述....................................................................................................................................... 75 17.1.3 工作模式....................................................................................................................................... 76 17.1.4 传送形式....................................................................................................................................... 77 17.1.5 出错检测....................................................................................................................................... 77 17.2 TWI......................................................................................................................................................... 78 17.2.1 信号描述....................................................................................................................................... 79 17.2.2 工作模式....................................................................................................................................... 79 17.2.3 操作步骤....................................................................................................................................... 81 17.3 UART1 ................................................................................................................................................... 82 Page 5 of 107 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 18 模数转换 ADC ................................................................................................................... 84 18.1 ADC 相关寄存器 .................................................................................................................................... 84 18.2 ADC 转换步骤 ........................................................................................................................................ 86 19 模拟比较器 ........................................................................................................................ 87 19.1 模拟比较器结构框图............................................................................................................................... 87 20 高灵敏度隔空电容触控电路 ............................................................................................... 89 21 EEPROM 及 IAP 操作 ....................................................................................................... 90 21.1 EEPROM / IAP 操作相关寄存器 ............................................................................................................ 90 21.2 EEPROM / IAP 操作流程 ....................................................................................................................... 92 21.2.1 128 bytes 独立 EEPROM 操作例程 ............................................................................................. 92 21.2.2 32 Kbytes CODE 区域 IAP 操作例程 ........................................................................................... 93 本 22 CHECK SUM 模块 ............................................................................................................ 94 版 22.1 check sum 校验操作相关寄存器 ........................................................................................................... 94 览 23 电气特性 ........................................................................................................................... 95 预 23.1 极限参数 ................................................................................................................................................. 95 23.2 推荐工作条件 ......................................................................................................................................... 95 23.3 直流电气特性 ......................................................................................................................................... 95 23.4 交流电气特性 ......................................................................................................................................... 96 23.5 ADC 电气特性 ........................................................................................................................................ 97 23.6 模拟比较器电气特性............................................................................................................................... 97 24 应用电路 ........................................................................................................................... 98 25 订购信息 ........................................................................................................................... 99 26 封装信息 ......................................................................................................................... 100 27 规格更改记录 .................................................................................................................. 107 Page 6 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 3 管脚定义 3.1 LQFP48/LQFP44 管脚配置 36 35 34 P3.5/AIN9/C5/TK2 P3.4/AIN8/C4/TK3 P3.3/S0/C3/TK4 P3.1/S2/C1/TK6 P3.2/S1/C2/TK5 P3.0/S3/C0/TK7 P1.0/S4/TK8 P1.1/MISO/RX1/S5/TK9/tCK P1.2/SCK/S6/TK10 P1.3/MOSI/SDA/TX1/S7/TK11/tDIO P1.4/INT14/AIN0/S8/TK12 P1.5/INT15/AIN1/S9/TK13 特别说明:SC92F854X 的 TK9/TK11 与 TK 调试通信口复用,若需使用 TK 调试功能,请尽量避免使用 TK9/TK11! 33 32 31 30 29 28 27 26 25 TK14/S10/AIN2/INT16/P1.6 37 24 P3.6/AIN10/C6/TK1 38 23 P3.7/AIN11/C7/TK0 39 22 P4.0/INT10/PWM40/CMP0/AIN12 TK17/S13/AIN5/TX0/INT21/P2.1 40 21 P4.1/INT11/PWM41/CMP1/AIN13 TK18/S14/AIN6/INT22/P2.2 41 20 P4.2/INT12/PWM42/CMP2/AIN14 TK19/S15/AIN7/INT23/P2.3 42 19 P4.3/INT13/PWM43/CMP3/AIN15 TK20/S16/P2.4 43 18 P4.4/CMPR TK21/S17/P2.5 44 17 P4.5 TK22/S18/P2.6 45 16 VDD TK23/S19/P2.7 46 15 P4.6 TK24/S20/P0.0 47 14 P4.7 TK25/S21/P0.1 48 13 P5.5 本 TK15/S11/AIN3/INT17/P1.7 TK16/S12/AIN4/RX0/INT20/P2.0 10 11 12 P5.4 9 PWM53/P5.3 8 RST/PWM52/P5.2 CMOD/S27/INT07/P0.7 7 OSCO/PWM51/P5.1 6 VSS 5 OSCI/PWM50/P5.0 4 TK30/S26/INT06/P0.6 TK27/S23/T1/P0.3 3 TK29/S25/T2/INT05/P0.5 2 TK28/S24/T2EX/INT04/P0.4 1 TK26/S22/T0/P0.2 预 览 版 SC92F8547 SC92F8547 管脚配置图 Page 7 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne P3.3/S0/C3/TK4 P3.1/S2/C1/TK6 33 32 31 30 29 28 27 26 25 P3.2/S1/C2/TK5 P3.0/S3/C0/TK7 P1.0/S4/TK8 P1.1/S5/TK9/MISO/RX1/tCK P1.2/S6/SCK/TK10 P1.3/S7/TK11/MOSI/SDA/TX1/tDIO P1.4/INT14/AIN0/S8/TK12 P1.6/INT16/AIN2/S10/TK14 P1.5/INT15/AIN1/S9/TK13 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 24 23 TK15/S11/AIN3/INT17/P1.7 34 22 P3.4/AIN8/C4/TK3 TK16/S12/AIN4/RX0/INT20/P2.0 35 21 P3.5/AIN9/C5/TK2 TK17/S13/AIN5/TX0/INT21/P2.1 36 20 P3.6/AIN10/C6/TK1 TK18/S14/AIN6/INT22/P2.2 37 19 P3.7/AIN11/C7/TK0 TK19/S15/AIN7/INT23/P2.3 38 18 P4.0/INT10/PWM40/CMP0/AIN12 TK20/S16/P2.4 39 17 P4.1/INT11/PWM41/CMP1/AIN13 TK21/S17/P2.5 40 16 P4.2/INT12/PWM42/CMP2/AIN14 TK22/S18/P2.6 41 15 P4.3/INT13/PWM43/CMP3/AIN15 TK23/S19/P2.7 42 14 P4.4/CMPR TK24/S20/P0.0 43 13 P4.5 TK25/S21/P0.1 44 12 VDD 本 10 11 览 PWM53/P5.3 9 RST/PWM52/P5.2 CMOD/S27/INT07/P0.7 8 OSCO/PWM51/P5.1 TK30/S26/INT06/P0.6 7 版 6 OSCI/PWM50/P5.0 5 VSS 4 TK29/S25/T2/INT05/P0.5 TK27/S23/T1/P0.3 3 TK28/S24/T2EX/INT04/P0.4 2 预 1 TK26/S22/T0/P0.2 SC92F8546 SC92F8546 管脚配置图 Page 8 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 3.1.1 LQFP48/LQFP44 管脚定义 脚位数 管脚名称 类型 功能说明 44pin 1 1 P0.2/T0/S22/TK26 I/O 2 2 P0.3/T1/S23/TK27 I/O 3 3 P0.4/INT04/T2EX/S24/TK28 I/O 4 4 P0.5/INT05/T2/S25/TK29 I/O 5 5 P0.6/INT06/S26/TK30 6 6 P0.7/INT07/S27/CMOD 7 7 VSS 8 8 P5.0/PWM50/OSCI I/O 9 9 P5.1/PWM51/OSCO I/O 10 10 P5.2/PWM52/RST I/O 11 11 P5.3/PWM53 I/O 12 - P5.4 I/O P5.0: GPIO P5.0 PWM50: PWM50 输出口 OSCI: 32k 振荡器的输入脚 P5.1: GPIO P5.1 PWM51: PWM51 输出口 OSCO: 32k 振荡器的输出脚 P5.2: GPIO P5.2 PWM52: PWM52 输出口 RST: 复位管脚 P5.3: GPIO P5.3 PWM53: PWM53 输出口 P5.4: GPIO P5.4 13 - P5.5 I/O P5.5: GPIO P5.5 14 - P4.7 I/O P4.7: GPIO P4.7 15 - P4.6 I/O P4.6: GPIO P4.6 16 12 VDD Power 17 13 P4.5 I/O Page 9 of 107 预 览 版 本 48pin I/O I/O Power P0.2: GPIO P0.2 T0: 计数器 0 外部输入 S22: LCD/LED SEG22 TK26: TK 的通道 26 P0.3: GPIO P0.3 T1: 计数器 1 外部输入 S23: LCD/LED SEG23 TK27: TK 的通道 27 P0.4: GPIO P0.4 INT04: 外部中断 0 的输入 4 T2EX: 定时器 2 外部捕获信号输入 S24: LCD/LED SEG24 TK28: TK 的通道 28 P0.5: GPIO P0.5 INT05: 外部中断 0 的输入 5 T2: 计数器 2 外部输入 S25: LCD/LED SEG25 TK29: TK 的通道 29 P0.6: GPIO P0.6 INT06: 外部中断 0 的输入 6 S26: LCD/LED SEG26 TK30: TK 的通道 30 P0.7: GPIO P0.7 INT07: 外部中断 0 的输入 7 S27: LCD/LED SEG27 CMOD: Touch Key 触控外接电容 接地 电源 P4.5: GPIO P4.5 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 14 P4.4/CMPR I/O 19 15 P4.3/INT13/PWM43/CMP3/AIN15 I/O 20 16 P4.2/INT12/PWM42/CMP2/AIN14 I/O 21 17 P4.1/INT11/PWM41/CMP1/AIN13 I/O 22 18 P4.0/INT10/PWM40/CMP0/AIN12 I/O 23 19 P3.7/AIN11/C7/TK0 24 20 P3.6/AIN10/C6/TK1 25 21 P3.5/AIN9/C5/TK2 I/O 26 22 P3.4/AIN8/C4/TK3 I/O 27 23 P3.3/S0/C3/TK4 I/O 28 24 P3.2/S1/C2/TK5 I/O 29 25 P3.1/S2/C1/TK6 I/O Page 10 of 107 预 览 版 本 18 I/O I/O P4.4: GPIO P4.4 CMPR: 比较器参考电压输入 P4.3: GPIO P4.3 INT13: 外部中断 1 的输入 3 PWM43: PWM43 输出口 CMP3: 模拟比较器输入通道 3 AIN15: ADC 输入通道 15 P4.2: GPIO P4.2 INT12: 外部中断 1 的输入 2 PWM42: PWM42 输出口 CMP2: 模拟比较器输入通道 2 AIN14: ADC 输入通道 14 P4.1: GPIO P4.1 INT11: 外部中断 1 的输入 1 PWM41: PWM41 输出口 CMP1: 模拟比较器输入通道 1 AIN13: ADC 输入通道 13 P4.0: GPIO P4.0 INT10: 外部中断 1 的输入 0 PWM40: PWM40 输出口 CMP0: 模拟比较器输入通道 0 AIN12: ADC 输入通道 12 P3.7: GPIO P3.7 AIN11: ADC 输入通道 11 C7: LCD/LED common 输出 7 TK0: TK 的通道 0 P3.6: GPIO P3.6 AIN10: ADC 输入通道 10 C6: LCD/LED common 输出 6 TK1: TK 的通道 1 P3.5: GPIO P3.5 AIN9: ADC 输入通道 9 C5: LCD/LED common 输出 5 TK2: TK 的通道 2 P3.4: GPIO P3.4 AIN8: ADC 输入通道 8 C4: LCD/LED common 输出 4 TK3: TK 的通道 3 P3.3: GPIO P3.3 S0: LCD/LED SEG0 C3: LCD/LED common 输出 3 TK4: TK 的通道 4 P3.2: GPIO P3.2 S1: LCD/LED SEG1 C2: LCD/LED common 输出 2 TK5: TK 的通道 5 P3.1: GPIO P3.1 S2: LCD/LED SEG2 C1: LCD/LED common 输出 1 TK6: TK 的通道 6 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 26 P3.0/S3/C0/TK7 I/O 31 27 P1.0/S4/TK8 I/O 32 28 P1.1/MISO/RX1/S5/TK9/tCK I/O 33 29 P1.2/SCK/S6/TK10 I/O 34 30 P1.3/MOSI/SDA/TX1/S7/TK11/tDIO I/O 35 31 P1.4/INT14/AIN0/S8/TK12 36 32 P1.5/INT15/AIN1/S9/TK13 I/O 37 33 P1.6/INT16/AIN2/S10/TK14 I/O 38 34 P1.7/INT17/AIN3/S11/TK15 I/O 39 35 P2.0/INT20/RX0/AIN4/S12/TK16 I/O I/O 预 览 版 本 30 Page 11 of 107 P3.0: GPIO P3.0 S3: LCD/LED SEG3 C0: LCD/LED common 输出 0 TK7: TK 的通道 7 P1.0: GPIO P1.0 S4: LCD/LED SEG4 TK8: TK 的通道 8 P1.1: GPIO P1.1 MISO: SPI 总线主输入/从输出口 RX1: UART1 接收口 S5: LCD/LED SEG5 TK9: TK 的通道 9 tCK: 烧录和仿真口时钟线 P1.2: GPIO P1.2 SCK: SPI 及 TWI 的 SCK S6: LCD/LED SEG6 TK10: TK 的通道 10 P1.3: GPIO P1.3 MOSI: SPI 总线主输出/从输入口 SDA: TWI 的 SDA TX1: UART1 发送口 S7: LCD/LED SEG7 TK11: TK 的通道 11 tDIO: 烧录和仿真口数据线 P1.4: GPIO P1.4 INT14: 外部中断 1 的输入 4 AIN0: ADC 输入通道 0 S8: LCD/LED SEG8 TK12: TK 的通道 12 P1.5: GPIO P1.5 INT15: 外部中断 1 的输入 5 AIN1: ADC 输入通道 1 S9: LCD/LED SEG9 TK13: TK 的通道 13 P1.6: GPIO P1.6 INT16: 外部中断 1 的输入 6 AIN2: ADC 输入通道 2 S10: LCD/LED SEG10 TK14: TK 的通道 14 P1.7: GPIO P1.7 INT17: 外部中断 1 的输入 7 AIN3: ADC 输入通道 3 S11: LCD/LED SEG11 TK15: TK 的通道 15 P2.0: GPIO P2.0 INT20: 外部中断 2 的输入 0 RX0: UART0 接收口 AIN4: ADC 输入通道 4 S12: LCD/LED SEG12 TK16: TK 的通道 16 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 36 P2.1/INT21/TX0/AIN5/S13/TK17 I/O 41 37 P2.2/INT22/AIN6/S14/TK18 I/O 42 38 P2.3/INT23/AIN7/S15/TK19 I/O 43 39 P2.4/S16/TK20 I/O 44 40 P2.5/S17/TK21 I/O 45 41 P2.6/S18/TK22 46 42 P2.7/S19/TK23 47 43 P0.0/S20/TK24 48 44 P0.1/S21/TK25 Page 12 of 107 预 览 版 本 40 I/O I/O I/O I/O P2.1: GPIO P2.1 INT21: 外部中断 2 的输入 1 TX0: UART0 发送口 AIN5: ADC 输入通道 5 S13: LCD/LED SEG13 TK17: TK 的通道 17 P2.2: GPIO P2.2 INT22: 外部中断 2 的输入 2 AIN6: ADC 输入通道 6 S14: LCD/LED SEG14 TK18: TK 的通道 18 P2.3: GPIO P2.3 INT23: 外部中断 2 的输入 3 AIN7: ADC 输入通道 7 S15: LCD/LED SEG15 TK19: TK 的通道 19 P2.4: GPIO P2.4 S16: LCD/LED SEG16 TK20: TK 的通道 20 P2.5: GPIO P2.5 S17: LCD/LED SEG17 TK21: TK 的通道 21 P2.6: GPIO P2.6 S18: LCD/LED SEG18 TK22: TK 的通道 22 P2.7: GPIO P2.7 S19: LCD/LED SEG19 TK23: TK 的通道 23 P0.0: GPIO P0.0 S20: LCD/LED SEG20 TK24: TK 的通道 24 P0.1: GPIO P0.1 S21: LCD/LED SEG21 TK25: TK 的通道 25 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 3.2 SOP28/TSSOP28 管脚配置 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 特别说明:SC92F854X 的 TK9/TK11 与 TK 调试通信口复用,若需使用 TK 调试功能,请尽量避免使用 TK9/TK11! 1 28 P0.5/INT05/T2/S25/TK29 CMOD/S27/INT07/P0.7 2 27 P0.4/INT04/T2EX/S24/TK28 VSS 3 26 P0.3/T1/RX0/S23/TK27 VDD 4 25 P0.2/T0/TX0/S22/TK26 AIN15/CMP3/PWM43/INT13/P4.3 5 24 P2.5/S17/TK21 AIN14/CMP2/PWM42/INT12/P4.2 6 23 P2.4/S16/TK20 AIN13/CMP1/PWM41/INT11/P4.1 7 22 P2.3/INT23/AIN7/S15/TK19 TK0/C7/AIN11/P3.7 8 21 P2.2/INT22/AIN6/S14/TK18 TK1/C6/AIN10/P3.6 9 20 P2.1/INT21/AIN5/S13/TK17 TK2/C5/AIN9/P3.5 10 19 P2.0/INT20/AIN4/S12/TK16 TK3/C4/AIN8/P3.4 11 TK4/C3/S0/P3.3 12 TK5/C2/S1/P3.2 13 本 版 览 14 18 P1.3/MOSI/SDA/TX1/S7/TK11/tDIO 17 P1.2/SCK/S6/TK10 16 P1.1/MISO/RX1/S5/TK9/tCK 15 P3.0/S3/C0/TK7 预 TK6/C1/S2/P3.1 SC92F8543 TK30/S26/INT06/P0.6 SC92F8543 管脚配置图 3.2.1 SOP28/TSSOP28 管脚定义 管脚名称 1 P0.6/INT06/S26 I/O 2 P0.7/INT07/S27/CMOD I/O 3 VSS Power 功能说明 P0.6: GPIO P0.6 INT06: 外部中断 0 的输入 6 S26: LCD/LED SEG26 P0.7: GPIO P0.7 INT07: 外部中断 0 的输入 7 S27: LCD/LED SEG27 CMOD: Touch Key 触控外接电容 接地 4 VDD Power 电源 5 P4.3/INT13/PWM43/CMP3/AIN15 I/O 6 P4.2/INT12/PWM42/CMP2/AIN14 I/O 28pin Page 13 of 107 类型 P4.3: GPIO P4.3 INT13: 外部中断 1 的输入 3 PWM43: PWM43 输出口 CMP3: 模拟比较器输入通道 3 AIN15: ADC 输入通道 15 P4.2: GPIO P4.2 INT12: 外部中断 1 的输入 2 PWM42: PWM42 输出口 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU P4.1/INT11/PWM41/CMP1/AIN13 I/O 8 P3.7/AIN11/C7 I/O 9 P3.6/AIN10/C6 I/O 10 P3.5/AIN9/C5 I/O 11 P3.4/AIN8/C4 I/O 12 P3.3/S0/C3 I/O 13 P3.2/S1/C2 14 P3.1/S2/C1 15 P3.0/S3/C0 16 P1.1/MISO/RX1/S5/tCK I/O 17 P1.2/SCK/S6 I/O 18 P1.3/MOSI/SDA/TX1/S7/tDIO I/O 19 P2.0/INT20/AIN4/S12 I/O Page 14 of 107 预 览 版 本 7 I/O I/O I/O CMP2: 模拟比较器输入通道 2 AIN14: ADC 输入通道 14 P4.1: GPIO P4.1 INT11: 外部中断 1 的输入 1 PWM41: PWM41 输出口 CMP1: 模拟比较器输入通道 1 AIN13: ADC 输入通道 13 P3.7: GPIO P3.7 AIN11: ADC 输入通道 11 C7: LCD/LED common 输出 7 P3.6: GPIO P3.6 AIN10: ADC 输入通道 10 C6: LCD/LED common 输出 6 P3.5: GPIO P3.5 AIN9: ADC 输入通道 9 C5: LCD/LED common 输出 5 P3.4: GPIO P3.4 AIN8: ADC 输入通道 8 C4: LCD/LED common 输出 4 P3.3: GPIO P3.3 S0: LCD/LED SEG0 C3: LCD/LED common 输出 3 P3.2: GPIO P3.2 S1: LCD/LED SEG1 C2: LCD/LED common 输出 2 P3.1: GPIO P3.1 S2: LCD/LED SEG2 C1: LCD/LED common 输出 1 P3.0: GPIO P3.0 S3: LCD/LED SEG3 C0: LCD/LED common 输出 0 P1.1: GPIO P1.1 MISO: SPI 总线主输入/从输出口 RX1: UART1 接收口 S5: LCD/LED SEG5 tCK: 烧录和仿真口时钟线 P1.2: GPIO P1.2 SCK: SPI 及 TWI 的 SCK S6: LCD/LED SEG6 P1.3: GPIO P1.3 MOSI: SPI 总线主输出/从输入口 SDA: TWI 的 SDA TX1: UART1 发送口 S7: LCD/LED SEG7 tDIO: 烧录和仿真口数据线 P2.0: GPIO P2.0 INT20: 外部中断 2 的输入 0 AIN4: ADC 输入通道 4 S12: LCD/LED SEG12 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU P2.1/INT21/AIN5/S13 I/O 21 P2.2/INT22/AIN6/S14 I/O 22 P2.3/INT23/AIN7/S15 I/O 23 P2.4/S16 I/O 24 P2.5/S17 I/O 25 P0.2/T0/TX0/S22 I/O 26 P0.3/T1/RX0/S23 I/O 27 P0.4/INT04/T2EX/S24 28 P0.5/INT05/T2/S25 Page 15 of 107 预 览 版 本 20 I/O I/O P2.1: GPIO P2.1 INT21: 外部中断 2 的输入 1 AIN5: ADC 输入通道 5 S13: LCD/LED SEG13 P2.2: GPIO P2.2 INT22: 外部中断 2 的输入 2 AIN6: ADC 输入通道 6 S14: LCD/LED SEG14 P2.3: GPIO P2.3 INT23: 外部中断 2 的输入 3 AIN7: ADC 输入通道 7 S15: LCD/LED SEG15 P2.4: GPIO P2.4 S16: LCD/LED SEG16 P2.5: GPIO P2.5 S17: LCD/LED SEG17 P0.2: GPIO P0.2 T0: 计数器 0 外部输入 TX0: UART0 发送口 S22: LCD/LED SEG22 P0.3: GPIO P0.3 T1: 计数器 1 外部输入 RX0: UART0 接收口 S23: LCD/LED SEG23 P0.4: GPIO P0.4 INT04: 外部中断 0 的输入 4 T2EX: 定时器 2 外部捕获信号输入 S24: LCD/LED SEG24 P0.5: GPIO P0.5 INT05: 外部中断 0 的输入 5 T2: 计数器 2 外部输入 S25: LCD/LED SEG25 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 3.3 SOP16 管脚配置(无 LED DRIVER) 特别说明:SC92F854X 的 TK9/TK11 与 TK 调试通信口复用,若需使用 TK 调试功能,请尽量避免使用 TK9/TK11! 1 16 P0.3/T1/RX0/TK27 VSS 2 15 P0.2/T0/TX0/TK26 VDD 3 14 P2.3/INT23/AIN7/TK19 TK0/AIN11/P3.7 4 13 P2.2/INT22/AIN6/TK18 TK1/AIN10/P3.6 5 12 P2.1/INT21/AIN5/TK17 tCK/TK9/RX1/MISO/P1.1 6 11 P2.0/INT20/AIN4/TK16 TK10/SCK/P1.2 7 10 P1.5/INT15/AIN1/TK13 tDIO/TK11/TX1/SDA/MOSI/P1.3 8 9 P1.4/INT14/AIN0/TK12 SC92F8541 CMOD/INT07/P0.7 本 SC92F8541 管脚配置 版 3.3.1 SOP16 管脚定义 览 管脚名称 16pin 类型 Power 功能说明 P0.7: GPIO P0.7 INT07: 外部中断 0 的输入 7 CMOD: Touch Key 触控外接电容 接地 Power 电源 P0.7/INT07/CMOD 2 VSS 3 VDD 4 P3.7/AIN11/TK0 I/O 5 P3.6/AIN10/TK1 I/O 6 P1.1/MISO/RX1/TK9/tCK I/O 7 P1.2/SCK/TK10 I/O 8 P1.3/MOSI/SDA/TX1/TK11/tDIO I/O Page 16 of 107 预 1 I/O P3.7: GPIO P3.7 AIN11: ADC 输入通道 11 TK0: TK 的通道 0 P3.6: GPIO P3.6 AIN10: ADC 输入通道 10 TK1: TK 的通道 1 P1.1: GPIO P1.1 MISO: SPI 总线主输入/从输出口之一 RX1: UART1 接收口之一 TK9: TK 的通道 9 tCK : 烧录和仿真口时钟线 P1.2: GPIO P1.2 SCK: SPI 及 TWI 的 SCK TK10: TK 的通道 10 P1.3: GPIO P1.3 MOSI: SPI 总线主输出/从输入口之一 SDA: TWI 的 SDA 之一 TX1: UART1 发送口之一 TK11: TK 的通道 11 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU P1.4/INT14/AIN0/TK12 I/O 10 P1.5/INT15/AIN1/TK13 I/O 11 P2.0/INT20/AIN4/TK16 I/O 12 P2.1/INT21/AIN5/TK17 I/O 13 P2.2/INT22/AIN6/ TK18 I/O 14 P2.3/INT23/AIN7/TK19 15 P0.2/T0/TX0/TK26 16 P0.3/T1/RX0/TK27 本 9 览 版 I/O I/O 预 Page 17 of 107 tDIO: 烧录和仿真口数据线 P1.4: GPIO P1.4 INT14: 外部中断 1 的输入 4 AIN0: ADC 输入通道 0 TK12: TK 的通道 12 P1.5: GPIO P1.5 INT15: 外部中断 1 的输入 5 AIN1: ADC 输入通道 1 TK13: TK 的通道 13 P2.0: GPIO P2.0 INT20: 外部中断 2 的输入 0 AIN4: ADC 输入通道 4 TK16: TK 的通道 16 P2.1: GPIO P2.1 INT21: 外部中断 2 的输入 1 AIN5: ADC 输入通道 5 TK17: TK 的通道 17 P2.2: GPIO P2.2 INT22: 外部中断 2 的输入 2 AIN6: ADC 输入通道 6 TK18: TK 的通道 18 P2.3: GPIO P2.3 INT23: 外部中断 2 的输入 3 AIN7: ADC 输入通道 7 TK19: TK 的通道 19 P0.2: GPIO P0.2 T0: 计数器 0 外部输入 TX0: UART0 发送口 TK26: TK 的通道 26 P0.3: GPIO P0.3 T1: 计数器 1 外部输入 RX0: UART0 接收口 TK27: TK 的通道 27 I/O V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 4 内部框图 LVR Controller LVD reset Internal 256 bytes RAM WDT External 1792 bytes RAM 128kHz LRC PWM&LCD 80 bytes RAM WAKECNT Controller 32kHz X’ OSC HRC Voltage Reference 128 bytes EEPROM 16MHz HRC Clock Controller ADC ADC Controller 2.4V REG CMP Controller BandGap Voltage Reference UART SPI IIC 览 32 Kbytes Program ROM (Flash) 预 LDO & Power Manager 1T 8051 CORE 版 CMP clock 本 HRC Regulator UART TIMER0 TIMER1 LCD/LED Driver Touch Key Sensor TIMER2 PWM I/O IO PADS INT Interrupt Interrupt Controller SC92F854X BLOCK DIAGRAM Page 18 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 5 FLASH ROM 和 SRAM 结构 SC92F854X 的 Flash ROM 和 SRAM 结构如下: 用户ID区域 7Fh 074Fh EEPROM LCD RAM 00h 0700h 7FFFh 06FFh 外部RAM (通过MOVX/DPTR寻址) 0000h RAM (间接寻址) Flash ROM For Program FFh SFR (直接寻址) 80h 7Fh RAM (直接寻址或间接寻址) 00h 版 本 0000h 5.1 FLASH ROM 览 Flash ROM 和 SRAM 结构图 预 SC92F854X 有 32 Kbytes 的 Flash ROM,ROM 地址为 0000H~7FFFH。此 32 Kbytes Flash ROM 可反复写 入 1 万次,可通过 SinOne 提供的专用 ICP 烧写器(SOC PRO52/DPT52/SC LINK)来进行编程及擦除。地址为 0000H~00FFH 地址的 256 bytes 区间 MOVC 指令不可寻址。 EEPROM 为独立于 32 Kbytes ROM 之外的一块区间,其地址为 00H~7FH,可在程序中对其进行单 byte 读 写操作,具体操作方法参考 21 EEPROM 及 IAP 操作。 用户 ID 区域:出厂时写入用户 ID,用户只可对其进行读操作,具体操作方式参考 21 EEPROM 及 IAP 操作。 SC92F854X 的 32 Kbytes Flash ROM 能提供查空 BLANK、编程 PROGRAM、校验 VERIFY 和擦除 ERASE 功能,但不提供读取 READ 的功能。此 Flash ROM 和 EEPROM 通常写入前无需进行擦除操作,直接写入数据即 可实现新数据的覆盖。 SC92F854X 的 Flash ROM 通过 tDIO、tCK、VDD、VSS 来进行编程,具体连接关系如下: Page 19 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 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 区域(用户烧写设置) 预 览 版 SC92F854X 内部有单独的一块 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 ENXTL OP_CTM1 C2H@FFH Customer Option 寄存器 1 VREFS - OP_HRCR[7:0] OP_HRCR (83H@FFH) 系统时钟改变寄存器(读/写) 位编号 7 6 5 符号 读/写 上电初始值 n n n 位编号 7~0 位符号 OP_HRCR[7:0] - 4 3 OP_HRCR[7:0] 读/写 n n DISRST - 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 ENXTL SCLKS[1:0] 读/写 读/写 读/写 读/写 上电初始值 n n n Page 20 of 107 SCLKS[1:0] 3 DISRST 读/写 n 2 DISLVR 读/写 n 1 0 LVRS[1:0] 读/写 n V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 位符号 ENWDT 说明 6 ENXTL 5~4 SCLKS[1:0] 3 DISRST 2 DISLVR 1~0 LVRS [1:0] WDT 开关 0:WDT 无效 1:WDT 有效(但 IC 在执行 IAP 过程中 WDT 停止计数) 外部 32k 晶振选择开关 0:外部 32k 晶振关闭,P5.0、P5.1 有效; 1:外部 32k 晶振打开,P5.0、P5.1 无效。 系统时钟频率选择: 00:系统时钟频率为高频振荡器频率除以 1; 01:系统时钟频率为高频振荡器频率除以 2; 10:系统时钟频率为高频振荡器频率除以 4; 11:系统时钟频率为高频振荡器频率除以 12。 IO/RST 复位切换控制 0 :P5.2 当复位脚使用 1 :P5.2 当正常的 I/O 管脚使用 LVR 使能设置 0:LVR 正常使用 1:LVR 无效 LVR 电压选择控制 11:4.3 V 复位 10:3.7V 复位 01:2.9V 复位 00:2.3V 复位 本 位编号 7 n x 位编号 7 位符号 VREFS 3~2 IAPS[1:0] 预 上电初始值 览 版 OP_CTM1 (C2H@FFH) Customer Option 寄存器 1(读/写) 7 6 5 4 位编号 VREFS 符号 读/写 读/写 x x 3 2 IAPS[1:0] 读/写 读/写 n n 1 x 0 x 说明 参考电压选择(初始值从 Code Option 调入,用户可修改设置) 0:设定 ADC 的 VREF 为 VDD 1:设定 ADC 的 VREF 为 内部准确的 2.4V 00:Code 区域禁止 IAP 操作,仅 EEPROM 区域可作为数据存储使用 01:最后 0.5K Code 区域允许 IAP 操作(7E00H~7FFFH) 10:最后 1K Code 区域允许 IAP 操作(7C00H~7FFFH) 11:全部 Code 区域允许 IAP 操作(0000H~7FFFH) 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 = 0x83; OPREG = 0x01; Page 21 of 107 //将 OP_HRCR 的地址写入 OPINX 寄存器 //对 OPREG 寄存器写入 0x01(待写入 OP_HRCR 寄存器的值) V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 汇编例程: MOV OPINX,#83H MOV OPREG,#01H 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU ; 将 OP_HRCR 的地址写入 OPINX 寄存器 ; 对 OPREG 寄存器写入 0x01(待写入 OP_HRCR 寄存器的值) 注意:禁止向 OPINX 寄存器写入 Customer Option 区域 SFR 地址之外的数值!否则会造成系统运行异常! 5.3 SRAM SC92F854X 单片机的 SRAM,分为内部 256 bytes RAM、外部 1792 bytes RAM 和 80 bytes 的 PWM&LCD 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~06FFH,但需通过 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,(此 FFH 预 高128 bytes RAM (只能间接寻址) 览 版 FFH 本 地址按位编地址,不同于通用 SRAM 按字节编地 址),程序中可由指令区分; ③用户 RAM 和堆栈 区, SC92F854X 复位过后, 8 位的堆栈 指针指向堆栈 区,用户一般会在 初始化 程序时设置初值, 建议设 置在 E0H~FFH 的单元区间。 特殊功能寄存器SFR (直接寻址) 80H 80H 7FH 低128 bytes RAM (可直接寻址;也可间接寻址) 00H 内部 256 bytes RAM 结构图 Page 22 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 内部低 128 bytes RAM 结构如下: 7F 7E 7D 7C 7B 7A 79 78 2F H 77 76 75 74 73 72 71 70 2E H 6F 6E 6D 6C 6B 6A 69 68 2D H 67 66 65 64 63 62 61 60 2C H 5F 5E 5D 5C 5B 5A 59 58 2B H 57 56 55 54 53 52 51 50 2A H 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 本 7FH 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 用户RAM及堆栈RAM区 30H 2FH 位寻址RAM区 20H 1FH 工作寄存器组3 18H 版 17H 工作寄存器组2 10H 07H 工作寄存器组0 00H 预 工作寄存器组1 览 0FH 08H SRAM 结构图 5.3.2 外部 1792 BYTES SRAM 可通过 MOVX @DPTR﹐A 来访问外部 1792 bytes RAM;也可以使用 MOVX A, @Ri 或 MOVX @Ri, A 配合 EXADH 寄 存器来访问外部 1792 bytes RAM:EXADH 寄存器存放外部 SRAM 的高位地址, Ri 寄存器存放外部 SRAM 的低 8 位地址。 EXADH (F7H) 外部 SRAM 操作地址高位(读/写) 7 6 5 位编号 符号 x x x 上电初始值 位编号 2~0 7~3 Page 23 of 107 位符号 EXADH [2:0] - 4 3 2 x x 0 1 EXADH [2:0] 0 0 0 说明 外部 SRAM 操作地址的高位 保留 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 5.3.3 PWM&LCD 80 BYTES SRAM RAM 地址的 0700H~074FH 作为 80 bytes 的 PWM&LCD SRAM ,其中: 1. PWM 占空比调节寄存器占用 0740H~074FH,只可写,不可读。具体操作方法参考 13.2 PWM 相关 SFR 寄存器; 2. LCD/LED 显示 RAM 占用 0700H~071BH,具体操作方法参考 15.2 LCD/LED 显示 RAM 配置。 6 特殊功能寄存器(SFR) 6.1 SFR 映像 SC92F854X 系列有一些特殊功能寄存器,我们称为 SFR。这些 SFR 寄存器的地址位于 80H~FFH,有些可 以位寻址,有些不能位寻址。能够进行位寻址操作的寄存器的地址末位数都是“0”或“8”,这些寄存器在需要改变单 个位的数值时非常方便。所有的 SFR 特殊功能寄存器都必须使用直接寻址方式寻址。 SC92F854X 的特殊功能寄存器名称及地址如下表: 1/9 2/A 3/B 4/C 5/D 6/E 7/F - - - - CHKSUML CHKSUMH OPINX OPREG F0h B IAPKEY IAPADL IAPADH IAPADE IAPDAT IAPCTL EXADH E8h - EXA0 EXA1 EXA2 EXA3 EXBL EXBH OPERCON E0h ACC - - - - - - - D8h P5 P5CON P5PH - - - - - 本 0/8 F8h PSW - - PWMCON PWMCFG C8h T2CON T2MOD RCAP2L RCAP2H TL2 TH2 BTMCON WDTCON C0h P4 P4CON P4PH - - - INT2F INT2R INT0R 版 D0h IP IP1 INT0F B0h P3 P3CON P3PH A8h IE IE1 ADCCFG2 A0h P2 P2CON 98h SCON SBUF 90h P1 88h 80h INT1R - - - - CMPCFG CMPCON ADCCFG0 ADCCFG1 ADCCON ADCVL ADCVH 预 P2PH P2VO - - - - P0CON P0PH P0VO SSCON0 SSCON1 SSDAT P1CON P1PH DDRCON P1VO SSCON2 IOHCON0 IOHCON1 TCON TMOD TL0 TL1 TH0 TH1 TMCON OTCON P0 SP DPL DPH - - - PCON 可位寻址 说明: 1. 2. INT1F P3VO 览 B8h 不可位寻址 SFR 寄存器中空的部分代表没有此寄存器 RAM,不建议用户使用。 SFR 中的 F1H~FFH 为系统配置使用的特殊功能寄存器,用户使用可能会导致系统异常,用户在初始化 系统时,不能对这些寄存器进行清零或其它操作。 Page 24 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 6.2 SFR 说明 特殊功能寄存器 SFR 的具体解释说明如下: 符号 地址 说明 P0 80H P0 口数据寄存器 SP 81H 堆栈指针 DPL 82H DPH 7 6 5 4 3 2 1 0 上电初始值 P07 P06 P05 P04 P03 P02 P01 P00 00000000b SP[7:0] 00000111b DPTR 数据指针低位 DPL[7:0] 00000000b 83H DPTR 数据指针高位 DPH[7:0] PCON 87H 电源管理控制寄存器 TCON 88H 定时器控制寄存器 TMOD 89H 定时器工作模式寄存器 TL0 8AH 定时器 0 低 8 位 TL1 8BH TH0 8CH TH1 00000000b SMOD - - - - - STOP IDL 0xxxxx00b TF1 TR1 TF0 TR0 IE1 - IE0 - 00000x0xb - 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 定时器频率控制寄存器 - - - - OTCON 8FH 输出控制寄存器 SSMOD[1:0] - - P1 90H P1 口数据寄存器 P17 P16 P15 P14 P13 P12 P1CON 91H P1 口输入/输出控制寄存器 P1C7 P1C6 P1C5 P1C4 P1C3 P1C2 P1PH 92H P1 口上拉电阻控制寄存器 P1H7 P1H6 P1H5 P1H4 P1H3 P1H2 P1H1 DDRCON 93H 显示驱动控制寄存器 DDRON DMOD P1VO 94H P1 口显示驱动输出寄存器 P17VO P16VO SSCON2 95H SSI 控制寄存器 2 IOHCON0 96H IOH 设置寄存器 0 IOHCON1 97H IOH 设置寄存器 1 SCON 98H 串口控制寄存器 SBUF 99H 串口数据缓存寄存器 P0CON 9AH P0PH 00000000b - T2FD VOIRS[1:0] DUTY[1:0] P15VO T1FD T0FD xxxxx000b SCS BIAS 00xx0000b P11 P10 00000000b P1C1 P1C0 00000000b P1H0 00000000b VLCD[3:0] P14VO P13VO P12VO 00000000b P11VO P10VO SSCON2[7:0] - - SM0 SM1 P0 口输入/输出控制寄存器 P0C7 P0C6 9BH P0 口上拉电阻控制寄存器 P0H7 P0H6 P0VO 9CH P0 口显示驱动输出寄存器 P07VO SSCON0 9DH SSI 控制寄存器 0 SSCON1 9EH SSI 控制寄存器 1 SSDAT 9FH SSI 数据寄存器 P2 A0H P2 口数据寄存器 P2CON A1H P2PH 00000000b P1L[1:0] P0H[1:0] P0L[1:0] P3L[1:0] P2H[1:0] P2L[1:0] 本 P1H[1:0] SM2 REN TB8 00000000b xx000000b RB8 TI RI 览 版 SBUF[7:0] 预 P06VO 00000000b 00000000b 00000000b P0C5 P0C4 P0C3 P0C2 P0C1 P0C0 00000000b P0H5 P0H4 P0H3 P0H2 P0H1 P0H0 00000000b P05VO P04VO P03VO P02VO P01VO P00VO 00000000b SSCON0[7:0] 00000000b SSCON1[7:0] 00000000b SSD[7:0] 00000000b P27 P26 P25 P24 P23 P22 P21 P20 00000000b P2 口输入/输出控制寄存器 P2C7 P2C6 P2C5 P2C4 P2C3 P2C2 P2C1 P2C0 00000000b A2H P2 口上拉电阻控制寄存器 P2H7 P2H6 P2H5 P2H4 P2H3 P2H2 P2H1 P2H0 00000000b P2VO A3H P2 口显示驱动输出寄存器 P27VO P26VO P25VO P24VO P23VO P22VO P21VO P20VO 00000000b IE A8H 中断使能寄存器 EA EADC ET2 EUART ET1 EINT1 ET0 EINT0 00000000b IE1 A9H 中断使能寄存器 1 - - ECMP ETK EINT2 EBTM EPWM ESSI xx000000b ADCCFG2 AAH ADC 设置寄存器 2 - - - - - LOWSP ADCCFG0 ABH ADC 设置寄存器 0 EAIN7 EAIN6 EAIN5 EAIN4 EAIN3 EAIN2 EAIN1 EAIN0 00000000b ADCCFG1 ACH ADC 设置寄存器 1 EAIN15 EAIN14 EAIN13 EAIN12 EAIN11 EAIN10 EAIN9 EAIN8 00000000b ADCCON ADH ADC 控制寄存器 ADCEN ADCS EOC/ ADCCK[1:0] ADCIS[4:0] xxxxx000b 00000000b ADCIF ADCVL AEH ADC 结果寄存器 ADCVH AFH ADC 结果寄存器 P3 B0H P3 口数据寄存器 P37 P36 P35 P34 P33 P32 P31 P30 00000000b P3CON B1H P3 口输入/输出控制寄存器 P3C7 P3C6 P3C5 P3C4 P3C3 P3C2 P3C1 P3C0 00000000b P3PH B2H P3 口上拉电阻控制寄存器 P3H7 P3H6 P3H5 P3H4 P3H3 P3H2 P3H1 P3H0 00000000b P3VO B3H P3 口显示驱动输出寄存器 P37VO P36VO P35VO P34VO P33VO P32VO P31VO P30VO 00000000b CMPCFG B6H 模拟比较器设置寄存器 - - - - CMPCON B7H 模拟比较器控制寄存器 CMPEN CMPIF CMPSTA - IP B8H 中断优先级控制寄存器 - IPADC IPT2 IPUART IPT1 IPINT1 IPT0 IPINT0 x0000000b IP1 B9H 中断优先级控制寄存器 1 - - IPCMP IPTK IPINT2 IPBTM IPPWM IPSSI xx000000b INT0F BAH INT0 下降沿中断控制寄存器 INT0F7 INT0F6 INT0F5 INT0F4 - - - - 0000xxxxb INT0R BBH INT0 上升沿中断控制寄存器 INT0R7 INT0R6 INT0R5 INT0R4 - - - - 0000xxxxb INT1F BCH INT1 下降沿中断控制寄存器 INT1F7 INT1F6 INT1F5 INT1F4 INT1F3 INT1F2 INT1F1 INT1F0 00000000b INT1R BDH INT1 上升沿中断控制寄存器 INT1R7 INT1R6 INT1R5 INT1R4 INT1R3 INT1R2 INT1R1 INT1R0 00000000b P4 C0H P4 口数据寄存器 P47 P46 P45 P44 P43 P42 P41 P40 00000000b Page 25 of 107 ADCV[3:0] - - - - ADCV[11:4] 0000xxxxb 00000000b CMPIM[1:0] CMPIS[1:0] xxxx0000b CMPRF[3:0] 000x0000b V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU P4CON C1H P4 口输入/输出控制寄存器 P4C7 P4C6 P4C5 P4C4 P4C3 P4C2 P4C1 P4C0 00000000b P4PH C2H P4 口上拉电阻控制寄存器 P4H7 P4H6 P4H5 P4H4 P4H3 P4H2 P4H1 P4H0 00000000b INT2F C6H INT2 下降沿中断控制寄存器 - - - - INT2F3 INT2F2 INT2F1 INT2F0 xxxx0000b INT2R C7H INT2 上升沿中断控制寄存器 - - - - INT2R3 INT2R2 INT2R1 INT2R0 xxxx0000b T2CON C8H 定时器 2 控制寄存器 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 00000000b T2MOD C9H 定时器 2 工作模式寄存器 - - - - - - T2OE DCEN 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 xxxxxx00b 00000000b ENBTM BTMIF - - BTMFS[3:0] WDT 控制寄存器 - - - CLRWDT - 00xx0000b D0H 程序状态字寄存器 CY AC F0 RS1 RS0 PWMCON D3H PWM 控制寄存器 PWMCFG D4H PWM 设置寄存器 ENPWM PWMIF P5 D8H P5 口数据寄存器 - - P55 P54 P53 P52 P51 P50 xx000000b P5CON D9H P5 口输入/输出控制寄存器 - - P5C5 P5C4 P5C3 P5C2 P5C1 P5C0 xx000000b P5PH DAH P5 口上拉电阻控制寄存器 - - P5H5 P5H4 P5H3 P5H2 P5H1 P5H0 ACC E0H 累加器 EXA0 E9H EXA1 EAH EXA2 WDTCKS[2:0] OV xxx0x000b F1 P PWMPD[7:0] PWMCK[1:0] 00000000b 00000000b PWMPD[11:8] 00000000b xx000000b 00000000b 扩展累加器 0 EXA[7:0] 00000000b 扩展累加器 1 EXA[15:8] 00000000b EBH 扩展累加器 2 EXA[23:16] 00000000b EXA3 ECH 扩展累加器 3 EXA[31:24] 00000000b EXBL EDH 扩展 B 寄存器 L EXB [7:0] 00000000b EXBH EEH 扩展 B 寄存器 H EXB [15:8] OPERCON EFH 运算控制寄存器 B F0H B 寄存器 IAPKEY F1H IAP 保护寄存器 IAPADL F2H IAP 写入地址低位寄存器 IAPADH F3H IAP 写入地址高位寄存器 IAPADE F4H IAP 写入扩展地址寄存器 IAPDAT F5H IAP 数据寄存器 IAPCTL F6H IAP 控制寄存器 EXADH F7H 外部 SRAM 操作地址高位 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 - 版 预 - MD 览 OPERS 本 ACC[7:0] - 00000000b - - - CHKSUMS 00xxxxx0b B[7:0] 00000000b IAPKEY[7:0] 00000000b IAPADR[7:0] 00000000b IAPADR[14:8] x0000000b IAPADER[7:0] 00000000b IAPDAT[7:0] - - - - - - - - PAYTIMES[1:0] - 00000000b CMD[1:0] EXADH [2:0] xxxx0000b xxxxx000b 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 还可以作为通用的暂存寄存器使用。 堆栈指针 SP (81H) 堆栈指针是一个 8 位的专用寄存器,它指示出堆栈顶部在通用 RAM 中的位置。单片机复位后,SP 初始值为 07H,即堆栈会从 08H 开始向上增加。08H~1FH 为工作寄存器组 1~3。 Page 26 of 107 V0.5 http://www.socmcu.com SinOne PSW (D0H) 程序状态字寄存器(读/写) 位编号 7 6 符号 CY AC 读/写 读/写 读/写 上电初始值 0 0 SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 5 F0 读/写 0 4 RS1 读/写 0 3 RS0 读/写 0 2 OV 读/写 0 1 F1 读/写 0 位符号 CY 说明 标志位 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 个) 览 版 本 位编号 7 0 P 读/写 0 预 数据指针 DPTR (82H、83H) SC92F854X 的数据指针 DPTR 是 16 位的专用寄存器,由低 8 位 DPL 和高 8 位 DPH 组成。DPTR 是可以直 接进行 16 位操作的寄存器,也可以分别对 DPL 和 DPH 按字节进行操作。 7 电源、复位和时钟 7.1 电源电路 SC92F854X 电源核心包括了 BG、LDO、POR、LVR 等电路,可实现在 2.4~5.5V 范围内可靠工作。此外, IC 内建了一个经调校过的精准 2.4V 电压, 可用作 ADC 内部参考电压。用户可在 18 模数转换 ADC 查找具体设置 内容。 7.2 上电复位过程 SC92F854X 上电后, 在客户端软件执行前, 会经过以下的过程:  复位阶段  调入信息阶段  正常操作阶段 7.2.1 复位阶段 是指 SC92F854X 会一直处于复位的情况, 直到供应给 SC92F854X 的电压高过某一电压, 内部才开始有效的 Clock。复位阶段的时间长短和外部电源的上升速度有关,外部电源达到内建 POR 电压后,复位阶段才会完成。 7.2.2 调入信息阶段 在 SC92F854X 内部有一个预热计数器。在复位阶段期间,此预热计数器一直被清为 0,直到电压过了 POR 电压后,内部 RC 振荡器开始起振,该预热计数器开始计数。当内部的预热计数器计数到一定数目后, 每隔一定数 Page 27 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 量个 HRC clock 就会从 Flash ROM 中的 IFB(包含 Code Option)读出一个 byte 数据存放到内部系统寄存器中。 直到预热完成后,该复位信号才会结束。 7.2.3 正常操作阶段 结束调入信息阶段后,SC92F854X 开始从 Flash 中读取指令代码即进入正常操作阶段。这时的 LVR 电压值 是用户写入 Code Option 的设置值。 7.3 复位方式 SC92F854X 有 4 种复位方式:①外部 RST 复位②低电压复位 LVR③上电复位 POR④看门狗 WDT 复位。 7.3.1 外部 RST 复位 外部 RST 复位就是从外部 RST 给 SC92F854X 一定宽度的复位脉冲信号,来实现 SC92F854X 的复位。 用户在烧录程序前可通过烧录上位机软件配置 Customer Option 项将 P5.2/RST 管脚配置为 RST(复位脚) 使用。 7.3.2 低电压复位 LVR SC92F854X 内建了一个低电压复位电路。而复位的门限电压有 4 种选择:4.3V、3.7V、2.9V、2.3V,缺省 值 Default 是用户写入的 Option 值。 3 DISRST 读/写 n 1~0 LVRS [1:0] 览 位符号 DISLVR 2 DISLVR 读/写 n 1 0 LVRS[1:0] 读/写 n 说明 LVR 使能设置 0:LVR 正常使用 1:LVR 无效 LVR 电压选择控制 11:4.3 V 复位 10:3.7V 复位 01:2.9V 复位 00:2.3V 复位 预 位编号 2 版 本 OP_CTM0(C1H@FFH) Customer Option 寄存器 0(读/写) 位编号 7 6 5 4 符号 ENWDT ENXTL SCLKS[1:0] 读/写 读/写 读/写 读/写 上电初始值 n n n SC92F854X 的复位部分电路结构图如下: 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 SC92F854X 复位电路图 Page 28 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 7.3.3 上电复位 POR SC92F854X 内部有上电复位电路,当电源电压 VDD 达到 POR 复位电压时,系统自动复位。 7.3.4 看门狗复位 WDT SC92F854X 有一个 WDT,其时钟源为内部的 128kHz 振荡器。用户可以通过编程器的 Code Option 选择是 否开启看门狗复位功能。 OP_CTM0 (C1H@FFH) Customer Option 寄存器 0(读/写) 位编号 7 6 5 4 符号 ENWDT ENXTL SCLKS[1:0] 读/写 读/写 读/写 读/写 上电初始值 n n n WDTCON (CFH) WDT 控制寄存器(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 2~0 WDTCKS [2:0] 7~5,3 - Page 29 of 107 0 LVRS[1:0] 读/写 n 5 x 4 CLRWDT 读/写 0 3 x 2 0 1 WDTCKS[2:0] 读/写 0 0 0 说明 WDT 清“0”位(写 1 有效) 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 保留 览 位符号 CLRWDT 1 预 位编号 4 2 DISLVR 读/写 n 说明 WDT 开关(此位由系统将用户 Code Option 所设的值调入) 1: WDT 开始工作 0: WDT 关闭 本 位符号 ENWDT 版 位编号 7 3 DISRST 读/写 n V0.5 http://www.socmcu.com SinOne 7.3.5 复位初始状态 SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 当 SC92F854X 处于复位状态时,多数寄存器会回到其初始状态。看门狗 WDT 处于关闭的状态。程序计数器 PC 初始值为 0000h,堆栈指针 SP 初始值为 07h。“热启动”的 Reset(如 WDT、LVR 等)不会影响到 SRAM, SRAM 值始终是复位前的值。SRAM 内容的丢失会发生在电源电压低到 RAM 无法保存为止。 预 Page 30 of 107 SFR 名称 P1VO P2 P2CON P2PH P2VO P3 P3CON P3PH P3VO P4 P4CON P4PH P5 P5CON P5PH PWMCFG PWMCON RCAP2H RCAP2L SBUF SCON SSCON0 SSCON1 SSCON2 SSDAT TCON TMCON TMOD TH0 TL0 TH1 TL1 T2CON TH2 TL2 T2MOD WDTCON CMPCFG CMPCON DDRCON CHKSUMH 本 版 览 SFR 寄存器的上电复位初始值如下表: SFR 名称 初始值 ACC 00000000b B 00000000b PSW 00000000b SP 00000111b DPL 00000000b DPH 00000000b PCON 0xxxxx00b ADCCFG0 00000000b ADCCFG1 00000000b ADCCFG2 xxxxx000b ADCCON 00000000b ADCVH 00000000b ADCVL 0000xxxxb BTMCON 00xx0000b IAPADE 00000000b IAPADH x0000000b IAPADL 00000000b IAPCTL xxxx0000b IAPDAT 00000000b IAPKEY 00000000b IE 00000000b IE1 xx000000b INT0R 0000xxxxb INT1R 00000000b INT2R xxxx0000b INT0F 0000xxxxb INT1F 00000000b INT2F xxxx0000b IP x0000000b IP1 xxx00000b OPINX 00000000b OPREG nnnnnnnnb EXADH xxxxx000b OTCON 00xx0000b IOHCON0 00000000b IOHCON1 xx000000b P0 00000000b P0CON 00000000b P0PH 00000000b P0VO 00000000b P1 00000000b 初始值 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b xx000000b xx000000b xx000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000x0xb xxxxx000b x000x000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b xxxxxx00b xxx0x000b xxxx0000b 000x0000b 00000000b 00000000b V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 00000000b 00000000b P1CON P1PH CHKSUML - 00000000b - 7.4 高频系统时钟电路 SC92F854X 内建了一个振荡频率可调的高精度 HRC,HRC 出厂时被精确地调校至 16MHz@5V/25℃,用户 可以通过编程器的 Code Option 将系统时钟设置为 16/8/4/1.33MHz 使用。调校过程是过滤掉制程上的偏差对精度 所造成的影响。此 HRC 受工作的环境温度和工作电压影响会有一定的漂移,对于压漂(3.0V~5.5V)以及(-20℃ ~85℃)的温漂一般状况会在 ±1% 以内。 注意: ADC、PWM 和触控电路的时钟源固定为 fHRC = 16MHz,不会随着系统时钟的切换而改变。 SCLKS[1:0] UART /1 /2 /4 /12 16MHz HRC fSYS SSI TIMER0 fHRC TIMER1 本 ADC TIMER2 版 PWM I/O 览 TK 预 SC92F854X 内部时钟关系 OP_CTM0 (C1H@FFH) Customer Option 寄存器 0(读/写) 位编号 7 6 5 4 符号 ENWDT ENXTL SCLKS[1:0] 读/写 读/写 读/写 读/写 上电初始值 n n n 位编号 5~4 位符号 SCLKS[1:0] 3 DISRST 读/写 n 2 DISLVR 读/写 n 1 0 LVRS[1:0] 读/写 n 说明 系统时钟频率选择: 00:系统时钟频率为高频振荡器频率除以 1; 01:系统时钟频率为高频振荡器频率除以 2; 10:系统时钟频率为高频振荡器频率除以 4; 11:系统时钟频率为高频振荡器频率除以 12。 SC92F854X 有一个特殊的功能:用户可修改 SFR 的值实现 HRC 频率在一定范围的调整。用户可以通过配置 OP_HRCR 寄存器实现,该寄存器的配置方法可参考章节:5.2.1 Option 相关 SFR 操作说明。 OP_HRCR (83h@FFH) 系统时钟改变寄存器(读/写) 7 6 5 位编号 符号 读/写 n n n 上电初始值 Page 31 of 107 4 3 OP_HRCR[7:0] 2 1 0 n n n 读/写 n n V0.5 http://www.socmcu.com SinOne 位符号 OP_HRCR[7:0] 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 说明 HRC 频率改变寄存器 用户可通过修改此寄存器的值实现高频振荡器频率 fHRC 的改变,进而改 变 IC 的系统时钟频率 fSYS: 1. OP_HRCR[7:0]上电后的初始值 OP_HRCR[s]是一个固定值,以 确保 fHRC 为 16MHz,每颗 IC 的 OP_HRCR[s]都可能会有差异 2. 初始值为 OP_HRCR[s] 时 IC 的系统时钟频率 fSYS 可通过 Option 项设置为准确的 16/8/4/1.33MHz,OP_HRCR [7:0]每改变 1 则 fSYS 频率改变约 0.23% OP_HRCR [7:0]和 fSYS 输出频率的关系如下: OP_HRCR [7:0]值 fSYS 实际输出频率(16M 为例) OP_HRCR [s]-n 16000*(1-0.23%*n)kHz ... .... OP_HRCR [s]-2 16000*(1-0.23%*2) = 15926.4kHz OP_HRCR [s]-1 16000*(1-0.23%*1) = 15963.2kHz OP_HRCR [s] 16000kHz OP_HRCR [s]+1 16000*(1+0.23%*1) = 16036.8kHz OP_HRCR [s]+2 16000*(1+0.23%*2) = 16073.6kHz ... ... OP_HRCR [s]+n 16000*(1+0.23%*n)kHz 本 位编号 7~0 SC92F8547/8546/8543/8541 预 览 版 注意: 1.IC 每次上电后 OP_HRCR[7:0]的值都是高频振荡器频率 fHRC 最接近 16MHz 的值;用户可借助 EEPROM 在每次上电后修正 HRC 的值 以让 IC 的系统时钟频率 fSYS 工作在用户需要的频率; 2.为保证 IC 工作可靠,IC 最高工作频率尽量勿超过 16MHz 的 10% 即 17.6MHz; 3.请用户确认 HRC 频率的改变不会影响其它功能。 7.5 低频振荡器及低频时钟定时器 SC92F854X 内建一个频率为 128kHz 的 RC 及 32.768kHz 晶体振荡电路,都可作为低频时钟定时器 Base Timer 的时钟源。该振荡器直接连接一个 Base Timer,可以把 CPU 从 STOP mode 唤醒,并且产生中断。 BTMCON (CEH) 低频定时器控制寄存器(读/写) 7 6 5 位编号 ENBTM BTMIF 符号 读/写 读/写 读/写 0 0 x 上电初始值 位编号 7 位符号 ENBTM 6 BTMIF 3~0 BTMFS [3:0] Page 32 of 107 4 x 3 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.625ms 产生一个中断 0001:每 31.25ms 产生一个中断 0010:每 62.5ms 产生一个中断 0011:每 125ms 产生一个中断 0100:每 0.25 秒产生一个 中断 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 5~4 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 0101:每 0.5 秒产生一个 中断 0110:每 1.0 秒产生一个 中断 0111:每 2.0 秒产生一个 中断 1xxx: 每 4.0 秒产生一个 中断 保留 - OP_CTM0 (C1H@FFH) Customer Option 寄存器 0(读/写) 7 6 5 4 位编号 符号 ENWDT ENXTL SCLKS[1:0] 读/写 读/写 读/写 读/写 上电初始值 n n n 位编号 6 位符号 ENXTL 3 2 1 DISRST 读/写 n DISLVR 读/写 n 0 LVRS[1:0] 读/写 n 说明 外部 32k 晶振选择开关 0:外部 32k 晶振关闭,P5.0、P5.1 有效,内部 LRC 有效; 1:外部 32k 晶振打开,P5.0、P5.1 无效,内部 LRC 无效。 P5.0/P5.1 外接 32K 振荡器作为 BaseTimer 使用的接法电路如下: C1(10~12P) 版 本 OSCI/P5.1 32.768K Crystal OSCO/P5.0 览 C2(10~12P) 预 32k 外部晶振连接图 Base Timer 内外部振荡选择关系图如下: 外部32K晶振 振荡源 选择开关 Basetimer Counter 内部128K LRC ENXTL BTMIF ENBTM Base Timer 结构图 7.6 STOP 模式和 IDLE 模式 SC92F854X 提供了一个特殊功能寄存器 PCON,配置该寄存器的 bit0 和 bit1 可控制 MCU 进入不同的工作模 式。 对 PCON.1 写入 1,内部的高频系统时钟就会停止, 进到 STOP 模式 , 达到省电功能。在 STOP 模式下, 用 户可以通过外部中断 INT0~INT2、低频时钟中断及 WDT 把 SC92F854X 唤醒,也可以通过外部复位将 STOP 唤 醒。 对 PCON.0 写入 1,程序停止运行,进入 IDLE 模式,但外部设备及时钟继续运行,进入 IDLE 模式前所有 CPU 状态都被保存。IDLE 模式可由任何中断唤醒。 Page 33 of 107 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 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 34 of 107 览 版 //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.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 8 中央处理单元 CPU 及指令系统 8.1 CPU SC92F854X 所用的 CPU 是一个超高速的 1T 标准 8051 内核,其指令完全兼容传统 8051 内核单片机。 8.2 寻址方式 SC92F854X 的 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 35 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne MOV C, 20H 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU (将地址为 20H 的位操作寄存器值送入进位位 C 中。) 9 INTERRUPT 中断 SC92F854X 单片机提供 13 个中断源:Timer0,Timer1,Timer2,INT0~2,ADC,PWM,UART,SSI, Base Timer,TK,CMP。这 13 个中断源分为 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 不能 INT1 外部中断 1 条件符合 IE1 EINT1 IPINT1 0013H 3 2 H/W Auto 能 Timer1 Timer1 溢 出 TF1 ET1 IPT1 001BH 4 3 H/W Auto 不能 UART 接收或发送 完成 RI/TI EUART IPUART 5 4 必须用户 清除 不能 Timer2 Timer2 溢 出 本 SC92F854X 的中断源、中断向量、及相关控制位列表如下: 中断源 TF2 ET2 IPT2 002BH 6 5 必须用户 清除 不能 ADC ADC 转换 完成 ADCIF EADC IPADC 0033H 7 6 必须用户 清除 不能 IPSPI 003BH 8 7 必须用户 清除 不能 ESSI 版 览 接收或发送 SPIF/TWIF 完成 预 SSI 0023H PWM PWM 溢出 PWMIF EPWM IPPWM 0043H 9 8 必须用户 清除 不能 BTM Base timer 溢出 BTMIF EBTM IPBTM 004BH 10 9 H/W Auto 能 INT2 外部中断 2 条件符合 - EINT2 IPINT2 0053H 11 10 - 能 TK Touch Key 计数器溢出 TKIF ETK IPTK 005BH 12 11 H/W Auto 不能 CMP 比较器中断 条件符合 CMPIF ECMP IPCMP 0063H 13 12 必须用户 清除 能 在 EA=1 及各中断使能控制为 1 的情况下,各中断发生情况如下: 定时器中断:Timer0 和 Timer1 溢出时会产生中断并将中断标志 TF0 和 TF1 置为“1”,当单片机执行该定时器 中断时,中断标志 TF0 和 TF1 会被硬件自动清“0”。Timer2 溢出时会产生中断并将中断标志 TF2 置为“1”,在 Timer2 中断发生后,硬件并不会自动清除 TF2 位,此 bit 必须由使用者的软件负责清除。 UART 中断:当 UART0 接收或发送一帧数据完成时 RI 或 TI 位会被硬件自动置“1”,UART 中断产生。在 UART 中断发生后,硬件并不会自动清除 RI/TI 位,此 bit 必须由使用者的软件负责清除。 ADC 中断:ADC 中断的发生时间为 ADC 转换完成时,其中断标志就是 ADC 转换结束标志 EOC/ADCIF (ADCCON.5)。当使用者设定 ADCS 开始转换后,EOC 会被硬件自动清除为 “0” ;当转换完成后,EOC 会被 硬件自动置为 “1” 。使用者在 ADC 中断发生之后,进入中断服务程序时,必须用软件去清除它。 SSI 中断:当 SSI 接收或发送一帧数据完成时 SPIF/TWIF 位会被硬件自动置“1”,SSI 中断产生。当单片机执 行该 SSI 中断时,中断标志 SPIF/TWIF 必须由使用者的软件负责清除。 PWM 中断:当 PWM 计数器溢出时(也就是说:数到超过 PWMPD 时), 此位会被硬件自动设定成 1。如果此 Page 36 of 107 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 预 览 版 本 时 IE1[1] (EPWM) 也是被设定成 1,PWM 的中断产生。在 PWM 中断发生后,硬件并不会自动清除此位,此位必 须由使用者的软件负责清除。 外部中断 INT0~2:当外部中断口有中断条件发生时,外部中断就发生了。其中 INT0 和 INT1 会产生中断标志 为 IE0/IE1,用户不需要处理,硬件会自动清除。INT0 有四个外部中断源,INT1 有八个外部中断源,INT2 有四个 外部中断源,用户可以根据需要设成上沿、下沿或者双沿中断,可通过设置 SFR (INTxF 和 INTxR)来实现。用 户可通过 IP 寄存器来设置每个中断的优先级级别。外部中断 INT0~2 还可以唤醒单片机的 STOP。 Page 37 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 9.2 中断结构图 SC92F854X 的中断结构如下图所示: 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 13 h IE[2] (EINT1) INT1 TCON[3](IE1) IE[7] (EA) Interrupt to 1Bh IE[3] (ET1) Timer-1 TCON[7] (TF1) IE[7] (EA) IE[4] (EUART) UART Interrupt to 23 h IE[7] (EA) IE[5] (ET2) Timer-2 本 SCON[1:0] (TI/RI) Interrupt to 2Bh 版 T2CON[7] (TF2) IE[7] (EA) 览 ADC IE[6] (EADC) Interrupt to 33 h 预 ADCCON[5] (EOC/ADCIF) SSI IE[7] (EA) IE1[0] (ESSI) Interrupt to 3Bh SPIF/TWIF IE[7] (EA) PWM IE1[1] (EPWM) Interrupt to 43 h PWMCFG[6] (PWMIF) IE[7] (EA) BTM 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 IE[7] (EA) CMP IE1[5] (ECMP) Interrupt to 63 h CMPCON[6] (CMPIF) SC92F854X 中断结构和向量 Page 38 of 107 V0.5 http://www.socmcu.com SinOne 9.3 中断优先级 SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SC92F854X 单片机的中断具有两个中断优先级,这些中断源的请求可编程为高优先级中断或者低优先级中 断,即可实现两级中断服务程序的嵌套。一个正在执行的低优先级中断能被高优先级中断请求所中断,但不能被 另一个同一优先级的中断请求所中断,一直执行到结束,遇到返回指令 RETI,返回主程序后再执行一条指令才能 响应新的中断请求。 也就是说: ① 低优先级中断可被高优先级中断请求所中断,反之不能; ② 任何一种中断,在响应过程中,不能被同一优先级的中断请求所中断。 中断查询顺序:SC92F854X 单片机的同一优先级中断,如果同时来几个中断,则中断响应的优先顺序同 C51 中的中断查询号相同,即查询号小的会优先响应,查询号大的会慢响应。 9.4 中断处理流程 本 当一个中断产生并且被 CPU 响应,则主程序运行被中断,将执行下述操作 ① 当前正在执行的指令执行完; ② PC 值被压入堆栈,保护现场; ③ 中断向量地址载入程序计数器 PC; ④ 执行相应的中断服务程序; ⑤ 中断服务程序结束并 RETI; ⑥ 将 PC 值退栈,并返回执行中断前的程序。 在此过程中,系统不会立即执行其它同一优先级的中断,但会保留所发生的中断请求,在当前中断处理结束 后,转去执行新的中断请求。 位编号 7 位符号 EA 6 EADC 5 ET2 4 EUART 3 ET1 2 EINT1 1 ET0 Page 39 of 107 览 5 ET2 读/写 0 预 IE (A8H) 中断使能寄存器(读/写) 位编号 7 6 符号 EA EADC 读/写 读/写 读/写 上电初始值 0 0 版 9.5 中断相关 SFR 寄存器 4 EUART 读/写 0 3 ET1 读/写 0 2 EINT1 读/写 0 1 ET0 读/写 0 0 EINT0 读/写 0 说明 中断使能的总控制 0: 关闭所有的中断 1: 打开所有的中断 ADC 中断使能控制 0:关闭 ADC 中断 1:允许 ADC 转换完成时产生中断 Timer2 中断使能控制 0:关闭 TIMER2 中断 1:允许 TIMER2 中断 UART 中断使能控制 0:关闭 UART 中断 1:允许 UART 中断 Timer1 中断使能控制 0:关闭 TIMER1 中断 1:允许 TIMER1 中断 外部中断 1 使能控制 0:关闭 INT1 中断 1:打开 INT1 中断 Timer0 中断使能控制 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 0 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 0:关闭 TIMER0 中断 1:允许 TIMER0 中断 外部中断 0 使能控制 0:关闭 INT0 中断 1:打开 INT0 中断 EINT0 IP (B8H) 中断优先级控制寄存器(读/写) 位编号 7 6 符号 IPADC 读/写 读/写 上电初始值 x 0 4 IPUART 3 IPT1 2 IPINT1 1 IPT0 0 IPINT0 7 - x ADC 中断优先权选择 0:ADC 中断优先权为低 1:ADC 中断优先权为高 Timer2 中断优先权选择 0:Timer2 中断优先权为低 1:Timer2 中断优先权为高 UART 中断优先权选择 0:UART 中断优先权为低 1:UART 中断优先权为高 Timer1 中断优先权选择 0:Timer1 中断优先权为低 1:Timer1 中断优先权为高 INT1 计数器中断优先权选择 0:INT1 中断优先权为低 1:INT1 中断优先权为高 Timer0 中断优先权选择 0:Timer0 中断优先权为低 1:Timer0 中断优先权为高 INT0 计数器中断优先权选择 0:INT0 中断优先权为低 1:INT0 中断优先权为高 保留 x 位编号 5 位符号 ECMP 4 ETK 3 EINT2 Page 40 of 107 0 IPINT0 读/写 0 说明 IE1 (A9H) 中断使能寄存器 1(读/写) 位编号 7 6 符号 读/写 上电初始值 1 IPT0 读/写 0 本 IPT2 2 IPINT1 读/写 0 版 5 3 IPT1 读/写 0 览 位符号 IPADC 4 IPUART 读/写 0 预 位编号 6 5 IPT2 读/写 0 5 ECMP 4 ETK 3 EINT2 2 EBTM 1 EPWM 0 ESSI 读写 0 读写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 模拟比较器中断使能控制 0:关闭模拟比较器中断 1:打开模拟比较器中断 Touch Key 中断使能控制 0:关闭 Touch Key 中断 1:打开 Touch Key 中断 外部中断 2 使能控制 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 2 EBTM 1 EPWM 0 ESSI 7~6 - 0:关闭 INT2 中断 1:打开 INT2 中断 Base Timer 中断使能控制 0: 关闭 Base Timer 中断 1: 允许 Base Timer 中断 PWM 中断使能控制 0:关闭 PWM 中断 1:允许 PWM 计数溢出时产生中断 三合一串口中断使能控制 0: 关闭串口中断 1: 允许串口中断 保留 IP1 (B9H) 中断优先级控制寄存器 1(读/写) 7 6 5 位编号 IPCMP 符号 读/写 读/写 x x 0 上电初始值 3 IPINT2 2 IPBTM 1 IPPWM 0 IPSSI 7~5 - 读/写 0 位符号 IE1 1 IE0 2,0 - Page 41 of 107 读/写 0 读/写 0 读/写 0 读/写 0 2 x 1 IE0 0 x 模拟比较器中断优先权选择 0:模拟比较器中断优先权为低 1:模拟比较器中断优先权为高 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 中断优先权为高 保留 读/写 0 位编号 3 读/写 0 说明 TCON (88H) 定时器控制寄存器(读写) 位编号 7 6 TF1 TR1 符号 读/写 上电初始值 0 IPSSI 本 IPTK 1 IPPWM 版 4 2 IPBTM 览 位符号 IPCMP 3 IPINT2 预 位编号 5 4 IPTK 5 TF0 4 TR0 3 IE1 读/写 0 读/写 0 读/写 0 读/写 0 说明 INT1 溢出中断请求标志。INT1 产生溢出,发生中断时,硬件将 IE1 置 为“1”,申请中断,CPU 响应时,硬件清“0”。 INT0 溢出中断请求标志。INT0 产生溢出,发生中断时,硬件将 IE0 置 为“1”,申请中断,CPU 响应时,硬件清“0”。 保留 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU INT0F (BAH) INT0 下降沿中断控制寄存器(读/写) 7 6 5 位编号 INT0F7 INT0F6 INT0F5 符号 读/写 0 读/写 0 位编号 7~4 位符号 INT0Fn (n=7~4) 3~0 - 读/写 0 读/写 0 读/写 0 位符号 INT0Rn (n=7~4) 3~0 - 位编号 7~0 位编号 7~0 2 x 1 x 0 x INT0 上升沿中断控制 0 : INT0n 上升沿中断关闭 1: INT0n 上升沿中断使能 保留 读/写 0 读/写 0 位符号 INT1Rn (n=7~0) 4 INT1F4 3 INT1F3 2 INT1F2 1 INT1F1 0 INT1F0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 INT1 下降沿中断控制 0 : INT1n 下降沿中断关闭 1: INT1n 下降沿中断使能 读/写 0 4 INT1R4 3 INT1R3 2 INT1R2 1 INT1R1 0 INT1R0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 3 INT2F3 2 INT2F2 1 INT2F1 0 INT2F0 读/写 0 读/写 0 读/写 0 读/写 0 说明 INT1 上升沿中断控制 0 : INT1n 上升沿中断关闭 1: INT1n 上升沿中断使能 INT2F (C6H) INT2 下降沿中断控制寄存器(读/写) 7 6 5 位编号 符号 读/写 x x x 上电初始值 Page 42 of 107 读/写 0 览 读/写 0 位符号 INT1Fn (n=7~0) 读/写 0 3 x 说明 INT1R (BDH) INT1 上升沿中断控制寄存器(读/写) 7 6 5 位编号 INT1R7 INT1R6 INT1R5 符号 读/写 上电初始值 4 INT0R4 读/写 0 预 读/写 0 0 x 说明 INT1F (BCH) INT1 下降沿中断控制寄存器(读/写) 7 6 5 位编号 INT1F7 INT1F6 INT1F5 符号 读/写 上电初始值 1 x 本 位编号 7~4 2 x INT0 下降沿中断控制 0 : INT0n 下降沿中断关闭 1: INT0n 下降沿中断使能 保留 INT0R (BBH) INT0 上升沿中断控制寄存器(读/写) 7 6 5 位编号 INT0R7 INT0R6 INT0R5 符号 读/写 上电初始值 3 x 读/写 0 版 读/写 上电初始值 4 INT0F4 4 x V0.5 http://www.socmcu.com SinOne 位编号 3~0 位符号 INT2Fn (n=3~0) 7~4 - SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 说明 INT2 下降沿中断控制 0 : INT2n 下降沿中断关闭 1: INT2n 下降沿中断使能 保留 INT2R (C7H) INT1 上升沿中断控制寄存器(读/写) 7 6 5 位编号 符号 读/写 x x x 上电初始值 位编号 3~0 位符号 INT2Rn (n=3~0) 7~4 - 4 x 3 INT2R3 2 INT2R2 1 INT2R1 0 INT2R0 读/写 0 读/写 0 读/写 0 读/写 0 说明 INT2 上升沿中断控制 0 : INT2n 上升沿中断关闭 1: INT2n 上升沿中断使能 保留 10 定时器 TIMER0 、TIMER1 预 览 版 本 SC92F854X 单片机内部的两个 16 位定时器/计数器,它们具有计数方式和定时方式两种工作模式。特殊功能 寄存器 TMOD 中有一个控制位 C/Tx 来选择 T0 和 T1 是定时器还是计数器。它们本质上都是一个加法计数器,只 是计数的来源不同。定时器的来源为系统时钟或者其分频时钟,但计数器的来源为外部管脚的输入脉冲。只有在 TRx=1 的时候,T0 和 T1 才会被打开计数。 计数器模式下,P0.2/T0 和 P0.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 相关特殊功能寄存器 符号 地址 说明 7 6 5 4 3 2 1 0 Reset 值 TF1 TR1 TF0 TR0 IE1 - IE0 - 00000x0xb - C/T1 M11 M01 - C/T0 M10 M00 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 定时器频率控制寄存器 TCON - - - - - T2FD T1FD T0FD x000x000b xxxxx000b 各寄存器的解释说明如下: TCON (88H) 定时器控制寄存器(读/写) 位编号 7 6 TF1 TR1 符号 读/写 读/写 读/写 0 0 上电初始值 Page 43 of 107 5 TF0 4 TR0 3 IE1 读/写 0 读/写 0 读/写 0 2 x 1 IE0 读/写 0 0 x V0.5 http://www.socmcu.com SinOne 位编号 7 位符号 TF1 6 TR1 5 TF0 4 TR0 2,0 - SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 说明 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 计数。 保留 TMOD (89H) 定时器工作模式寄存器(读/写) 位编号 7 6 5 C/T1 M11 符号 读/写 读/写 读/写 x 0 0 上电初始值 T1 位符号 C/T1 5~4 M11,M01 2 C/T0 1~0 M10,M00 7,3 - 读/写 0 3 x 2 C/T0 1 M10 0 M00 读/写 0 读/写 0 读/写 0 T0 说明 TMOD[6]控制定时器 1 0:定时器,T1 计数来源于 fSYS 分频 1:计数器,T1 计数来源于外部管脚 T1/P0.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/P0.2 定时器/计数器 0 模式选择 00 : 13 位定时器/计数器,TL0 高 3 位无效 01 : 16 位定时器/计数器,TL0 和 TH0 全 10 : 8 位自动重载定时器,溢出时将 TH0 存放的值自动重装入 TL0 11 : 定时器 0 此时作为双 8 位定时器/计数器。TL0 作为一个 8 位定时器 /计数器,通过标准定时器 0 的控制位控制;TH0 仅作为一个 8 位定时 器,由定时器 1 的控制位控制。 保留 预 览 版 本 位编号 6 4 M01 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 才打开。 TMCON (8EH) 定时器频率控制寄存器(读/写) 位编号 7 6 5 符号 读/写 x x x 上电初始值 Page 44 of 107 4 x 3 x 2 T2FD 1 T1FD 0 T0FD 读/写 0 读/写 0 读/写 0 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne T0FD T1 输入频率选择控制 0:T1 频率源自于 fSYS/12 1:T1 频率源自于 fSYS T0 输入频率选择控制 0:T0 频率源自于 fSYS/12 1:T0 频率源自于 fSYS IE (A8H) 中断使能寄存器(读/写) 位编号 7 6 EA EADC 符号 读/写 上电初始值 读/写 0 读/写 0 位编号 3 位符号 ET1 1 ET0 1 IPT0 3 ET1 2 EINT1 1 ET0 0 EINT0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 Timer1 中断使能控制 0:关闭 TIMER1 中断 1:允许 TIMER1 中断 Timer0 中断使能控制 0:关闭 TIMER0 中断 1:允许 TIMER0 中断 5 IPT2 读/写 0 预 位符号 IPT1 4 EUART 说明 IP (B8H) 中断优先级控制寄存器(读/写) 位编号 7 6 IPADC 符号 读/写 读/写 x 0 上电初始值 位编号 3 5 ET2 本 0 说明 版 位符号 T1FD 4 IPUART 3 IPT1 2 IPINT1 1 IPT0 0 IPINT0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 览 位编号 1 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 说明 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 中断被允许,将会产生一个中断。 C/T0 位选择计数器/定时器的时钟输入源。如果 C/T0=1,定时器 0 输入脚 T0(P0.2)的电平从高到低的变化, 会使定时器 0 数据寄存器加 1。如果 C/T0=0,选择系统时钟的分频为定时器 0 的时钟源。 当 TR0 置 1 打开定时器 T0。TR0 置 1 并不强行复位定时器,意味着如果 TR0 置 1,定时器寄存器将从上次 TR0 清 0 时的值开始计数。所以,在允许定时器之前,应该设定定时器寄存器的初始值。 当作为定时器应用时,可配置 T0FD 来选择时钟源的分频比例。 Page 45 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne fsys /12 /1 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU T0FD=0 T0FD=1 TMOD.2=0 (C/T0) (TF0) TL0 5 bit T0=P0.2 TH0 8 bit TMOD.2=1 (C/T0) TCON.5 T0中断请求 (TR0) TCON.4 定时器/计数器工作模式 0: 13 位定时器/计数器 工作模式 1: 16 位计数器/定时器 除了使用 16 位(TL0 的 8 位数据全部有效)计数器/定时器之外,模式 1 和模式 0 的运行方式相同。打开和配置 计数器/定时器方式也相同。 fsys /12 /1 T0FD=0 T0FD=1 TMOD.2=0 (C/T0) (TF0) TL0 8 bit T0=P0.2 TH0 8 bit TMOD.2=1 (C/T0) TCON.5 本 T0中断请求 版 (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 分频的比例。 fsys /12 /1 T0FD=0 T0FD=1 TMOD.2=0 (C/T0) T0=P0.2 (TF0) TL0 8 bit 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 仅被限定为定时器模式,无法通过 Page 46 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 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(P0.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) (TF1) 本 T1=P0.3 TH1 8 bit TCON.7 T1中断请求 版 TMOD.6=1 (C/T1) TL1 5 bit 览 (TR1) TCON.6 预 定时器/计数器工作模式 0: 13 位定时器/计数器 工作模式 1: 16 位计数器/定时器 除了使用 16 位(TL1 的 8 位数据全部有效)计数器/定时器之外,模式 1 和模式 0 的运行方式相同。打开和配置 计数器/定时器方式也相同。 fsys /12 /1 T1FD=0 T1FD=1 TMOD.6=0 (C/T1) T1=P0.3 (TF1) TL1 8 bit TMOD.6=1 (C/T1) TH1 8 bit TCON.7 T1中断请求 (TR1) TCON.6 定时器/计数器工作模式 0: 16 位定时器/计数器 工作模式 2: 8 位自动重载计数器/计数器 在工作模式 2 中, 定时器 1 是 8 位自动重载计数器/定时器。TL1 存放计数值,TH1 存放重载值。当在 TL1 中的计数器溢出至 0x00 时,定时器溢出标志 TF1 被置 1,寄存器 TH1 的值被重载入寄存器 TL1 中。如果定时 器中断使能,当 TF1 置 1 时将产生一个中断,但在 TH1 中的重载值不会改变。在允许定时器正确计数开始之 前,TL1 必须初始化为所需要的值。 除了自动重载功能外,工作模式 2 中的计数器/定时器的使能和配置方式同方式 0 和 1 是相同的。 当作为定时器应用时,可配置寄存器 TMCON.4(T1FD)来选择定时器时钟源被系统时钟 fSYS 分频的比例。 Page 47 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne fsys /12 /1 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU T1FD=0 T1FD=1 TMOD.6=0 (C/T1) TL1 8 bit T1=P0.3 TCON.7 T1中断请求 TMOD.6=1 (C/T1) Set (TR1) TCON.6 TH1 8 bit 预 览 版 本 定时器/计数器工作模式 2: 自动重载的 8 位定时器/计数器 Page 48 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 11 定时器 TIMER2 SC92F854X 单片机内部的 Timer2 具有计数方式和定时方式两种工作模式。特殊功能寄存器 T2CON 中有一 个控制位 C/T2 来选择 T2 是定时器还是计数器。它们本质上都是一个加法计数器,只是计数的来源不同。定时器 的来源为系统时钟或者其分频时钟,但计数器的来源为外部管脚的输入脉冲。TR2 是 T2 在定时器/计数器模式计 数的开关控制,只有在 TR2=1 的时候,T2 才会被打开计数。 计数器模式下,T2 管脚上的每一个脉冲,T2 的计数值分别增加 1。 定时器模式下,可通过特殊功能寄存器 TMCON 来选择 T2 的计数来源是 fSYS/12 或 fSYS。 定时器/计数器 T2 有 4 种工作模式: ① ② ③ ④ 模式 0:16 位捕获模式 模式 1:16 位自动重载定时器模式 模式 2: 波特率发生器模式 模式 3:可编程时钟输出模式 11.1 T2 相关特殊功能寄存器 符号 地址 说明 7 6 5 4 3 2 1 0 Reset 值 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 00000000b - - - - - - T2OE DCEN xxxxxx00b C8H 定时器 2 控制寄存器 T2MOD C9H 定时器 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 定时器频率控制寄存器 - - TH2[7:0] - - 00000000b T2FD T1FD T0FD xxxxx000b 版 - 本 T2CON 览 各寄存器的解释说明如下: 读/写 上电初始值 读/写 0 读/写 0 位编号 7 位符号 TF2 6 EXF2 5 RCLK 4 TCLK 3 EXEN2 2 TR2 Page 49 of 107 预 T2CON (C8H) 定时器 2 控制寄存器(读/写) 位编号 7 6 5 TF2 EXF2 RCLK 符号 读/写 0 4 TCLK 3 EXEN2 2 TR2 1 C/T2 0 CP/RL2 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 定时器 2 溢出标志位 0:无溢出(必须由软件清 0) 1:溢出(如果 RCLK = 0 和 TCLK = 0,由硬件设 1) T2 引脚外部事件输入(下降沿)被检测到的标志位 0:无外部事件输入(必须由软件清 0) 1:检测到外部输入(如果 EXEN2 = 1,由硬件设 1) UART0 接收时钟控制位 0:定时器 1 产生接收波特率 1:定时器 2 产生接收波特率 UART0 发送时钟控制位 0:定时器 1 产生发送波特率 1:定时器 2 产生发送波特率 T2 引脚上的外部事件输入(下降沿)用作重载/捕获触发器允许/禁止控制: 0:忽略 T2 引脚上的事件 1:当定时器 2 不做为 UART0 时钟(T2EX 始终包括上拉电阻)时,检测 到 T2 引脚上一个下降沿,产生一个捕获或重载 定时器 2 开始/停止控制位 0:停止定时器 2 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 1 C/T2 0 CP/RL2 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 1:开始定时器 2 定时器 2 定时器/计数器方式选定位 2 0:定时器方式,T2 引脚用作 I/O 端口 1:计数器方式 捕获/重载方式选定位 0:16 位带重载功能的定时器/计数器 1:16 位带捕获功能的定时器/计数器,T2EX 为定时器 2 外部捕获信号 输入口 T2MOD (C9H) 定时器 2 工作模式寄存器(读/写) 位编号 7 6 5 符号 读/写 x x x 上电初始值 0 DCEN 7~2 - 览 IE (A8H) 中断使能寄存器(读/写) 位编号 7 6 EA EADC 符号 读/写 读/写 读/写 0 0 上电初始值 位编号 5 位符号 ET2 IP (B8H) 中断优先级控制寄存器(读/写) 位编号 7 6 IPADC 符号 读/写 读/写 x 0 上电初始值 Page 50 of 107 1 T2OE 0 DCEN 读/写 0 读/写 0 定时器 2 输出允许位 0:设置 T2 作为时钟输入或 I/O 端口 1:设置 T2 作为时钟输出 递减计数允许位 0:禁止定时器 2 作为递增/递减计数器,定时器 2 仅作为递增计数器 1:允许定时器 2 作为递增/递减计数器 保留 预 位符号 T2FD 2 x 说明 TMCON (8EH) 定时器频率控制寄存器(读/写) 位编号 7 6 5 符号 读/写 x x x 上电初始值 位编号 2 3 x 本 位符号 T2OE 版 位编号 1 4 x 4 x 3 x 2 T2FD 1 T1FD 0 T0FD 读/写 0 读/写 0 读/写 0 说明 T2 输入频率选择控制 0:T2 频率源自于 fSYS/12 1:T2 频率源自于 fSYS 5 ET2 4 EUART 3 ET1 2 EINT1 1 ET0 0 EINT0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 Timer2 中断使能控制 0: 关闭 TIMER2 中断 1: 允许 TIMER2 中断 5 IPT2 4 IPUART 3 IPT1 2 IPINT1 1 IPT0 0 IPINT0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 位编号 5 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 位符号 IPT2 说明 Timer2 中断优先权 0:设定 Timer 2 的中断优先权是 “低” 1:设定 Timer 2 的中断优先权是 “高” 11.2 T2 工作模式 定时器 2 工作模式与配置方式如下表: ——— ————— T2OE 0 0 0 0 DCEN X 0 1 X TR2 1 1 1 1 CP/RL2 1 0 0 X X RCLK 0 0 0 1 X 0 1 X X TCLK 0 0 0 X 1 0 X 1 X 0 1 X 1 X X X X 0 1 1 X 1 X X X 0 1 方式 16 位捕获 16 位自动重载定时器 2 波特率发生器 3 3 只用于可编程时钟 带波特率发生器的可编程时 钟输出 X 定时器 2 停止,T2EX 通路仍 旧允许 不推荐使用 本 C/T2 X X X X 预 览 版 工作模式 0: 16 位捕获 在捕获方式中,T2CON 的 EXEN2 位有两个选项。 如果 EXEN2 = 0,定时器 2 作为 16 位定时器或计数器,如果 ET2 被允许的话,定时器 2 能设置 TF2 溢出产 生一个中断。 如果 EXEN2 = 1,定时器 2 执行相同操作,但是在外部输入 T2EX 上的下降沿也能引起在 TH2 和 TL2 中的当 前值分别被捕获到 RCAP2H 和 RCAP2L 中,此外,在 T2EX 上的下降沿也能引起在 T2CON 中的 EXF2 被设 置。如果 ET2 被允许,EXF2 位也像 TF2 一样也产生一个中断。 T2FD = 0 fsys /12 C/T2 = 0 /1 TL2 T2FD = 1 T2 C/T2 = 1 TH2 TF2 Overflow TR2 Timer2 CP/RL2 RCAP2L RCAP2H & T2EX EXF2 EXEN2 模式 0: 16 位捕获 工作模式 1: 16 位自动重载定时器 在 16 位自动重载方式下,定時器 2 可以被选为递增计数或递减计数。这个功能通过 T2MOD 中的 DCEN 位 (递减计数允许)选择。系统复位后,DCEN 位复位值为 0,定时器 2 默认递增计数。当 DCEN 置 1 时,定时器 2 递 增计数或递减计数取决于 T2EX 引脚上的电平。 当 DCEN = 0,通过在 T2CON 中的 EXEN2 位选择两个选项。 如果 EXEN2 = 0,定时器 2 递增到 0xFFFFH,在溢出后置起 TF2 位,同时定时器自动将用户软件写好的寄 存器 RCAP2H 和 RCAP2L 的 16 位值装入 TH2 和 TL2 寄存器。 Page 51 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 如果 EXEN2 = 1,溢出或在外部输入 T2EX 上的下降沿都能触发一个 16 位重载,置起 EXF2 位。如果 ET2 被使能,TF2 和 EXF2 位都能产生一个中断。 T2FD = 0 /12 fsys C/T2 = 0 /1 T2FD = 1 C/T2 = 1 T2 TL2 TH2 RCAP2L RCAP2H TR2 Reload Overflow TF2 T2EX Timer2 EXF2 EXEN2 模式 1: 16 位自动重载 DCEN = 0 预 览 版 本 设置 DCEN 位允许定时器 2 递增计数或递减计数。当 DCEN = 1 时,T2EX 引脚控制计数的方向,而 EXEN2 控制无效。 T2EX 置 1 可使定时器 2 递增计数。定时器向 0xFFFFH 溢出,然后设置 TF2 位。溢出也能分别引起 RCAP2H 和 RCAP2L 上的 16 位值重载入定时器寄存器。 T2EX 置 0 可使定时器 2 递减计数。当 TH2 和 TL2 的值等于 RCAP2H 和 RCAP2L 的值时,定时器溢出。置 起 TF2 位,同时 0xFFFFH 重载入定时器寄存器。 无论定时器 2 溢出与否,EXF2 位都被用作结果的第 17 位。在此工作方式下,EXF2 不作为中断标志。 T2FD = 0 fsys 0xFFH 0xFFH EXF2 Toggle /12 /1 C/T2 = 0 TL2 T2FD = 1 T2 C/T2 = 1 TH2 TF2 TR2 RCAP2L RCAP2H 1 = UP 0 = DOWN T2EX 模式 1: 16 位自动重载 DCEN = 1 工作模式 2: 波特率发生器 通设置 T2CON 寄存器中的 TCLK 和/或 RCLK 选择定时器 2 作为波特率发生器。接收器和发送器的波特率可 以不同。如果定时器 2 作为接收器或发送器,则定时器 1 相应的作为另一种的波特率发生器 设置 T2CON 寄存器中的 TCLK 和/或 RCLK 使定时器 2 进入波特率发生器方式,该方式与自动重载方式相似 定时器 2 的溢出会使 RCAP2H 和 RCAP2L 寄存器中的值重载入定时器 2 计数,但不会产生中断 如果 EXEN2 被置 1,在 T2EX 脚上的下降沿会置起 EXF2,但不会引起重载。因此当定时器 2 作为波特率发 送器时,T2EX 可作为一个额外的外部中断 在 UART0 方式 1 和 3 中的波特率由定时器 2 的溢出率根据下列方程式决定: fsys BaudRate = [RCAP2H,RCAP2L]; (注意:[RCAP2H,RCAP2L] 必须大于 0x0010) Page 52 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 定时器 2 作为波特率发生器的原理图如下: Fsys TR1=0 Timer1 Overflow C/T2 = 0 TL2 "1" TH2 "0" RCLK T2 C/T2 = 1 TR2 RCAP2L RCAP2H "1" "0" TCLK Timer2 Interrupt T2EX Rx Clock Tx Clock EXF2 EXEN2 模式 2:波特率发生器 工作模式 3: 可编程时钟输出 ——— 在这种方式中,T2(P0.5)可以编程为输出 50%的占空比时钟周期:当 C/T2 = 0;T2OE = 1,使能定时器 2 作 为时钟发生器 版 Colck Out Frequency = 本 在这种方式中,T2 输出占空比为 50%的时钟 览 其中, fn2 为定时器 2 时钟频率: 预 fn2 = fsys 12 fn2 (65536−[RCAP2H,RCAP2L])×4 ; fn2 = fsys; ; T2FD = 0 T2FD = 1 定时器 2 溢出不产生中断,T2 端口作时钟输出。 Page 53 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU Fsys T2FD = 0 /2 /12 TL2 TH2 RCAP2L RCAP2H /1 TR2 T2FD = 1 C/T2 T2 T2OE Timer2 Interrupt T2EX EXF2 EXEN2 本 模式 3:可编程时钟输出 预 览 版 注意: 1. TF2 和 EXF2 都能引起定时器 2 的中断请求,两者有相同的向量地址; 2. 当事件发生时或其它任何时间都能由软件设置 TF2 和 EXF2 为 1,只有软件以及硬件复位才能使之清 0; 3. 当 EA = 1 且 ET2 = 1 时,设置 TF2 或 EXF2 为 1 能引起定时器 2 中断; 4. 当定时器 2 作为波特率发生器时,写入 TH2/TL2 或 RCAP2H/RCAP2L 会影响波特率的准确性,引起通信 出错。 Page 54 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 12 乘除法器 SC92F854X 提供了 1 个 16 位的乘除法器,由扩展累加器 EXA0~EXA3、扩展 B 寄存器 EXB 和运算控制寄存 器 OPERCON 组成。可取代软件进行 16 位×16 位乘法运算和 32 位/16 位除法运算。 符号 地址 说明 EXA0 E9H 扩展累加器 0 EXA1 EAH EXA2 EBH EXA3 7 6 5 4 3 2 1 Reset 值 0 EXA [7:0] 00000000b 扩展累加器 1 EXA [15:8] 00000000b 扩展累加器 2 EXA [23:16] 00000000b ECH 扩展累加器 3 EXA [31:24] 00000000b EXBL EDH 扩展 B 寄存器 L EXB [7:0] 00000000b EXBH EEH 扩展 B 寄存器 H EXB [15:8] 00000000b OPERCON (EFH) 运算控制寄存器(读/写) 7 6 位编号 OPERS MD 符号 读/写 读/写 读/写 0 0 上电初始值 MD 2 x 1 x 0 CHKSUMS 读/写 0 说明 乘除法器运算开始触发控制(Operater Start) 对此 bit 写 “1”, 开始做一次乘除法计算,即该位只是乘除法器开始计算 的触发信号,当该位为零这说明计算已完成。此位只可写入 1 有效。 乘除法选择 0:乘法运算,被乘数和乘数的写入、乘积的读取如下: 字节 字节 3 字节 2 字节 1 字节 0 运算数 被乘数 16bit EXA1 EXA0 乘数 16bit EXBH EXBL 乘积 32bit EXA3 EXA2 EXA1 EXA0 本 6 3 x 版 位符号 OPERS 4 x 预 览 位编号 7 5 x 1:除法运算,被除数和除数的写入、商和余数的读取如下: 字节 字节 3 字节 2 字节 1 运算数 被除数 32bit EXA3 EXA2 EXA1 除数 16bit EXBH 商 32bit EXA3 EXA2 EXA1 EXBH 余数 16bit 字节 0 EXA0 EXBL EXA0 EXBL 注: 1. 在执行运算操作过程中,禁止对 EXA 和 EXB 数据寄存器执行读或写动作。 2. 乘除法器运算转换所需时间为 16/fSYS。 Page 55 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 13 PWM SC92F854X 提供了最多 8 路共用周期、单独可调占空比的 12 位 PWM。 SC92F854X 的 PWM 具有的功能为: ① 12 位 PWM 精度; ② 8 路 PWM 的周期相同,但占空比可单独设置; ③ 输出可设置正反向。 SC92F854X 的 PWM 可支持周期及占空比的调整,寄存器 PWMCFG、PWMCON 控制 PWM 的状态及周期, 各路 PWM 的打开及输出波形占空比可单独调整。 注意:1. PWM 占空比调节寄存器只可写,不可读; 2. PWM 的时钟源固定为 fHRC = 16MHz,不会随着系统时钟的切换而改变。 13.1 PWM 结构框图 PWM Output ENPxy Q fHRC /1 /2 /3 /4 PDTxy 重装 R 比较器 S 预 览 版 本 INVxy 计数器 CKS ENPWM共用周期模块 比较器 PWMIF 缓存器 重装 x = 4~5 y = 0~3 PWMPD SC92F854X PWM 结构框图 Page 56 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 13.2 PWM 相关 SFR 寄存器 PWMCFG (D4H) PWM 设置寄存器(读/写) 7 6 位编号 ENPWM PWMIF 符号 读/写 上电初始值 读/写 0 读/写 0 位符号 ENPWM 6 PWMIF 5~4 PWMCK[1:0] 3~0 PWMPD[11:8] 读/写 0 3 读/写 0 2 1 PWMPD[11:8] 读/写 0 读/写 0 读/写 0 0 读/写 0 说明 PWM 模块开关控制(Enable PWM) 1:允许 Clock 进到 PWM 单元, PWM 处于工作状态,PWM 输出口的状 态由寄存器 ENPxy 控制(x=4~5, y=0,3) 0:PWM 单元停止工作,PWM 计数器清零,全部 PWM 输出口设置为 GPIO 状态 PWM 中断请求标志位(PWM Interrupt Flag) 当 PWM 计数器溢出时(也就是说: 数到超过 PWMPD 时), 此位会被硬 件自动设定成 1。如果此时 IE1[1] (EPWM) 也是被设定成 1, PWM 的 中断产生 。 注:在 PWM 中断发生后, 硬件并不会自动清除此位, 此位必须由使用者 的软件负责清除。 PWM 时钟源选择(PWM Clock Source Selector) 00:fHRC 01:fHRC/2 10:fHRC/4 11:fHRC/8 PWM 的周期设置高四位; 此数值代表 PWM 输出波形的 (周期 – 1); 也就是说 PWM 输出的周期值 为(PWMPD[11:0] + 1 )* PWM 时钟; 预 览 版 本 位编号 7 5 4 PWMCK[1:0] PWMCON (D3H) PWM 控制寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 位符号 PWMPD[7:0] IE1 (A9H) 中断使能寄存器(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 位编号 1 Page 57 of 107 位符号 EPWM 4 3 PWMPD[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 PWM 共用的周期设置低八位; 此数值代表 PWM 输出波形的 (周期 – 1); 也就是说 PWM 输出的周期值 为(PWMPD[11:0] + 1 )* PWM 时钟; 5 4 3 2 1 0 ECMP 读/写 0 ETK 读/写 0 EINT2 读/写 0 EBTM 读/写 0 EPWM 读/写 0 ESSI 读/写 0 说明 PWM 中断使能控制 0:关闭 PWM 中断 1:允许 PWM 计数器溢出时产生中断 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU IP1 (B9H) 中断优先级控制寄存器 1(读/写) 7 6 5 位编号 符号 IPCMP 读/写 读/写 x x 上电初始值 0 1 0 IPTK 读/写 0 IPINT2 读/写 0 IPBTM 读/写 0 IPPWM 读/写 0 IPSSI 读/写 0 - INV41 - INV42 - INV43 - INV50 - INV51 - INV52 - PDT40[7:0] PDT41[7:0] PDT42[7:0] PDT43[7:0] PDT50[7:0] PDT51[7:0] PDT52[7:0] PDT53[7:0] PDT40[11:8] PDT41[11:8] PDT42[11:8] PDT43[11:8] PDT50[11:8] 本 INV40 INV53 2 说明 PWM 中断优先权选择 0:设定 PWM 的中断优先级是 “低” 1:设定 PWM 的中断优先级是 “高” 览 PWM 占空比调节寄存器(写) 740H ENP40 741H 742H ENP41 743H 744H ENP42 745H 746H ENP43 747H 748H ENP50 749H 74AH ENP51 74BH 74CH ENP52 74DH 74EH ENP53 74FH 3 PDT51[11:8] 版 位符号 IPPWM 预 位编号 1 4 PDT52[11:8] PDT53[11:8] 注意:PWM 占空比调节寄存器只可写,不可读! 位编号 7 位符号 ENPxy (x=4,5, y=0~3) 说明 6 INVxy (x=4,5, y=0~3) 3~0 PDTxy [11:8] (x=4,5, y=0~3) Pxy 口 PWM 波形输出选择 0:Pxy 口 PWM 输出被关闭并作为 GPIO 口 1 1:当 ENPWM=1 时,Pxy 作为 PWM 波形输出口 Pxy 口 PWM 波形输出反向控制 1 :Pxy 口的 PWM 波形输出反向 0 :Pxy 口的 PWM 波形输出不反向 Pxy 口 PWM 波形占空比长度设置; Pxy 管脚上的 PWM 波形的高电平宽度 是 (PDTxy [11:0])个 PWM 时钟 位编号 7~0 位符号 PDTxy [7:0] (x=4,5, y=0~3) 说明 Pxy 口 PWM 波形占空比长度设置; Pxy 管脚上的 PWM 波形的高电平宽度 是 (PDTxy [11:0])个 PWM 时钟 注:如果 ENPWM 置 1,PWM 模块被打开,但 ENPxy=0,PWM 输出被关闭并作为 GPIO 口。此时 PWM 模块可 以作为一个 12 位 Timer 使用,此时 EPWM(IE1.1)被置 1,PWM 仍然会产生中断。 Page 58 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 13.3 PWM 波形及用法 各 SFR 参数改变对 PWM 波形影响如下所述: ① 占空比变化特性 当 PWMn 输出波形时,若需改变占空比,可通过改变高电平设置寄存器(PDTxy)的值实现。但需要注意:更改 PDTxy 的值,占空比会即时生效。 ② 周期变化特性 初始值:PDTxy=h,PWMPD=t 指令1:设置PWMPD=m 指令2:设置PWMPD=k 执行指令: 指令1 h h 指令2 h h h h h h h k+1 k+1 k+1 PWM波形: PWM周期: t+1 t+1 t+1 m+1 m+1 m+1 周期变化特性图 当 PWM 输出波形时,若需改变周期,可通过改变周期设置寄存器 PWMPD 的值实现。更改 PWMPD 的值, 周期不会立即改变,而是等待本周期结束,在下个周期改变,参考上图所示。 本 ③ 周期和占空比的关系 1 览 ... 3 周期 周期=PWMPD + 1 Low 预 PDTxy=00H 版 PWM时钟单元 2 High PDTxy=01H PDTxy=02H Low High Low PDTxy=PWMPD High Low PDTxy PWMPD + 1 High 周期与占空比关系图 周期和占空比的关系如上图所示。该结果的前提是 PWM 输出反向控制(INVxy)初始为 0,若需得到相反结果, 可置 INVxy 为 1。 Page 59 of 107 V0.5 http://www.socmcu.com SinOne 14 GP I/O SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SC92F854X 提供了最多 46 个可控制的双向 GPIO 端口,输入输出控制寄存器用来控制各端口的输入输出状 态,当端口作为输入时,每个 I/O 端口带有由 PxPHy 控制的内部上拉电阻。此 46 个 IO 同其他功能复用, 其中 P3 可以通过设置输出 1/4VDD 或 1/3VDD 的电压,可用来作为 LCD 显示的 COM 驱动。I/O 端口在输出状态下,读到的 是端口数据寄存器里的值。 注意:未使用及封装未引出的 IO 口均要设置为强推挽输出模式。 14.1 GPIO 结构图 强推挽输出模式 强推挽输出模式下,能够提供持续的大电流驱动:大于 17mA 的输出高,大于 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 60 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 14.2 I/O 端口相关寄存器 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 3 P0C3 2 P0C2 1 P0C1 0 P0C0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P0PH (9BH) P0 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P0H7 P0H6 P0H5 符号 4 P0H4 3 P0H3 2 P0H2 1 P0H1 0 P0H0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P1CON (91H) P1 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P1C7 P1C6 P1C5 符号 4 P1C4 3 P1C3 2 P1C2 1 P1C1 0 P1C0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P1PH (92H) P1 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P1H7 P1H6 P1H5 符号 4 P1H4 3 P1H3 2 P1H2 1 P1H1 0 P1H0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P2C4 3 P2C3 2 P2C2 1 P2C1 0 P2C0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P2H4 3 P2H3 2 P2H2 1 P2H1 0 P2H0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P3C4 3 P3C3 2 P3C2 1 P3C1 0 P3C0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P3H4 3 P3H3 2 P3H2 1 P3H1 0 P3H0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 上电初始值 读/写 上电初始值 读/写 上电初始值 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 览 读/写 上电初始值 读/写 0 本 4 P0C4 版 P0CON (9AH) P0 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P0C7 P0C6 P0C5 符号 预 P2CON (A1H) P2 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P2C7 P2C6 P2C5 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 P2PH (A2H) P2 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P2H7 P2H6 P2H5 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 P3CON (B1H) P3 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P3C7 P3C6 P3C5 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 P3PH (B2H) P3 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P3H7 P3H6 P3H5 符号 读/写 上电初始值 Page 61 of 107 读/写 0 读/写 0 读/写 0 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU P4CON (C1H) P4 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P4C7 P4C6 P4C5 符号 4 P4C4 3 P4C3 2 P4C2 1 P4C1 0 P4C0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P4PH (C2H) P4 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P4H7 P4H6 P4H5 符号 4 P4H4 3 P4H3 2 P4H2 1 P4H1 0 P4H0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P5C4 3 P5C3 2 P5C2 1 P5C1 0 P5C0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 P5H4 3 P5H3 2 P5H2 1 P5H1 0 P5H0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 上电初始值 读/写 上电初始值 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P5CON (D9H) P5 口输入/输出控制寄存器(读/写) 7 6 5 位编号 P5C5 符号 读/写 读/写 x x 0 上电初始值 PxHy (x=0~5, y=0~7) P0 (80H) P0 口数据寄存器(读/写) 7 6 位编号 P0.7 P0.6 符号 版 7~0 说明 Px 口输入输出控制: 0:Pxy 为输入模式(上电初始值) 1:Pxy 为强推挽输出模式 Px 口上拉电阻设置,仅在 PxCy=0 时有效: 0:Pxy 为高阻输入模式(上电初始值),上拉电阻关闭; 1:Pxy 上拉电阻打开 览 位符号 PxCy (x=0~5, y=0~7) 读/写 0 预 位编号 7~0 本 P5PH (DAH) P5 口上拉电阻控制寄存器(读/写) 7 6 5 位编号 P5H5 符号 读/写 读/写 x x 0 上电初始值 5 P0.5 4 P0.4 3 P0.3 2 P0.2 1 P0.1 0 P0.0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P1 (90H) P1 口数据寄存器(读/写) 7 6 位编号 P1.7 P1.6 符号 5 P1.5 4 P1.4 3 P1.3 2 P1.2 1 P1.1 0 P1.0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P2 (A0H) P2 口数据寄存器(读/写) 7 6 位编号 P2.7 P2.6 符号 5 P2.5 4 P2.4 3 P2.3 2 P2.2 1 P2.1 0 P2.0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 上电初始值 读/写 上电初始值 读/写 上电初始值 Page 62 of 107 读/写 0 读/写 0 读/写 0 读/写 0 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU P3 (B0H) P3 口数据寄存器(读/写) 7 6 位编号 P3.7 P3.6 符号 5 P3.5 4 P3.4 3 P3.3 2 P3.2 1 P3.1 0 P3.0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 P4 (C0H) P4 口数据寄存器(读/写) 7 6 位编号 P4.7 P4.6 符号 5 P4.5 4 P4.4 3 P4.3 2 P4.2 1 P4.1 0 P4.0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 5 P5.5 4 P5.4 3 P5.3 2 P5.2 1 P5.1 0 P5.0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 2 1 0 读/写 上电初始值 读/写 上电初始值 读/写 0 读/写 0 读/写 0 P5 (D8H) P5 口数据寄存器(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 7~0 7~0 5~0 本 P1 口锁存寄存器数据 P2 口锁存寄存器数据 版 7~0 说明 P0 口锁存寄存器数据 P3 口锁存寄存器数据 览 7~0 位符号 P0.x (x=0~7) P1.x (x=0~7) P2.x (x=0~7) P3.x (x=0~7) P4.x (x=0~7) P5.x (x=0~5) P4 口锁存寄存器数据 预 位编号 7~0 P5 口锁存寄存器数据 IOHCON0 (96H) IOH 设置寄存器 0(读/写) 7 6 位编号 P1H[1:0] 符号 读/写 上电初始值 读/写 0 读/写 0 位编号 7~6 位符号 P1H[1:0] 5~4 P1L[1:0] 3~2 P0H[1:0] Page 63 of 107 5 4 P1L[1:0] 读/写 0 读/写 0 3 P0H[1:0] 读/写 0 读/写 0 P0L[1:0] 读/写 0 读/写 0 说明 P1 高四位 IOH 设置 00:设置 P1 高四位 IOH 等级 0(最大); 01:设置 P1 高四位 IOH 等级 1; 10:设置 P1 高四位 IOH 等级 2; 11:设置 P1 高四位 IOH 等级 3(最小); P1 低四位 IOH 设置 00:设置 P1 低四位 IOH 等级 0(最大); 01:设置 P1 低四位 IOH 等级 1; 10:设置 P1 低四位 IOH 等级 2; 11:设置 P1 低四位 IOH 等级 3(最小); P0 高四位 IOH 设置 00:设置 P0 高四位 IOH 等级 0(最大); 01:设置 P0 高四位 IOH 等级 1; 10:设置 P0 高四位 IOH 等级 2; V0.5 http://www.socmcu.com SinOne 1~0 P0L[1:0] SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 11:设置 P0 高四位 IOH 等级 3(最小); P0 低四位 IOH 设置 00:设置 P0 低四位 IOH 等级 0(最大); 01:设置 P0 低四位 IOH 等级 1; 10:设置 P0 低四位 IOH 等级 2; 11:设置 P0 低四位 IOH 等级 3(最小); IOHCON1 (97H) IOH 设置寄存器 1(读/写) 7 6 5 4 位编号 P3L[1:0] 符号 读/写 读/写 读/写 x x 0 0 上电初始值 P2H[1:0] 1~0 P2L[1:0] 7~6 - 读/写 0 0 P2L[1:0] 读/写 0 读/写 0 说明 P3 低四位 IOH 设置 00:设置 P3 低四位 IOH 等级 0(最大); 01:设置 P3 低四位 IOH 等级 1; 10:设置 P3 低四位 IOH 等级 2; 11:设置 P3 低四位 IOH 等级 3(最小); 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(最小); 保留 本 3~2 读/写 0 1 版 位符号 P3L[1:0] 2 P2H[1:0] Page 64 of 107 预 览 位编号 5~4 3 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 15 LCD/LED 显示驱动 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SC92F8547/ 8546/ 8543 内部集成了硬件的 LCD/LED 显示驱动电路,可方便用户实现 LCD 和 LED 的显示驱 动。其主要特点如下: 1. LCD 和 LED 显示驱动二选一; 2. LCD 和 LED 显示驱动共用相关 IO 口和寄存器。 LCD 显示驱动功能如下: 1. 4 种显示驱动模式可选:8 X 24、6 X 26、5 X 27、或 4X 28 段; 2. 2 种偏置方式可选:1/4 Bias 和 1/3 Bias; 3. com 口驱动能力 4 级可选; 4. 显示驱动电路可选择内建 128K LRC 或外部 32K 振荡器作为时钟源,帧频约为 64Hz。 LED 显示驱动功能如下: 1. 4 种显示驱动模式可选:8 X 24、6 X 26、5 X 27、或 4X 28 段; 2. seg 口驱动能力 4 级可选; 3. 显示驱动电路可选择内建 128K LRC 或外部 32K 振荡器作为时钟源,帧频约为 64Hz。 15.1 LCD/LED 显示驱动相关寄存器 DDRCON (93H) 显示驱动控制寄存器(读/写) 7 6 5 4 位编号 DDRON DMOD DUTY[1:0] 符号 位符号 DDRON 6 DMOD 5~4 DUTY[1:0] 3~0 VLCD[3:0] 位编号 7~0 Page 65 of 107 读/写 0 0 0 0 说明 LCD/LED 显示驱动使能控制 0:显示驱动扫描关闭 1:显示驱动扫描打开 LCD/LED 显示驱动模式 0:LCD 模式; 1:LED 模式 LCD/LED 显示占空比控制 00:1/8 占空比,S4~S27 为 segment,C0~C7 为 common; 01:1/6 占空比,S2~S27 为 segment,C2~C7 为 common; 10:1/5 占空比,S1~S27 为 segment,C3~C7 为 common; 11:1/4 占空比,S0~S27 为 segment,C4~C7 为 common,或 S4~S27 为 segment,C0~C3 为 common LCD 电压调节 VLCD=VDD*(17+VLCD[3:0])/32 P0VO (9CH) P0 口显示驱动输出寄存器(读/写) 位编号 7 6 5 P07VO P06VO P05VO 符号 读/写 上电初始值 0 读/写 0 览 位编号 7 读/写 0 0 VLCD[3:0] 本 读/写 0 1 版 读/写 0 2 预 读/写 上电初始值 3 读/写 0 位符号 P0nVO 读/写 0 4 P04VO 3 P03VO 2 P02VO 1 P01VO 0 P00VO 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 打开 P0n 口显示驱动输出 0:关闭 P0n 口的显示驱动输出功能 1:打开 P0n 口的显示驱动输出功能 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU P1VO (94H) P1 口显示驱动输出寄存器(读/写) 位编号 7 6 5 P17VO P16VO P15VO 符号 读/写 上电初始值 位编号 7~0 读/写 0 读/写 0 位符号 P1nVO 读/写 0 位符号 P2nVO 读/写 0 位符号 P3nVO OTCON (8FH) 输出控制寄存器(读/写) 7 6 位编号 SSMOD[1:0] 符号 读/写 读/写 读/写 0 0 上电初始值 位编号 3~2 位符号 VOIRS[1:0] 1 SCS 0 BIAS Page 66 of 107 读/写 0 读/写 0 读/写 0 读/写 0 4 P24VO 3 P23VO 2 P22VO 1 P21VO 0 P20VO 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 打开 P2n 口显示驱动输出 0:关闭 P2n 口的显示驱动输出功能 1:打开 P2n 口的显示驱动输出功能 读/写 0 览 读/写 0 读/写 0 4 P34VO 3 P33VO 2 P32VO 1 P31VO 0 P30VO 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 1 SCS 0 BIAS 读/写 0 读/写 0 预 位编号 7~0 读/写 0 0 P10VO 打开 P1n 口显示驱动输出 0:关闭 P1n 口的显示驱动输出功能 1:打开 P1n 口的显示驱动输出功能 P3VO (B3H) P3 口显示驱动输出寄存器(读/写) 位编号 7 6 5 P37VO P36VO P35VO 符号 读/写 上电初始值 1 P11VO 本 读/写 0 2 P12VO 版 位编号 7~0 读/写 0 3 P13VO 说明 P2VO (A3H) P2 口显示驱动输出寄存器(读/写) 位编号 7 6 5 P27VO P26VO P25VO 符号 读/写 上电初始值 4 P14VO 说明 打开 P3n 口显示驱动输出 0:关闭 P3n 口的显示驱动输出功能 1:打开 P3n 口的显示驱动输出功能 5 x 4 x 3 2 VOIRS[1:0] 读/写 0 读/写 0 说明 LCD 电压输出口分压电阻选择(根据 LCD 屏大小选择适合的驱动) 00:设定内部分压电阻总电阻值为 100kΩ 01:设定内部分压电阻总电阻值为 200kΩ 10:设定内部分压电阻总电阻值为 400kΩ 11:设定内部分压电阻总电阻值为 800kΩ 每次 Common 切换时,前 1/16 时间固定选择 100k 电阻,后 15/16 时间 切换到 VORIS 选择的电阻值 LCD/LED Segment/Common 复用管脚选择 0:当设定为 1/4 占空比时,S0~S27 为 segment,C4~C7 为 common 1:当设定为 1/4 占空比时,S4~S27 为 segment,C0~C3 为 common LCD 显示驱动偏置电压设置: V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 0:1/4 偏置电压; 1:1/3 偏置电压 15.2 LCD/LED 显示 RAM 配置 Page 67 of 107 4 COM4 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 3 COM3 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 本 5 COM5 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 版 6 COM6 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 览 700H 701H 702H 703H 704H 705H 706H 707H 708H 709H 70AH 70BH 70CH 70DH 70EH 70FH 710H 711H 712H 713H 714H 715H 716H 717H 718H 719H 71AH 71BH 7 COM7 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 预 地址 2 COM2 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 1 COM1 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 0 COM0 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 15.3 LCD 波形 15.3.1 1/3BIAS LCD 波形 SELECT UNSELECT VLCD V1 = 2/3 VLCD COM V2 = 1/3 VLCD VSS SELECT UNSELECT VLCD V1 = 2/3 VLCD SEG V2 = 1/3 VLCD VSS 本 1/3 Bias LCD 选通和非选通电压 Selected Unselected 预 VSS 版 VLCD V1 V2 1 Frame 览 COM0 1 Frame COM1 VLCD V1 V2 VSS COM2 VLCD V1 V2 VSS COM3 VLCD V1 V2 VSS SEGn VLCD V1 V2 VSS 1/3 Bias LCD 应用中 COM 和 SEG 的波形图 Page 68 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 15.3.2 1/4BIAS LCD 波形 SELECT UNSELECT VLCD V1 = 3/4 VLCD V2 = 2/4 VLCD COM V3 = 1/4 VLCD VSS SELECT UNSELECT VLCD V1 = 3/4 VLCD V2 = 2/4 VLCD SEG V3 = 1/4 VLCD VSS 1/4 Bias LCD 选通和非选通电压 Selected Unselected 本 VLCD V1 V2 版 COM1 预 GND VLCD 览 V3 V1 COM2 V2 V3 GND VLCD V1 COM3 V2 V3 GND VLCD V1 SEG V2 V3 GND 1/4 Bias LCD 应用中 COM 和 SEG 的波形图 Page 69 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 15.4 LED 波形 COM0 1/4 Duty VDD VSS VDD COM1 COM2 VSS VDD VSS VDD COM3 VSS VDD SEG0 VSS 预 览 版 本 LED 应用中 COM 和 SEG 的波形图 Page 70 of 107 V0.5 http://www.socmcu.com SinOne 15.5 LCD/LED 例程 SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 15.5.1 LCD 配置例程 unsigned char xdata LCDRAM[30] _at_ 0x700; unsigned char lcd_addr; unsigned char lcd_data; DDRCON |= 0x00; DDRCON |= 0x30; DDRCON |= 0x07; DDRCON |= 0x80; //0:LCD 模式 1:LED 模式 //1/4 占空比 // VLCD=VDD*3/4 //显示驱动扫描打开 // 打开 P0 口的显示驱动输出功能 // 打开 P1 口的显示驱动输出功能 // 打开 P2 口的显示驱动输出功能 // 打开 P3 口的显示驱动输出功能 // 设定内部分压电阻总电阻值为 200KΩ //1/4 偏置电压;S4~S27 为 segment,C0~C3 为 common LCDRAM[lcd_addr] = lcd_data; //向 LCD RAM 写入待显示的值 P0VO = 0xFF; P1VO = 0xFF; P2VO = 0xFF; P3VO = 0xFF; OTCON = 0x06; DDRCON |= 0x4F; 版 unsigned char xdata LEDRAM[30] _at_ 0x700; unsigned char led_addr; unsigned char led_data; 本 15.5.2 LED 配置例程 //0:LCD 模式 1:LED 模式 览 //LED 模式; 1/8 占空比 //S4~S27 为 segment,C0~C7 为 common; //显示驱动扫描打开 //设置 P1 高四位 IOH 等级 3(最小),其它管脚 IOH 等级 0(最大) 预 DDRCON |= 0x80; IOHCON0 = 0xC0; IOHCON1 = 0x00; P0VO = 0xFF; // 打开 P0 口的显示驱动输出功能 P1VO = 0xFF; // 打开 P1 口的显示驱动输出功能 P2VO = 0xFF; // 打开 P2 口的显示驱动输出功能 P3VO = 0xFF; // 打开 P3 口的显示驱动输出功能 OTCON = 0x00; LCDRAM[led_addr] = led_data; //向 LED RAM 写入待显示的值 Page 71 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 16 UART0 SC92F854X支持一个全双工的串行口,可方便用于同其它器件或者设备的连接,例如Wifi模块电路或其它 UART通信接口的驱动芯片等。UART0的功能及特性如下: 1. 三种通讯模式可选:模式 0、模式 1 和模式 3; 2. 可选择定时器 1 或定时器 2 作为波特率发生器; 3. 发送和接收完成可产生中断 RI/TI,该中断标志需要软件清除。 SCON (98H) 串口控制寄存器(读/写) 位编号 7 6 5 4 3 2 1 0 SM0 SM1 SM2 REN TB8 RB8 TI RI 符号 读/写 0 读/写 0 位符号 SM0~1 5 SM2 4 REN 3 2 1 0 TB8 RB8 TI RI 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 串行通信模式控制位 00:模式 0,8 位半双工同步通信模式,在 RX 引脚上收发串行数据。 TX 引脚用作发送移位时钟。每帧收发 8 位,低位先接收或发送; 01:模式 1,10 位全双工异步通信,由 1 个起始位,8 个数据位和 1 个 停止位组成,通信波特率可变; 10:保留; 11:模式 3,11 位全双工异步通信,由 1 个起始位,8 个数据位,一个 可编程的第 9 位和 1 个停止位组成,通信波特率可变。 串行通信模式控制位 2,此控制位只对模式 3 有效 0:每收到一个完整的数据帧就置位 RI 产生中断请求; 1:收到一个完整的数据帧时,只有当 RB8=1 时才会置位 RI 产生中断请 求。 接收允许控制位 0:不允许接收数据; 1:允许接收数据。 只对模式 3 有效,为发送数据的第 9 位 只对模式 3 有效,为接收数据的第 9 位 发送中断标志位 接收中断标志位 预 览 版 位编号 7~6 读/写 0 本 读/写 上电初始值 SBUF (99H) 串口数据缓存寄存器(读/写) 位编号 7 6 符号 读/写 读/写 读/写 0 0 上电初始值 位编号 7~0 位符号 SBUF[7:0] 5 读/写 0 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 串口数据缓存寄存器 SBUF 包含两个寄存器:一个发送移位寄存器和一个接收锁存器,写入 SBUF 的数据将送至发送移位寄存器,并启动发送流程,读 SBUF 将返 回接收锁存器中的内容。 PCON (87H) 电源管理控制寄存器(只写、*不可读 *) 位编号 7 6 5 SMOD 符号 读/写 只写 0 x x 上电初始值 Page 72 of 107 4 3 SBUF[7:0] 4 x 3 x 2 x 1 STOP 只写 0 0 IDL 只写 0 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 位编号 7 位符号 SMOD 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 说明 波特率倍率设置位,仅在模式 0(SM0~1 = 00)有效: 0:串行端口在系统时钟的 1/12 下运行 1:串行端口在系统时钟的 1/4 下运行 16.1 串口通信的波特率 方式 0 中,波特率可编程为系统时钟的 1/12 或 1/4,由 SMOD(PCON.7)位决定。当 SMOD 为 0 时,串行端口 在系统时钟的 1/12 下运行。当 SMOD 为 1 时,串行端口在系统时钟的 1/4 下运行。 在方式 1 和方式 3 中,波特率可选择来至定时器 1 或定时器 2 的溢出率。 分别置 TCLK(T2CON.4)和 RCLK(T2CON.5)位为 1 来选择定时器 2 作为 TX 和 RX 的波特时钟源(详见定时器 章节)。无论 TCLK 还是 RCLK 为逻辑 1,定时器 2 都为波特率发生器方式。如果 TCLK 和 RCLK 为逻辑 0,定时 器 1 作为 Tx 和 Rx 的波特时钟源。 方式 1 和方式 3 波特率公式如下所示,其中[TH1、TL1]是定时器 1 的 16 位计数器寄存器, [RCAP2H、 RCAP2L]是定时器 2 的 16 位重载寄存器。 1. 用定时器 1 作为波特率发生器,定时器 1 必须停止计数,即 TR1=0: BaudRate = ; (注意:[TH1,TL1] 必须大于 0x0010) 用定时器 2 作为波特率发生器: 本 2. fsys [TH1,TL1] fsys 预 览 版 BaudRate = [RCAP2H,RCAP2L]; (注意:[RCAP2H,RCAP2L] 必须大于 0x0010) Page 73 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 17 SPI/TWI/UART 三选一串行接口 SSI SC92F854X 内部集成了三选一串行接口电路(简称 SSI),可方便 MCU 与不同接口的器件或者设备的连接。 用户可通过配置寄存器 OTCON 的 SSMOD[1:0] 位将 SSI 接口配置为 SPI、TWI 和 UART 中任意一种通信模式。 其特点如下: 1. SPI 模式可配置为主模式或从属模式中的一种 2. TWI 模式通信时只能做从机 3. UART 模式可工作在模式 1(10 位全双工异步通信)和模式 3(11 位全双工异步通信) 具体配置方式如下: OTCON (8FH) 输出控制寄存器(读/写) 7 6 5 4 3 2 1 0 位编号 SSMOD[1:0] VOIRS[1:0] SCS BIAS 符号 读/写 读/写 读/写 读/写 读/写 读/写 读/写 0 0 x x 0 0 0 0 上电初始值 位符号 SSMOD[1:0] 说明 SSI 通信模式控制位 00:SSI 关闭 01:SSI 设置为 SPI 通信模式; 10:SSI 设置为 TWI 通信模式; 11:SSI 设置为 UART 通信模式; 本 位编号 7~6 版 17.1 SPI 17.1.1 SPI 操作相关寄存器 预 SSCON0 (9DH) SPI 控制寄存器(读/写) 位编号 7 6 SPEN 符号 读/写 读/写 0 x 上电初始值 览 SSMOD[1:0] = 01,三选一串行接口 SSI 配置为 SPI 接口。串行外部设备接口(简称 SPI)是一种高速串行通信 接口,允许 MCU 与外围设备(包括其它 MCU)进行全双工,同步串行通信。 位编号 7 位符号 SPEN 5 MSTR 4 CPOL 3 CPHA 2~0 SPR[2:0] Page 74 of 107 5 MSTR 4 CPOL 3 CPHA 2 SPR2 1 SPR1 0 SPR0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 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 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 6 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 011:fSYS /32 100:fSYS /64 101:fSYS /128 110:fSYS /256 111:fSYS /512 保留 - SSCON1 (9EH) SPI 状态寄存器(读/写) 位编号 7 6 SPIF WCOL 符号 读/写 上电初始值 读/写 0 读/写 0 位符号 SPIF 6 WCOL 3 TXE 2 DORD 0 TBIE 5~4,1 - 4 x 3 TXE 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:允许发送中断,当 SPIF=1 时,TBIE=1 将产生 SPI 中断 保留 预 览 版 本 位编号 7 5 x SSDAT (9FH) SPI 数据寄存器(读/写) 位编号 7 6 符号 读/写 读/写 读/写 0 0 上电初始值 位编号 7~0 位符号 SPD[7:0] 5 4 3 2 1 0 读/写 0 读/写 0 读/写 0 读/写 0 SPD[7:0] 读/写 0 读/写 0 说明 SPI 数据缓存寄存器 写入 SSDAT 的数据被放置到发送移位寄存器中。 读取 SSDAT 时将获得接收移位寄存器的数据。 17.1.2 信号描述 主输出从输入(MOSI): 该路信号连接主设备和一个从设备。数据通过 MOSI 从主设备串行传送到从设备,主设备输出,从设备输入。 主输入从输出(MISO): 该路信号连接从设备和主设备。数据通过 MISO 从从设备串行传送到主设备,从设备输出,主设备输入。当 SPI 配置为从设备并未被选中,从设备的 MISO 引脚处于高阻状态。 Page 75 of 107 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SPI 串行时钟(SCK): SCK 信号用作控制 MOSI 和 MISO 线上输入输出数据的同步移动。每 8 时钟周期线上传送一个字节。如果从 设备未被选中,SCK 信号被此从设备忽略。 17.1.3 工作模式 本 SPI 可配置为主模式或从属模式中的一种。SPI 模块的配置和初始化通过设置 SSCON0 寄存器(SPI 控制寄存 器)和 SSCON1(SPI 状态寄存器)来完成。配置完成后,通过设置 SSCON0,SSCON1,SSDAT(SPI 数据寄存器) 来完成数据传送。 在 SPI 通讯期间,数据同步地被串行的移进移出。串行时钟线(SCK)使两条串行数据线(MOSI 和 MISO)上数 据的移动和采样保持同步。如果从设备没有被选中,则不能参与 SPI 总线上的活动。 当 SPI 主设备通过 MOSI 线传送数据到从设备时,从设备通过 MISO 线发送数据到主设备作为响应,这就实 现了在同一时钟下数据发送和接收的同步全双工传输。发送移位寄存器和接收移位寄存器使用相同的特殊功能器 地址,对 SPI 数据寄存器 SSDAT 进行写操作将写入发送移位寄存器,对 SSDAT 寄存器进行读操作将获得接收 移位寄存器的数据。 有些设备的SPI接口会引出SS脚(从设备选择引脚,低有效),与SC92F854X的SPI通信时, SPI总线上其 它设备的SS脚的连接方式需根据不同的通信模式进行连接。下表列出了SC92F854X的SPI不同通信模式下,SPI 总线上其它设备SS脚的连接方式: SC92F854X SPI SPI 总线上其它设备 模式 从机的 SS(从设备选择引脚) 主模式 从模式 一主一从 拉低 一主多从 SC92F854X 引出多根 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 冲突。但是移位寄存器的数据不受影响,传送也不会被中断。 Page 76 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 17.1.4 传送形式 通过软件设置 SSCON0 寄存器的 CPOL 位和 CPHA 位,用户可以选择 SPI 时钟极性和相位的四种组合方式。 CPOL 位定义时钟的极性,即空闲时的电平状态,它对 SPI 传输格式影响不大。CPHA 位定义时钟的相位,即定 义允许数据采样移位的时钟边沿。在主从通讯的两个设备中,时钟极性相位的设置应一致。 当 CPHA = 0,SCK 的第一个沿捕获数据,从设备必须在 SCK 的第一个沿之前将数据准备好。 SCK Cycle 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 数据传输图 1 2 3 4 5 6 7 8 LSB 览 SCK Cycle 版 本 当 CPHA = 1,主设备在 SCK 的第一个沿将数据输出到 MOSI 线上,从设备把 SCK 的第一个沿作为开始发送 信号,SCK 的第二沿开始捕获数据,因此用户必须在第一个 SCK 的两个沿内完成写 SSDAT 的操作。这种数据传 输形式是一个主设备一个从设备之间通信的首选形式。 预 SPEN SCK (CPOL=0) SCK (CPOL=1) MOSI (from Master) MSB bit6 bit5 bit4 bit3 bit2 bit1 MISO (from Slave) MSB bit6 bit5 bit4 bit3 bit2 bit1 LSB CPHA = 1 数据传输图 17.1.5 出错检测 在发送数据序列期间写入 SSDAT 寄存器会引起写冲突,SSCON1 寄存器中的 WCOL 位置 1。WCOL 位置 1 不会引起中断,发送也不会中止。WCOL 位需由软件清 0。 Page 77 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 17.2 TWI SSMOD[1:0] = 10,三选一串行接口 SSI 配置为 TWI 接口。SC92F854X 在 TWI 通信时只能做从机。 SSCON0 (9DH) TWI 控制寄存器(读/写) 7 6 位编号 TWEN TWIF 符号 读/写 上电初始值 读/写 0 读/写 0 位编号 7 位符号 TWEN 6 TWIF 5 x 4 GCA 3 AA 2 1 STATE[2:0] 0 读 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 TWI 使能控制 0:关闭 TWI 1:打开 TWI TWI 中断标志位 0:由软件清零 1:在下列条件下,中断标志位由硬件置 1 ①第一帧地址匹配成功 ②成功接收或发送 8 位数据 ③重新启动 ④从机收到停止信号 2~0 STATE[2:0] 5 - 本 AA 版 3 SSCON1 (9EH) TWI 地址寄存器(读/写) 7 6 位编号 符号 读/写 读/写 读/写 0 0 上电初始值 位编号 7~1 0 Page 78 of 107 位符号 TWA[6:0] GC 通用地址响应标志位 0:非响应通用地址 1:当 GC 置 1,同时通用地址匹配时该位由硬件置 1,并自动清零 接收使能位 0:不允许接收主机发送的信息 1:允许接收主机发送的信息 状态机状态标志位 000:从机处于空闲状态,等待 TWEN 置 1,检测 TWI 启动信号。当从 机接收到停止条件后跳会转到此状态 001:从机正在接收第一帧地址和读写位(第 8 位为读写位,1 为读,0 为写)。从机接收到起始条件后会跳转到此状态 010:从机接收数据状态 011:从机发送数据状态 100:在从机发送数据状态中,当主机回 UACK(应答位为高电平)时 跳转到此状态,等待重新启动信号或停止信号。 101:从机处于发送状态时,将 AA 写 0 会进入此状态,等待重新启动信 号或停止信号。 保留 览 GCA 预 4 5 4 TWA[6:0] 3 2 1 0 GC 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 TWI 地址寄存器 TWI 通用地址使能 0: 禁止响应通用地址 1: 允许响应通用地址 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SSDAT (9FH) TWI 数据缓存寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 位符号 TWDAT[7:0] 4 3 TWDAT[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 TWI 数据缓存寄存器 17.2.1 信号描述 TWI 时钟信号线(SCL) 该时钟信号由主机发出,连接到所有的从机。每 9 个时钟周期传送一个字节数据。前 8 个周期作数据的传送, 最后一个时钟作为接收方应答时钟。 TWI 数据信号线(SDA) SDA 是双向信号线,空闲时应为高电平,由 SDA 线上的上拉电阻拉高。 17.2.2 工作模式 SC92F854X 的 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. 如果从机的应答信号是低电平,主机的通信可以有以下三种方式: 1) 继续发送数据; 2) 重新发送启动信号(start),此时从机重新进入接收第一帧地址(STATE[2:0] = 001)状态; 3) 发送停止信号,表示本次传输结束,从机回到空闲状态,等待主机下一次的启动信号。 预  览 版 本  写STOP START SCL 1 3 4 5 MSB SDA STATE 2 000 001 STOP 主机发送8位数据 主机发送7位从机地址 6 7 8 9 W ACK 1 2 3 4 5 6 7 MSB 010 8 9 LSB ACK 000 TWIF 2. Page 79 of 107 如果从机应答的是高电平(在接收过程中,从机寄存器中的 AA 值改写为 0),表示当前字节传输 完以后,从机会主动结束本次传输,回到空闲状态(STATE[2:0] = 000),不再接收主机发送的数 据。 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 从机接收过程中AA=0 写STOP START 主机发送8位数据 主机发送7位从机地址 SCL 1 SDA MSB STATE 2 3 4 5 6 7 8 9 W ACK 1 2 3 4 5 6 7 MSB 001 000 STOP 8 9 LSB UACK 000 010 TWIF  非通用地址响应,从机发送模式: 如果第一帧接收到的读写位是读(1),则从机会占用总线,向主机发送数据。每发送 8 位数据,从机释 放总线,等待主机的应答: 1. 如果主机应答的是低电平,则从机继续发送数据。在发送过程中,如果从机寄存器中的 AA 值被改 写为 0,则传输完当前字节从机会主动结束传输并释放总线,等待主机的停止信号或重新启动信号 (STATE[2:0] = 101)。 从机发送过程中AA=0 写STOP 主机发送7位从机地址 3 4 5 6 7 MSB 8 R 1 2 3 4 ACK 5 6 7 MSB 8 9 LSB ACK 011 预 001 000 9 览 SDA STATE 2 STOP 从机发送8位数据 版 1 SCL 本 START 101 000 TWIF 2. 如果主机应答的是高电平,则从机 STATE[2:0] = 100,等待主机的停止信号或重新启动信号。 写STOP START 1 SCL 3 4 5 MSB SDA STATE 2 000 001 STOP 从机发送8位数据 主机发送7位从机地址 6 7 8 9 R ACK 1 2 3 4 5 MSB 011 6 7 8 9 LSB UACK 100 000 TWIF  通用地址的响应: GC=1 时,此时通用地址允许使用。从机进入到接收第一帧地址(STATE[2:0] = 001)状态,接收的第一 帧数据中的地址位数据为 0x00,此时所有从机响应主机。主机发送的读写位是必须是写(0),所有从机接 收后进入接收数据(STATE[2:0] = 010)状态。主机每发送 8 个数据释放一次 SDA 线,并读取 SDA 线上的 状态: 1. 如果有从机应答,则主机的通信可以有以下三种方式: 1) 继续发送数据; Page 80 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 2) 3) 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 重新启动; 发送停止信号,结束本次通讯。 写STOP START 主机发送7位通用地址 SCL 1 2 3 4 5 6 7 8 9 ACK SDA STATE 1 2 3 4 5 6 7 MSB 010 001 000 STOP 主机发送8位数据 8 9 LSB ACK 000 TWIF 2. 如果无从机应答,则 SDA 为空闲状态。 注意:在一主多从模式下使用通用地址时,主机发送的读写位不能为读(1)状态,否则除发送数据的设备, 总线上其它设备均会响应。 17.2.3 操作步骤 三合一串口中 TWI 工的操作步骤如下: 本 配置 SSMOD[1:0],选择 TWI 模式; 配置 SSCON0 TWI 控制寄存器; 版 配置 SSCON1 TWI 地址寄存器; 如果从机接收数据,则等待 SSCON0 中的中断标志位 TWIF 置 1。从机每接收到 8 位数据,中断标志位会被 置 1。中断标志位需手动清零; 览 ① ② ③ ④ 标志位 TWIF 就会被置 1。 Page 81 of 107 预 ⑤ 如果从机发送数据,则要将待发送的数据写进 TWDAT 中,TWI 会自动将数据发送出去。每发送 8 位,中断 V0.5 http://www.socmcu.com SinOne 17.3 UART1 SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SSMOD[1:0] = 11,三选一串行接口 SSI 配置为 UART 接口。 SSCON0 (9DH) 串口 1 控制寄存器(读/写) 7 6 5 位编号 SM0 SM2 符号 读/写 读/写 读/写 0 x 0 上电初始值 4 REN 3 2 1 0 6 TB8 RB8 TI RI - 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 串行通信模式控制位 0:模式 1,10 位全双工异步通信,由 1 个起始位,8 个数据位和 1 个停 止位组成,通信波特率可变; 1:模式 3,11 位全双工异步通信,由 1 个起始位,8 个数据位,一个可 编程的第 9 位和 1 个停止位组成,通信波特率可变; 串行通信模式控制位 2,此控制位只对模式 3 有效 0:每收到一个完整的数据帧就置位 RI 产生中断请求; 1:收到一个完整的数据帧时,只有当 RB8=1 时才会置位 RI 产生中断请 求。 接收允许控制位 0:不允许接收数据; 1:允许接收数据。 只对模式 3 有效,为发送数据的第 9 位 只对模式 3 有效,为接收数据的第 9 位 发送中断标志位 接收中断标志位 保留 SSCON2 (95H) 串口 1 波特率控制寄存器高位(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位符号 BAUD1 [15:0] 0 RI 说明 SSCON1 (9EH) 串口 1 波特率控制寄存器低位(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 1 TI 本 SM2 2 RB8 版 5 3 TB8 览 位符号 SM0 预 位编号 7 4 REN 4 3 BAUD1L [7:0] 读/写 0 读/写 0 4 3 BAUD1H [7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 串口 1 波特率控制 BaudRate = fsys [BAUD1H, BAUD1L] 注意:[BAUD1H,BAUD1L] 必须大于 0x0010 Page 82 of 107 V0.5 http://www.socmcu.com SinOne SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SSDAT (9FH) 串口数据缓存寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位符号 SBUF1[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 串口数据缓存寄存器 SBUF1 包含两个寄存器:一个发送移位寄存器和一个接收锁存器,写 入 SBUF1 的数据将送至发送移位寄存器,并启动发送流程,读 SBUF1 将返回接收锁存器中的内容。 预 览 版 本 位编号 7~0 4 3 SBUF1[7:0] Page 83 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 18 模数转换 ADC SC92F854X 内建一个 12-bit 17 通道的高精度逐次逼近型 ADC ,外部的 16 路 ADC 和 IO 口的其它功能复用。 内部的一路可接至 1/4 VDD,配合内部 2.4V 参考电压用于测量 VDD 电压。 ADC 的参考电压可以有 2 种选择: ① VDD 管脚(即直接是内部的 VDD); ② 内部 Regulator 输出的参考电压精准的 2.4V(此时 MCU 供电电压 VDD 不可低于 2.9V)。 注意:fADC 直接由内部 fHRC 分频所得,用户在配置时要注意 ADC 的时钟频率 fADC 不可大于系统时钟的频率 fSYS,否则会引起 ADC 转换结果异常! 18.1 ADC 相关寄存器 ADCCON (ADH) ADC 控制寄存器(读/写) 7 6 5 位编号 ADCEN ADCS EOC/ADCIF 符号 读/写 0 位符号 ADCEN 6 ADCS 5 EOC /ADCIF 4~0 ADCIS[4:0] 1 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 n 说明 启动 ADC 的电源 0:关闭 ADC 模块电源 1:开启 ADC 模块电源 ADC 开始触发控制(ADC Start) 对此 bit 写 “1”, 开始做一次 ADC 的转换,即该位只是 ADC 转换的触发 信号。此位只可写入 1 有效。 转换完成/ADC 中断请求标志(End Of Conversion / ADC Interrupt Flag) 0:转换尚未完成 1:ADC 转换完成。需用户软件清除 ADC 转换完成标志 EOC:当使用者设定 ADCS 开始转换后, 此位会被硬 件自动清除为 0; 当转换完成后, 此位会被硬件自动置为 1 ; ADC 中断请求标志 ADCIF: 此位同时也当作是 ADC 中断的中断请求标志,如果用户使能 ADC 中 断, 那么在 ADC 的 中断 发生后, 用户必须用软件清除此位。 ADC 输入通道选择(ADC Input Selector) 00000:选用 AIN0 为 ADC 的输入 00001:选用 AIN1 为 ADC 的输入 00010:选用 AIN2 为 ADC 的输入 00011:选用 AIN3 为 ADC 的输入 00100:选用 AIN4 为 ADC 的输入 00101:选用 AIN5 为 ADC 的输入 00110:选用 AIN6 为 ADC 的输入 00111:选用 AIN7 为 ADC 的输入 01000:选用 AIN8 为 ADC 的输入 01001:选用 AIN9 为 ADC 的输入 01010:选用 AIN10 为 ADC 的输入 01011:选用 AIN11 为 ADC 的输入 01100:选用 AIN12 为 ADC 的输入 01101:选用 AIN13 为 ADC 的输入 01110:选用 AIN14 为 ADC 的输入 01111:选用 AIN15 为 ADC 的输入 10000~11110:保留 11111: ADC 输入为 1/4 VDD, 可用于测量电源电压 预 览 位编号 7 读/写 0 2 ADCIS[4:0] 本 读/写 0 3 版 读/写 上电初始值 4 Page 84 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne ADCCFG2 (AAH) ADC 设置寄存器 2(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 1~0 ADCCK[1:0] 7~3 - 读/写 0 ADCCFG1 (ACH) ADC 设置寄存器 1(读/写) 7 6 5 位编号 EAIN15 EAIN14 EAIN13 符号 读/写 上电初始值 位编号 0 读/写 0 读/写 0 位符号 EAINx (x=0~15) 位编号 7 Page 85 of 107 读/写 n 位符号 VREFS 读/写 0 1 0 ADCCK[1:0] 读/写 0 读/写 0 3 EAIN3 2 EAIN2 1 EAIN1 0 EAIN0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 4 EAIN12 3 EAIN11 2 EAIN10 1 EAIN9 0 EAIN8 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 ADC 端口设置寄存器 0:设定 AINx 为 IO 口 1:设定 AINx 为 ADC 输入,并自动将上拉电阻移除。 OP_CTM1 (C2H@FFH) Customer Option 寄存器 1(读/写) 7 6 5 4 位编号 VREFS 符号 读/写 上电初始值 2 LOWSP 4 EAIN4 览 读/写 0 预 读/写 0 3 x 说明 ADC 采样时钟频率选择(ADC Sampling Clocks Selector) 0: 设定 ADC 采样时间为 6 个 ADC 采样时钟周期 1: 设定 ADC 采样时间为 36 个 ADC 采样时钟周期 LOWSP 控制的是 ADC 的采样时钟频率, ADC 的转换时钟频率由 ADCCK[1:0]控制,不受 LOWSP 位的影响 ADC 需经历 6 或 36 个 ADC 采样时钟加上 14 个 ADC 转换时钟的时间才 能完成从采样到转换的整个过程,因此在实际使用中,ADC 从采样到完 成转换的总时间计算如下: LOWSP=0:TADC1=(6+14)/fADC; LOWSP=1:TADC2=(36+14)/fADC ADC 采样时钟频率选择(ADC Sampling Clocks Selector) 01:设定 ADC 的时钟 频率 fADC 为 fHRC/12; 10:设定 ADC 的时钟 频率 fADC 为 fHRC/6; 其它:保留 保留 ADCCFG0 (ABH) ADC 设置寄存器 0(读/写) 7 6 5 位编号 EAIN7 EAIN6 EAIN5 符号 读/写 上电初始值 4 x 本 位符号 LOWSP 5 x 版 位编号 2 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU x x x 3 2 IAPS[1:0] 读/写 n 读/写 n 1 x 0 x 说明 参考电压选择(初始值从 Code Option 调入,用户可修改设置) 0:设定 ADC 的 VREF 为 VDD 1:设定 ADC 的 VREF 为 内部准确的 2.4V V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU ADCVL (AEH) ADC 转换数值寄存器(低位)(读/写) 7 6 5 位编号 ADCV[3:0] 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 4 位符号 ADCV[11:4] ADCV[3:0] 2 1 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 5 ET2 4 EUART 3 ET1 2 EINT1 1 ET0 0 EINT0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 本 读/写 0 说明 ADC 中断使能控制 0: 不允许 EOC/ADCIF 产生中断 1: 允许 EOC/ADCIF 产生 中断 版 位符号 EADC 预 位符号 IPADC 4 3 ADCV[11:4] 说明 IP (B8H) 中断优先级控制寄存器(读/写) 位编号 7 6 IPADC 符号 读/写 读/写 x 0 上电初始值 位编号 6 0 x 览 位编号 6 读/写 0 1 x ADC 转换值的高 8 位数值 ADC 转换值的低 4 位数值 IE (A8H) 中断使能寄存器(读/写) 位编号 7 6 EA EADC 符号 读/写 上电初始值 2 x 读/写 0 ADCVH (AFH) ADC 转换数值寄存器(高位)(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 11~4 3~0 3 x 5 IPT2 4 IPUART 3 IPT1 2 IPINT1 1 IPT0 0 IPINT0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 读/写 0 说明 ADC 中断优先权选择 0:设定 ADC 的中断优先级是 “低” 1:设定 ADC 的中断优先级是 “高” 18.2 ADC 转换步骤 用户实际进行 ADC 转换所需要的操作步骤如下: ① 设定 ADC 输入管脚;(设定 AINx 对应的位为 ADC 输入,通常 ADC 管脚会预先固定); ② 设定 ADC 参考电压 Vref,设定 ADC 转换所用的频率; ③ 开启 ADC 模块电源; ④ 选择 ADC 输入通道;(设置 ADCIS 位,选择 ADC 输入通道) ; ⑤ 启动 ADCS,转换开始; ⑥ 等待 EOC/ADCIF=1,如果 ADC 中断使能,则 ADC 中断会产生,用户需要软件清 0 EOC/ADCIF 标志; ⑦ 从 ADCVH、ADCVL 获得 12 位数据,先高位后低位,一次转换完成; ⑧ 如不换输入通道,则重复 5~7 的步骤,进行下一次转换。 注意:在设定 IE[6](EADC)前, 使用者最好用软件先清除 EOC/ADCIF, 并且在 ADC 中断服务程序执行完时, 也清除该 EOC/ADCIF, 以避免不断的产生 ADC 中断。 Page 86 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 19 模拟比较器 SC92F854X 内建一个模拟比较器 ,可用于报警器电路、电源电压监测电路、过零检测电路等。 此比较器具有四个模拟信号正输入端:CMP0~3 ,可通过 CMPIS [1:0]切换选择。负输入端电压可通过 CMPRF[3:0]切换为 CMPR 脚上的外部电压或内部的 16 档比较电压中的一种。 通过 CMPIM[1:0]可以方便的设定比较器的中断模式,当 CMPIM[1:0]所设定的中断条件发生时比较器中断标 志 CMPIF 会被置 1,该中断标志需要软件清除。 19.1 模拟比较器结构框图 CMP0 CMP1 CMP2 CMP3 0 1 2 3 IN+ OUT CMPSTA INCMPIS[1:0] CMPEN VDD CMPR 本 CMPRF[3:0] 读/写 0 读/写 0 位编号 7 位符号 CMPEN 6 CMPIF 5 CMPSTA 3~0 CMPRF[3:0] Page 87 of 107 读/写 0 预 读/写 上电初始值 览 CMPCON (B7H) 模拟比较器控制寄存器 (读/写) 位编号 7 6 5 CMPEN CMPIF CMPSTA 符号 版 模拟比较器结构框图 4 x 3 2 1 CMPRF[3:0] 读/写 0 读/写 0 读/写 0 0 读/写 0 说明 模拟比较器使能控制位 0:关闭模拟比较器; 1:使能模拟比较器 模拟比较器中断标志位 0:比较器中断未被触发; 1:当比较器满足中断触发条件时,此位会被硬件自动设定成 1。如果此 时 IE1[5] (ECMP) 也是被设定成 1, 比较器中断产生 。在比较器中断发 生后, 硬件并不会自动清除此位, 此位必须由使用者的软件负责清除。 模拟比较器输出状态 0:比较器正端电压小于负端电压 1:比较器正端电压大于负端电压 模拟比较器负端比较电压选择: 0000:选用 CMPR 为模拟比较器的比较电压; 0001:选用 1/16VDD 为模拟比较器的比较电压; 0010:选用 2/16VDD 为模拟比较器的比较电压; 0011:选用 3/16VDD 为模拟比较器的比较电压; 0100:选用 4/16VDD 为模拟比较器的比较电压; 0101:选用 5/16VDD 为模拟比较器的比较电压; 0110:选用 6/16VDD 为模拟比较器的比较电压; 0111:选用 7/16VDD 为模拟比较器的比较电压; V0.5 http://www.socmcu.com SinOne 4 - SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 1000:选用 8/16VDD 为模拟比较器的比较电压; 1001:选用 9/16VDD 为模拟比较器的比较电压; 1010:选用 10/16VDD 为模拟比较器的比较电压; 1011:选用 11/16VDD 为模拟比较器的比较电压; 1100:选用 12/16VDD 为模拟比较器的比较电压; 1101:选用 13/16VDD 为模拟比较器的比较电压; 1110:选用 14/16VDD 为模拟比较器的比较电压; 1111:选用 15/16VDD 为模拟比较器的比较电压; 保留 CMPCFG (B6H) 模拟比较器设置寄存器 (读/写) 位编号 7 6 5 符号 读/写 x x x 上电初始值 位符号 CMPIM[1:0] 1~0 CMPIS[1:0] 7~4 - 3 2 CMPIM[1:0] 读/写 0 读/写 0 1 0 CMPIS[1:0] 读/写 0 读/写 0 说明 模拟比较器中断模式选择: 00:不产生中断 01:上升沿中断:IN+从小于 IN- 到大于 IN- 后会产生中断; 10:下降沿中断:IN+从大于 IN- 到小于 IN- 后会产生中断; 11:双沿中断:IN+从小于 IN- 到大于 IN- ,或 IN+从大于 IN- 到小于 IN后均会产生中断; 模拟比较器正端输入通道选择: 00:选用 CMP0 为模拟比较器正端的输入; 01:选用 CMP1 为模拟比较器正端的输入; 10:选用 CMP2 为模拟比较器正端的输入; 11:选用 CMP3 为模拟比较器正端的输入; 保留 Page 88 of 107 预 览 版 本 位编号 3~2 4 x V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 20 高灵敏度隔空电容触控电路 SC92F854X 内建一个 31 通道的高灵敏度电容触控按键 Touch Key Sensor 电路,可实现隔空按键触控、接 近感应等操作。用户通过使用赛元提供的高灵敏度触控按键库文件,可快速简单实现隔空按键、接近感应等功能。 高灵敏度隔空电容触控电路框图: VCC 超强抗干扰 电路 Cx (0~15pF) 高可靠性 电源电路 高精密度电容放大测量电路 Cmod (0.01μF) 预 览 版 本 Touch Key Sensor 电路框图 Page 89 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 21 EEPROM 及 IAP 操作 SC92F854X 的 IAP 操作空间范围有两种模式可选: EEPROM 及 IAP 操作模式如下: 1. 内部最高位地址的 128 bytes EEPROM 可以作为数据存储使用; 2. IC 整个 ROM 空间的 32 Kbytes 范围及 128 bytes EEPROM 内都可进行 IAP 操作,主要用作远程程序更 新使用。 IAP 操作空间选择作为 Code Option 在编程器写入 IC 时选择: OP_CTM1 (C2H@FFH) Customer Option 寄存器 1(读/写) 7 6 5 4 3 2 1 0 位编号 VREFS IAPS[1:0] 符号 读/写 上电初始值 读/写 n 位编号 3~2 x 位符号 IAPS[1:0] x F2H IAP 写入地址低位寄存器 IAPADH F3H IAP 写入地址高位寄存器 IAPADE F4H IAP 写入扩展地址寄存器 IAPDAT F5H IAP 数据寄存器 IAPCTL F6H IAP 控制寄存器 IAPKEY (F1H) IAP 保护寄存器(读/写) 7 6 位编号 符号 读/写 读/写 读/写 0 0 上电初始值 位编号 7~0 位符号 IAPKEY[7:0] x x 本 5 4 - 5 读/写 0 3 2 1 0 00000000b IAPADR[7:0] 00000000b IAPADR[14:8] - - x0000000b IAPADER[7:0] 00000000b IAPDAT[7:0] 00000000b - 4 3 IAPKEY[7:0] 读/写 0 Reset 值 IAPKEY[7:0] - 读/写 0 PAYTIMES [1:0] CMD[1:0] xxxx0000b 2 1 0 读/写 0 读/写 0 读/写 0 说明 打开 EEPROM / IAP 功能及操作时限设置 写入一个非零值 n,代表: ① 打开 IAP 功能; ② n 个系统时钟后如果接收不到 IAP 写入命令,则 IAP 功能被重新关 闭。 IAPADL (F2H) IAP 写入地址低位寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 Page 90 of 107 版 IAPADL 6 预 IAP 保护寄存器 7 览 EEPROM / IAP 操作相关寄存器说明: 符号 地址 说明 F1H 读/写 n 说明 IAP 空间范围选择 00:Code 区域禁止 IAP 操作,仅 EEPROM 区域可作为数据存储使用 01:最后 0.5K Code 区域允许 IAP 操作(7E00H~7FFFH) 10:最后 1K Code 区域允许 IAP 操作(7C00H~7FFFH) 11:全部 Code 区域允许 IAP 操作(0000H~7FFFH) 21.1 EEPROM / IAP 操作相关寄存器 IAPKEY 读/写 n x 4 3 IAPADR[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 V0.5 http://www.socmcu.com SinOne 位编号 7~0 位符号 IAPADR[7:0] SC92F8547/8546/8543/8541 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 说明 EEPROM / IAP 写入地址的低 8 位 IAPADH (F3H) IAP 写入地址高位寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 x 0 0 上电初始值 位编号 6~0 7 位符号 IAPADR[14:8] - 4 读/写 0 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 和 IAP 烧写都针对 EEPROM 进行 其它:保留 位编号 7~0 位符号 IAPDAT IAPCTL (F6H) IAP 控制寄存器(读/写) 7 6 位编号 符号 读/写 x x 上电初始值 位编号 3~2 位符号 PAYTIMES[1:0] 1~0 CMD[1:0] Page 91 of 107 5 预 IAPDAT (F5H) IAP 数据寄存器(读/写) 7 6 位编号 符号 读/写 读/写 读/写 0 0 上电初始值 览 版 本 位符号 IAPADER[7:0] 读/写 0 2 说明 EEPROM / IAP 写入地址的高 7 位 保留 IAPADE (F4H) IAP 写入扩展地址寄存器(读/写) 7 6 5 位编号 符号 读/写 读/写 读/写 读/写 0 0 0 上电初始值 位编号 7~0 3 IAPADR[14:8] 读/写 0 4 3 IAPDAT[7:0] 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 EEPROM / IAP 写入的数据 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 6mS@16/8/4/1.33MHz MHz 01:设定 CPU HOLD TIME 3mS@16/8/4/1.33MHz MHz 10:设定 CPU HOLD TIME 1.5mS@16/8/4/1.33MHz MHz 11:保留 说明:CPU Hold 的是 PC 指针,其他功能模块继续工作;中断标志会被 保存,并在 Hold 结束后进入中断,但多次的中断只能保留最后一次。 选择建议:VDD 在 2.7V~5.5V,可选择 10 VDD 在 2.4V~5.5V,可选择 01 或者 00 EEPROM / IAP 写入操作命令 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 10 : 写入 其它 : 保留 注意:EEPROM / IAP 写操作的语句后面务必要加上至少 8 个 NOP 指 令,以保证 IAP 操作完成后可正常执行后续的指令! 21.2 EEPROM / IAP 操作流程 SC92F854X 的 EEPROM / IAP 的 写入流程如下: ① 写入 IAPADE[7:0],0x00:选择 Code 区,进行 IAP 操作;0x02:选择 EEPROM 区,进行 EEPROM 读 写操作; ② 写入 IAPDAT[7:0](准备好 EEPROM / IAP 写入的数据); ③ 写入 {IAPADR[14: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 继续后续操作。 版 本 注意: 1. 编程 IC 时,若通过 Code Option 选择了“Code 区域禁止 IAP 操作”,则 IAPADE[7:0]=0x00 时(选择 Code 区),IAP 不可操作,即数据无法写入,仅可通过 MOVC 指令读取数据。 2. 当 IAPADE=0x01 或 0x02 时,MOVC 和写入是针对 EEPROM 或 IFB 区域进行,此时如果有中断产生, 且中断内有 MOVC 操作,会造成 MOVC 的结果错误,导致程序运行异常。为避免这种情况的发生,请 用户在 IAPADE=0x01 或 0x02 操作前务必要关闭总中断(EA=0),操作完成后设置 IAPADE =0x00 再 打开总中断(EA=1)。 预 览 21.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; //高地址默认写 0x00 IAPADL = EE_Add; //写入 EEPROM 目标地址低位值 IAPKEY = 0xF0; //此值可根据实际调整;需保证本条指令执行后到对 IAPCTL 赋值前, //时间间隔需小于 240(0xf0)个系统时钟,否则 IAP 功能关闭; // 开启中断时要特别注意 IAPCTL = 0x0A; //执行 EEPROM 写入操作,1.5ms@16/8/4/1.33MHz; _nop_(); //等待(至少需要 8 个_nop_()) _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); IAPADE = 0x00; //返回 ROM 区域 EA = 1; //开总中断 Page 92 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU EEPROM 读操作 C 的 Demo 程序: EA = 0; //关总中断 IAPADE = 0x02; //选择 EEPROM 区域 EE_Data = *( POINT +EE_Add); //读取 IAP_Add 的值到 IAP_Data IAPADE = 0x00; //返回 ROM 区域, 防止 MOVC 操作到 EEPROM EA = 1; //开总中断 21.2.2 32 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 写入操作,1.5ms@16/8/4/1.33MHz; _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 注意:32 Kbytes Code 区域内的 IAP 操作有一定的风险,需要用户在软件中做相应的安全处理措施,如果操 作不当可能会造成用户程序被改写!除非用户必需此功能(比如用于远程程序更新等),不建议用户使用。 Page 93 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 22 CHECK SUM 模块 SC92F854X 内建了 1 个 check sum 模块,可用来实时生成程序代码的 16 位 check sum 值,用户可利用此 check sum 和理论值比较,监测程序区的内容是否正确。 注意:check sum 值是整个程序区的数据累加和,即 0000H~7FFDH 地址单元所有的数据。若地址单元中有 用户上次操作后的残留值,会导致 check sum 值与理论值不符。因此,建议用户对整片 code 区域进行擦除或写 0 操作后再烧录代码以保证 check sum 值与理论值一致。 22.1 CHECK SUM 校验操作相关寄存器 CHKSUML (FCH) Check Sum 结果寄存器低位(读写) 7 6 5 4 3 位编号 CHKSUML[7:0] 符号 读/写 读/写 读/写 读/写 读/写 读/写 0 0 0 0 0 上电初始值 位编号 7~0 位符号 CHKSUML [7:0] 版 本 Page 94 of 107 读/写 0 位符号 CHKSUMS 读/写 0 读/写 0 2 1 0 读/写 0 读/写 0 读/写 0 说明 Check Sum 结果寄存器高位 预 位编号 0 读/写 0 读/写 0 Check Sum 结果寄存器低位 OPERCON (EFH) 运算控制寄存器(读写) 7 6 位编号 OPERS MD 符号 读/写 上电初始值 0 览 位符号 CHKSUMH [7:0] 1 说明 CHKSUMH (FDH) Check Sum 结果寄存器高位(读写) 7 6 5 4 3 位编号 CHKSUMH[7:0] 符号 读/写 读/写 读/写 读/写 读/写 读/写 0 0 0 0 0 上电初始值 位编号 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.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 23 电气特性 23.1 极限参数 符号 VDD/VSS Voltage ON any Pin TA TSTG 参数 最小值 -0.3 -0.3 最大值 5.5 VDD+0.3 UNIT V V 工作环境温度 -40 85 ℃ 储存温度 -55 125 ℃ 直流供电电压 任一管脚输入/输出电压 23.2 推荐工作条件 符号 VDD1 VDD2 TA 参数 工作电压 工作电压 工作环境温度 最小值 2.9 2.4 -40 最大值 5.5 5.5 85 系统时钟频率 16MHz 8/4/1.33MHz UNIT V V ℃ 23.3 直流电气特性 符号 本 (VDD = 5V,TA = +25℃,除非另有说明) 参数 最小值 最大值 单位 测试条件 - 9.5 6.5 5.2 4.3 0.7 1.0 mA mA mA mA μA fSYS=16MHz fSYS=8MHz fSYS=4MHz fSYS=1.33MHz - 7 - mA - 6 10 μA 版 电流 典型值 IWDT WDT 电流 - 5 7 μA Touch key 工作电流 - 1 1.2 mA 输入高电压 输入低电压 输入高电压 输入低电压 输出低电流 输出低电流 输出高电流 P3H-P5 输出高电流 P3H-P5 输出高电流 P0-P3L 0.7VDD -0.3 0.8VDD -0.2 - 27 50 17 8 17 VDD+0.3 0.3VDD VDD 0.2VDD - V V V V mA mA mA mA mA 输出高电流 P0-P3L - 13 - mA IIDL1 ITK1 IO 口特性 VIH1 VIL1 VIH2 VIL2 IOL1 IOL2 IOH1 IOH2 IOH3 Page 95 of 107 预 览 IBTM 工作电流 工作电流 工作电流 工作电流 待机电流 (Power Down 模式) 待机电流 (IDLE 模式) Base Timer 工作电流 Iop1 Iop2 Iop3 Iop4 Ipd1 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 VPin=4.3V Pxyz=0,IOH 等级 0 VPin=4.3V V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne IOH4 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 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 输出高电流 P0-P3L - 10 - mA 输出高电流 P0-P3L - 5 - mA 输出高电流 P0-P3L - 8 - mA 输出高电流 P0-P3L - 6 - mA 输出高电流 P0-P3L - 4 - mA 输出高电流 P0-P3L - 2 - mA - 30 - k 2.37 2.40 2.45 V 最小值 典型值 最大值 单位 - 6.5 5 4 3.3 0.6 1 mA mA mA mA uA - 5 - mA - 0.9 1.1 mA 0.7VDD -0.3 0.8VDD -0.2 - 25 40 5 55 VDD+0.3 0.3VDD VDD 0.2VDD - V V V V mA mA mA k 2.37 2.40 2.45 V 最小值 - 典型值 5 1 最大值 1 10 1.5 单位 s ms ms 测试条件 外接 32k 晶振 18 15.84 16 16.16 μs MHz 低电平有效 VDD=3.0~5.5V TA=-20~85 ℃ RPH1 上拉电阻 做为 ADC 参考电压的内部基准 2.4V VDD24 内部基准 2.4V 电压输出 TA=-40~85℃ (VDD = 3.3V,TA = +25℃, 除非另有说明) 符号 参数 测试条件 版 IIDL2 工作电流 工作电流 工作电流 工作电流 待机电流 (Power Down 模式) 待机电流 (IDLE 模式) Touch key 工作电流 览 Iop5 Iop6 Iop7 Iop8 Ipd2 预 ITK2 IO 口特性 VIH3 输入高电压 VIL3 输入低电压 VIH4 输入高电压 VIL4 输入低电压 IOL3 输出低电流 IOL4 输出低电流 IOH5 输出高电流 RPH2 上拉电阻 做为 ADC 参考电压的内部基准 2.4V VDD24 内部基准 2.4V 电压输出 本 电流 fSYS=16MHz fSYS=8MHz fSYS=4MHz fSYS=1.33MHz 施密特触发输入: RST/tCK/SCK VPin=0.4V VPin=0.8V VPin=3.0V TA=-40~85℃ 23.4 交流电气特性 (VDD = 2.4V ~ 5.5V,TA = 25℃, 除非另有说明) 符号 TOSC TPOR TPDW TReset fHRC Page 96 of 107 参数 外接 32k 振荡器起振时间 Power On Reset 时间 Power Down 模式唤醒时 间 复位脉冲宽度 RC 振荡稳定性 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 23.5 ADC 电气特性 (TA = 25℃,除非另有说明) 参数 供电电压 精度 ADC 输入电压 ADC 输入电阻 ADC 转换电流 1 最小值 2.4 GND 1 - 典型值 5.0 12 - 最大值 5.5 VDD 2 单位 V bit V M mA IADC2 ADC 转换电流 2 - - 1.8 mA DNL INL EZ EF EAD TADC1 微分非线性误差 积分非线性误差 偏移量误差 满刻度误差 总绝对误差 ADC 转换时间 1 - ±2 ±2 1 35 35 7.5 - LSB LSB LSB LSB LSB μs TADC2 ADC 转换时间 2 - 15 - μs 最大值 VDD 30 100 2 单位 V mV mV μA μs 本 符号 VAD NR VAIN RAIN IADC1 Page 97 of 107 参数 输入电压范围 偏移电压 比较电压回差 比较器转换电流 响应时间 览 符号 VCM VOS VHYS ICMP TCMP 预 (VDD =5V,TA = 25℃,除非另有说明) GND≤VAIN≤VDD VIN=5V ADC 模块打开 VDD=5V ADC 模块打开 VDD=3.3V VDD=5V VREF=5V ADC Clock = 2.67MHz ADC 采样周期 = 6 ADC Clock = 1.33MHz ADC 采样周期 = 6 版 23.6 模拟比较器电气特性 测试条件 最小值 0 - 典型值 10 25 - 测试条件 VDD=5V V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 24 应用电路 VDD KEY1 100uF 0.1uF U1 Cadj GND GND VDD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P06/INT06/S26/TK30 P07/INT07/S27/CMOD TK29/S25/T2/INT05/P05 TK28/S24/T2EX/INT04/P04 TK27/S23/RX0/T1/P03 TK26/S22/TX0/T0/P02 VSS VDD TK21/S17/P25 TK20/S16/P24 TK19/S15/AIN7/INT23/P23 TK18/S14/AIN6/INT22/P22 TK17/S13/AIN5/INT21/P21 TK16/S12/AIN4/INT20/P20 P43/INT13/PWM43/CMP3/AIN15 P42/INT12/PWM42/CMP2/AIN14 P41/INT11/PWM41/CMP1/AIN13 P37/AIN11/C7/TK0 P36/AIN10/C6/TK1 P35/AIN9/C5/TK2 P34/AIN8/C4/TK3 P33/S0/C3/TK4 P32/S1/C2/TK5 P31/S2/C1/TK6 tDIO/TK11/S7/TX1/SDA/MOSI/P13 TK10/S6/SCK/P12 tCK/TK9/S5/RX1/MISO/P11 TK7/C0/S3/P30 28 27 26 25 24 23 22 21 20 19 18 17 16 KEY2 KEY3 KEY4 KEY5 15 KEY6 SC92F8543 KEY7 KEY8 KEY9 预 览 版 本 KEY10 Page 98 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 25 订购信息 封装 LQFP48 LQFP44 SOP28L TSSOP28L SOP16L 包装 盘装 盘装 管装 管装 管装 预 览 版 本 产品编号 SC92F8547P48R SC92F8546P44R SC92F8543M28U SC92F8543X28U SC92F8541M16U Page 99 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 26 封装信息 SC92F8547P48R LQFP48 外形尺寸 单位: 毫米 E D1 D2 0.4*45° e b Z 12° 0.637 1 12° A3 E2 本 b1 L L1 WITH PLATING BASE METAL A 最小 1.45 mm(毫米) 标准 1.55 最大 1.65 A1 0.01 -- 0.21 A2 1.3 1.4 1.5 A3 -- 0.254 -- b 0.15 0.20 0.25 b1 0.16 0.22 0.28 c -- 0.127 -- D1 6.85 6.95 7.05 D2 6.9 7.00 7.10 E 8.8 9.00 9.20 E1 6.85 6.95 7.05 E2 6.9 7.00 7.10 e -- 0.5 -- L 0.43 -- 0.71 L1 0.90 1.0 1.10 R 0.1 -- 0.25 符号 Page 100 of 107 预 览 c 版 b 0.127 A R S S 0.637 Y R1 A1 D A2 E1 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 0.1 -- --  0 -- 10 1 0 -- -- y -- -- 0.1 Z -- 0.75 -- 预 览 版 本 R1 Page 101 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SC92F8546P44R LQFP44 外形尺寸 单位: 毫米 0.7*45° E D1 D2 0.3*45° e b Z 12° 0.637 R S 1 12° A3 E2 b1 L b 0.127 A S 0.637 Y R1 A1 D A2 E1 览 版 c 本 L1 WITH PLATING 预 A 最小 1.45 mm(毫米) 标准 1.55 A1 0.015 -- 0.21 A2 1.3 1.4 1.5 A3 -- 0.254 -- 符号 Page 102 of 107 BASE METAL 最大 1.65 b 0.25 0.30 0.35 b1 0.26 0.32 0.38 c -- 0.127 -- D1 9.85 9.95 10.05 D2 9.9 10.00 10.10 E 11.8 12.00 12.20 E1 9.85 9.95 10.05 E2 9.9 10.00 10.10 e -- 0.8 -- L 0.42 -- 0.72 L1 0.95 1.0 1.15 R 0.1 -- 0.25 R1 0.1 -- --  0 -- 10 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 0 -- -- y -- -- 0.1 Z -- 1.0 -- 预 览 版 本 1 Page 103 of 107 V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SC92F8543M28U SOP28L(300mil)外形尺寸 单位:毫米 28 15 e1 E HE ~ ~ L 1 b 14 Detail F e1 最小 2.465 A1 0.100 A2 2.100 b 0.356 C 17.750 E 7.374 HE 10.100 预 D 最大 2.565 0.150 0.200 2.300 2.500 0.406 0.456 0.254(BSC) 17.950 18.150 7.450 7.574 10.300 10.500 1.270(BSC) e L 0.764 0.864 0.964 LE 1.303 1.403 1.503  0 - 10 S Page 104 of 107 mm(毫米) 标准 2.515 本 A See Detail F 版 符号 y 览 Plane D Seating LE A1 e s A A2 c D 0.745(BSC) V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SC92F8543X28U TSSOP28L 外形尺寸 单位:毫米 15 E 28 H L 1 14 e1 e b A A1 A2 c D 符号 mm(毫米) 正常 - 最大 1.200 - 0.150 - 1.000 - 0.300 A1 0.050 A2 0.800 b 0.190 c 0.090 - 0.200 D 9.600 - 9.800 E 6.250 - 6.550 e1 4.300 - 4.500 预 览 版 A 最小 - 0.65(BSC) e L 0.500 - 0.700  1 - 7 H Page 105 of 107 本 See Detail F 0.25(TYP) V0.5 http://www.socmcu.com SC92F8547/8546/8543/8541 SinOne 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU SC92F8541M16U SOP16L(150mil) 外形尺寸 单位:毫米 e1 ~ ~ HE 9 E 16 £c 1 b L 8 Detail F e1 Seating Plane y See Detail F 最小 1.500 A1 0.100 0.150 0.200 A2 1.400 1.450 1.500 b 0.356 0.406 0.470 S 9.700 版 预 D 览 C 本 A mm(毫米) 正常 1.600 符号 最大 1.700 0.203(BSC) 9.900 10.160 0.505(BSC) E 3.800 3.900 4.000 HE 5.900 6.000 6.100 1.27(BSC) e Page 106 of 107 LE A1 e D S A A2 c D L 0.500 0.660 0.700 LE 0.950 1.050 1.150  0 - 8 V0.5 http://www.socmcu.com SinOne 27 规格更改记录 V0.3 V0.2 日期 2018 年 12 月 2018 年 2 月 2017 年 12 月 2017 年 12 月 2017 年 8 月 预 览 V0.1 记录 1. C 语言例程中 83H 改为 0x83 2. 更新 TBIE 的 BIT 位描述 3. 更新 SPR 的 BIT 位描述 4. 更新 BTMFS 的 BIT 位描述 5. 更新 IWDT 的典型值与最大值 6. 更新 TWI 章节的图文描述 7. 更新 ADC 电气特性参数 8. 更新 OP_HRCR 的描述 9. 更新首页相关描述 10. PWM 章节增加注意事项 1. 修正管脚描述 2. 电压变化范围改为 3.0~5.5V 3. 增加用户 ID 区域说明 4. 烧录器增加 SC LINK 5. 完善 TWI 时序图 6. 电气特性:删除 IC 工作电流最大值 7. 增加外部中断标志位 IE0/IE1 相关描述 寄存器 SPDAT 更正为 SSDAT 更新 ADC 电气参数 增加命名规则、封装尺寸信息 修正 ADC 转换时间 修正个别书写错误 初版 本 V0.4 超高速 1T 8051 内核 31 路高灵敏度触控 Flash MCU 版 版本 V0.5 SC92F8547/8546/8543/8541 Page 107 of 107 V0.5 http://www.socmcu.com
SC92F8547P48R 价格&库存

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

免费人工找货