DATASHEET SEARCH SITE

Document overview

  • Manufacturer or author: Provided By www.digicamel.com(FREE DATASHEET DOWNLOAD SITE)
  • PDF pages: 85

Technical content

凌通科技股份有限公司保留对此文件修改之权利且不另行通知。凌通科技股份有限公司所提供之資訊相信为正确且可靠之資訊。 但并不保证本文件中 绝无错误。请于向凌通科技股份有限公司提出订单前自行确定所使用之技术文件及规格为最新之版本。文件中若有包含他人之专利或著作权之应用,若 因贵公司使用本公司产品而涉及第三人之专利或著作权等智慧财产权之应用及配合时,则应由贵公司负责取得同意及授权,本公司仅单纯贩售产品,上 述取得同意及授权非属本公司应为保证之责任,又未经凌通科技股份有限公司之正式书面许可,本公司之所有产品不得使用于医疗器材,生命维持系统 及飞航等相关设备。 DATA SHEET GPM8F3708B 88KKBB FFllaasshh 88005511 微微控控制制器器 2014 年12 月 30 日 版本 1.0

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 目录 PAGE

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 8KB FLASH 8051 微控制器 1. 概述 GPM8F3708B 是一款高度集成的微控制器, 内置一个1T 的流水线 型8051 CPU、512 字节 XRAM、256 字节 IDM SRAM 和 8k 字 节可编程 Flash。 它包括了 21 个可编程多功能 I/O、Timer0/1/2、 UART0、SPI (主模式)、I2c、ADC 以及通用型电容触碰传感器。 这 款微控制器具有很宽的工作电压范围和很宽的工作温度范围,工作 电压范围是 1.8V~5.5V,工作温度范围是-40℃~85℃。 在电源管 理单元中, 该微控制器具有 2 种省电模式。 此外,该微控制器还拥 有2 线的片上调试电路,可以实现全速在线调试功能。详细内容会 在以下的章节中介绍。 2. 特性  CPU  高速高性能的 1T 8051 CPU  和工业标准的 8051 实现 100%的软件兼容  借助于流水线型 RISC 架构,指令执行速度是标 准8051 的10 倍。  最高时钟频率 16MHz  存储器  512 字节的 XRAM  256 字节的内部(IDM)SRAM  最大8K 字节的高耐用性 Flash  最少10 万次的编程/擦除周期  最少10 年的数据保存时间  1K 字节的页大小  可编程的 Flash 锁定等级,用于软件的安全性  时钟管理  内部震荡器:16MHz±1.5% @ 1.8V~5.5V  外部晶振输入:1MHz~16MHz  电源管理  一个用于省电模式的 STOP 模式  一个仅限于外设操作的 IDLE 模式  中断管理  最大10 个内部中断源  最大4 个外部中断源  最大8 个键盘中断源  复位管理  上电复位(POR)  低电压复位(LVR)  引脚复位(PAD_RST)  看门狗复位(WDT_RST)  软件复位(S/W_RST)  STOP 模式复位(STOP_RST)  Flash 相关错误复位(FLASH_ERR_RST)  可编程看门狗定时器  时基发生器  事件定时器  系统监控  I/O 端口  最大21 个多功能双向 I/O  通过配置相应的寄存器, 每一个IO 可以分别设置 成输入上拉、输入下拉、输出高、输出低或者高 阻输入状态。  IO 最大灌电流 12mA  IO 最大源电流 12mA  2 个16-bit 定时器/计数器(Timer 0/1)  定时器时钟源可选  自动载入 8bit 定时器  功能强大的 Timer 2,具有 16bit 的比较/捕捉单元  定时器时钟源可选  自动载入 16bit 定时器  事件捕捉功能  数字信号产生器  脉宽调制和测量  UART0  一个同步模式  三个异步模式  SPI(主机模式)  可编程的主时钟相位和极性  可编程的主时钟频率  最大SPI 时钟频率:4MHz (FOSC /4) @16MHz  I2C(主机模式/从机模式)  电容触碰传感器(CTS)  一个12-bit 的定时器, 用来计数设定的CTS 扫描周期。  一个16-bit 的 TimerB,用来计数完成设定的CTS 扫描 周期所需的时间。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0  具有11 个通道的电容触碰传感器  模数转换器  具有8 个通道,12-bit 的解析度  最快转换时钟:2MHz (FOSC /8) @16MHz  内建低压复位  触发等级:1.9V、 2.2V、 2.7V、 4.2V  内建低压检测  可编程的等级:2.3V、2.5V、3.3V、3.5V  内建调试单元  兼容 C 语言开发工具 3. 框图 Timer2 (P11)XTI (P10)XTO Interrupt Management XTAL circuit 256-byte IDM 128K bytes Flash P2[3:2],P2[0] Watchdog Timer Regulator & POR & LVR RESET Management 1K Bytes XRAM Timer01 Power saving controller DATA BUS VDD VSS 8-bit CPU & ICE PORT 3[4:3],PORT 3[1:0]P3[4:3],P3[1:0] ADDR BUS PORT 2[3:2],PORT 2[0] CMT UART SPI (Master Mode) I2C PORT 0[5:0] PORT 1[7:0]P1[7:0] P0[5:0] ICESCK/RESET ICESDA IR_TX(P21) Internal OSC RX Analog Circuit IR_RX(P20) 图 3-1 GPM8F3708B 框图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 4. 管脚描述 4.1. IC 选型 Device Name FLASH XRAM IRAM ADC Touch I/OPORT Package HS101 8K Bytes 512 Bytes 256 Bytes

8 Channel 11 Channel 21 SOP24

HS031 2 Channel 9 Channel 13 SOP16 4.2. SOP24 封装 4.2.1. SOP24 引脚说明 I = 输入,O = 输出,S = 电源管脚 引脚 引脚 类型 描述 P10 1 I/O Port 1 bit 0/AD0 P11 2 I/O Port 1 bit 1/AD1/ICE data RESET 3 复位脚 RESET/ ICE clock P12 4 I/O Port 1 bit 2/ XTO/AD2 VSS 5 S Ground P13 6 I/O Port 1 bit 3/ XTI/AD3 VDD 7 S Power input P14 8 I/O Port 1 bit 4/ MOSI/AD4 P15 9 I/O Port 1 bit 5/ SPSCK/AD5 P16 10 I/O Port 1 bit 6/ MISO/AD6 P17 11 I/O Port 1 bit 7/ SPCSB/AD7 P30 12 I/O Port 3 bit 0/ UART_RX/ INT3/TOUCH8 P31 13 I/O Port 3 bit 1/ UART_TX/ INT4/TOUCH9 P00 15 I/O Port 0 bit 0/ TOUCH0 P01 16 I/O Port 0 bit 1/ TOUCH1 P02 17 I/O Port 0 bit 2/ TOUCH2 P03 18 I/O Port 0 bit 3/ TOUCH3 P04 19 I/O Port 0 bit 4/ TOUCH4 P05 20 I/O Port 0 bit 5/ TOUCH5 P33 23 I/O Port 3 bit 3/ INT1/TOUCH11 P34 24 I/O Port 3 bit 4/ INT2/ CCP0/TOUCH12 P20 25 I/O Port 2 bit 0/CCP1/TOUCH13 P22 27 I/O Port 2 bit 2/ CCP3/ I2CSCK P23 28 I/O Port 2 bit 3/ I2CSDA

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 4.2.2. SOP24 管脚图 P22/I2CSCK/CCP3 P20/CCP1/T13 P34/INT2/CCP0/T12 AD4/MOSI/P14 P23/I2CSDAAD0/P10 AD1/ICESDA/P11 ICESCK/RST AD2/XTO/P12 AD5/SPSCK/P15 VSS AD3/XTI/P13 AD6/MISO/P16 SOP24 GPM8F3708B P33/INT1/T11 P01/T1 AD7/SPCSB/P17 T8/INT3/RXD/P30 VDD P05/T5 P04/T4 P03/T3 P02/T2 P00/T0 INT4/TXD/P31/T9 图4-1 GPM8F3708(SOP24)脚位图 4.3. SOP16 封装 4.3.1. SOP16 引脚说明 I = 输入,O = 输出,S = 电源管脚 引脚 引脚 类型 描述 VSS 1 S Ground VDD 2 S Power input P05 3 I/O Port 0 bit 5/ TOUCH5 P04 4 I/O Port 0 bit 4/ TOUCH4 P30 5 I/O Port 3 bit 0/ UART_RX/ INT3/TOUCH8 P31 6 I/O Port 3 bit 1/ UART_TX/ INT4/TOUCH9 P00 7 I/O Port 0 bit 0/ TOUCH0 P01 8 I/O Port 0 bit 1/ TOUCH1 P02 9 I/O Port 0 bit 2/ TOUCH2 P03 10 I/O Port 0 bit 3/ TOUCH3 P20 11 I/O Port 2 bit 0/CCP1/TOUCH13 P22 12 I/O Port 2 bit 2/ CCP3/ I2CSCK P23 13 I/O Port 2 bit 3/ I2CSDA P10 14 I/O Port 1 bit 0/AD0 P11 15 I/O Port 1 bit 1/AD1/ICE data RESET 16 复位脚 RESET/ ICE clock

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 4.3.2. SOP16 管脚图 T5/P05 T4/P04 P03/T3 VSS SOP16 GPM8F3708B5 VDD P22/I2CSCK/CCP3T8/INT3/RxD/P30 P02/T2T1/P01 T0/P00 T9/INT4/TxD/P31 P23/I2CSDA P20/CCP1/T13 AD0/P10

1 ICESCK/RESET

图4-2 GPM8F3708(SOP16)脚位图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5. 功能描述 5.1. CPU 该款 CPU 具有高速度和高性能。流水线型的结构使它的工作 速度比标准 8051 结构快 10 倍。 这一特性在低功率应用领域具有巨 大的优势,内核可在低于正常工作频率 10 倍的情况下依然保持原 有性能。 该款CPU 完全兼容于工业标准的 8051 微控制器, 具有与所有指令 助记符和二进制相兼容的特性。强大的结构特性使其可以高性能、 高速的执行指令。 5.1.1. CPU 特性  与工业8051 实现 100%软件兼容  比标准8051 快24 倍的乘法器  比标准8051 快12 被的加法器 该款 CPU 完全兼容于工业标准的 8051 微控制器, 具有与所有 指令助记符和二进制相兼容的特性。强大的结构特性使其可以高性 能、高速的执行指令。处理器的算术部分负责进行数据操作,是由 一个8-bit 算术逻辑单元(ALU),一个ACC(0xE0) 寄存器,B(0xF0) 寄存器和 PSW(0xD0) 寄存器构成。 5.1.2. 算数逻辑单元(ALU) 在一条指令运行期间,ALU 负责完成算术和逻辑运算。 典型 的算术运算有加法、减法、乘法和除法,其它运算有加 1、减 1、 BCD 编码运算的十进制调整以及比较运算。 逻辑单元可实现与、 或、 异或、 取反和移位等操作。布尔处理器可以实现位运算,如置位、 清零、取反、非置位跳转、置位且清零跳转、移位/进位。 5.1.3. 累加器 A 寄存器 该累加器是一个 8-bit 通用寄存器,可实现数据传送、暂存以 及条件判定等操作。 5.1.4. B 寄存器 B 寄存器在乘法和除法运算中使用。在其他情况下,可作为通 常的特殊功能寄存器(SFR)。 5.1.5. 程序状态字(PSW) 与通用 CPU 的状态寄存器作用类似,PSW 包含了反映 CPU 当前状态的几个位。 5.1.6. 程序计数器(PC) 程序计数器是一个 16-bit 寄存器,由 PCH 和 PCL 两个 8-bit 寄存器构成。用来表示下一条要执行指令的地址。在复位状态下, 程序计数器存放的内容为 0x0000。 ACC 地址: 0xE0 累加器 A 寄存器 Bit 7 6 5 4 3 2 1 0 功能 ACC[7:0] 默认 0 0 0 0 0 0 0 0 ACC 地址: 0xE0 累加器 A 寄存器 Bit 7 6 5 4 3 2 1 0 功能 ACC[7:0] 默认 0 0 0 0 0 0 0 0 表 5-1 ACC 寄存器 B 地址: 0xF0 B 寄存器 Bit 7 6 5 4 3 2 1 0 功能 B[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 B[7:0] R/W 累加器 B 表 5-2 B 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 PSW 地址: 0xD0 程序状态寄存器 Bit 7 6 5 4 3 2 1 0 功能 CY AC -- RS1 RS0 OV -- P 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 CY R/W 进位标志

6 AC R/W 辅助进位标志

5 -- R 预留 4:3 RS[1:0] R/W 工作寄存器组(R0~R7)选择位 RS[1:0] 功能说明 00 0 组,物理地址 0x00-0x07 01 1 组,物理地址 0x08-0x0F 10 2 组,物理地址 0x10-0x17 11 3 组,物理地址 0x18-0x1F

2 OV R/W 溢出标志

1 -- R 预留

0 P R/W 奇偶标志

表 5-3 PSW 寄存器 5.2. 存储器 5.2.1. 介绍 GPM8F3708B 有 3 个独立的地址空间用于程序存储器和数据 存储器。程序存储器是一个片上可重复编程的8K 字节 Flash。数据 存储器分为512 字节的XRAM 和256 字节的IDM,IDM 包含了128 字节 的 SFR。IDM 的上半部分具有和 SFR 相同的地址空间,通 过不同的寻址方式来访问。 RAM 512Bytes XRAM: 512Bytes 0x00 0x20 0x30 0x80 Upper Internal RAM shared with Stack space (indirect addressing) SFR Special Function Registers (direct addressing) Lower Internal RAM shared with Stack space (direct & indirect addressing) Bit addressable area 4 banks, R0-R7 each IDM: (256B) and SFR 0xFF Normal Page FLASH: 8KB First Page 0x0000 0x03FF 0x0400 图 5-1 程序存储区和数据存储区 5.2.2. 程序存储器分配 GPM8F3708B 具有 8K 字节的程序存储器。程序存储器分为 FirstPage 和 NormalPage 两个部分, FirstPage 的地址空间是 0x0000~0x03FF,用来存储 Reset 向量、IRQ 向量、用户密码和 CONFIG。CONFIG 在程序存储器中的地址是 0x008F,也可以通 过读取SFR 的CONFIG 寄存器(0xB7)来获得 CONFIG 的内容, 表 5-4 描述了 CONFIG 的定义。0x88~0x8B 四个字节被用来存储 用户密码, 也就是PASSWD0~PASSWD3。 如果CONFIG_BYTE[0] 被设置为 ‘0’ ,则整个芯片的存储器就被保护起来,任何通过 两线串行接口进行页擦除或编程的动作都是不允许的,用户唯一能 做的就是擦除整个芯片。在代码锁定状态下,用户可以通过设置 CONFIG[3]来允许或者禁止对整个程序存储器的读取操作,如果 CONFIG[3]设置成‘0’ ,即使程序存储器处于锁定状态,用户也可 以通过输入匹配 PASSWD0~PASSWD3 的密码来读取整个程序存 储器。 每次复位后,CPU 都要从程序存储器的 0x0000 位置开始执行

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 指令。 Flash 存储器可以进行在系统编程,通过 SCK/SDA 接口 或者通过软件在 PWE=1 时使用 MOVX 指令实现。Flash 的数据不 能实现从‘0’ 变为 ‘1’的编程,只能通过擦除动作来实现。因 此,通常情况下在对 Flash 编程之前,Flash 中的数据应该先被擦 除 (设置为 0xFF) 。由于采用了 PSIDLE (Pseudo -idle) 模式,所 以不需要通过数据轮询的方式来确定写入或者擦除 Flash 是否结 束,而是由硬件自动计时完成。 出于软件的安全性考虑,用户可通过配置 FL_LEVEL 寄存器 来设置 Flash 的级别来限制代码区域,避免不小心的软件改写和擦 除。被保护的区域称为 READONLY_PAGE。 5.2.3. 数据存储器 GPM8F3708B 的数据存储器被分为两个部分,第一部分是2K 字节的外部 RAM,第二部分是256 字节的 IDM,如表5-1。内部数 据存储器(IDM)的最低地址区域包含 4 个寄存器组,每个寄存器组 包含8 个寄存器。128 bits (16 bytes) 的位寻址区起始于0x20。0x30 到 0x7F 这个区域没有特殊定义,用户可以自由使用,在对IDM 的 0x80 到 0xFF 地址区间进行操作时,使用间接寻址模式时,寻址到 的是与堆栈空间共享的数据存储器,使用直接寻址模式时,寻址到 的是SFR 区域。SFR 的存储映射如表 5-8 SFR 存储器映射所示。 CONFIG 地址: 0xB7 CONFIG 寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- PWENB -- IOSEL UNLOCK 默认 1 1 1 1 1 1 1 1 Bit 功能 类型 描述 条件 7:4 -- R 预留

3 PWENB R/W

用户密码功能使能位 0: 用户密码功能使能,1: 用户密码功能禁用 2 -- R 预留

1 IOSEL R/W

IO 初始状态选择位 0: 输入上拉,1: 浮空 UNLOCK R/W 程序空间保护使能位 0:代码锁定,1:代码不锁定 注意:默认CONFIG 数值是0xFF 表 5-4 CONFIG 描述 FLASHCON 地址: 0xEC Flash 控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- -- -- P_ERASE PROG 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:2 -- R/W 预留

1 P_ERASE R/W

Flash 页擦除使能位 0:Flash 页擦除禁用,1:Flash 页擦除使能 PROG R/W Flash 编程使能位 0:Flash 编程禁用,1:Flash 编程使能 表 5-5 FLASHCON 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 FL_LEVEL 地址: 0xED Flash Level 寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- FL_LEVEL[3:0] 默认 1 1 1 1 1 1 1 1 Bit 功能 类型 描述 条件 7:4 -- R/W 预留 3:0 FL_LEVEL[3:0] R/W FL_LEVEL 表示有多少个 1K 的 Flash 页被设置成只读,详细如下表。 注意 1. 对于 GPM8F3708B,仅仅 FL_LEVEL[3:0] 有效 表 5-6 FL_LEVEL 寄存器 FL_LEVEL 注意 0 所有页都可读可写 1 地址< 0x800 的页只读 2 地址< 0xC00 的页只读 3 地址< 0x1000 的页只读 4 地址< 0x1400 的页只读 5 地址< 0x1800 的页只读 6 地址< 0x1C00 的页只读 7 地址< 0x2000 的页只读 表 5-7 FL_LEVEL 寄存器描述 注意1:黑色:标准 8051 寄存器,灰色::新增寄存器 0xF8 EIP IOSCCON IOSCT0 IOSCT1 SPICON SPITXD SPIRXD 0xF0 B ADCON0 ADCON1 ADCFG ADOL ADOH ADLB ADUB 0xE8 EIE EXIPOL EXIMOD KEYCODE FLASHCON FL_LEVEL ADAEN 0xE0 ACC 0xD8 WDCON CTSCON2 I2CCON I2CSTS I2CADR I2CDAT I2CDEB CTSCON3 0xD0 PSW CTSCON0 CTSCON1 0xC8 T2CON T2IF CRCL CRCH TL2 TH2 CCEN 0xC0 CCL CCH CCL1 CCH1 CCL2 CCH2 CCL3 CCH3 0xB8 IP CMPO_INV CTSDL CTSDH CTSRDL CTSRDH 0xB0 P3 TMACON TMAIF CTSCCL DUTY WKUEN CONFIG 0xA8 IE KBIEN P0_PU P0_PD P1_PU P1_PD SYSCON0 SYSCON1 0xA0 P2 P3_PU P3_PD SRCON FLASHERR F 0x98 SCON0 SBUF0 CTSCCH P2_PU P2_PD 0x90 P1 EIF DPX0 RSTSTS DPX1 BIP BIF 0x88 TCON TMOD TL0 TL1 TH0 TH1 CKCON RSTCON 0x80 P0 SP DPL0 DPH0 DPL1 DPH1 DPS PCON 表 5-8 SFR 存储器映射

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.2.4. 存储器相关的 SFR 接下来的子章节中描述了 8051 内核中与程序、外部和内部存 储器相关的 SFR 及其功能。关于标准 SFR 的其它信息请参考相关 的外设章节 5.2.4.1. 程序写使能位 程序写使能 (PWE) 位, 位于PCON 寄存器的 bit4,在MOVX 指令时起作用。当PWE 位设为逻辑 1 时, “MOVX @DPTR,A” 这 条指令会将累加器A 寄存器中的数据写入由DPTR 寄存器寻址的程 序存储器中。 无论 PWE 位如何,程序存储器只能通过 MOVC 来 读取。 5.2.4.2. 数据指针寄存器 双数据指针寄存器用来加速数据块的复制。DPTR0 和DPTR1 位于 4 个 SFR 地址中。设置 SEL 位(DPS[0]) 来使相应的 DPTR 寄存器有效。如果 SEL=0 选择 DPTR0,否则选择 DPTR1。 5.2.4.3. 堆栈指针 8051 有一个 8-bit 堆栈指针称为 SP (0x81) ,位于内部 RAM 区域。执行 PUSH 和 CALL 指令时在数据存入之前堆栈指针加 1; 执行 POP, RET 和 RETI 指令时在数据弹出后堆栈指针减 1。换 句话说,它总是指向最后一个有效的堆栈字节。 SP 的访问方式与 其它SFR 寄存器是一样的。图 5-2 “PUSH A”指令的堆栈顺序 是执行PUSH A 的例子,图 5-3 “POP PSW”指令的堆栈顺序 是执行POP PSW 的例子。 07H SP 23H ACC 21H 38H 07H 08H Before execution 08H SP 23H ACC 21H 23H 07H 08H After execution 图 5-2 “PUSH A”指令的堆栈顺序 08H SP 23H PSW 21H 65H 07H 08H Before execution 07H SP 65H PSW 21H 65H 07H 08H After execution 图 5-3 “POP PSW”指令的堆栈顺序 PCON 地址: 0x87 电源配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 SMOD0 SMOD1 CPU_IDLE PWE STOP_RST_EN -- STOP -- 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 SMOD0 R/W 当时钟源是 Timer1 时,UART0 的波特率位

6 SMOD1 R/W 当时钟源是 Timer1 时,UART0 的波特率位

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件

5 CPU_IDLE R/W IDLE 模式使能位

0:IDLE 模式禁止,1:IDLE 模式使能

4 PWE R/W Flash 编程使能位

0:在 MOVX 指令期间,禁止 Flash 写有效 1:在 MOVX 指令期间,使能 Flash 写有效

3 STOP_RST_EN R/W 唤醒状态选择位

0:唤醒后执行下一条指令 ;1:唤醒后程序复位 2 -- R/W 预留

1 STOP R/W 停止模式使能位

0:禁止;1:使能 0 -- R/W 预留 表 5-9 PCON 寄存器 DPH0 地址: 0x83 数据指针寄存器 0 高字节 Bit 7 6 5 4 3 2 1 0 功能 DPTR0[15:8] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 DPTR0[15:8] R/W 数据指针寄存器 0 高字节 表 5-10 DPH0 寄存器 DPL0 地址: 0x82 数据指针寄存器 0 低字节 Bit 7 6 5 4 3 2 1 0 功能 DPTR0[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 DPTR0[7:0] R/W 数据指针寄存器 0 低字节 表 5-11 DPL0 寄存器 DPH1 地址: 0x85 数据指针寄存器 1 高字节 Bit 7 6 5 4 3 2 1 0 功能 DPTR1[15:8] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 DPTR1[15:8] R/W 数据指针寄存器 1 高字节 表 5-12 DPH1 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 DPL1 地址: 0x84 数据指针寄存器 1 低字节 Bit 7 6 5 4 3 2 1 0 功能 DPTR0[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 DPTR1[7:0] R/W 数据指针寄存器 1 低字节 表 5-13 DPL1 寄存器 DPS 地址: 0x86 数据指针选择寄存器 Bit 7 6 5 4 3 2 1 0 功能 ID1 ID0 TSL - - - - SEL 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 ID[1:0] R/W 加1/减 1 功能选择 如表 5-15 PTR0/DPTR1 操作.

5 TSL R/W 翻转切换选择使能位

0:DPTR 相关指令不影响 SEL 位的状态 1:DPTR 相关指令切换 SEL 位 4:1 -- R/W 预留

0 SEL R/W 数据指针选择有效位

如表 5-15 PTR0/DPTR1 操作. 表 5-14 DPS 寄存器 ID1 ID0 SEL=0 SEL=1 0 0 INC DPTR0 INC DPTR1 0 1 DEC DPTR0 INC DPTR1 1 0 INC DPTR0 DEC DPTR1 1 1 DEC DPTR0 DEC DPTR1 表 5-15 PTR0/DPTR1 操作 SP 地址: 0x81 堆栈指针寄存器 Bit 7 6 5 4 3 2 1 0 功能 SP[7:0] 默认 0 0 0 0 0 1 1 1 Bit 功能 类型 描述 条件 7:0 SP[7:0] R/W 堆栈指针 表 5-16 SP 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.3. 特殊功能寄存器(SFR) GPM8F3708B 有 100 个特殊功能寄存器。MCU 和外设功能 模块通过使用这些 SFR 来控制想要实现的操作。一些 SFR 包含了 外设模块的控制和状态位,如:定时器单元、中断控制单元等。一 些 SFR 中的有些位是只读的,写入这些位无效,而另一些 SFR 则 有 KeyCode 设计,出于软件安全的考虑,在将数据写入这些 SFR 之前, 必须先按顺序正确地将KeyCode 写入 KEYCODE 寄存器中。 下表对 SFR 进行了总结,每个 SFR 的详细信息会在每个外设章节 中进行介绍。 Addr Function Key Code Reset Value 7 6 5 4 3 2 1 0 0x80 P0 0xFF Port 0 0x81 SP 0x07 Stack Pointer 0x82 DPL0 0x00 Data pointer register DPTR0 — low byte 0x83 DPH0 0x00 Data pointer register DPTR0 — high byte 0x84 DPL1 0x00 Data pointer register DPTR1 — low byte 0x85 DPH1 0x00 Data pointer register DPTR1 — high byte 0x86 DPS 0x00 ID[1:0] TSL -- -- -- -- SEL 0x87 PCON 0x00 SMOD0 SMOD1 CPU_ IDLE PWE STOP_RS T_EN -- STOP -- 0x88 TCON 0x00 TF1 TR1 TF0 TR0 IE1 -- IE0 -- 0x89 TMOD 0x00 -- -- M11 M10 -- -- M01 M00 0x8A TL0 0x00 Timer 0 Load value – low byte 0x8B TL1 0x00 Timer 1 Load value – low byte 0x8C TH0 0x00 Timer 0 Load value – high byte 0x8D TH1 0x00 Timer 1 Load value – high byte 0x8E CKCON 0x01 WD1 WD0 WDFM T1M T0M -- -- -- 0x8F RSTCON 4F,72,7A 0x10 -- -- FLASH_FL OW_ ENB XADDR_E NB FP_EP_EN B CHIP_E_ ENB MISS_CLK _ ENB FLASH_ER R_ ENB 0x90 P1 0xff P17 P16 P15 P14 P13 P12 -- -- 0x91 EIF 0x00 KBIF -- -- CTSF LVDF INT4F INT3F INT2F 0x94 RSTSTS 0x00 -- MISS_CLK_ RST STOP_ RST FLASH_ ERR_RST S/W_RST WDT_RST LVR_RST RAD_RST 0x96 BIP 0x00 -- -- -- -- PADC -- PTMA PI2C 0x98 SCON0 0x00 SM0[0:1] SM02 REN0 TB08 RB08 TI0 RI0 0x99 SBUF0 0x00 UART 0 buffer 0x9C CTSCCH 0x00 -- -- -- -- CTSCCH[11:8] 0x9E P2_PU 0x00 -- -- -- -- P23_PU P22_PU -- P20_PU 0x9F P2_PD 0x00 -- -- -- -- P23_PD P22_PD -- P20_PD 0xA2 P3_PU 0x00 -- -- -- P34_PU P33_PU P31_PU P30_PU 0xA3 P3_PD 0x00 -- -- -- P34_PD P33_PD P31_PD P30_PD 0xA5 SRCON 0x00 -- -- -- -- P3_SR P2_SR P1_SR P0_SR 0xA6 FLASHERRF 0x00 -- -- FLASH_FL OW_F XADDR_F FP_EP_F CHIP_E_F -- -- 0xA8 IE 0x00 EA ECCP ET2 ES0 ET1 EX1 ET0 -- 0xA9 KBIEN 0x00 -- -- KBIEN[5:0]

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Addr Function Key Code Reset Value 7 6 5 4 3 2 1 0 0xAA P0_PU 0x00 -- -- P05_PU P04_PU P03_PU P02_PU P01_PU P00_PU 0xAB P0_PD 0x00 -- -- P05_PD P04_PD P03_PD P02_PD P01_PD P00_PD 0xAC P1_PU 0x00 P17_PU P16_PU P15_PU P14_PU P13_PU P12_PU P11_PU P10_PU 0xAD P1_PD 0x00 P17_PD P16_PD P15_PD P14_PD P13_PD P12_PD P11_PD P10_PD 0xAE SYSCON0 FF,00 0x00 LVD_STA TUS LVDSEL[1:0] LVDSEL0 LVRENB CLKOUT_ EN LVRSEL[1:0] 0xAF SYSCON1 0x00 CTSDC -- -- SPIEN I2CEN -- -- CTSEN 0xB0 P3 0xFF -- -- -- P34 P33 P31 P30 0xB2 TMBCON 0x00 -- -- TMB_DIV[1:0] -- -- -- -- 0xB3 TMBIF 0x00 -- -- -- -- TMBOIF -- -- TMBIE 0xB4 CTSCCL 0x00 CTSCCL [7:0] 0XB6 WKUEN AF,50 0x9F KB_WKU EN WD_WKUE N INT4_WKU EN INT3_WKU EN INT2_WKU EN INT1_WKU EN 0xB7 CONFIG 0xFF -- -- -- -- PWENB -- IOSEL UNLOCK 0xB8 IP 0x00 -- -- PT2 PS0 PT1 PX1 PT0 0xB9 CMPO_INV 0x00 -- -- -- -- CC3_IN VEN CC1_INV EN CC0_INV EN 0xBA TMBIF 0x00 -- -- -- -- TMBOIF -- -- TMBIE 0xBB CTSDL 0x00 CTSDL [7:0] 0xBC CTSDH 0x00 CTSDH[15:8] 0xBD CTSRDL 0x00 CTSRDL[7:0] 0xBE CTSRDH 0x00 CTSRDH[15:8] 0xC0 CCL 0x00 Timer2cc compare/capture 0 low byte 0xC1 CCH 0x00 Timer2cc compare/capture 0 high byte 0xC2 CCL1 0x00 Timer2cc compare/capture 1 low byte 0xC3 CCH1 0x00 Timer2cc compare/capture 1 high byte 0xC6 CCL3 0x00 Timer2cc compare/capture 3 low byte 0xC7 CCH3 0x00 Timer2cc compare/capture 3 high byte 0xC8 T2CON 0x00 T2PS I3FR -- T2R -- T2CM -- T2I 0xC9 T2IF 0x00 CC3F CC1F CC0F -- -- -- TF2 0xCA CRCL 0x00 CRC register – Low byte 0xCB CRCH 0x00 CRC register – High Byte 0xCC TL2 0x00 Timer 2 Load value – low byte 0xCD TH2 0x00 Timer 2 Load value – high byte 0xCE CCEN 0x01 CM3[1:0] -- CM1[1:0] CM0[1:0] 0xD0 PSW 0x00 CY AC -- RS1 RS0 OV -- P 0xD3 CTSCON0 0x00 CHSEL[3:0] VTOPSEL[1:0] TRIEN CTSST 0xD4 CTSCON1 0x00 LPFSEL VRSEL[1:0] DLSEL[1:0] ISEL[2:0] 0xD8 WDCON AA,55 0x00 -- -- -- -- WDIF -- EWT RWT 0xD9 CTSCON2 0x00 MUCHSEL[5:0] MUTPOL MUTEN 0xDA I2CCON 0x00 ACKEN CLKSEL I2CIE I2CIF TXCLK[3:0] 0xDB I2CSTS 0x00 I2CMOD [1:0] I2CBUS OUTEN ARPSF SSF GCF ACKF

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Addr Function Key Code Reset Value 7 6 5 4 3 2 1 0 Y 0xDC I2CADR 0x00 I2CADR[7:1] -- 0xDD I2CDAT 0x00 I2CDAT[7:0] 0xDE I2CDEB 0x00 DEBCLK[7:0] 0xDF CTSCON3 MUTDEL_SEL[3:0] -- -- -- TSCGF 0xE0 ACC 0x00 ACC[7:0] 0xE8 EIE 0x00 EKBI -- EWDI ETOUCH ELVD EINT4 EINT3 EINT2 0xE9 EXIPOL 0x00 -- -- -- INT4POL INT3POL INT2POL INT1POL 0xEA EXIMOD 0x00 -- -- -- INT4MOD INT3MOD INT2MOD INT1MOD 0xEB KEYCODE 0x00 KEYCODE[7:0] 0xEC FLASHCON 0x00 -- -- -- -- -- -- P_ERASE PROG 0xED FL_LEVEL 0xFF -- -- -- -- FL_LEVEL[3:0] 0xEE ADAEN 0x00 P1_AEN7 P1_AEN6 P1_AEN5 P1_AEN4 P1_AEN3 P1_AEN2 P1_AEN1 P1_AEN0 0xF0 B 0x00 B register 0xF1 ADCON0 0x00 INT_WIN INT_RDY_F ADC_INT_ OUT INT_WIN_ EN INT_RDY_ EN AUTOMOD E PSIDLE START 0xF2 ADCON1 0x00 -- -- -- -- -- OSSEL[1:0] BITSEL 0xF3 ADCFG 0x00 -- ADSEL[2:0] ADSH[1:0] ADCLK[1:0] 0xF4 ADOL 0x00 ADOL [3:0] -- -- -- -- 0xF5 ADOH 0x00 ADOH[11:4] 0xF6 ADLB 0x00 ADLB[7:0] 0xF7 ADUB 0x00 ADUB[7:0] 0xF8 EIP 0x00 PKBI PWDI PCTS PLVD PINT4 PINT3 PINT2 0xF9 IOSCCON 0x00 -- -- XPADEN -- OSC_SEL -- CLKDIV[1:0] 0xFA IOSCT0 0x00 -- -- -- -- -- XFCN[1:0] 0xFB IOSCT1 OSC_TRIM[6:0] 0xFC SPICON 0x00 POLARIT Y PHASE SPI_CLK_SEL[1:0] CSB_ KEEP -- SPI_RD SPI_ START 0xFD SPITXD 0x00 SPITXD [7:0] 0xFE SPIRXD 0x00 SPIRXD [7:0] 5.4. 省电模式 5.4.1. 介绍 虽然 GPM8F3708B 是一颗具有强大性能的高速微控制器,但 它仍然提供了具有两种先进省电模式的电源管理单元(PMU),分别 为IDLE 模式和 STOP 模式。当系统不需要工作时,为了减少耗电, 就可采用 STOP 模式。关于这两种模式的更多信息,请阅读以下 2 个章节。 5.4.2. IDLE 模式 IDLE 模式是通过关闭提供给微控制器的时钟来减少耗电的, 这 样会导致 MCU 停止执行接下来的指令。设置 CPU_IDLE 位 (PCON[5])可以进入 IDLE 模式。 在该模式下, 外设时钟不会被关掉, 所以外设器件仍可正常工作。 5.4.3. STOP 模式 在STOP 模式下,微控制器最省电。通过关闭SYSCLK 时钟, 芯片可以进入一个全静止状态。整个系统都不工作,定时器停止, 也没有任何串行通信。设置了 STOP 位后, 处理器将延缓执行指令。 退出STOP 模式有下列几种方式: 采用 INT1-INT4 这类与时钟无关的外部中断或者键盘/按键扫 描 IO。时钟中断、内部定时器以及串行口等在 STOP 模式下是不

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 工作的。当导致退出STOP 模式的中断发生时,处理器会读取该中 断的中断向量并重新开始工作。 当执行完中断服务程序后,RETI 指令立即将程序返回到调用 STOP 模式指令的下一条指令处。当 INT0~INT4 和按键扫描 IO 用作唤醒源时,必须先设置WKUEN 寄 存器, 如表 5-19 WKUEN 寄存器所示 。 当从STOP 模式唤醒后, 处理器执行指令的位置有两个选择,通过设置POCN[3]来实现,如 果 STOP_RST_EN 设置为‘1’,处理器唤醒后会复位;否则,会执 行下一条指令。 系统时钟 外设时钟 唤醒源 唤醒后 RUN Mode 寄存器设置 寄存器设置 -- -- IDLE Mode 关 开 1.所有的唤醒源 2.所有的中断源 执行下一条指令 STOP Mode 关 关 1.所有唤醒源 由PCON[3]的设置来决定是复位还是执行下一条指令 表 5-17 GPM8F3708B 的三种运行模式 PCON 地址: 0x87 电源配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 SMOD0 SMOD1 CPU_IDLE PWE STOP_RST_EN -- STOP -- 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

5 CPU_IDLE R/W

IDLE 模式使能位 0:IDLE 模式禁止 1:IDLE 模式使能

4 PWE R/W

Flash 编程使能位 0:在 MOVX 指令期间,禁止 Flash 写有效 1:在 MOVX 指令期间,使能 Flash 写有效

3 STOP_RST_EN R/W

唤醒状态选择位 0:唤醒后执行下一条指令 1:唤醒后程序复位 2 -- R/W 预留

1 STOP R/W

停止模式使能位 0:禁止 1:使能 0 -- R/W 预留 表 5-18 PCON 寄存器 WKUEN 地址: 0xB6 唤醒使能寄存器 Bit 7 6 5 4 3 2 1 0 功能 KB_WKUEN WD_WKUEN -- INT4_WKUEN INT3_WKUEN INT2_WKUEN INT1_WKUEN INT0_WKUEN 默认 1 0 0 1 1 1 1 1 Key Code 0xAF, 0x50 Bit 功能 类型 描述 条件

7 KB_WKUEN R/W 键盘唤醒使能控制

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件

6 WD_WKUEN R/W 看门狗唤醒使能控制

5 -- R/W 预留

4 INT4_WKUEN R/W INT4 唤醒使能控制,高有效

3 INT3_WKUEN R/W INT3 唤醒使能控制,高有效

2 INT2_WKUEN R/W INT2 唤醒使能控制,高有效

1 INT1_WKUEN R/W INT1 唤醒使能控制,高有效

0 INT0_WKUEN R/W INT0 唤醒使能控制,高有效

表 5-19 WKUEN 寄存器 5.5. 中断系统 GPM8F3708B 提供了 4 个外部中断源、10 个内部中断源和 8 个按键改变中断源。每一个外部中断源都可以单独的设置使能或者 禁用、边沿或者电平触发以及触发极性。当按键输入引脚有任何的 逻辑改变,键盘改变中断就会发生,这些按键输入引脚可以通过 KBIEN (0xA9)来设定,当设置 EIE(0xE8)的 EKBI 位之前,需要先 读取P0 口来锁定 P0 口的状态。GPM8F3708B 具有两个中断优先 级,在每个系统时钟的上升沿来采样中断请求,通过设置或清除 SFR 中相应的位,每一个中断源可以单独的设置使能或者禁用,IE 寄存器中包含了全局中断系统禁用使能位,该位称作 EA。 通常来说,一旦中断事件发生,就会设置相应的标志位。中断 标志相关的寄存器如下所示。 如果相关的中断控制位设置为使能中断, 就会产生一个中断请 求信号,接着 CPU 就会执行服务程序。如果相关的中断控制位不 使能,相应标志位还是会被设置,但不会产生中断请求信号。为了 防止程序在中断服务程序中锁死,必须清除中断服务程序里的中断 标志位。 对于任何指令来说,在前一条指令执行期间,中断挂起。 在进入中断服务程序之前, 系统保存当前的PC 地址到堆栈最顶部, 然后跳转到相应的向量开始执行中断服务。在完成了中断服务程序 后,系统从堆栈的顶部取回返回的 PC 地址并接着执行接下来的指 令。更多信息请参考相关章节。 中断标志 功能 触发类型 中断标志清除 向量 向量序号 优先级 TF0 设备管脚 INT 0 上升沿/下降沿/低电 平/高电平 硬件清除 0x0B 1 2 IE1 内部Timer 0 - 硬件清除 0x13 2 3 TF1 设备管脚 INT 1 上升沿/下降沿/低电 平/高电平 硬件清除 0x1B 3 4 TI0 & RI0 内部Timer 1 - 硬件清除 0x23 4 5 TMBOIF 内部UART0 - 软件清除(写 0) 0x33 6 6 T2IF 内部Timer B - 软件清除(写 0) 0x3B 7 7 KBIF 内部Timer 2 - 软件清除(写 0) 0x43 8 8 INT2F 键盘管脚 按键扫描管脚 上升沿/下降沿/低电 平/高电平 软件清除(写 0) 软件清除(写 0) 0x4B 9 9 I2CIF 设备管脚 INT 2 软件清除(写 0) 0x53 10 10 LVDF 内部I2C - 软件清除(写 0) 0x5B 11 11 INT3F 低压检测 上升沿/下降沿/低电 平/高电平 软件清除(写 0) 0x63 12 12 INT4F 设备管脚 INT 3 上升沿/下降沿/低电 平/高电平 软件清除(写 0) 0x6B 13 13 WDIF 设备管脚 INT 4 软件清除(写 0) 0x73 14 14 CTSIF 内部看门狗 - 软件清除(写 0) 0x7B 15 15 表 5-20 中断向量

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 IP 地址: 0xB8 中断优先级寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- PT2 PS0 PT1 PX1 PT0 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 -- R/W 预留

5 PT2 R/W Timer2 优先级控制(1:高优先级)

4 PS0 R/W UART0 优先级控制(1:高优先级)

3 PT1 R/W Timer1 优先级控制(1:高优先级)

2 PX1 R/W INT1 优先级控制(1:高优先级)

1 PT0 R/W Timer0 优先级控制(1:高优先级)

0 -- R/W 预留 表 5-21 IP 寄存器 EIP 地址: 0xF8 扩展中断优先级控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 - PKBI -- PWDI PCTS PLVD PINT4 PINT3 PINT2 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 PKBI R/W 键盘中断优先级控制(1:高优先级)

6 -- R/W 预留

5 PWDI R/W 看门狗优先级控制(1:高优先级)

4 PCTS R/W CTS 优先级控制(1:高优先级)

3 PLVD R/W LVD 优先级控制(1:高优先级)

2 PINT4 R/W INT4 优先级控制(1:高优先级)

1 PINT3 R/W INT3 优先级控制(1:高优先级)

0 PINT2 R/W NIT2 优先级控制(1:高优先级)

表 5-22 EIP 寄存器 BIP 地址: 0x96 其他的中断优先级控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- PADC PTMA PI2C 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

3 PADC R/W ADC 优先级控制(1:高优先级)

2 R/W 预留

1 PTMA R/W TimerA 优先级控制(1:高优先级)

0 PI2C R/W I2C 优先级控制(1:高优先级)

表 5-23 BIP 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 IE 地址: 0xA8 中断使能寄存器 Bit 7 6 5 4 3 2 1 0 功能 EA ECCP ET2 ES0 ET1 EX1 ET0 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 EA R/W 使能全局中断

6 ECCP R/W 使能Timer2 比较/捕捉中断

5 ET2 R/W 使能Timer2 中断

4 ES0 R/W 使能UART0 中断

3 ET1 R/W 使能Timer1 中断

2 EX1 R/W 使能INT1 中断

1 ET0 R/W 使能Timer0 中断

0 -- R/W 预留 表 5-24 IE 寄存器 EIE 地址: 0xE8 扩展中断控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 EKBI - EWDI ETOUCH ELVD EINT4 EINT3 EINT2 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 EKBI R/W 使能键盘脚位中断

6 -- R/W 预留

5 EWDI R/W 使能看门狗中断

4 ETOUCH R/W 使能CTS 中断

3 ELVD R/W 使能LVD 中断

2 EINT4 R/W 使能INT4 中断

1 EINT3 R/W 使能INT3 中断

0 EINT2 R/W 使能INT2 中断

表 5-25 EIE 寄存器 TCON 地址: 0x88 Timer0/1 配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 TF1 TR1 TF0 TR0 IE1 -- -- -- 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 TF1 R/W Timer1 中断(溢出)标志

6 TR1 R/W Timer1 运行控制位

0:禁用 1:使能

5 TF0 R/W Timer0 中断(溢出)标志

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件

4 TR0 R/W TImer0 运行控制位

0:禁用 1:使能

3 IE1 R/W INT1 中断标志

2 -- R/W 预留 1 -- R/W 预留 0 -- R/W 预留 表 5-26 CON 寄存器 TMBIF 地址: 0xBA Timer B 中断标志寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- TMBOIF -- -- TMBIE 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

3 TMBOIF R/W TimerB 溢出标志

2: 1 -- R/W 预留

0 TMBIE R/W TimerB 中断使能位

表 5-27 TMAIF 寄存器 EIF 地址: 0x91 扩展中断标志 Bit 7 6 5 4 3 2 1 0 功能 KBIF -- -- CTSF LVDF INT4F INT3F INT2F 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 KBIF R/W 键盘脚(P00~P07)改变/按键扫描脚中断标志

6:5 -- R/W 预留

4 CTSF R/W CTS 中断标志

3 LVDF R/W LVD 中断标志

2 INT4F R/W INT4 中断标志

1 INT3F R/W INT3 中断标志

0 INT2F R/W INT2 中断标志

表 5-28 EIF 寄存器 BIF 地址: 0x97 其他中断标志 Bit 7 6 5 4 3 2 1 0 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件

3 ADCF ADC 中断标志,写 0 清除

2:0 -- R/W 预留 表 5-29 BIF 寄存器 EXIPOL 地址: 0xE9 扩展中断极性控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- INT4POL INT3POL INT2POL INT1POL 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:5 -- R/W 预留

4 INT4POL R/W INT4 优先级选择

0:下降沿/低电平;1:上升沿/高电平

3 INT3POL R/W INT3 优先级选择

0:下降沿/低电平;1:上升沿/高电平

2 INT2POL R/W INT2 优先级选择

0:下降沿/低电平;1:上升沿/高电平

1 INT1POL R/W INT1 优先级选择

0:下降沿/低电平;1:上升沿/高电平

0 R/W 预留

表 5-30 EXIPOL 寄存器 EXIMODE 地址: 0xEA 扩展中断模式控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- INT4MOD INT3MOD INT2MOD INT1MOD I 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:5 -- R/W 预留

4 INT4MOD R/W INT4 检测模式

0:边沿检测;1:边沿和电平检测

3 INT3MOD R/W INT3 检测模式

0:边沿检测;1:边沿和电平检测

2 INT2MOD R/W INT2 检测模式

0:边沿检测;1:边沿和电平检测

1 INT1MOD R/W INT1 检测模式

0:边沿检测;1:边沿和电平检测 表 5-31 EXIMOD 寄存器 WDCON 地址: 0xD8 看门狗控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- WDIF -- EWT RWT 默认 0 0 0 0 0 0 0 0

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

3 WDIF R/W Watchdog interrupt flag 看门狗中断标志

2 -- R/W 预留

1 EWT R/W Watchdog timer reset enable bit 看门狗复位使能标志

0: Disable 禁用;1: Enable 使能

0 RWT R/W Reset watchdog timer 清除看门狗定时器

0: NA 无效; 1: Reset 清除 表 5-32 WDCON 寄存器 SCON0 地址: 0x98 UART0 控制寄存器 Bit 7 6 5 4 3 2 1 0 Function SM0[0:1] SM02 REN0 TB08 RB08 TI0 RI0 Default 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 SM0[1:0] R/W 模式和波特率设置位

5 SM02 R/W 使能多机通信功能

4 REN0 R/W 使能串行接收

3 TB08 R/W 模式2 和模式 3 下第9 个发送数据位

2 RB08 R/W 在模式 0,这一位无效。

在模式 1,如果 SM02=0,RB08 是停止位 在模式 2 和模式 3 下,是第 9 个接收的数据位

1 TI0 R/W UART0 发送中断标志

0 RI0 R/W UART0 接收中断标志

表 5-33 SCON0 寄存器 KBIEN 地址: 0xA9 键盘脚使能寄存器 Bit 7 6 5 4 3 2 1 0 功能 KBIEN[5:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 -- R/W 预留 5:0 KBIEN[5:0] R/W 键盘脚位使能 0:键盘脚位禁用; 1:键盘脚位使能 表 5-34 KBIEN 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 I2CCON 地址: 0xDA I2C 控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 ACKEN CLKSEL I2CIE I2CIF TXCLK[3:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 ACKEN R/W I2C 总线应答使能位

0:禁止ACK 产生 1:使能ACK 产生

6 CLKSEL R/W I2C 总线发送时钟预分频器时钟源选择

0: I2CCLK=SYSCLK/16 1: I2CCLK= SYSCLK /512

5 I2CIE R/W I2C 总线 TX/TX 中断使能

0: Disable 禁用 1: Enable 使能

4 I2CIF R/W I2C 总线 TX/RX 中断标志,由软件清除

I2C 总线中断出现: 1.当一个字节的数据传送或接收完成 2. 一个广播或者从机地址匹配 3.总线仲裁失败 3:0 TXCLK[3:0] R/W I2C 总线发送时钟预分频器 发送时钟频率由这 4bit 的预分频器值决定, 根据下面的公式计 TX clock = I2CCLK/(TXCLK[3:0]+1) 注意: 1. I2CCLK 由 CLKSEL 决定 表 5-35 I2CCON 寄存器 5.6. 复位源 5.6.1. 介绍 GPM8F3708B 有 8 种类型的复位源,包括上电复位(POR)、 低压复位 (LVR)、Pad 复位 (PAD_RST)、看门狗定时器复位 (WDT_RST)、 软件复位(S/W_RST)、STOP 模式复位(STOP_RST)、 Flash 错误 复位 (FLASH_ERR_RST) 和 时 钟 丢 失 复 位 (MISS_CLK_RST)。图 5-4 复位源给出了每种复位源的示意图。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 RESET module 8051 Missing Clock Detect LVR_POR Macro RESET_pad LVR POR WDT_RST S/W_RST STOP_RST FLASH_ERR_RST MISS_CLK_RST SYSRESET clkrun RST filter rst PAD_RST 图 5-4 复位源 5.6.2. 上电复位(POR) 当 VDD 从 0V 上升时,POR 产生。VDD 上升到一个合适的 电平(~1.5V)时,上电复位电路启动上电时序。之后,系统开始激活 并以既定速度进行工作。POR 将复位整个芯片和寄存器。 5.6.3. 低电压复位(LVR) 当电源电压掉至指定的 LVR 触发电压以下时,片内的低压复 位(LVR) 电路将迫使系统进入复位状态。该功能使得 MCU 避免了 工作在一个无效的工作电压范围。 通过配置相应的位,可以使能或者禁用低压复位功能。 如果 LVR 使能,当芯片工作时,LVR 电路就会监控电源电压。上电默认 的LVR 电平是 1.9V。如果电源电压低于LVR 电压一个特定的时间 后, 系统就会复位并进入初始状态。 通过设置LVRSEL[1:0]位,LVR 电压可以配置为 1.9V、2.2V、2.7V 或者4.2V。 5.6.4. 低压检测(LVD) 通过监测 LVD 标志位,能够使软件提早发现电源电压可能会 出现无效的情况。内建的电压检测电路控制LVD 标志位。当电源电 压低于 LVD 电压时,LVD 标志置位,当电源电压高于LVD 电压时, LVD 标志被清除。通过设置LVDSEL[1:0]位,LVD 电压可以设置为 2.3V、2.5V、3.3V 或者3.5V。 5.6.5. 管脚复位(PAD_RST) GPM8F3708B 提供了一个外部引脚可使系统复位至初始状 态。 如图 5-5 Pad 复位电路所示,RESET 引脚为高电平有效。当 RESET= VDD 时,系统将强制进入复位状态,从地址 0x0000 执 行指令,所有的寄存器都进入默认状态。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Key 30pF RESET pin VDD External Internal 图 5-5 Pad 复位电路 5.6.6. 看门狗复位(WDT_RST) 当 MCU 进入不确定状态且没有清除看门狗时,片内的看门狗电 路就会使芯片进入复位状态。该功能防止 MCU 运行在异常情况下。 通过设置 WDCON[1],可以使能或禁用 WDT。 在用户选择的最终值到来之前的任何时间,软件都可以设置复 位看门狗定时器 RWT 位(WDCON[0])。 如果在超时之前置位RWT 的话, 看门狗定时器会重新开始计数,否则,看门狗将会复位 CPU。在软 件置位后硬件会自动地清除 RWT。当发生复位时,看门狗定时器复 位标志(RSTSTS[2]) 将自动置位以表示复位的原因,无论如何必须 手动的用软件来清除该位。WDCON 寄存器是一个时序访问寄存器, 用来防止意外写入情况。在写入 WDCON 寄存器之前,0xAA 和 0x55 必须按正确地顺序写入 KEYCODE 寄存器,KEYCODE 位于0xEB。读该 寄存器是不受保护的。 基于4K 的时钟频率, 看门狗提供四个时间选项。这四个选项是 预先设定的时钟周期个数,由CKCON7:6的设置来决定。可 以通过设置 CKCON[5]来设置这四个选项是否是快速模式, 这个功能 只有GPM8F3708B 具有。 因此实际的看门狗时间还取决于系统时钟频 率。图 5-6 看门狗示意图给出了看门狗模块的示意图。 IOSC_4K CKCON(0x8E) WD1 WD0 WDFM T1M T0M

512 CLK delay

WDCON (0xD8) WDIF EWT RWT RSTSTS (0x94) MISS_CLK_RST STOP_RST FLASH_ERR_RST SW_RST WDT_RST LVR_RST PAD_RST WDT RST WDT Clear 32ms 128ms 512ms 2048ms EIE (0xE8) EKBI EWDI ELVD EINT4 EINT3 EINT2 23 2ms 24ms 8ms 16ms 01 01 01 01 图 5-6 看门狗示意图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.6.7. 其他复位源 其它复位源 包括软件复位 (S/W_RST) 、STOP 模式复位 (STOP_RST)、Flash 错误复位 (FLASH_ERR_RST)和系统时钟丢 失复位(MISS_CLK_RST)。将KeyCode 写入KEYCODE 寄存器时, 发生软件复位,密钥是0x3c 和0xc3,时序没有关系,但在软件复 位发生之前必须按顺序地将密钥码写入。置位 PCON[3]可以使能 STOP 模式复位,这是系统从 STOP 模式复位的一种方式。 另外,有 6 个 flash 相关的错误出现时将会发生 Flash 错误复 位。第一个错误是用软件擦除整个芯片,第二个错误是擦除或者编 程首页,第三个错误是访问错误地址,第四个错误是用错误的方式 编程 Flash,第五个错误是擦除或者编程纯载入区,第六个错误是 编程或者擦除数据区或载入区。如表 5-41 RSTCON 寄存器所示, 通过对 RSTCON(0x94)的相应位进行清除或设置, 可以使能或不使 能每个 flash 错误相关的复位源。 当 flash 错误复位发生时,可以 在 FLASHERRF 寄 存 器 里 看 到 相 应 的 标 志,如 表 5-42 FLASHERRF 寄存器 所示。 如果外部晶振用作时钟源的话, 当系统时钟错过4095 个IOSC 时钟时,就会发生系统时钟丢失复位。如表 5-43 RSTSTS 寄存器 所示RSTSTS 寄存器用来监控 7 个复位状态标志。 SYSCON0 地址: 0xAE 系统控制寄存器 0 Bit 7 6 5 4 3 2 1 0 功能 LVD_STATUS LVDENB LVDSEL[1:0] LVRENB CLKOUT_EN LVRSEL[1:0] 默认 0 0 0 0 0 0 0 0 Key Code FF,00 Bit 功能 类型 描述 条件

7 LVD_STATUS R LVD 状态

LVD 使能控制 0:使能 LVD 功能;1:禁用 LVD 功能 5:4 LVDSEL[1:0] R/W LVD 电压选择位 00:2.3V 01:2.5V 10:3.3V 11:3.5V LVRENB R/W LVD 使能控制 0:使能 LVD 功能;1:禁用 LVD 功能

2 CLKOUT_EN R/W 时钟输出使能位(P34 输出 SYSCLK)

1:0 LVRSEL[1:0] R/W LVR 电压选择位 00:1.9V 01:2.2V 10:2.7V 11:4.2V 表 5-36 SYSCON0 寄存器 WDCON 地址: 0xD8 看门狗控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- WDIF -- EWT RWT 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

3 WDIF R/W 看门狗中断标志

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 2 -- R/W 预留

1 EWT R/W 看门狗复位使能标志

0:Disable 禁用;1:Enable 使能

0 RWT R/W 清除看门狗定时器

0:NA 无效;1:Reset 清除 表 5-37 WDCON 寄存器 KEYCODE 地址: 0xEB KEYCODE 寄存器 Bit 7 6 5 4 3 2 1 0 功能 KeyCode 寄存器 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

0 KEYCODE[7:0] R/W KeyCode 寄存器

注意:一些受保护的寄存器,在写入数据之前,必须先写入正确的KeyCode到KEYCODE寄存器。 表 5-38 KEYCODE 寄存器 CKCON 地址: 0x8E 时钟控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 WD1 WD0 WDFM T1M T0M -- -- -- 默认 0 0 0 0 0 0 0 1 Bit 功能 类型 描述 条件 7:6 WD[1:0] R/W 看门狗超时选择位 如果WDFM=0: WD[1:0] = 00: 32ms WD[1:0] = 01: 28ms WD[1:0] = 11: 2048ms 如果WDFM=1: WD[1:0] = 00: 2ms WD[1:0] = 01: 4ms WD[1:0] = 10: 8ms WD[1:0] = 11: 16ms

5 WDFM R/W 看门狗快模式选择位

0: 禁用看门狗快模式; 1: 使能看门狗快模式

4 T1M R/W 系统时钟的除频选择,用于驱动 Timer1

0: Timer1 使用系统时钟频率; 1: Timer1 使用系统时钟频率的二分频

3 T0M R/W 系统时钟的除频选择,用于驱动 Timer0

0 : Timer0 使用系统时钟频率; 1 : Timer0 使用系统时钟频率的二分频 2:0 -- -- 预留 表 5-39 CKCON 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 PCON 地址: 0x87 电源配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 SMOD0 SMOD1 CPU_IDLE PWE STOP_RST_EN -- STOP -- 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 0:IDLE 模式禁止 1:IDLE 模式使能 0:在 MOVX 指令期间,禁止 Flash 写有效 1:在 MOVX 指令期间,使能 Flash 写有效 0:唤醒后执行下一条指令 1:唤醒后程序复位 2 -- R/W 预留 0:禁止 1:使能 0 -- R/W 预留 表 5-40 PCON 寄存器 RSTCON 地址: 0x8F Flash 错位复位使能控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- FLASH_FLO W_ENB XADDR_ENB FP_EP_EN B CHIP_E_ENB MISS_CLK_EN B FLASH_ERR_ _ENB 默认 0 0 0 1 0 0 0 0 Key Code 4F,72,7A Bit 功能 类型 描述 条件 7:6 -- R/W 预留

5 FLASH_FLOW_ ENB R/W Flash 流程错误或编程只读页错误复位控制位

4 XADDR_ENB R/W Flash 寻址错误复位控制位

3 FP_EP_ENB R/W 首页擦除或编程复位控制位

2 CHIP_E_ ENB R/W 整片擦除复位控制位

1 MISS_CLK _ ENB R/W 时钟丢失复位控制位

0 FLASH_ERR _ ENB R/W 和Flash 相关的错误复位控制位

表 5-41 RSTCON 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 FLASHERRF 地址: 0xA6 Flash 错误复位状态寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- FLASH_FLOW_F XADDR_F FP_EP_F CHIP_E_F -- -- 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 -- R/W 预留

5 FLASH_FLOW_F R/W Flash 操作流程错误或编程只读页错误复位

4 XADDR_F R/W Flash 寻址错误复位

3 FP_EP_F R/W 擦除或编程首页错误复位

2 CHIP_E_F R/W 擦除整个芯片错误复位

1:0 -- R/W 预留 表 5-42 FLASHERRF 寄存器 RSTSTS 地址: 0x94 复位状态标志寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- MISS_CLK_RST STOP_RST FLASH_ERR_RST S/W_RST WDT_RST LVR_RST RAD_RST 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7 -- R/W 预留

6 MISS_CLK_RST R/W 时钟丢失复位

5 STOP_RST R/W STOP 模式复位

4 FLASH_ERR_RST R/W Flash 错位复位

3 SW_RST R/W 软件复位

2 WDT_RST R/W 看门狗复位

1 LVR_RST R/W LVR 复位

0 PAD_RST R/W 管脚复位

表 5-43 RSTSTS 寄存器 5.7. 时钟源 GPM8F3708B 有两个时钟源,包括内部振荡器 (16MHz)和外 部晶振。通过控制相关的 SFR 来选择这两个时钟源作为系统时钟。 此外,还可以通过系统时钟源的时钟分频器得到不同的频率,总共 有4 种分频选择。时钟源的示意图如图 5-7 时钟源示意图所示。 RIXCLK DIV1~DIV8 clkgate clkgate PER_CPU_STOP clko_per clko STOP DP8051 CPU peripheral XI XO XTAL _PAD_EN IOSC _CLK XOSC _CLK clkswitch OSC_SEL[0] clkswitch CLK_DIV[1:0] 图 5-7 时钟源示意图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 采用晶振模式时,如 表 5-45 IOSCT0 寄存器 所示由 IOSCT0[1:0]来选择不同的频率。由于不同晶振的时钟稳定时间可 能不同,软件应该根据不同的晶振延迟一定地时间以使时钟稳定。 如果采用内部振荡器模式,则可由 IOSCT1[6:0]来调整频率,每阶 频率微调为 0.5%。IOSCT1 寄存器如表 5-46 IOSCT1 寄存器所 IOSCCON 地址: 0xF9 IOSC 控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- XTAL_PAD_EN -- OSC_SEL CLKDIV[1:0] 默认 0 0 0 0 0 0 0 1 Bit 功能 类型 描述 7:6 -- R/W 预留

5 XTAL_PAD_EN R/W 如果使用 XTAL,XTAL_PAD_EN应该在设置 OSC_SEL 之前置位

4 -- R/W 预留

3 OSC_SEL R/W 0: 内部ROSC ;1: 外部XTAL;

如果使用 XTAL,OSC_SEL(XTAL_EN)应该在 XOSC_CLK 稳定之后置位 1:0 CLK_DIV[1:0] R/W 系统时钟源分频器 00: SYSCLK_SOURCE 01: SYSCLK_SOURCE/2 10: SYSCLK_SOURCE/4 11: SYSCLK_SOURCE/8 表 5-44 IOSCCON 寄存器 IOSCT0 地址: 0xFA 内部振荡频率调整寄存器 0 Bit 7 6 5 4 3 2 1 0 默认 0 0 0 1 1 0 0 0 Bit 功能 类型 描述 条件 7:6 -- R/W 预留 5:3 -- R/W 预留 2:0 XFCN[1:0] R/W 外部XTAL 频率控制位(XTAL_PAD_EN 需要置 1) 00: 1MHz < Freq < 4MHz 01: 4MHz < Freq < 8MHz 10: 8MHz < Freq < 12MHz 11: 12MHz < Freq < 16MHz 表 5-45 IOSCT0 寄存器 IOSCT1 地址: 0xFB 内部振荡频率调整寄存器 01 Bit 7 6 5 4 3 2 1 0 功能 -- OSC_TRIM[6:0] 默认

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 7 -- R/W 预留 6:0 OSC_TUNE[6:0] R/W 内部 OSC 频率调整位,每一阶 0.5% 表 5-46 IOSCT1 寄存器 SYSCON0 地址: 0xAE 系统控制寄存器 0 Bit 7 6 5 4 3 2 1 0 功能 LVD_STATUS LVDENB LVDSEL[1:0] LVRENB CLKOUT_EN LVRSEL[1:0] 默认 0 0 0 0 0 0 0 0 Key Code FF,00 Bit 功能 类型 描述 条件

6 LVDENB R/W LVD 使能控制

0:使能 LVD 功能 ;1:禁用LVD 功能 5:4 LVDSEL[1:0] R/W LVD 电压选择位 00:2.3V 01:2.5V 10:3.3V 11:3.5V

3 LVRENB R/W LVD 使能控制

0:使能 LVD 功能; 1 :禁用LVD 功能 1:0 LVRSEL[1:0] R/W LVR 电压选择位 00:1.9V 01:2.2V 10:2.7V 11:4.2V 表 5-47 SYSCON0 寄存器 5.8. I/O 端口 GPM8F3708B 有四组 I/O 口, 包括标准的Port 0、Port 1、Port 2、 Port 3 。 这些 I/O 引脚与芯片的外设功能引脚是复用的。通 常情况下, 当复位初始化后, 所有I/O 都用作 Open-Drain 结构的通 用输入口。 使用者可以通过CONFIG_BYTE[1]设置选择 I/O 口的初 始化状态。所有的 I/O 口都可由 PU 和 PD 寄存器编程设置为拉高 或拉低。Port 0 的PU 和PD 寄存器由 0xAA 和 0xAB 控制,Port 1 的PU 和 PD 寄存器由 0xAC 和 0xAD 控制,Port 2 的PU 和PD 寄 存器由0x9E 和0x9F 控制,Port 3 的PU 和PD 寄存器由 0xA2 和 0xA3 控制。I/O 端口的读和写可通过操作相应的 SFR 寄存器 P0(0x80)、P1(0x90)、P2(0xA0)、P3(0xB0) 来实现。当PU 和PD 同时置 1 时,I/O 端口可根据相应的数据输出高电平或者低电平。 表 5-48 模拟管脚真值表和表 5-49 数字管脚真值表 分别给出了 模拟引脚和数字引脚的真值表。对于 GPM8F3708B,P1[3:2]被用 作外部晶振的输入和输出引脚,内置的上拉和下拉电阻为 50KΩ。 此外,SRCON(0xA5)寄存器用于P0~P4 的转态速率控制。如果 I/O 需要立刻改变状态而无需转态速率控制的话,则将相应的控制 位置‘0’。SRCON 寄存器默认值是 ‘0xFF’ ,对应的转态速率是 30ns。图 5-8 模拟脚示意图和图 5-9 数字脚示意图分别是模拟 引脚和数字引脚的示意图。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 PU PD DATA XTAL_PAD_EN PAD 0 0 0 0 输出低 0 0 1 0 浮空 0 1 0 0 输出低 0 1 1 0 输入下拉 1 0 0 0 输出低 1 0 1 0 输入上拉 1 1 0 0 输出低 1 1 1 0 输出高 x x x 1 浮空 表 5-48 模拟管脚真值表 PU PD DATA PAD 0 0 0 输出低 0 0 1 浮空 0 1 0 输出低 0 1 1 输入下拉 1 0 0 输出低 1 0 1 输入上拉 1 1 0 输出低 1 1 1 输出高 表 5-49 数字管脚真值表 XTAL _PAD_EN ANAIP OE=~DATA | (PU &PD) DATA IP PU & ~PD 50K PD & ~PU 50K 图 5-8 模拟脚示意图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 OE=~DATA | (PU&PD) DATA IP PU & ~PD 50K PD & ~PU 50K 图 5-9 数字脚示意图 P0 地址: 0x80 Port0 寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- P05 P04 P03 P02 P01 P00 默认 1 1 1 1 1 1 1 1 Bit 功能 类型 描述 条件 7:6 -- R/W 预留 5:0 P0[5:0] R/W Port0 表 5-50 P0 寄存器 P1 地址: 0x90 Port1 寄存器 Bit 7 6 5 4 3 2 1 0 功能 P17 P16 P15 P14 P13 P12 P11 P10 默认 1 1 1 1 1 1 1 1 Bit 功能 类型 描述 条件 7:0 P1[7:0] R/W Port1 表 5-51 P1 寄存器 P2 地址: 0xA0 Port2 寄存器 Bit 7 6 5 4 3 2 1 0 默认 1 1 1 1 1 1 1 1

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留 3:0 P2[3:0] R/W Port2 表 5-52 P2 寄存器 P3 地址: 0xB0 Port3 寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- P34 P33 P31 P30 默认 1 1 1 1 1 1 1 1 Bit 功能 类型 描述 条件 7:5 -- R/W 预留 4:3 P3[4:3] R/W Port3 2 -- R/W 预留 1:0 P3[1:0] R/W Port3 表 5-53 P3 寄存器 P0_PU 地址: 0xAA Port0 上拉配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 P05_PU P04_PU P03_PU P02_PU P01_PU P00_PU 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 -- R/W 预留 5:0 P0[5:0]_PU R/W Port0 上拉控制位 0:浮空; 1 :上拉 表 5-54 P0_PU 寄存器 P0_PD 地址: 0xAB Port0 下拉配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 P05_PD P04_PD P03_PD P02_PD P01_PD P00_PD 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 -- R/W 预留 5:0 P0[5:0]_PD R/W Port0 下拉控制位 0:浮空; 1 :拉 如果P0_PU 和P0_PD 同时被置‘1’,P0 将是输出模式 表 5-55 P0_PD 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 P1_PU 地址: 0xAC Port1 上拉配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 P17_PU P16_PU P15_PU P14_PU P13_PU P12_PU P11_PU P10_PU 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 P1[7:0]_PU R/W Port1 上拉控制位 0:浮空 1:上拉 表 5-56 P1_PU 寄存器 P1_PD 地址: 0xAD Port1 下拉配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 P17_PD P16_PD P15_PD P14_PD P13_PD P12_PD P11_PD P10_PD 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 P1[7:0]_PD R/W Port1 下拉控制位 0:浮空; 1: 下拉 注意:如果P1_PU和P1_PD同时被置‘1’,P1将是输出模式 表 5-57 P1_PD 寄存器 P2_PU 地址: 0x9E Port2 上拉配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- P23_PU P22_PU P20_PU 默认 0 0 0 1 0 0 0 0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留 3:2 P2[3:2]_PU R/W 上拉控制位 0:浮空; 1: 上拉 1 -- R/W 预留

0 P2[0]_PU R/W 上拉控制位

0:浮空; 1: 上拉 表 5-58 P2_PU 寄存器 P2_PD 地址: 0x9F Port2 下拉配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- P23_PD P22_PD P20_PD 默认 0 0 0 1 0 0 0 0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留 3:2 P2[3:2]_PD R/W Port2 下拉控制位

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 0:浮空; 1: 下拉 1 -- R/W 预留

0 P2[0]_PD R/W Port2 下拉控制位

0:浮空; 1: 下拉 注意:如果P2_PU和P2_PD同时被置‘1’,P2将是输出模式 表 5-59 P2_PD 寄存器 P3_PU 地址: 0xA2 Port3 上拉配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- P34_PU P33_PU P31_PU P30_PU 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:5 -- R/W 预留 4:3 P3_PU[4:3] R/W Port3 pull up control bits Port3 上拉控制位 0: floating 浮空; 1: pull up 上拉 1:0 P3_PU[1:0] R/W Port3 pull up control bits Port3 上拉控制位 0: floating 浮空; 1: pull up 上拉 表 5-60 P3_PU 寄存器 P3_PD 地址: 0xA3 Port3 下拉配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- P34_PD P33_PD P32_PD P31_PD P30_PD 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:5 -- R/W 预留 4:3 P3_PD[4:3] R/W Port3 上拉控制位 0: 浮空; 1: 上拉 2 -- R/W 预留 1:0 P3_PD[1:0] R/W Port3 上拉控制位 0: 浮空; 1: 上拉 注意:如果P3_PU和P3_PD同时被置‘1’,P3将是输出模式 表 5-61 P3_PD 寄存器 SRCON 地址: 0xAD 转态速率控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- P3_SR P2_SR P1_SR P0_SR 默认 1 1 1 1 1 1 1 1

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

3 P3_SR R/W Port3 转态速率控制位

0: 转态速率控制禁用 1: 30ns 的转态速率

2 P2_SR R/W Port2 转态速率控制位

0:转态速率控制禁用 1: 30ns 的转态速率

1 P1_SR R/W Port1 转态速率控制位

0:转态速率控制禁用 1: 30ns 的转态速率

0 P0_SR R/W Port0 转态速率控制位

0:转态速率控制禁用 1: 30ns 的转态速率 表 5-62 SRCON 寄存器 5.9. 定时器模块 5.9.1. 介绍 GPM8F3708B 有三个定时器,分别是 Timer0、Timer1、 Timer2。另外,Timer2 具有比较、捕捉、重载功能。这三个定时 器都是向上计数的 16Bit 的定时器和计数器。下面的章节将详细 说明每个定时器的功能。 5.9.2. Timer 0/1 Timer 0 和 Timer1 与标准 8051 的定时器完全兼容。每个定 时器包含 2 个8-bit 寄存器 TH0(0x8C),TL0(0x8A),TH1(0x8D) 和TL1(0x8B)。除了 Mode 3 外 Timer 0 和Timer 1 的其它 3 种 工作模式相同。 相关的控制寄存器是TMOD(0x89),TCON(0x88) 和 CKCON(0x8E)。在定时器模式下,当相应的定时器使能时, 定时器寄存器每 1 或 2 个 SYSCLK 周期自增,取决于 CKCON(0x8E) 寄存器的设置。 TH0 地址: 0x8C Timer0 高字节寄存器 Bit 7 6 5 4 3 2 1 0 功能 TH0[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 TH0[7:0] R/W Timer 0 高字节载入值 表 5-63 TH0 寄存器 TL0 地址: 0x8A Timer0 低字节寄存器 Bit 7 6 5 4 3 2 1 0 功能 TL0[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 TL0[7:0] R/W Timer 0 低字节载入值 表 5-64 TL0 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 TH1 地址: 0x8D Timer1 高字节寄存器 Bit 7 6 5 4 3 2 1 0 功能 TH1[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 TH1[7:0] R/W Timer 1 高字节载入值 表 5-65 TH1 寄存器 TL1 地址: 0x8B Timer1 低字节寄存器 Bit 7 6 5 4 3 2 1 0 功能 TL1[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 TL1[7:0] R/W Timer 1 低字节载入值 表 5-66 TL1 寄存器 TMOD 地址: 0x89 Timer0/1 模式控制寄存器 Bit 7 6 5 4 3 2 1 0 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 -- R/W 预留 5:4 M1[1:0] R/W Timer1 模式选择位,参考表 5-68 Timer 0 和Timer 1 的四种模式 3:2 -- R/W 预留 1:0 M0[1:0] R/W Timer0 模式选择位,参考表 5-68 Timer 0 和Timer 1 的四种模式 表 5-67 TMOD 寄存器 M1 M0 模式 功能描述 0 0 0 TH0/l 作为 8-bit 的定时器使用,被 TL0/1 的低五位 32 除频。 0 1 1 16-bit 定时器,TH0/1 和TL0/1 级联 1 0 2 TL0/1 作为8-bit 定时器使用,TH0/l 是自动重载值 1 1 3 TL0 用作 8-bit 定时器,由标准 Timer0 来控制。TH0 用作 8-bit 定时器,由 Timer 1 的 控制位来控制。Timer 1 保持它的计数功能。 表 5-68 Timer 0 和Timer 1 的四种模式 TCON 地址: 0x88 Timer0/1 配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 TF1 TR1 TF0 TR0 IE1 -- IE0 -- 默认 0 0 0 0 0 0 0 0

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 0 : 禁用; 1 : 使能 0 :禁用; 1 : 使能 2 -- R/W 预留 1 -- R/W 预留 0 -- R/W 预留 表 5-69 TCON 寄存器 CKCON 地址: 0x8E 时钟控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 WD1 WD0 WDFM T1M T0M -- -- -- 默认 0 0 0 0 0 0 0 1 Bit 功能 类型 描述 条件 7:6 WD[1:0] R/W 看门狗时间选择位 如果WDFM=0: WD[1:0] = 00: 32ms WD[1:0] = 11: 2048ms 如果WDFM=1: WD[1:0] = 00: 2ms WD[1:0] = 01: 4ms WD[1:0] = 10: 8ms WD[1:0] = 11: 16ms 0: 禁用看门狗快模式 1: 使能看门狗快模式 0: Timer1 使用系统时钟频率 1: Timer1 使用系统时钟频率的二分频 0 : Timer0 使用系统时钟频率 1 : Timer0 使用系统时钟频率的二分频 2:0 -- -- 预留 表 5-70 CKCON 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.9.2.1. Timer 0:模式 0(13-Bit 定时器) 该模式下,Timer 0 寄存器配置为 13-bit 寄存器。当计数从全 ‘1’翻转为全‘ 0’时,Timer 0 的中断标志 TF0 被置位。当 TR0(TCON[4]) = 1,Timer 0 的计数输入使能。 13-bit 寄存器由TH0 的全部 8 位和 TL0 的低 5 位组成。TL0 高 3 位的状态不定,可以忽 略不考虑。图 5-10 Timer 0 模式0 示意图给出了模式0 下Timer0 的示意图。 clock division selection SYSCLK SYSCLK/2 CKCON(0x8E) WD1 WD0 WDFM T1M T0M 13-bit upper counter TL0(0x8A) TL0.7 TL0.6 TL0.5 TL0.4 TL0.3 TL0.2 TL0.1 TL0.0 TH0(0x8C) TH0.7 TH0.6 TH0.5 TH0.4 TH0.3 TH0.2 TH0.1 TH0.0 TCON(0x88) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Interrupt request 图 5-10 Timer 0 模式0 示意图 5.9.2.2. Timer 0:模式 1(16-Bit 定时器) 除了使用全部 16 位定时器寄存器之外,模式1 与模式 0 相同。 图 5-11 Timer 0 模式1 示意图给出了模式 1 下 Timer0 的示意图 16-bit upper counter TL0(0x8A) TL0.7 TL0.6 TL0.5 TL0.4 TL0.3 TL0.2 TL0.1 TL0.0 TH0(0x8C) TH0.7 TH0.6 TH0.5 TH0.4 TH0.3 TH0.2 TH0.1 TH0.0 TCON(0x88) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Interrupt requestclock division selection SYSCLK SYSCLK/2 CKCON(0x8E) WD1 WD0 WDFM T1M T0M 图 5-11 Timer 0 模式1 示意图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.9.2.3. Timer 0:模式 2(带有自动重装功能的 8-Bit 定时器) Mode 2 下,定时器寄存器配置为自动重载的 8-bit 计数器 (TL0),如图 5-12 Timer 0 模式 2 示意图所示。TL0 溢出时,不 仅设置了 TF0,而且将 TH0 中的内容重载到 TL0 中,TH0 中的内 容通过软件设置。重载不会改变 TH0 的内容。 8-bit upper counter TL0(0x8A) TL0.7 TL0.6 TL0.5 TL0.4 TL0.3 TL0.2 TL0.1 TL0.0 TH0(0x8C) TH0.7 TH0.6 TH0.5 TH0.4 TH0.3 TH0.2 TH0.1 TH0.0 TCON(0x88) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Set Interrupt requestclock division selection SYSCLK SYSCLK/2 CKCON(0x8E) WD1 WD0 WDFM T1M T0M 图 5-12 Timer 0 模式2 示意图 5.9.2.4. Timer 0:模式 3(两个 8-Bit 定时器) 在Mode3 下,Timer 0 的TL0 和 TH0 是两个独立的计数器。 图 5-13 Timer 0 模式 3 示意图给出了Mode3 下 Timer 0 的 示意图。TL0 使用 Timer 0 的控制位:TR0 和TF0。TH0 锁定为定 时器功能, 使用Timer 1 的TR1 和 TF1 标志位并控制 Timer 1 的中 断。Mode 3 满足了应用中需要一个额外 8-bit 定时/计数器的需求。 当Timer 0 工作在 Mode3 时,通过切换 Timer 1 到它自己的 Mode 3 来关闭Timer 1, 也可用作串口的波特率发生器, 或者不需要Timer 1 中断的任何应用中。 8-bit upper counter TL0(0x8A) TL0.7 TL0.6 TL0.5 TL0.4 TL0.3 TL0.2 TL0.1 TL0.0 TH0(0x8C) TH0.7 TH0.6 TH0.5 TH0.4 TH0.3 TH0.2 TH0.1 TH0.0 TCON(0x88) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8-bit upper counter Interrupt request Interrupt request clock division selection SYSCLK SYSCLK/2 CKCON(0x8E) WD1 WD0 WDFM T1M T0M 图 5-13 Timer 0 模式 3 示意图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.9.2.5. Timer 1:模式 0(13-Bit 定时器) 在该模式下,Timer 1 寄存器配置为 13-bit 寄存器。当计数从 全‘1’翻转为全‘0’时,Timer1 的中断标志 TF1 被置位。当 TR1(TCON[6]) = 1,Timer1 的计数输入使能。 13-bit 寄存器由 TH1 的全部 8 位和 TL1 的低 5 位组成。TL1 高 3 位的状态不定,可以忽 略不考虑。图 5-14 Timer 1 模式 0 示意图给出了模式 0 下 Timer1 的示意图。 clock division selection SYSCLK SYSCLK/2 CKCON(0x8E) WD1 WD0 WDFM T1M T0M 13-bit upper counter TL1(0x8B) TL1.7 TL1.6 TL1.5 TL1.4 TL1.3 TL1.2 TL1.1 TL1.0 TH1(0x8D) TH1.7 TH1.6 TH1.5 TH1.4 TH1.3 TH1.2 TH1.1 TH1.0 TCON(0x88) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Interrupt request 图 5-14 Timer 1 模式0 示意图 5.9.2.6. Timer 0:模式 3(16-Bit 定时器) 除了使用全部 16 位定时器寄存器之外, 模式1 与模式 0 相同。 图 5-15 Timer 1 模式1 示意图给出了模式 1 下 Timer1 的示意图 16-bit upper counter TL1(0x8B) TL1.7 TL1.6 TL1.5 TL1.4 TL1.3 TL1.2 TL1.1 TL1.0 TH1(0x8D) TH1.7 TH1.6 TH1.5 TH1.4 TH1.3 TH1.2 TH1.1 TH1.0 TCON(0x88) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Interrupt requestclock division selection SYSCLK SYSCLK/2 CKCON(0x8E) WD1 WD0 WDFM T1M T0M 图 5-15 Timer 1 模式1 示意图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.9.2.7. Timer 0:模式 3(带有自动重装功能的 8-Bit 定时器) 模式2 下, 定时器寄存器配置为自动重载的8-bit 计数器(TL1), 如图 5-16 Timer 1 模式 2 示意图所示。TL1 溢出时,不仅设置了 TF1,而且将 TH1 中的内容重载到 TL1 中,TH1 中的内容通过软 件设置。重载不会改变 TH1 的内容。 8-bit upper counter TL1(0x8B) TL1.7 TL1.6 TL1.5 TL1.4 TL1.3 TL0.2 TL1.1 TL1.0 TH1(0x8D) TH1.7 TH1.6 TH1.5 TH1.4 TH1.3 TH1.2 TH1.1 TH1.0 TCON(0x88) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Set Interrupt requestclock division selection SYSCLK SYSCLK/2 CKCON(0x8E) WD1 WD0 WDFM T1M T0M 图 5-16 Timer 1 模式2 示意图 5.9.2.8. Timer 0:模式 3(两个 8-Bit 定时器) Timer 1 在Mode3 时没有定时器功能。等效于设置TR1=0。 5.9.3. Timer 2 Timer 2 是一个 16-bit 的定时器。其额外的捕捉/重载特性是 芯片最强大的外设单元之一。可应用于事件捕捉,如脉冲发生器 和脉宽测量等。 图 5-17 Timer 2 比较捕捉功能示意图给出了Timer 2 的比 较和捕捉功能的示意图。 clock division SYSCLK SYSCLK/2 T2CON(0xC8) T2PS I3FR T2R T2CM T2I 16-bit upper counter T2IF(0xC9) CC3F CC1F CC0F TF2 TH2 TL2 16-bit comparator Input / Output Control CCL3/CCH3 16-bit comparator CCL1/CCH1 16-bit comparator CRCL/CRCH Compare Capture Compare0 Compare1 Compare3 Interrupt request CCL0/CCH0 图 5-17 Timer 2 比较捕捉功能示意图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.9.3.1. Timer 2 的定时器模式 在该模式下,计数频率来源于振荡器频率。一个预分频器提供 了对于振荡器频率 1 分频或者 2 分频的选择。这样,16-bit 定时寄 存器(由 TH2 和 TL2 组成) 既可以每 1 个时钟周期自加也可以每 2 个时钟周期自加。预分频器的选择由 T2CON 的 T2PS 位设置。 5.9.3.2. Timer 2 的重装功能 Timer 2 的重载模式由 T2CON 的 T2R 位选择。当 Timer 2 的 值从全‘1’翻转为全‘0’时,不仅TF2 标志位被设置,而且16-bit 的CRC 寄存器中的值被装载入 Timer 2 寄存器中。CRC 中的值预 先由软件设置。重载发生在 TF2 标志位被设置的同一个时钟周期 里,这样会覆盖计数值 0x0000。 TL2(0xCC) TL2.7 TL2.6 TL2.5 TL2.4 TL2.3 TL2.2 TL2.1 TL2.0 TH2(0xCD) TH2.7 TH2.6 TH2.5 TH2.4 TH2.3 TH2.2 TH2.1 TH2.0 CRCL(0xCA) CRCL.7 CRCL.6 CRCL.5 CRCL.4 CRCL.3 CRCL.2 CRCL.1 CRCL.0 CRCH(0xCB) CRCH.7 CRCH.6 CRCH.5 CRCH.4 CRCH.3 CRCH.2 CRCH.1 CRCH.0 16 - bit timer T2IF(0xC9) CC3F CC1F CC0F TF2 Timer2 interrupt request T2CON(0xC8) T2PS I3FR T2R T2CM0 T2I 图 5-18 Timer 2 重载功能示意图 5.9.3.3. Timer 2 的比较功能 存储在比较/捕捉寄存器中的 16-bit 值与定时器寄存器中的内 容相比较。如果定时器寄存器中的计数值与存储值一致,则在相应 的引脚上产生一个合适的输出信号,同时中断请求发生。比较寄存 器中的内容可以看作是一个时间标签,在这个时间标签点,会以预 定义的方式产生一个特定的输出(无论是正跳变或是负跳变)。这个 时间标签的变化会改变引脚上的矩形波输出信号的波形。 这种方式- 改变周期信号的占空比-可用于脉宽调制, 同时也可用于控制持续的 任意方波的产生。有两种比较模式可满足各种广泛应用的需求。比 较模式0 和比较模式1 由SFR 寄存器T2CON 的T2CM 位来选择。 在这两种比较模式下,P34/P20/P21/P2 端口上信号的改变与内部 比较信号的激活在同一时钟周期内发生。  比较模式 0 在比较模式 0,当定时器和比较寄存器的内容匹配时,输出信 号由低电平变高电平,并在定时器溢出时变回低电平。另 外, CMPO_INV 寄存器的 CMPO_INVEN[3:0]位也能控制 P34/P20/P22 的输 出极性。 图 5-19 Timer 2 比较模式 0 示意图给出了比较模式的端口 寄存器的功能示意图。P34/P20 /P22端口寄存器由两个信号直接控 制:定时器溢出和比较。  比较模式 1 在比较模式 1 下,由软件决定了输出信号的转换。通常用于输 出信号与一个固定的周期信号无关的情况下。在比较模式 1 下,可 以控制信号的两种转换。如果模式 1 使能,当 软件写入值到 P34/P20/P22 寄存器时,直至下一次比较匹配时新的数值才会出现 在输出引脚上。无论输出信号有新的转换或是保持原有的数值,用 户都可以选择这种方式。 图 5-20 Timer 2 比较模式 1 示意图给出了 Timer 2 在比较 模式1 下的功能图。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 TL2(0xCC) TL2.7 TL2.6 TL2.5 TL2.4 TL2.3 TL2.2 TL2.1 TL2.0 TH2(0xCD) TH2.7 TH2.6 TH2.5 TH2.4 TH2.3 TH2.2 TH2.1 TH2.0 16 - bit timer2 16-bit comparator Set Register P34P20P22 Compare Register CCx T2IF(0xC9) CC3F CC1F CC0F TF2 Reset Register Interrupt T2CON(0xC8) T2PS I3FR T2R T2CM T2I Only for CC0 Interrupt Q CMPO_INV(0xB9) CC3_INVEN CC1_INVEN CC0_INVEN 图 5-19 Timer 2 比较模式 0 示意图 TL2(0xCC) TL2.7 TL2.6 TL2.5 TL2.4 TL2.3 TL2.2 TL2.1 TL2.0 TH2(0xCD) TH2.7 TH2.6 TH2.5 TH2.4 TH2.3 TH2.2 TH2.1 TH2.0 16 - bit timer2 16-bit comparator Port Register Circuit Output Register P34P20P22 Compare Register CCx Interrupt Only for CC0 Interrupt Shadow Register T2IF(0xC9) CC3F CC1F CC0F TF2 T2CON(0xC8) T2PS I3FR T2R T2CM T2I 图 5-20 Timer 2 比较模式 1 示意图 5.9.3.4. Timer 2 的捕捉功能 比较/捕捉寄存器 CC1、CC3、CC0 中的每一个都可用来锁存 当前Timer 2 寄存器 TL2 和TH2 中的16-bit 值。 该功能有两种不同 给的模式。  捕捉模式 0 在模式 0 下,外部事件将 Timer 2 的内容锁存到指定的捕捉寄 存器中。引起捕捉的外部事件有:  对于 CC1 和 CC3 :引 脚 CAPTURE1~CAPTURE3 上的一个正跳变  对于CC0 寄存器:在引脚CAPTURE0 上的一个 正跳变或者负跳变,取决于 T2CON 的I3FR 位。 如果I3FR 标志被清除,负跳变产生捕捉;否则, 该引脚上的正跳变产生捕捉。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0  捕捉模式 1 在模式 1 下,对16-bit 捕捉寄存器的低字节(CCL)的写操作 将会产生捕捉。这种模式允许软件即时地读取 Timer 2 的内容。对 捕捉寄存器低字节的写入指令将产生捕捉。写寄存器信号(如写 CRCL) 用来启动捕捉。写入专用捕捉寄存器的值与该功能无关。 Timer 2 的内容将在写指令的下一个周期里被锁存进适当的捕捉寄 存器中。该模式下不会产生中断请求。图 5-21 CCL0 和 CCH0 的Timer2 捕捉模式 0 示意图和 图 5-22 CCLx 和CCHx (x=1,2,3) 的Timer2捕捉模式0示意 图给出了 Timer 2 捕捉功能的示意图。 TL2(0xCC) TL2.7 TL2.6 TL2.5 TL2.4 TL2.3 TL2.2 TL2.1 TL2.0 TH2(0xCD) TH2.7 TH2.6 TH2.5 TH2.4 TH2.3 TH2.2 TH2.1 TH2.0 CCL0(0xC0) CRCL.7 CRCL.6 CRCL.5 CRCL.4 CRCL.3 CRCL.2 CRCL.1 CRCL.0 CCH0(0xC1) CRCH.7 CRCH.6 CRCH.5 CRCH.4 CRCH.3 CRCH.2 CRCH.1 CRCH.0 16 - bit timer CAPTURE0 (P34) mode1 mode0 Input clock Write to CCL0 Capture Overflow Interrupt request T2IF(0xC9) CC3F CC1F CC0F TF2 T2CON(0xC8) T2PS I3FR T2R T2CM T2I 图 5-21 CCL0 和 CCH0 的Timer2 捕捉模式 0 示意图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 TL2(0xCC) TL2.7 TL2.6 TL2.5 TL2.4 TL2.3 TL2.2 TL2.1 TL2.0 TH2(0xCD) TH2.7 TH2.6 TH2.5 TH2.4 TH2.3 TH2.2 TH2.1 TH2.0 CCLx(0xC2,0xC6) CCLx.7 CCLx.6 CCLx.5 CCLx.4 CCLx.3 CCLx.2 CCLx.1 CCLx.0 CCHx(0xC3,0xC7) CCHx.7 CCHx.6 CCHx.5 CCHx.4 CCHx.3 CCHx.2 CCHx.1 CCHx.0 16 - bit timer CAPTUREx (CAPTURE1=P20) (CAPTURE3=P22) mode1 mode0 Input clock Write to CCLx Capture Overflow Interrupt request X=1,3 T2IF(0xC9) CC3F CC1F CC0F TF2 图 5-22 CCLx和 CCHx (x=1,2,3) 的Timer2 捕捉模式0 示意图 T2CON 地址: 0xC8 Timer2 配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 T2PS I3FR -- T2R -- T2CM -- T2I 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 T2PS R/W

预分频选择位 0 : SYSCLK; 1 : SYSCLK/2

6 I3FR R/W 比较模式 0 与捕捉模式 0 negative/positive transition 中断有效选择位。

比较0 功能: 0:比较 0 功能输出的负跳变能产生中断 1:比较 0 功能输出的正跳变能产生中断 捕捉0 功能: 0:CRC 寄存器的捕捉发生在 CAPTURE0 引脚的负跳变 1:CRC 寄存器的捕捉发生在 CAPTURE0 引脚的正跳变 5 -- R/W 预留

4 T2R R/W Timer2 自动重载模式使能位

3 -- R/W 预留

2 T2CM R/W 寄存器 CC 的比较模式选择位

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 0:选择比较模式 0 1:选择比较模式 1 1 -- R/W 预留

0 T2I R/W Timer2 输入选择位

0:没有输入选择,Timer 2 停止 1:定时器输入频率: SYSCLK (T2PS=0) SYSCLK/2 (T2PS=1) 表 5-71 T2CON 寄存器 CCEN 地址: 0xCE 比较/捕捉使能寄存器 Bit 7 6 5 4 3 2 1 0 功能 CM3[1:0] CM1[1:0] CM0[1:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 CM3[1:0] R/W CC3 寄存器的比较/捕捉模式 CM3 [1:0] = 00: 比较/捕捉禁用 CM3 [1:0] = 01: 在CAPTURE3 引脚的上升沿捕捉 CM3 [1:0] = 10: 比较使能 CM3 [1:0] = 11: 写CCL3 寄存器时捕捉 5:4 R/W 预留 3:2 CM1[1:0] R/W CC1 寄存器的比较/捕捉模式 CM1 [1:0] = 00:比较/捕捉禁用 CM1 [1:0] = 01: 在CAPTURE1 引脚的上升沿捕捉 CM1 [1:0] = 10:比较使能 CM1 [1:0] = 11: 写CCL1 寄存器时捕捉 1:0 CM0[1:0] R/W CC0 寄存器的比较/捕捉模式 CM0 [1:0] = 00:比较/捕捉禁用 CM0 [1:0] = 01: 在CAPTURE0 引脚的上升/下降沿捕捉 CM0 [1:0] = 10:比较使能 CM0 [1:0] = 11: 写CCL0 寄存器时捕捉 表 5-72 CCEN 寄存器 CMPO_INV 地址: 0xC9 Timer 2 中断标志寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- CC3_INVEN CC1_INVEN CC0_INVEN 默认 0 0 0 0 0 0 0 0

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

3 CC3_INVEN R/W P22 极性控制

2 -- R/W 预留

1 CC1_INVEN R/W P20 极性控制

0 CC0_INVEN R/W P34 极性控制

表 5-73 CMPO_INV 寄存器 T2IF 地址: 0xC9 Timer 2 中断标志寄存器 Bit 7 6 5 4 3 2 1 0 功能 CC3F CC1F CC0F -- -- -- TF2 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 CC3F R/W 比较捕捉 3 标志位,由软件清除

6 -- R/W 预留

5 CC1F R/W 比较捕捉 1 标志位,由软件清除

4 CC0F R/W 比较捕捉 0 标志位,由软件清除

3:1 -- R/W 预留

0 TF2 R/W Timer2 溢出标志,由软件清除

表 5-74 T2IF 寄存器 CCH 地址: 0xC1 Timer 2 CC 寄存器高字节 Bit 7 6 5 4 3 2 1 0 功能 CCH[15:8] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CCH[15:8] R/W Timer2 比较 0/捕捉 0 寄存器高字节 表 5-75 CCH 寄存器 CCL 地址: 0xC0 Timer 2 CC 寄存器低字节 Bit 7 6 5 4 3 2 1 0 功能 CCL[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CCL[7:0] R/W Timer2 比较0/捕捉 0 低字节 表 5-76 CCL 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 CCH1 地址: 0xC3 Timer 2 CC1 寄存器高字节 Bit 7 6 5 4 3 2 1 0 功能 CCH1[15:8] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CCH1[15:8] R/W Timer2 比较 1/捕捉 1 高字节 表 5-77 CCH1 寄存器 CCL1 地址: 0xC2 Timer 2 CC1 寄存器低字节 Bit 7 6 5 4 3 2 1 0 功能 CCL1[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CCL1[7:0] R/W Timer2 比较 1/捕捉 1 低字节 表 5-78 CCL1 寄存器 CCH3 地址: 0xC7 Timer 2 CC3 寄存器高字节 Bit 7 6 5 4 3 2 1 0 功能 CCH3[15:8] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CCH3[15:8] R/W Timer2 比较 3/捕捉 3 高字节 表 5-79 CCH3 寄存器 CCL3 地址: 0xC6 Timer 2 CC3 寄存器低字节 Bit 7 6 5 4 3 2 1 0 功能 CCL3[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CCL3[7:0] R/W Timer2 比较 3/捕捉 3 低字节 表 5-80 CCL3 寄存器 CRCH 地址: 0xCB CRC 寄存器高字节 Bit 7 6 5 4 3 2 1 0 功能 CRCH[15:8] 默认 0 0 0 0 0 0 0 0

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 7:0 CRCH[15:8] R/W CRC 高字节 表 5-81 CRCH 寄存器 CRCL 地址: 0xCA CRC 寄存器低字节 Bit 7 6 5 4 3 2 1 0 功能 CRCL[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CRCL[7:0] R/W CRC 低字节 表 5-82 CRCL 寄存器 TH2 地址: 0xCD Timer 2 寄存器高字节 Bit 7 6 5 4 3 2 1 0 功能 TH2[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 TH2[7:0] R/W Timer2 载入值高字节 表 5-83 TH2 寄存器 TL2 地址: 0xCC Timer 2 寄存器低字节 Bit 7 6 5 4 3 2 1 0 功能 TL2[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 TL2[7:0] R/W Timer2 载入值低字节 表 5-84 TL2 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.10. UART0 UART0 与标准8051 UART有着相同的功能。 串行口是全双工的, 意味着发送和接收能同时进行。双缓冲式的接收意味着在前一个接 收字节从接收寄存器中读出之前,能够开始接收第二个字节。 写入 SBUF0 将加载发送寄存器,读取 SBUF0 是读一个物理上独 立的接收寄存器。UART 模块的示意图如图 5-23 UART 模块示意图 所示。 串行口有4 种工作模式:1 种同步模式和 3 种异步模式。Mode 2 和 Mode 3 可以进行多机通信,该特点可由设置 SCON0 寄存器的 SM02 位来使能。 主机端首先发送一个地址字节来识别目标从机。 地 址字节不同于数据字节, 地址字节的第9 位是1, 而数据字节的第9 位是0。当 SM02 = 1时,数据字节不会导致任何从机中断,而地址 字节则会中断所有从机。被寻址的从机会清除 SM02 位,并准备接 收后续的数据。 没有被寻址的从机保留其SM02 的设置, 并忽略即将 传入的数据。 SMOD 0 & SMODE 1 UART Transmission control circuit UART Reception control circuit RXD(P30) TXD(P31) Mode 1 and Mode 3 SMOD 0 Mode 2 Mode 0 SYSCLK T1M ½ *(256-TH1) 1/(256-TH1) 图 5-23 UART模块示意图 5.10.1. UART0: 模式 0(同步移位寄存器) 该模式用作移位寄存器 IO 控制, 而并不是真正的通信。 波特率 固定在系统时钟频率的 12 分频,TXD0(P31) 输出是一个移位时钟。 8位数据按照LSB顺序传送, 通过设置SCON0的标志(RI0 =0 和REN0 =1)对接收端进行初始化。图 5-24 UART0 模式 0 发送时序图给出 了UART0 模式0 的发送时序图。 TXD0(P31) RXD0(P30) D0 D7D1 D2 D3 D4 D5 D6 图 5-24 UART0 模式0 发送时序图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.10.2. UART0: 模式 1(8-Bit UART, 可变波特率, Timer1 时钟源) 在模式 1 下, TXD0 作为串行输出。发送10 个位:一个起始位 (总是 0),8 个数据位(首先是 LSB )和一个停止位 (总是 1)。接收 时,起始位用来同步接收,8 位数据可通过读 SBUF0 获得,停止位 设置SFR SCON0的RB08 标志位。波特率是可变的,取决于 Timer 1 模式。PCON (0x87)的 SMOD0 和 SMOD1 位用来设置四种波特率: T1ov/2 、T1ov/4 、T1ov/16 、T1ov/64。图 5-25 UART0 模式1 的发 送时序图给出了 UART0 模式 1 的发送时序图。 TXD0(P31) D0 D7D1 D2 D3 D4 D5 D6START STOP 图 5-25 UART0 模式1 的发送时序图 5.10.3. UART0: 模式 2(9-Bit UART,固定波特率) 该模式与模式 1 类似,有两处不同。波特率固定在系统时钟频 率的1/32 或1/64,11 位的发送或接收:一个起始位(0),8 个数据 位(首先是 LSB),一个可编程的第9 位以及一个停止位(1)。第9 位 用来控制 UART0 接口的奇偶性: 发送时,SCON0 的 TB08 位作为第 9 位输出;接收时,第 9 位则影响 SCON0 的RB08。图 5-26 UART0 模式2 发送时序图给出了 UART0 模式 2 的发送时序图。 TXD0(P31) D0 D7D1 D2 D3 D4 D5 D6START STOPTB8 图 5-26 UART0 模式2 发送时序图 5.10.4. UART0: 模式 3(9-Bit UART, 可变波特率, Timer1 时钟源) 模式 2 和模式 3 的唯一区别是波特率在模式 3 下是可变的。 当 REN0 =1时使能数据接收。波特率是可变的且取决于 Timer 1模式, PCON (0x87)的 SMOD0 和 SMOD1 位用来设置四种波特率:T1ov/2 、 T1ov/4 、T1ov/16 、T1ov/64。图 5-27 UART0 模式3 的发送时序图 给出了 UART0 模式 2 的发送时序图。 TXD0(P31) D0 D7D1 D2 D3 D4 D5 D6START STOPTB8 图 5-27 UART0 模式3 的发送时序图 5.10.5. UART0 相关寄存器 UART0 相关的寄存器有: SBUF0(0x99) 、SCON0(0x98) 、 PCON(0x87)、IE(0xA8)和 IP(0xB8)。UART0 数据缓冲器(SBUF0) 由2 个独立的寄存器构成: 发送和接收寄存器。 写入SBUF0 中的数 据被作为为 UART0 输出寄存器中的数据并开始发送。读取SBUF0 中的数据,即读取 UART0 接收寄存器。 SBUF0 地址: 0x99 UART0 缓冲寄存器 Bit 7 6 5 4 3 2 1 0 功能 SBUF0[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 2:0 SBUF0[7:0] R/W UART 0 缓存 表 5-85 SBUF0 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 SCON0 地址: 0x98 UART0 配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 SM00 SM01 SM02 REN0 TB08 RB08 TI0 RI0 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 SM0[1:0] R/W 模式和波特率设置位,如下表所示 在模式 1,如果 SM02=0,RB08 是停止位 在模式 2 和模式 3 下,是第 9 个接收的数据位 表 5-79 SCON0 寄存器 SM00 SM01 模式 功能 波特率 0 0 0 移位寄存器 SYSCLK/12 0 1 1 8-bit UART 可变 1 0 2 9-bit UART SYSCLK/32(SMOD0=1) SYSCLK/64(SMOD0=0) 1 1 3 9-bit UART 可变 可变:模式 1 and 模式3(T1M=0) SMOD1 SMOD0 波特率 0 0 T1ov/64(T1ov=SYSCLK/(256-TH1)) 0 1 T1ov/16(T1ov=SYSCLK/(256-TH1)) 1 0 T1ov/4(T1ov=SYSCLK/(256-TH1)) 1 1 T1ov/2(T1ov=SYSCLK/(256-TH1)) 注意:如果 SMOD1=SMOD0=1,TH1 应该比0x10 大。 波特率设置举例(SYSCLK = 16MHz, T1M=0) 比特率 波特率 定时器重载设置(TH1) 实际比特率 误差(%) 4800 T1ov/16 0x30(48) 4807.69 0.16% 9600 T1ov/16 0x98(152) 9615.38 0.16% 19200 T1ov/16 0xCC(204) 19230.77 0.16% 38400 T1ov/16 0xE6(230) 38461.54 0.16% 57600 T1ov/2 0x75(117) 57553.96 -0.08% 115200 T1ov/2 0xBB(187) 115942.03 0.64%

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 波特率设置举例 (SYSCLK = 8MHz) 比特率 波特率 定时器重载设置(TH1) 实际波特率 误差(%) 4800 T1ov/16 0x98(152) 4807.69 0.16% 9600 T1ov/16 0xCC(204) 9615.38 0.16% 19200 T1ov/16 0xE6(230) 19230.77 0.16% 38400 T1ov/16 0xF3(243) 38461.54 0.16% 57600 T1ov/2 0xBB(187) 57971.01 0.64% 115200 T1ov/2 0xDD(221) 114285.71 -0.79% PCON 地址: 0x87 电源配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 SMOD0 SMOD1 CPU_IDLE PWE STOP_RST_EN -- STOP -- 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 0:IDLE 模式禁止 1:IDLE 模式使能 0:在 MOVX 指令期间,禁止 Flash 写有效 1:在 MOVX 指令期间,使能 Flash 写有效 0:唤醒后执行下一条指令 1:唤醒后程序复位 2 -- R/W 预留 0:禁止 1:使能 0 -- R/W 预留 表 5-80 PCON 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.11. SPI GPM8F3708B 内置有串行外设接口(SPI)控制器,用来与其它 芯片和器件进行通信。SPI 控制器包括 4 种主模式。SPI 有 4 个控 制信号,包括 SPI_CSB,SPI_CLK,SPI_TX 和 SPI_RX。当 SPI 模块由相应的控制位使能时,这 4 个引脚就不能为 GPIO 了。换句 话说,相应的GPIO 控制寄存器中的任何设置将无效。SPI 有如下 几个特点:  可编程的主时钟的相位和极性  可编程的主 SPI_CLK 时钟频率 在主模式下,移位时钟(SPI_CLK)由 SPI 模块产生。有 2 个控 制 位 用 来 控 制 时 钟 的 相 位 和 极 性 。SPI_START 置位 (SPICON[0]=1,0xFC)后发送立即开始。 在8 个SPI_CLK 周期里, 通过SPI_TX 引脚SPI 模块从MSB 到LSB 移位发送8-bit 的数据。 编程人员通过设置 SPI_RD =1 可以从 SPIRXD 控制寄存器中读取 SPI 数据。 如下4 个图描述了 SPI 主模式在不同工作类型(极性控制 有SYSCON1 寄存器、SPICON 寄存器、SPITXD 寄存器和SPIRXD 寄存器。 8 bit SPI_CLK SPI_TX SPI_CSB SPI_RX MSB LSB MSB LSB 图 5-28 主模式,POLARITY=0,PHASE=0 SPI_CLK SPI_TX SPI_CSB SPI_RX MSB LSB 8 bit MSB LSB 图 5-29 主模式,POLARITY=0,PHASE=1

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 SPI_CLK SPI_TX SPI_CSB SPI_RX MSB LSB 8 bit MSB LSB 图 5-30 主模式,POLARITY=1,PHASE=0 8 bit SPI_CLK SPI_TX SPI_CSB SPI_RX MSB LSB MSB LSB 图 5-31 主模式,POLARITY=1,PHASE=1 SYSCON1 地址: 0xAF 系统控制寄存器 1 Bit 7 6 5 4 3 2 1 0 功能 CTSDC -- -- SPIEN I2CEN -- -- CTSEN 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 CTSDC -- 双倍电流充电/放电选择

0:禁用; 1:使能 6:5 -- -- 预留

4 SPIEN R/W P1[7:4]作为SPI 信号脚使能

P1[4]: SPI_TX P1[5]: SPI_CLK P1[6]: SPI_RX P1[7]: SPI_CSB

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件

3 I2CEN R/W 设置P2[3:2]作为 I2C 使用

0: P2[3:2] 作为 GPIO 1: P2[3:2] 作为 I2C 引脚 2:1 -- -- 预留

0 CTSEN R/W 电容触碰传感器使能位

0:禁用; 1:使能 表 5-88 SYSCON1 寄存器 SPICON 地址: 0xFC SPI 控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 POLARITY PHASE SPI_CLK_SEL[1:0] CSB_KEEP -- SPI_RD SPI_START 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 POLARITY R/W SPI CLK 起始转态

0:低态; 1:高态

6 PHASE R/W SPI CLK 类型控制

0: 第一个边沿取样 1: 第二个边沿取样 5:4 SPI_CLK_SEL[1:0] R/W SPI 时钟输出选择: 00: SYSCLK/2 01: SYSCLK/4 10: SYSCLK/8 11: SYSCLK/16

3 CSB_KEEP R/W SPI CSB 保持低,高有效

2 -- -- 预留

1 SPI_RD R/W SPI 读命令,如果禁用 AUTO_RW,在 SPI 读之前,这一位

必须设置为‘1’

0 SPI_START R/W SPI 使能(W)/SPI 忙标志(R)

表 5-89 SPICON 寄存器 SPITXD 地址: 0xFD SPI 输出缓冲寄存器 Bit 7 6 5 4 3 2 1 0 功能 SPITXD[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 SPITXD R/W SPI 输出缓存 表 5-90 SPITXD 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 SPIRXD 地址: 0xFE SPI 输入缓冲寄存器 Bit 7 6 5 4 3 2 1 0 功能 SPIRXD[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 SPIRXD R/W SPI 输入缓存 表 5-91 SPIRXD 寄存器 5.12. I2C GPM8F3708B 配置了一个 I2C 接口。I2C 通信仅仅需要两条线 来实现 (SCK 和 SDA) 。 通过两条信号线, 一个串行数据线 (SDA), 一个串行时钟线(SCK) ,多主机I2C 总线控制器提供了一种机制, 来实现总线主机和外部设备之间的通信。 为了避免可能出现的混乱、 数据丢失和信息阻塞,主机和从机必须预先制定一个协议。在多主 机I2C 总线模式,多主机能够接收来自从机的数据或者传输数据到 从机。发起数据传输的主机有责任终结传输。可以把几台主机和几 台从机组合在一起,形成一个多机系统。如果超过一台主机同时试 图控制总线,总线仲裁将决定哪一个主机得到优先权。允许挂在总 线上的最大设备数由线上的最大允许电容(400pF)和16K 的协议 寻址限制决定。 5.12.1. I2C 总线协议 起始条件可以通过 SDA 线,传输一个字节的数据,停止条件 可以终止传输。“起始”条件是当 SCK 是高电平时,SDA 线上从高 到低的一个跳变。“停止”条件是当 SCK 是高电平时,SDA 线上从 低到高的一个跳变。起始和停止条件总是由主机产生。当起始条件 产生, I2C 总线处于忙状态。停止条件后几个时钟,I2C 总线处于 空闲转态。图 5-32 起始和停止条件给出了起始和停止条件。 I2CSDA I2CSCK Start Condition Stop Condition 图 5-32 起始和停止条件 当主机发布了一个起始条件,它应该发送一个从机地址来通知 从机。一个字节的地址区包含 7bit 的地址和一个 bit 的传输方向指 示符(也就是写或者读)。如果 bit8 是 0,表明是一个写操作(传 输操作);如果bit8 是1,表明是一个读数据的请求(接收操作)。 SDA 线上的每一个字节都应该是 8bit 长度的数据。 每次传输的字节 数是不受限制的, 起始条件后的第一个字节应该是地址数据。 当I2C 总线工作在主机模式, 它可以发送地址数据。 每一个字节传输完后, 应该跟随一个应答位(ACK)。数据和地址的最高有效位(MSB) 应该总是最先传送。完成一个字节的传输后,接收端应该发送一个 ACK 位给发送端。ACK 脉冲应该在 SCL 线的第九个时钟出现。传 输一个字节的数据需要 8 个时钟。主机应该产生传输 ACK 位所需 的时钟脉冲。图 5-33 7-bits 地址写模式和图 5-34 7-bits 地址 读模式给出了 I2C 的数据格式。 在主机模式,数据传输完后,I2C 总线接口将等待,直到挂起 中断被清除。在中断被清除前,SCK 线将保持低。中断被清除后, SCK 线将被释放。CPU 接收到中断请求后,应该在清除挂起中断 前,写入新的数据到 I2CDAT。在接收模式,接收到一个数据后, I2C 总线接口将等待, 直到挂起中断被清除。 在中断被清除前,SCK 线将保持低。中断被清除后,SCK 线将被释放。CPU 接收到中断 请求后,应该在清除挂起中断前,从 I2CDAT 读出新的数据。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 AS Slave Address 7 bits R/W DATA (1Byte) A P Start Condition Stop Condition “0” Write ACK from Receiver MSB MSB 图 5-33 7-bits 地址写模式 AS Slave Address 7 bits R/W DATA (1Byte) A P Start Condition Stop Condition “1” Read ACK from Receiver ACK from Master Data from Receiver MSB MSB 图 5-34 7-bits 地址读模式 5.12.2. 总线仲裁过程 SDA 线上的仲裁用来避免总线上的两个主机的竞争。 如果一个 SDA 是高电平的主机, 检测到另外一个主机把SDA 激活到低电平, 它将不发起数据传输,因为当前的总线电平不响应它自己。总裁过 程持续到 SDA 线转为高电平。然而当多个主机同时拉低 SDA 线, 每一个主机必须评估主机身份是否有分配给它自己。为了达到评估 的目的,每一个主机必须检测地址位。当每一个主机产生了从机地 址,主机应该检测SDA 线上的地址位,把SDA 线拉低比保持高电 平的主机更有效。举例来说,一个主机产生了一个低作为第一个地 址位,而另一台主机是保持高,在这种情况下,两个主机都检测总 线上的低,因为低比高更有效,即使第二个主机试图保持高。当这 种情况发生,产生低(作为地址的第一位)的主机将获得主机身份, 而产生高(作为地址的第一位)的主机将让出主机身份。如果两台 主机都产生低作为地址的第一位,将仲裁地址的第二位。仲裁将持 续进行直到地址的最后一位。 SYSCON1 地址: 0xAF 系统控制寄存器 1 Bit 7 6 5 4 3 2 1 0 功能 CTSDC -- -- SPIEN I2CEN -- -- CTSEN 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 0:禁用 1:使能 6:5 -- -- 预留 P1[4]: SPI_TX P1[5]: SPI_CLK P1[6]: SPI_RX P1[7]: SPI_CSB 0: P2[3:2] 作为 GPIO 1: P2[3:2] 作为 I2C 引脚 2:1 -- -- 预留

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 0:禁用 1:使能 表 5-81 SYSCON1 寄存器 I2CCON 地址: 0xDA I2C 控制寄存器 Bit 7 6 5 4 3 2 1 0 功能 ACKEN CLKSEL I2CIE I2CIF TXCLK[3:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 0:禁止ACK 产生;1:使能 ACK 产生 0: I2CCLK=SYSCLK/16 1: I2CCLK= SYSCLK /512 0: Disable 禁用 1: Enable 使能 I2C 总线中断出现: 1.当一个字节的数据传送或接收完成 2. 一个广播或者从机地址匹配 3.总线仲裁失败 3:0 TXCLK[3:0] R/W I2C 总线发送时钟预分频器 发送时钟频率由这 4bit 的预分频器值决定, 根据下面的公式计 TX clock = I2CCLK/(TXCLK[3:0]+1) 注意: 1. I2CCLK 由 CLKSEL 决定 表 5-82 I2CCON 寄存器 I2CSTS 地址: 0xDB I2C 状态寄存器 Bit 7 6 5 4 3 2 1 0 功能 I2CMOD[1:0] I2CBUSY OUTEN ARPSF SSF GCF ACKF 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 I2CMOD[1:0] R/W I2C 主机/从机 TX/RX 模式选择位 00 = 从机接收模式。 01 = 从机发送模式。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 10 =主机接收模式。 11 = 主机发送模式。 注意: 在下面两种情况下,I2C 模式将自动切换到从机接收模式 在从机模式,接收到 0x00 的地址 在主机模式,检测总线仲裁失败

5 I2CBUSY R/W 读:

I2C 忙信号状态标志位 0 = I2C 不忙 1 = I2C 忙 0: I2C 总线接口停止信号产生 a. I2C 总线接口起始信号产生 b.当主机处于活跃转态,如果由软件设置忙状态,一个重复的 起始条件将会在下一个 ACK 周期产生。

4 OUTEN R/W I2C 总线数据输出使能/禁止位

0 =禁止Rx/Tx 1 =使能Rx/Tx

3 ARPSF R I2C 总线仲裁过程状态标志位

0 =总线仲裁状态成功 1 =总线仲裁失败

2 SSF R I2C 总线从机地址状态标志位

0 = 起始/停止条件产生 1 = 接收到的从机地址匹配在 I2CADR 里的地址数值

1 GCF R I2C 0x00 地址状态标志位(广播)

0=起始/停止条件产生 1=接收到的从机地址是 0x00

0 ACKF R I2C 总线最后接收到的位状态标志位

0 = 最后接收到的位是‘0’(接收到 ACK) 1 = 最后接收到的位是‘1’(没有收到 ACK) 表 5-83 I2CSTS 寄存器 I2CADR 地址: 0xDC I2C 地址寄存器 Bit 7 6 5 4 3 2 1 0 功能 I2CADR [7:1] -- 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:1 I2CADR [7:1] R/W 7 位从机地址,锁存自 I2C 总线: 在任意时间都允许读 I2CADR 值 从机地址= [7:1] 没有映射= [0]

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 0 -- -- 预留 表 5-84 I2CADR 寄存器 I2CDAT 地址: 0xDD I2C 数据寄存器 Bit 7 6 5 4 3 2 1 0 功能 I2CDAT [7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 Data[7:0] R/W 8 位数据移位寄存器,配合 I2C TX/RX 的操作 在任意时间都可以读取 I2CDAT 表 5-85 I2CDAT 寄存器 I2CDEB 地址: 0xDE I2C 时钟去抖动寄存器 Bit 7 6 5 4 3 2 1 0 功能 I2CDEB [7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 I2CDEB [7:0] R/W De-bounce Clock 去抖动时钟 I2C 输入信号在每个去抖动周期后锁存。 1~256: 1~256 系统时钟周期 表 5-86 I2CDEB 寄存器 5.13. Timer A/B,用于电容触摸传感器 GPM8F3708B 有两个定时器,TimerA 和 TimerB,用于电容 触碰传感器,一个是12bit 的向上计数的计数器,一个16bit 的向 上计数的计数器。GPM8F3708B 有一个电容触碰传感器,它提 供了进行检测电容式感应、手势判断、行为决策的能力,可以提 高系统的操作性。 5.13.1. 电容测量方法 电容测量的方法是基于张弛振荡器方法。它产生一个用于测 量的振荡电压信号,这个信号的频率依赖于接到模块上的目标物 体的电容大小。基本的原理描述如下:  电容式传感器振荡在一定的频率, 这个频率取决于连 在感应电极上的电容。  当触碰出现在感应电极的附近时, 电容式传感器的振 荡频率会改变,因为触碰会改变电极的总电容。  电容式传感器的振荡频率改变被用来判断触碰是否 发生。 图 5-35 手指触碰和离开的时序状态图, 图 5-36 电容传感器 输出频率时序图(EN_TRI = “0”), 图 5-37 电容传感器三角波 输出频率时序图(EN_TRI = “1”),图 5-38 电容传感器框图给 出了相关的时序和示意图。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 图 5-35 手指触碰和离开的时序状态图 图 5-36 电容传感器输出频率时序图(EN_TRI = “0”) Touch Sensor W aveform VRH VRL TS_C K O C harge D ischarge C harge C harge C harge D ischarge D ischarge D ischarge 图 5-37 电容传感器三角波输出频率时序图(EN_TRI = “1”)

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Triangular Waveform Generator P05 P30 P34 P20 P00 TS_START EN_TRI VTOPSEL[0] VTOPSEL[1] CHSEL[0] CHSEL[1] CHSEL[2] CHSEL[3] TOUCHCON0(0xD3) ISEL[0] ISEL[1] ISEL[2] DLSEL[0] DLSEL[1] VRSEL[0] VRSEL[1] LPFSEL Channel Switch ~~~ P31 LPF CMP CMP REFSEL VRH VRL TS_CKO TOUCHCON1(0xD4) Regulator VDD_TCH TMA CTSCC[11:0] Register CTSRD[15:0] Register TMB Pre_load data Pre_load data SYSCLK Interrupt Flag Capture data P33 图 5-38 电容传感器框图 电容传感器提供了两种应用:自感式电容感应和互感式电容感应。图 5-39 自感式电容感应和互感式电容感应给出了应用框图。 图 5-39 自感式电容感应和互感式电容感应 SYSCON1 地址: 0xAF 系统控制寄存器 1 Bit 7 6 5 4 3 2 1 0 功能 CTSDC -- -- SPIEN I2CEN -- -- CTSEN 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 0:禁用 1:使能 6:5 -- -- 预留 P1[4]: SPI_TX P1[5]: SPI_CLK P1[6]: SPI_RX

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 P1[7]: SPI_CSB 0: P2[3:2] 作为 GPIO 1: P2[3:2] 作为 I2C 引脚 2:1 -- -- 预留 0:禁用 1:使能 表 5-87 SYSCON1 寄存器 CTSCON0 地址: 0xD3 电容触碰传感器控制寄存器 0 Bit 7 6 5 4 3 2 1 0 功能 CHSEL[3:0] VTOPSEL[1:0] EN_TRI TS_START 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 CHSEL[3:0] R/W 触碰通道选择 0000: 选择 P00 0001: 选择 P01 0010: 选择 P02 0011: 选择 P03 0100: 选择 P04 0101: 选择 P05 1000: 选择 P30 1001: 选择 P31 1010: 选择 P32 1011: 选择 P33 1100: 选择 P34 1101: 选择 P20 3:2 RVSEL[1:0] R/W 电容传感器 VDD 电压稳压器输出 00 : 3V 01 : 4.5V 1X : VDD

1 TRIEN R/W 0 :禁止三角波输出模式

1 :使能三角波输出模式

0 CTSST R/W 触碰传感器启动信号

表 5-88 CTSCON0 寄存器 CTSCON1 地址: 0xD4 电容传感器控制寄存器 1 Bit 7 6 5 4 3 2 1 0 功能 LPFSEL VRSEL[1:0] DLSEL[1:0] ISEL[2:0] 默认 0 0 0 0 0 0 0 0

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件

7 LPFSEL R/W 比较器的噪声滤波器(1 阶RC 滤波器)

0: 10MHz 1: 2MHZ 6:5 VRSEL[1:0] R/W 比较器的参考电压选择(VDD=3.0) 00: 2.0V / 1.0V 01: 2.25V / 0.75V 10: 2.5V / 0.5V 11: 2.75V / 0.25V 比较器的参考电压选择(VDD=4.0) 00: 3.0V / 1.3V 01: 3.375V / 1.125V 10: 3.75V / 0.75V 11: 4.25 / 0.375V 4:3 DLSEL[1:0] R/W 拉高和拉低的时间宽度 00: 420nSec 01: 217nSec 10: 163nSec 11: 112nSec 2:0 ISEL[2:0] R/W 充电和放电的电流选择 000: 0uA 001: 2.5uA 010: 5.0uA 011: 10uA 100: 25uA 101: 50uA 110: 100uA 111: 150uA * C_SYSCON1[7] = 1 ->充电和放电电流加倍 表 5-89 CTSCON1 寄存器 CTSCON2 地址: 0xD9 电容传感器控制寄存器 2 Bit 7 6 5 4 3 2 1 0 功能 MUCHSEL[5:0] MUTPOL MUTEN 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:2 MUCHSEL[5:0] R/W 互感式电容感应 IO 端口映射 MUCHSEL[5:3] = 000 : IO Port P0 MUCHSEL[5:3] = 001 : IO Port P1 MUCHSEL[5:3] = 010 : IO Port P2 MUCHSEL[5:3] = 011 : IO Port P3 MUCHSEL[2:0] = 000 : P[0:3]0; MUCHSEL[2:0] = 001 : P[0:1]1,P[3]1;

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 MUCHSEL[2:0] = 010 : P[0:2]2; MUCHSEL[2:0] = 011 : P[0:3]3; MUCHSEL[2:0] = 100 : P[0:1]4,P[3]4; MUCHSEL[2:0] = 101 : P[0:1]5; MUCHSEL[2:0] = 110 : P[1]6; MUCHSEL[2:0] = 111 : P[1]7;

1 MUTPOL R/W 互感式电容感应输出波形的极性调整

0 :负极性 1 :正极性

0 MUTEN R/W 互感式电容感应功能控制

0 : Disable 禁用 1 : Enable 使能 表 5-90 CTSCON2 寄存器 CTSCON3 地址: 0xDF 电容传感器控制寄存器 3 Bit 7 6 5 4 3 2 1 0 功能 MUTDEL_SEL[3:0] -- -- -- TSCGF 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 MUTDEL_SEL[3:0] R/W 互感式电容感应输出脚输出 TS_CKO 波形时的延时控制 0000 : X 0001 :延时 1 个系统时钟周期 0010 :延时 2 个系统时钟周期 0011 :延时 3 个系统时钟周期 0100 :延时 4 个系统时钟周期 0101 :延时 5 个系统时钟周期 0110 :延时 6 个系统时钟周期 0111 :延时 7 个系统时钟周期 1000 :延时 8 个系统时钟周期 1001 :延时 9 个系统时钟周期 1010 :延时 10 个系统时钟周期 1011 :延时 11 个系统时钟周期 1100 :延时 12 个系统时钟周期 1101 :延时 13 个系统时钟周期 1110 :延时 14 个系统时钟周期 1111 :延时 15 个系统时钟周期 3:1 -- R/W 预留

0 TSCGF R 读取TS_CKO 信号波形

表 5-91 CTSCON3 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 TMBCON 地址: 0xB2 Timer B 控制寄存器 Bit 7 6 5 4 3 2 1 0 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:6 -- R/W 预留 5:4 TMB_DIV[1:0] R/W TimerB 输入频率选择 00: SYSCLK/1 01: SYSCLK/16 10: SYSCLK/64 3:0 -- R/W 预留 表 5-92 TMBCON 寄存器 TMBIF 地址: 0xBA Timer B 中断标志寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- TMBOIF -- -- TMBIE 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

3 TMAOIF R/W TimerB 溢出标志

2: 1 -- R/W 预留

0 TMAIE R/W TimerB 中断使能位

表 5-93 TMBIF 寄存器 CTSCCL 地址: 0xB4 电容传感器充电计数器低字节 Bit 7 6 5 4 3 2 1 0 功能 CTSCCL[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CTSCCL R/W 电容触碰传感器充电计数器低字节 表 5-94 CTSCCL 寄存器 CTSCCH 地址: 0x9C 电容触碰传感器充电计数器高字节 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- CTSCCH[3:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 -- R/W 预留

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 3:0 CTSCH R/W 电容触碰传感器充电计数器高字节 表 5-95 CTSCCH 寄存器 CTSDL 地址: 0xBB CTS 数据寄存器的低字节 Bit 7 6 5 4 3 2 1 0 功能 CTSDL[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CTSDL R/W CTS 数据寄存器的低字节 表 5-96 CTSDATAL 寄存器 CTSDH 地址: 0xBC CTS 数据寄存器的高字节 Bit 7 6 5 4 3 2 1 0 功能 CTSDH [15:8] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CTSDH R/W CTS 数据寄存器的高字节 表 5-97 CTSDATAH 寄存器 CTSRDL 地址: 0xBD CTS 参考数据寄存器的低字节 Bit 7 6 5 4 3 2 1 0 功能 CTSRDL [7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CTSDDL R/W CTS 参考数据寄存器的低字节 表 5-98 CTSRDL 寄存器 CTSRDH 地址: 0xBE CTS 参考数据寄存器的高字节 Bit 7 6 5 4 3 2 1 0 功能 CTSRDH [15:8] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 CTSDDH R/W CTS 参考数据寄存器的高字节 表 5-99 CTSRDH 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.14. A/D 转换器 GPM8F3708B 内置了一个模数转换器(ADC), 提供一些诸如语 音记录以及其它模拟功能等通用应用。  8 通道,12-bit 精度(11-bit 无丢码) ADC  可编程采样保持时间,可编程 ADC 时钟功能 5.14.1. ADC 控制 GPM8F3708B 内置有 8 个通道的 12-bit SAR ADC,分别定义 为通用线路输入 P00、P01…P07。这 8 个通道非常适用于系统电 压侦测以及其它一些通用应用。此外,BITSEL 控制引脚可以选择 是用8-bit ADC 还是12-bit ADC。图 5-40 ADC 控制方框图和图 5-41 ADC 方框图给出了相关的时序和方块图。 ADCLK 2/4/8/16T > 10T(8 bit m ode) 14T(10 bit m ode) SHCLK READY ADEN ADCLK = SYSCLK/8 ~ SYSCLK/64 = 1T 图 5-40 ADC 控制方框图 ADC P11 P12 P13 P14 P15 P16 P17 Channel Switch VCC START ADC output data[11:0] P10 VSS VREG ADCFG(0xF3) Mode Switch Interrupt request Interrupt request WindowSwitch {ADLB, }<ADO <{ADUB, } ADO<{ADLB, } or ADO>{ADUB, } READY 8 bit m ode 12 bit m ode ADCON1(0xF2) '4h0 '4h0 4'h0 4'h0 P1_AEN0 P1_AEN1 P1_AEN2 P1_AEN3 P1_AEN4 P1_AEN5 P1_AEN6 P1_AEN7 ADAEN(0xEE) ADCLK[0] ADCLK[1] ADSH[0] ADSH[1] ADSEL[0] ADSEL[1] ADSEL[2] BITSEL OSSEL[0] OSSEL[1] ADCON0(0xF1) INT_WIN_F START PSIDLE AUTOMODE INT_RDY_EN INT_RDY_F INT_WIN_EN ADC_INT_OUT 图 5-41 ADC 方框图

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 5.14.2. ADC 相关寄存器 ADCON0 地址: 0xF1 ADC 控制寄存器 0 Bit 7 6 5 4 3 2 1 0 功能 INT_WIN_F INT_RDY_F ADC_INT_OUT INT_WIN_EN INT_RDY_EN AUTOMODE PSIDLE ADC_START 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 INT_WIN_F R/W 窗口检测标志,写 1 清除

6 INT_RDY_F R/W ADC 转换完成标志,写 1 清除

5 ADC_INT_OUT R/W ADC 输出窗口选择

0: ADC 输出在 ADLB 和ADUB 之间 1: ADC 输出不在 ADLB 和ADUB 之间

4 INT_WIN_EN R/W ADC 窗口中断使能

3 INT_RDY_EN R/W ADC 转换完成中断使能

2 AUTOMODE R/W 当设置为 1,ADC 处于自动模式转换

当设置位 0,ADC 处于直接模式转换

1 PSIDLE R/W IDLE 模式使能位 (暂停 CPU 时钟,ADC 开始装换)

0 START R/W ADC 开始转换控制位

表 5-100 DCON0 寄存器 ADCON1 地址: 0xF2 ADC 控制寄存器 1 Bit 7 6 5 4 3 2 1 0 功能 -- -- -- -- -- OSSEL[1:0] BITSEL 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:3 -- R/W 预留

1 OSSEL[1:0] R/W ADC 漂移调整

00 : +15mV 漂移@VDD=5V 01 : 0mV 漂移@VDD=5V 10 : -15mV 漂移@VDD=5V 11 : -21mV 漂移@VDD=5V

0 BITSEL R/W 0: 8-bit ADC;

1: 12-bit ADC 表 5-101 ADCON1 寄存器 ADCFG 地址: 0xF3 ADC 配置寄存器 Bit 7 6 5 4 3 2 1 0 功能 -- ADSEL[2:0] ADSH[1:0] ADCLK[1:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7 -- R/W 预留

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 6:4 ADSEL[2:0] R/W ADC 通道选择 000: 选择P10 001: 选择P11 010: 选择P12 011: 选择P13 100: 选择P14 101: 选择P15 110: 选择P16 111: 选择P17 3:2 ADSH[1:0] R/W ADC 采样保持周期 00: 2T 的ADCLK 01: 4T 的ADCLK 10: 8T 的ADCLK 11: 16T 的 ADCLK 1:0 ADCLK[1:0] R/W ADC 时钟选择 00: ADC 转换时钟= 2MHz (FOSC /8) 01: ADC 转换时钟= 1MHz (FOSC /16) 10: ADC 转换时钟= 500KHz (FOSC /32) 11: ADC转换时钟= 250KHz (FOSC /64) 表 5-102 ADCFG 寄存器 ADAEN 地址: 0xEE ADC 模拟脚位使能控制 Bit 7 6 5 4 3 2 1 0 功能 P1_AEN7 P1_AEN6 P1_AEN5 P1_AEN4 P1_AEN3 P1_AEN2 P1_AEN1 P1_AEN0 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件

7 P1_AEN7 R/W P17 模拟脚位使能控制位

0: PADP17 用作 IO 1: PADP17 用作模拟脚

6 P1_AEN6 R/W P16 模拟脚位使能控制位

0: P16 用作 IO 1: P16 用作模拟脚

5 P1_AEN5 R/W P15 模拟脚位使能控制位

0: P15 用作 IO 1: P15 用作模拟脚

4 P1_AEN4 R/W P14 模拟脚位使能控制位

0: P14 用作 IO 1: P14 用作模拟脚

3 P1_AEN3 R/W P13 模拟脚位使能控制位

0: P13 用作 IO 1: P13 用作模拟脚

2 P1_AEN2 R/W P12 模拟脚位使能控制位

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 0: P12 用作 IO 1: P12 用作模拟脚

1 P1_AEN1 R/W P11 模拟脚位使能控制位

0: P11 用作 IO 1: P11 用作模拟脚

0 P1_AEN0 R/W P10 模拟脚位使能控制位

0: P10 用作 IO 1: P10 用作模拟脚 表 5-103 ADAEN 寄存器 ADOL 地址: 0xF4 ADC 输出寄存器低字节 Bit 7 6 5 4 3 2 1 0 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:4 ADOL[3:0] R/W ADC 输出数据[3:0] 3:0 -- R/W 预留 表 5-104 ADOL 寄存器 ADOH 地址: 0xF5 ADC 输出数据寄存器高字节 Bit 7 6 5 4 3 2 1 0 功能 ADOH[11:4] 默认 Bit 功能 类型 描述 条件 7:0 ADOH[11:4] R/W ADC 输出数据[11:4] 表 5-105 ADOH 寄存器 ADLB 地址: 0xF6 ADC 下边沿寄存器 Bit 7 6 5 4 3 2 1 0 功能 ADLB[7:0] 默认 0 0 0 0 0 0 0 0 Bit 功能 类型 描述 条件 7:0 ADLB R/W ADC 下边沿,和 ADC[11:4]比较 表 5-106 ADLB 寄存器 ADUB 地址: 0xF7 ADC 上边沿寄存器 Bit 7 6 5 4 3 2 1 0 功能 ADUB[7:0] 默认 0 0 0 0 0 0 0 0

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 Bit 功能 类型 描述 条件 7:0 ADUB R/W ADC 上边沿,和 ADC[11:4]比较 表 5-107 ADUB 寄存器

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 6. 电气特性 6.1. DC 特性 6.1.1. DC 特性(VDD = 5V, TA = 25℃) 特性 符号 明细表 单位 测试条件 最小值 典型值 最大值 工作电压 VDD 1.8 5 5.5 V 工作电流 IOP - 5 8 mA FCPU = 16MHz @ 5.5V, no load 待机电流 ISTBY - - 3.0 uA VDD = 5.5V, TKEY disabled and LVR disabled - - 5.0 uA VDD = 5.5V, TKEY enabled and LVR disabled - - 7.0 uA VDD = 5.5V, LVR enabled and TKEY disabled - - 8.0 uA VDD = 5.5V, TKEY enabled and LVR enabled 输入高电压 VIH 0.7VDD - - V VDD = 5.0V 输入低电压 VIL - - 0.3VDD V VDD = 5.0V 输出高电压 VOH 0.8VDD - - V IOH > -12mA at VDD = 5.0V 输出低电压 VOL - - 0.2VDD V IOL > 12mA at VDD = 5.0V 输入上拉电阻 RPH 30 50 70 KΩ VDD =5.0V 输入下拉电阻 RPL 30 50 70 KΩ VDD = 5.0V 低电压复位 VLVR 1.9×(1-5%) 1.9 1.9×(1+5%) V 低电压检测 VLVD 2.3/2.5/3.3/3.5× (1-5%) 2.3/2.5/ 3.3/3.5 2.3/2.5/3.3/3.5× (1+5%) V Flash 写电压 VFW VLVR - - V 6.1.2. DC 特性(VDD = 5V, TA = 25℃) DC 特性(VDD = 5V, TA = 25℃) 特性 符号 明细表 单位 测试条件 最小值. 典型值 最大值 工作电压 VDD 1.8 5 5.5 V 工作电流 IOP - 5 8 mA FCPU = 16MHz @ 5.5V, no load 待机电流 ISTBY - - 3.0 uA VDD = 5.5V, TKEY disabled and LVR disabled - - 5.0 uA VDD = 5.5V, TKEY enabled and LVR disabled - - 7.0 uA VDD = 5.5V, LVR ena bled and TKEY disabled - - 8.0 uA VDD = 5.5V, TKEY enabled and LVR enabled 输入高电压 VIH 0.7VDD - - V VDD = 5.0V 输入低电压 VIL - - 0.3VDD V VDD = 5.0V 输出高电压 VOH 0.8VDD - - V IOH > -12mA at VDD = 5.0V 输出低电压 VOL - - 0.2VDD V IOL > 12mA at VDD = 5.0V

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 DC 特性(VDD = 5V, TA = 25℃) 特性 符号 明细表 单位 测试条件 最小值. 典型值 最大值 输入上拉电阻 RPH 30 50 70 KΩ VDD =5.0V 输入下拉电阻 RPL 30 50 70 KΩ VDD = 5.0V 低电压复位 VLVR 1.9×(1-5%) 1.9 1.9×(1+5%) V 低电压检测 VLVD 2.3/2.5/3.3/3.5× (1-5%) 2.3/2.5/ 3.3/3.5 2.3/2.5/3.3/3.5× (1+5%) V Flash 写电压 VFW VLVR V 6.2. AC 特性(TA = 25℃) 特性 符号 明细表 单位 测试条件 最小值 典型值 最大值 INOSC 频率 FOSC 16×(1-1.5%) 16 16×(1+1.5%) MHz VDD = 2.0~5.5V

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 7. 应用电路

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 8. 封装/脚位 8.1. 订购信息 Product Number Package Type GPM8F3708B – HS101 SOP24 GPM8F3708B – HS031 SOP16 8.2. 封装信息 8.2.1. SOP24 封装信息 符号 毫米 最小 标准 最大. A 0.093 0.099 0.104 A1 0.004 -- 0.012 D 0.599 0.600 0.614 E 0.291 0.295 0.299 H 0.394 0.406 0.419 L 0.016 0.035 0.050 θ° 0° -- 8°

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 8.2.2. SOP16 封装信息 符号 英寸 最小 最大 A 0.053 0.069 A1 0.004 0.010 D 0.386 0.394 E 0.150 0.157 H 0.228 0.244 L 0.016 0.050 θ° 0° 8°

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 9. 免责条款 本文件所载信息据信均为正确无误。 凌通技所出售之集成电路仅受销售条件中所规定担保及专利赔偿条款之规范。 凌通科技对于本文件所载之信息或本文件所述芯片无侵害 他人专利之情事,不负任何明示、法定默示或叙述性之担保。另,不论为何目的使用,凌通科技不保证其市场性及适合性。凌通科技保留随 时暂停生产或变更规格及价格之权利,而无须为任何通知。兹此敬告本文件阅读者于发出订单前应确认本文件所载数据表及其他信息系符合 现况。本文件所述产品系拟为一般商业应用之使用。涉及特殊环境或可靠性要求之应用,例如军事设备或医疗维生设备等,未经凌通科技就 此等应用目的另行处理时,特别不建议之。敬请注意本文件所述应用电路仅系供参考之用。

© 凌通科技股份有限公司 版权所有 2014 年12 月30 日 版本: 1.0 10. 版本信息 日期 版本号 描述 页数 2014 年12 月30 日 1.0 修改 93 2012 年 7 月 26 日 0.1 初版 88