FOSVOS TEL: 021-58998693 SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 产品目录 ...................................................................................................................................................................... 3 描述 ............................................................................................................................................................................. 3 订货信息 ...................................................................................................................................................................... 3 特征 ............................................................................................................................................................................. 3 各封装引脚配置 ........................................................................................................................................................... 4 系统方框图 .................................................................................................................................................................. 6 管脚描述 ...................................................................................................................................................................... 7 特殊功能寄存器(SFR) .................................................................................................................................................. 8 功能描述 .................................................................................................................................................................... 12 1. 总特征 ............................................................................................................................................................... 12 1.1 嵌入式程序存储器 ..................................................................................................................................... 12 1.2 IO 口 ......................................................................................................................................................... 12 1.3 指令时钟周期选择 ..................................................................................................................................... 12 1.4 时钟输出选择 ............................................................................................................................................ 13 1.5 复位 .......................................................................................................................................................... 13 1.6 时钟源....................................................................................................................................................... 15 2. 指令设置............................................................................................................................................................ 16 3. 存储器结构 ........................................................................................................................................................ 20 3.1 程序存储器 ................................................................................................................................................ 20 3.2 数据存储器 ................................................................................................................................................ 21 3.3 数据内存-低 128 字节(00H TO 7FH) ............................................................................................................. 21 3.4 数据存储器-高 128 字节(80H TO FFH) ......................................................................................................... 21 3.5 存储器-扩展的 256 字节($00 到 $FF) ......................................................................................................... 21 4. CPU 结构 .......................................................................................................................................................... 22 4.1 累加器....................................................................................................................................................... 22 4.2 B 寄存器.................................................................................................................................................... 22 4.3 程序状态字 ................................................................................................................................................ 23 4.4 堆栈指针 ................................................................................................................................................... 23 4.5 数据指针 ................................................................................................................................................... 23 4.6 数据指针 1 ................................................................................................................................................ 24 4.7 时钟控制寄存器 ......................................................................................................................................... 24 4.8 接口控制寄存器 ......................................................................................................................................... 25 5. GPIO 管脚型态 .................................................................................................................................................. 26 6. 定时器 0 和定时器 1........................................................................................................................................... 28 6.1 定时器/计数器模式控制寄存器(TMOD) ...................................................................................................... 28 6.2 定时/计数控制寄存器(TCON) ..................................................................................................................... 29 6.3 定时器输入频率控制寄存器 ....................................................................................................................... 29 6.4 模式 0 (13 位定时/计数) ............................................................................................................................. 30 6.5 模式 1 (16 位定时/计数) ............................................................................................................................. 31 6.6 模式 2 (8 位自动重载定时/计数) ................................................................................................................. 31 6.7 模式 3 (两个独立 8 位定时/计数(仅定时器 0)).............................................................................................. 32 7. 定时器 2 以及捕捉/比较单元............................................................................................................................... 32 7.1 定时器 2 功能 ............................................................................................................................................ 35 7.2 比较功能 ................................................................................................................................................... 36 7.3 捕获功能 ................................................................................................................................................... 38 8. 串行接口 0 ......................................................................................................................................................... 39 8.1 串行接口由以下 4 种模式可以设置 ............................................................................................................. 40 8.2 串行接口的多重机通讯 .............................................................................................................................. 42 8.3 输入频率控制寄存器 .................................................................................................................................. 42 8.4 波特率发生器 ............................................................................................................................................ 42 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -1- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 9. 看门狗定时器..................................................................................................................................................... 44 10. 中断 .............................................................................................................................................................. 48 10.1 优先权配置 ................................................................................................................................................ 51 11. 电源管理单元 ................................................................................................................................................ 53 11.1 待机模式(空闲模式) ................................................................................................................................... 53 11.2 停止模式 ................................................................................................................................................... 53 12. 脉宽调制器(PWM) ......................................................................................................................................... 54 13. IIC 功能 ......................................................................................................................................................... 57 14. SPI 功能 ........................................................................................................................................................ 62 15. KBI –键盘接口 ............................................................................................................................................... 67 16. LVI –低压侦测中断......................................................................................................................................... 70 17. 10 位模拟数字转换器(ADC) ........................................................................................................................... 71 18. 在系统编程(INTERNAL ISP) .......................................................................................................................... 75 18.1 ISP 服务程序 ............................................................................................................................................. 75 18.2 锁定位(N) .................................................................................................................................................. 75 18.3 对 ISP 服务程序编程.................................................................................................................................. 76 18.4 启动 ISP 服务程序 ..................................................................................................................................... 76 18.5 ISP 寄存器– TAKEY, IFCON, ISPFAH, ISPFAL, ISPFD AND ISPFC ............................................................. 76 19. 比较器(COMPARATOR) ................................................................................................................................ 80 工作环境 .................................................................................................................................................................... 83 DC 电气特性 .............................................................................................................................................................. 83 ADC 电气特性 ............................................................................................................................................................ 85 COMPARATOR 电气特性........................................................................................................................................... 85 LVI& LVR 电气特性 .................................................................................................................................................... 86 FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -2- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 产品目录 特征 SM39R16A3U20, SM39R16A3U16, SM39R16A3U14, OB39 R16A3U20, OB39R16A3U16, OB39 R16A3U14, 描述 原来的 8052 有 12 时钟结构,一个机器周期需要 12 个时 钟,大多数指令是一个或两个机器周期.因此,除了乘和除 指令, 8052 的每个指令使用 12 或 24 个时钟,此外,8052 中 的每个周期用了两个记忆提取.在许多情况下,第二个是假 的提取,和额外的时钟被浪费了 该 SM39R16A3 是一个快速的单芯片 8 位微控制器内核. 这是一个全功能的 8 位嵌入式控制器,执行所有 ASM51 指令,具有与 MCS - 51 相同的指令设置 订货信息 SM39R16A3ihhkL yymmv i: 工艺标志{ U = 1.8V ~ 5.5V} hh: 封装脚位 k: 封装形式后缀{as table below } L: 无铅标志 {无文字即含铅,”P” 即无铅} yy: 年 mm: 月 v: 版本标志{ A, B,…} Tel:021-58998693 Postfix N S O G Package PDIP (300 mil) SOP (300 mil) SOP (150 mil) SSOP (150 mil) 工作电压: 1.8V ~ 5.5V 高速 1T 架构,最高可达 25MHz 1~8T 模式可使用软件编程 指令设置兼容 MCS-51 内置 22.1184MHz RC 振荡器,及可程序化的分频器 16KB 字节的片上闪存程序存储器 512B 字节的标准的 8052 RAM 双 16-bit 数据指针 (DPTR0&DPTR1) 一个全双工通信的串行接口.附加波特率产生器 三个 16-bit 的定时器/计数器(计时器 0,1,2) 12 ~18 GPIOs(14L~ 20L 封装脚位),GPIOs 可选择 四种型态(准双向口、推挽、开漏、只输入),默认准 双向口(上拉) 具有四级优先权的外部中断 0&外部中断 1 可编程的看门狗定时器(WDT) 一个 IIC 接口(主/从机模式) 一个 SPI 接口(主/从机模式) 4 路 10bit 脉宽调制(PWM) 4 路 16bit 比较(PWM)/捕获/重载功能 7 路 10bit 模拟数字转换(ADC)加上 1 路通道 0 链 接内部 Vref 片上内建比较器 片上闪存存储器支持 ISP/IAP/ICP 及 EEPROM 功能 ISP 服务程序存储空间设置为 N*128 byte (N=0 to 8) 片上在线仿真功能(ICE)及片上在线调试功能(OCD) 键盘接口(KBI) 共 4 个的中断源 ALE 输出选择 低电压中断/低电压复位(LVI/LVR ) 管脚 ESD 性能超过 4KV 增强用户代码保护 电源管理单元空闲及掉电模式 FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -3- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 各封装引脚配置 20 Pin PDIP/SOP/SSOP 1 20 P0.1/KBI1/ADC1/Cmp1NIn PWM1/MOSI/CC2/P1.7 2 19 P0.2/KBI2/ADC2/Cmp1PIn PWM0/MISO/CC1/P1.6 3 18 P0.3/KBI3/T2/ADC3/Cmp0NIn RST/P1.5 4 17 P0.4/ADC4/Cmp0PIn VSS 5 16 P0.5/ADC5/CC0/PWM2 OSC_IN/XTAL1/P3.1 6 15 VDD CLKOUT/XTAL2/P3.0 7 14 P0.6/ADC6/Cmp0Out SS/INT1/P1.4 8 13 P0.7/T1/ADC7/CC3/PWM3 OCISDA/IICSDA/INT0/P1.3 9 12 P1.0/TXD OCISCL/IICSCL/T0/P1.2 10 11 P1.1/RXD/T2EX 16 P0.3/KBI3/T2/ADC3/Cmp0NIn 15 P0.4/ADC4/Cmp0PIn 14 P0.5/ADC5/CC0/PWM2 13 VDD 12 P0.6/ADC6/Cmp0Out 11 P0.7/T1/ADC7/CC3/PWM3 10 P1.0/TXD 9 P1.1/RXD/T2EX SM39R16A3 yymmv (20 Pin Top View) Cmp1Out/SPICLK/KBI0/P0.0 16 Pin PDIP/SOP 1 RST/P1.5 2 VSS 3 OSC_IN/XTAL1/P3.1 4 CLKOUT/XTAL2/P3.0 5 SS/INT1/P1.4 6 OCISDA/IICSDA/INT0/P1.3 7 OCISCL/IICSCL/T0/P1.2 8 SM39R16A3 yymmv (16 Pin Top View) PWM0/MISO/CC1/P1.6 FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -4- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 14 Pin PDIP/SOP 1 PWM0/MISO/CC1/P1.6 2 RST/P1.5 3 VSS 4 OSC_IN/XTAL1/P3.1 5 CLKOUT/XTAL2/P3.0 6 OCISDA/IICSDA/INT0/P1.3 7 SM39R16A3 yymmv (14 Pin Top View) PWM1/MOSI/CC2/P1.7 14 P0.0/KBI0/SPICLK/Cmp1Out 13 P0.1/KBI1/ADC1/Cmp1NIn 12 P0.2/KBI2/ADC2/Cmp1PIn 11 VDD 10 P1.0/TXD 9 P1.1/RXD/T2EX 8 P1.2/IICSCL/T0/OCISCL 附注:出厂默认值注意事项 (1) 管脚 RST/P1.5 于出厂时设置为一般双向 I/O(P1.5)脚,若使用者需切换为复位脚可于刻录时将此管脚定义为 RESET 脚 (2) 2. 为避免偶然的情况下误入 ISP 刻录状态(参考第 18.4 单元),在上电时请确保没有连续的脉冲信号在管脚 RXD P1.1 及管脚 P1.6 必须置高,可于刻录时 (3) 3. OSI_SDA/P1.3 及 OCI_SCL/P1.2 于复位期间为 ICP 刻录功能管脚,复位完成后切换成双向 I/O. FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -5- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 UART ADC IIC SRAM 512Bytes XTAL2 XTAL1 SPI_MISO SPI_MOSI SPI_CLK SPI_SS PWM IIC_SCL IIC_SDA Cmp0 Cmp1 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 PWM0 PWM1 PWM2 PWM3 MAX810 Cmp0PIn/Cmp1PIn Cmp0NIn/Cm1NIn Cmp0Out/Cmp1Out RESET TXD RXD 系统方框图 SPI Port 0 Port 0 Port 1 Port 1 Port 3 Port 3 Timer 0/1 T0 T1 Flash 16K Bytes CPU Watchdog Interrupt ICE ICP CC0~CC3 T2 T2EX OCI_SCL (share with IIC) OCI_SDA (share with IIC) Interface control Timer2 & CCU FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -6- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 管脚描述 代号 P0.0/KBI0/ SPICLK/ADC0/ CMP1Out I/O 1 P1.7/CC2/MOSI/PWM1 I/O 1 2 P1.6/CC1/MISO/PWM0 I/O 4 5 6 7 8 2 3 4 5 6 3 4 5 6 - I/O I I/O I/O I/O 9 7 7 10 8 8 P1.5/RST VSS P3.1/XTAL1/OSC_IN P3.0/XTAL2/CLKOUT P1.4/INT1/SS P1.3/INT0/ IICSDA/OCISDA P1.2/T0/IICSCL/ OCISCL 11 9 9 P1.1/RXD/T2EX I/O 12 10 10 I/O 13 11 - 14 15 12 13 11 P1.0/TXD P0.7/T1/ADC7/ CC3/PWM3 P0.6/ADC6/CMP0Out VDD 16 14 - P0.5/ADC5/CC0/PWM2 I/O 17 15 - I/O 18 16 - 19 - 12 P0.4/ADC4/ CMP0PIn P0.3/KBI3/T2/ ADC3/CMP0NIn P0.2/KBI2/ADC2/ CMP1PIn 20 - 13 20L 16L 14L 1 - 14 2 - 3 P0.1/KBI1/ADC1/ CMP1NIn I/O I/O I/O I/O I/O I I/O I/O I/O 描述 P0口的位0 & 键盘接口中断0 & SPI 接口时钟&模数转换通 道0 &比较器1输出 P1口的位7 &计时器2及捕获/比较单元通道2& SPI 接口串 行数据线主输出或从输入口&宽脉调制通道1 P1口的位6 &计时器2及捕获/比较单元通道1& SPI 接口串 行数据线主输入或从输出口&宽脉调制通道0 P1口的位5 &复位 供电电源地 P3口的位1 &晶振输入&外部振荡器输入 P3口的位0 &晶振输出&时钟输出 P1口的位4 &外部中断1& SPI 接口从机跳线 P1口的位3 &外部中断0 & IIC 串行数据线 & ICE和 ICP 功 能的指令及数据输入 P1口的位2 &计时器0外部输入& IIC 串行时钟线 & ICE和 ICP 功能的时钟输入 P1口的位1 & 串行接口通道接收/发送数据 & 计时器2捕捉 触发及捕获触发器 P1口的位0 &串行接口通道数据传输或接收模式0时钟 P0口的位7 &计时器1外部输入&模数转换通道7 &计时器2 及捕获/比较单元通道3 &宽脉调制通3 P0口的位6 & 模数转换通道6 &比较器0输出 数位电源电压 P0口的位5 & 模数转换通道5 &计时器2及捕获/比较单元通 道0 &宽脉调制通道2 P0口的位4 & 模数转换通道4 & 比较器0非反向输入 P0口的位3 & 键盘接口中断3 & 计时器2外部输入时钟 &模 数转换通道3 & 比较器0反向输入 P0口的位2 & 键盘接口中断2 & 模数转换通道2 & 比较器1 非反向输入 P0口的位0 & 键盘接口中断1 & 模数转换通道1 & 比较器1 反向输入 FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -7- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 特殊功能寄存器(SFR) 特殊功能寄存器分布图如下所示: Hex\Bin F8 X000 X001 X010 X011 X100 X101 X110 X111 IICS IICCTL IICA1 IICA2 IICRWD IICEBT CMP0CON CMP1CON F0 E8 E0 D8 B SPIC1 SPIC2 SPITXD SPIRXD SPIS OPPIN TAKEY ACC ISPFAH PFCON ISPFAL P3M0 ISPFD P3M1 ISPFC LVC SWRES D0 C8 C0 PSW T2CON IRCON CCEN2 CCCON CCEN P0M0 CRCL CCL1 P0M1 CRCH CCH1 B8 IEN1 IP1 SRELH P1M0 TL2 CCL2 PWMD0 H B0 P3 A8 A0 98 IEN0 SCON PWMD2 H IP0 RSTS SBUF 90 88 80 Hex\Bin P1 TCON P0 X000 AUX TMOD SP X001 PWMD2L SRELL PWMD3 H ADCC1 TL0 DPL X010 F7 EF E7 DF P1M1 TH2 CCH2 PWMMDH CCL3 PWMMDL CCH3 D7 CF C7 PWMD0L PWMD1H PWMD1L BF PWMD3L PWMC WDTC WDTK B7 ADCC2 ADCDH ADCDL ADCCS AF A7 9F KBE TH0 DPL1 X100 KBF TH1 DPH1 X101 KBD CKCON IRCON2 IFCON PCON X111 97 8F 87 Bin/Hex IEN2 KBLS TL1 DPH X011 Bin/Hex FF X110 注:SM39R16A3 特殊功能寄存器的重置值在下表描述 寄存器 地址 重置值 描述 SP ACC 81h E0h 07h 00h Stack Pointer Accumulator PSW B DPL DPH DPL1 DPH1 AUX D0h F0h 82h 83h 84h 85h 91h 00h 00h 00h 00h 00h 00h 00h Program Status Word B Register Data Pointer 0 low byte Data Pointer 0 high byte Data Pointer 1 low byte Data Pointer 1 high byte Auxiliary register PCON CKCON 87h 8Eh 00h 10h Power Control Clock control register 00h 00h Interrupt Request Control Register Interrupt Request Control Register 2 SYSTEM INTERRUPT & PRIORITY IRCON IRCON2 C0h 97h Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -8- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 寄存器 地址 重置值 描述 IEN0 IEN1 IEN2 IP0 A8h B8h 9Ah A9h 00h 00h 00h 00h Interrupt Enable Register 0 Interrupt Enable Register 1 Interrupt Enable Register 2 Interrupt Priority Register 0 IP1 B9h 00h Interrupt Priority Register 1 KBLS 93h 00h Keyboard level selector Register KBE KBF KBD 94h 95h 96h 00h 00h 00h Keyboard input enable Register Keyboard interrupt flag Register Keyboard interface De-bounce control register 87h 91h 98h 99h AAh BAh D9h 00h 00h 00h 00h 00h 00h 00h Power Control Auxiliary register Serial Port, Control Register Serial Port, Data Buffer Serial Port, Reload Register, low byte Serial Port, Reload Register, high byte Peripheral Frequency control register ABh ACh ADh AEh AFh 00h 00h 00h 00h 00h ADC Control 1 Register ADC Control 2 Register ADC data high byte ADC data low byte ADC clock select A1h B6h B7h F7h 00h 04h 00h 00h Reset status register Watchdog timer control register Watchdog timer refresh key. Time Access Key register B5h BCh BDh BEh BFh B1h B2h B3h B4h CEh CFh 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h FFh PWM control register PWM channel 0 data high byte PWM channel 0 data low byte PWM channel 1 data high byte PWM channel 1 data low byte PWM channel 2 data high byte PWM channel 2 data low byte PWM channel 3 data high byte PWM channel 3 data low byte PWM Max Data Register, high byte. PWM Max Data Register, low byte. KBI UART PCON AUX SCON SBUF SRELL SRELH PFCON ADC ADCC1 ADCC2 ADCDH ADCDL ADCCS WDT RSTS WDTC WDTK TAKEY PWM PWMC PWMD0H PWMD0L PWMD1H PWMD1L PWMD2H PWMD2L PWMD3H PWMD3L PWMMDH PWMMDL Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 -9- SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 寄存器 地址 重置值 描述 TCON TMOD TL0 TL1 TH0 TH1 88h 89h 8Ah 8Bh 8Ch 8Dh 00h 00h 00h 00h 00h 00h Timer/Counter Control Timer Mode Control Timer 0, low byte Timer 1, low byte Timer 0, high byte Timer 1, high byte PFCON D9h 00h Peripheral Frequency control register C1h C2h C3h C4h C5h C6h C7h C8h C9h CAh CBh CCh CDh D1h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h 00h Compare/Capture Enable Register Compare/Capture Register 1, low byte Compare/Capture Register 1, high byte Compare/Capture Register 2, low byte Compare/Capture Register 2, high byte Compare/Capture Register 3, low byte Compare/Capture Register 3, high byte Timer 2 Control Compare/Capture Control Compare/Reload/Capture Register, low byte Compare/Reload/Capture Register, high byte Timer 2, low byte Timer 2, high byte Compare/Capture Enable 2 register 80h 90h B0h D2h D3h D4h D5h DAh DBh FFh FFh FFh 00h 00h 00h 00h 00h 00h Port 0 Port 1 Port 3 Port 0 output mode 0 Port 0 output mode 1 Port 1 output mode 0 Port 1 output mode 1 Port 3 output mode 0 Port 3 output mode 1 IFCON ISPFAH ISPFAL ISPFD ISPFC 8Fh E1h E2h E3h E4h 00h FFh FFh FFh 00h Interface control register ISP Flash Address-High register ISP Flash Address-Low register ISP Flash Data register ISP Flash control register TAKEY F7h 00h Time Access Key register TIMER0/TIMER1 PCA(TIMER2) CCEN CCL1 CCH1 CCL2 CCH2 CCL3 CCH3 T2CON CCCON CRCL CRCH TL2 TH2 CCEN2 GPIO P0 P1 P3 P0M0 P0M1 P1M0 P1M1 P3M0 P3M1 ISP/IAP/EEPROM LVI/LVR/SOFTRESET Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 10 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 寄存器 地址 重置值 描述 RSTS LVC SWRES TAKEY A1h E6h E7h F7h 00h 20h 00h 00h Reset status register Low voltage control register Software Reset register Time Access Key register AUX SPIC1 91h F1h 00h 08h Auxiliary register SPI control register 1 SPIC2 SPITXD F2h F3h 00h 00h SPI control register 2 SPI transmit data buffer SPIRXD SPIS F4h F5h 00h 40h SPI receive data buffer SPI status register AUX IICS IICCTL IICA1 IICA2 IICRWD 91h F8h F9h FAh FBh FCh 00h 00h 04h A0h 60h 00h Auxiliary register IIC status register IIC control register IIC channel 1 Address 1 register IIC channel 1 Address 2 register IIC channel 1 Read / Write Data buffer IICEBT FDh 00h IIC Enable Bus Transaction register F6h FEh FFh 00H 00h 00h Comparator Pin Select register Comparator 0 Control register Comparator 1 Control register SPI IIC OPA OPPIN CMP0CON CMP1CON Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 11 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 功能描述 1. 总特征 SM39R16A3是一个8位的微处理器,它的所有功能以及特殊功能寄存器(SFR)的详细定义将在以下章节给出. 1.1 嵌入式程序存储器 可通过编程器或在线编程(ISP)将程序加载到16KB的嵌入式闪存体中,其高品质的闪存体具有100K次的重复可擦写编程并 记忆数据,如EEPROM。 1.2 IO 口 SM39R16A3有3个I/O ports: Port 0, Port 1 and Port 3. Ports 0, 1 是 8位口 and Port 3是2位口. 四种型态: 准双向口(标准 8051输出口), 推挽, 开漏, 与仅为输入。 在章节5中有详细说明。 当使用片上硬件复位机制时,复位脚可配置为P1.5。 当用户使用内部晶振作为系统时钟时,XTAL2 与 XTAL1可在烧写或用ISP时定义成IO管脚P3.0、P3.1;当用户使用外部 振荡器由XTAL1输入作为系统时钟时,只有XTAL2可定义成IO管脚P3.0。 所有的P0~P3口都可通过转化速率来降低EMI。另一种降低EMI的方式是在禁止ALE输出,可通过特殊功能寄存器 (SFR)来进行选择控制,在高静电环境且在人体接触模式中,其I/O口的ESD可达4KV,可以保证 SM39R16A3在高静 电环境下的品质。 1.3 指令时钟周期选择 传统的52 系列单片机时钟周期是12T, 即12 个振荡器时钟为1个机器周期。SM39R16A3为1T~8T的微控制器, 即机器周 期为1个时钟周期~8个时钟周期。换句话说, 执行一条指令可是1个时钟~8个时钟。 符号: CKCON 7 6 - 5 ITS[2:0] 4 3 - 2 - 1 0 CLKOUT[1:0] 地址: 8Eh Reset 10H ITS: 指令时钟周期选择. ITS [2:0] 指令时钟周期 000 1T 模式 001 2T 模式(默认) 010 3T 模式 011 4T 模式 100 5T 模式 101 6T 模式 110 7T 模式 111 8T 模式 默认为2T模式, 在任何时候,如CKCON [6:4](地址为8Eh)被改变时,每条指令并不是都能在一个机器周期内被执行的。 所有指令的确切机器周期将在下一章节中给出。 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 12 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 1.4 时钟输出选择 在任何时候CKCON [1:0] (地址为8Eh) 被改变时,SM39R16A3能在P3.0产生时钟输出,主系统时钟源设置为使用振荡器 (时钟由晶振输入脚输入)或片内RC振荡器皆可。 CLKOUT: 时钟输出除频选择. CKCON [1:0] 00 01 10 11 1.5 Mode. GPIO(默认) 主系统时钟频率 主系统时钟频率/2 主系统时钟频率/4 复位 1.5.1 硬件复位功能 SM39R16A3提供了片上硬件复位机制, 片上硬件复位的时间长度可以通过编程器或ISP设置。 片上硬件复位的时间长度 25ms (default) 200ms 100ms 50ms 16ms 8ms 4ms 1.5.2 软件复位功能 SM39R16A3提供一种软件复位机制来实现整个芯片的复位.要实现软件复位,于程序中需把3个特殊值 55h,AAh和5Ah按顺 序写到TAKEY寄存器来使能软件复位寄存器(SWRES)之写入. 在软件复位寄存器获得可写权后,可以对SWRES寄存器写 入FFh. 硬件将解码出复位讯号它是与其它硬件复位讯号作 “OR”处理. 软件复位寄存器在软件复位过程的最后会进行自复 位. 符号 RSTS TAKEY SWRES 描述 Reset status register Time Access Key register Software Reset register 地址 Bit 7 A1h - Bit 6 Bit 5 Bit 4 Software Reset function - - PDRF Bit 3 Bit 2 Bit 1 Bit 0 重置值 WDTF SWRF LVRF PORF 00H F7h TAKEY [7:0] 00H E7h SWRES [7:0] 00H Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 13 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 1.5.3 Reset status 符号: RSTS 7 6 - 5 - 4 PDRF 3 WDTF 2 SWRF 1 LVRF 地址: A1h 0 Reset PORF 00H PDRF: 复位脚复位旗标. 当 MCU 复位信号由复位脚产生时, PDRF 旗标将由硬件置高.此旗标需由软件清零. WDTF: 看门狗定时器复位旗标. 当 MCU 复位信号由看门狗产生时, WDTF 旗标将由硬件置高.此旗标需由软件清零. SWRF: 软件复位旗标. 当 MCU 复位信号由软件复位产生时, SWRF 旗标将由硬件置高.此旗标需由软件清零. LVRF: 低电压复位旗标. 当 MCU 复位信号由低电压复位产生时, LVRF 旗标将由硬件置高.此旗标需由软件清零. PORF: 上电复位旗标. 当 MCU 复位信号由上电复位产生时, PORF 旗标将由硬件置高.此旗标需由软件清零. 1.5.4 Time Access Key register (TAKEY) 符号: TAKEY 7 6 5 4 3 TAKEY [7:0] 2 1 0 地址: F7H Reset 00H 软件复位寄存器(SWRES) 默认为只读; 软件把 3 个特殊值按顺序写到 TAKEY 寄存器来使能软件复位寄存器 (SWRES)可写. 它们是 MOV TAKEY, #55h MOV TAKEY, #0AAh MOV TAKEY, #5Ah 1.5.5 软件复位寄存器(SWRES) 符号: SWRES 7 6 5 4 3 SWRES [7:0] 2 1 0 地址: E7H Reset 00H SWRES[7:0]: 软件复位寄存器. 在软件复位过程的最后会进行自重置. SWRES [7:0] = FFh, 产生软件复位. SWRES [7:0] = 00h ~ FEh, 不产生复位动作. 1.5.6 Example of software reset MOV TAKEY, #55h MOV TAKEY, #0AAh MOV TAKEY, #5Ah ; enable SWRES write attribute MOV SWRES, #0FFh ; software reset MCU Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 14 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 1.6 时钟源 默认时钟来自于内部22.1184MhzOSC时钟信号,其时钟应用于初始化阶段,其主要的工作是确定时钟源使用的正常运 行。 内部时钟源来源于不同分频的内部OSC如表 1-1所示,时钟源可在编程器或ICP中设置. 表 1-1: Selection of clock source Clock source external crystal (use XTAL1 and XTAL2 pins ) external crystal (only use XTAL1, the XTAL2 define as I/O) 22.1184MHz from internal OSC 22.1184MHz/2 from internal OSC 22.1184MHz/4 from internal OSC 22.1184MHz/8 from internal OSC 22.1184MHz/16 from internal OSC 对于来源于内部OSC的频率,这将有些许误差,在应用程序中需要精确的频率时,须注意使用. 最大误差如表 1-2 表 1-2: Temperature with variance Temperature Max Variance 25℃ ±2% Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 15 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 2. 指令设置 所有SM39R16A3的指令都是兼容的二进制码,且具有标准的8051一样的功能,以下表格列出了以SM39R16A3微控器为核 心的指令集的周期的总结,这里的周期表示为机器周期。 符号 ADD A,Rn 表 2-1: Arithmetic operations 描述 Add register to accumulator 代码 28-2F ADD A,direct Add direct byte to accumulator ADD A,@Ri 字节 1 周期 1 25 2 2 Add indirect RAM to accumulator 26-27 1 2 ADD A,#data ADDC A,Rn ADDC A,direct Add immediate data to accumulator Add register to accumulator with carry flag Add direct byte to A with carry flag 24 38-3F 35 2 1 2 2 1 2 ADDC A,@Ri Add indirect RAM to A with carry flag 36-37 1 2 ADDC A,#data SUBB A,Rn SUBB A,direct Add immediate data to A with carry flag Subtract register from A with borrow Subtract direct byte from A with borrow 34 98-9F 95 2 1 2 2 1 2 SUBB A,@Ri SUBB A,#data INC A INC Rn INC direct Subtract indirect RAM from A with borrow Subtract immediate data from A with borrow Increment accumulator Increment register Increment direct byte 96-97 94 04 08-0F 05 1 2 1 1 2 2 2 1 2 3 INC @Ri INC DPTR DEC A Increment indirect RAM Increment data pointer Decrement accumulator 06-07 A3 14 1 1 1 3 1 1 DEC Rn Decrement register 18-1F 1 2 DEC direct DEC @Ri MUL AB DIV DA A Decrement direct byte Decrement indirect RAM Multiply A and B Divide A by B Decimal adjust accumulator 15 16-17 A4 84 D4 2 1 1 1 1 3 3 5 5 1 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 16 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号 ANL A,Rn ANL A,direct 表 2-2: Logic operations 描述 AND register to accumulator AND direct byte to accumulator 代码 58-5F 55 字节 1 2 周期 1 2 ANL A,@Ri ANL A,#data ANL direct,A ANL direct,#data AND indirect RAM to accumulator AND immediate data to accumulator AND accumulator to direct byte AND immediate data to direct byte 56-57 54 52 53 1 2 2 3 2 2 3 4 ORL A,Rn ORL A,direct ORL A,@Ri ORL A,#data OR register to accumulator OR direct byte to accumulator OR indirect RAM to accumulator OR immediate data to accumulator 48-4F 45 46-47 44 1 2 1 2 1 2 2 2 ORL direct,A ORL direct,#data XRL A,Rn XRL A,direct OR accumulator to direct byte OR immediate data to direct byte Exclusive OR register to accumulator Exclusive OR direct byte to accumulator 42 43 68-6F 65 2 3 1 2 3 4 1 2 XRL A,@Ri Exclusive OR indirect RAM to accumulator 66-67 1 2 XRL A,#data XRL direct,A XRL direct,#data CLR A Exclusive OR immediate data to accumulator Exclusive OR accumulator to direct byte Exclusive OR immediate data to direct byte Clear accumulator 64 62 63 E4 2 2 3 1 2 3 4 1 CPL A RL A RLC A RR A Complement accumulator Rotate accumulator left Rotate accumulator left through carry Rotate accumulator right F4 23 33 03 1 1 1 1 1 1 1 1 RRC A SWAP A Rotate accumulator right through carry Swap nibbles within the accumulator 13 C4 1 1 1 1 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 17 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号 MOV A,Rn MOV A,direct 表 2-3: Data transfer 描述 Move register to accumulator Move direct byte to accumulator 代码 E8-EF E5 字节 1 2 周期 1 2 MOV A,@Ri MOV A,#data MOV Rn,A MOV Rn,direct Move indirect RAM to accumulator Move immediate data to accumulator Move accumulator to register Move direct byte to register E6-E7 74 F8-FF A8-AF 1 2 1 2 2 2 2 4 MOV Rn,#data MOV direct,A MOV direct,Rn MOV direct1,direct2 Move immediate data to register Move accumulator to direct byte Move register to direct byte Move direct byte to direct byte 78-7F F5 88-8F 85 2 2 2 3 2 3 3 4 MOV direct,@Ri MOV direct,#data MOV @Ri,A MOV @Ri,direct Move indirect RAM to direct byte Move immediate data to direct byte Move accumulator to indirect RAM Move direct byte to indirect RAM 86-87 75 F6-F7 A6-A7 2 3 1 2 4 3 3 5 MOV @Ri,#data Move immediate data to indirect RAM 76-77 2 3 MOV DPTR,#data16 Load data pointer with a 16-bit constant 90 3 3 MOVC A,@A+DPTR Move code byte relative to DPTR to accumulator 93 1 3 MOVC A,@A+PC PUSH direct Move code byte relative to PC to accumulator Push direct byte onto stack 83 C0 1 2 3 4 POP direct XCH A,Rn XCH A,direct XCH A,@Ri XCHD A,@Ri Pop direct byte from stack Exchange register with accumulator Exchange direct byte with accumulator Exchange indirect RAM with accumulator Exchange low-order nibble indir. RAM with A D0 C8-CF C5 C6-C7 D6-D7 2 1 2 1 1 3 2 3 3 3 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 18 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号 ACALL addr11 LCALL addr16 表 2-4: Program branches 描述 Absolute subroutine call Long subroutine call 代码 xxx11 12 字节 2 3 周期 6 6 RET RETI AJMP addr11 LJMP addr16 from subroutine from interrupt Absolute jump Long iump 22 32 xxx01 02 1 1 2 3 4 4 3 4 SJMP rel JMP @A+DPTR JZ rel JNZ rel Short jump (relative addr.) Jump indirect relative to the DPTR Jump if accumulator is zero Jump if accumulator is not zero 80 73 60 70 2 1 2 2 3 2 3 3 JC rel JNC JB bit,rel JNB bit,rel Jump if carry flag is set Jump if carry flag is not set Jump if direct bit is set Jump if direct bit is not set 40 50 20 30 2 2 3 3 3 3 4 4 JBC bit,direct rel Jump if direct bit is set and clear bit 10 3 4 CJNE A,direct rel CJNE A,#data rel CJNE Rn,#data rel CJNE @Ri,#data rel Compare direct byte to A and jump if not equal Compare immediate to A and jump if not equal Compare immed. to reg. and jump if not equal Compare immed. to ind. and jump if not equal B5 B4 B8-BF B6-B7 3 3 3 3 4 4 4 4 DJNZ Rn,rel DJNZ direct,rel NOP Decrement register and jump if not zero Decrement direct byte and jump if not zero No operation D8-DF D5 00 2 3 1 3 4 1 CLR C CLR bit 表 2-5: Boolean manipulation 描述 Clear carry flag Clear direct bit 代码 C3 C2 字节 1 2 周期 1 3 SETB C SETB bit CPL C CPL bit Set carry flag Set direct bit Complement carry flag Complement direct bit D3 D2 B3 B2 1 2 1 2 1 3 1 3 ANL C,bit ANL C,/bit ORL C,bit AND direct bit to carry flag AND complement of direct bit to carry OR direct bit to carry flag 82 B0 72 2 2 2 2 2 2 ORL C,/bit OR complement of direct bit to carry A0 2 2 MOV C,bit MOV bit,C Move direct bit to carry flag Move carry flag to direct bit A2 92 2 2 2 3 符号 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 19 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 3. 存储器结构 SM39R16A3存储器结构和通用的8051结构相同,它们是作为程序存储器的16KB的嵌入式闪存. 3.1 程序存储器 SM39R16A3有16KB的嵌入式闪存,如以下图 3-1,可做为通用的程序存储或EEPROM.其它还包括最大为1K的特定ISP服 务程序存储空间. 这16K的地址从$0000 to $3FFF. ISP服务程序的地址从$3C00 to $3FFF. ISP服务程序空间可以被分割 N块128字节(N=0 to 8). 当N=0时,意味着没有ISP复位程序空间可用. 全部的16KB字节空间都被用来做程序存储. 当N=1时, 意味着地址$3F80 to $3FFF保留为ISP服务程序空间. 当N=2意味着内存地址$3F00 to $3FFF保留为ISP服务程序空间等 等... 数值N可以通过编程器或ICP方式编程或设置.它可像EEPROM那样用来记录任何数据(如果要更改程序数据,请先执 行页抹除)。EEPROM的应用功能在第18章节的内部ISP部分有描述。 ISP service Program space, Up to 1K 3FFF 3F80 3F00 3E80 3E00 3D80 3D00 3C80 3C00 N=0 N=1 N=2 N=3 N=4 N=5 N=6 N=7 N=8 1FFF 8K Program Memory space 0000 图 3-1: SM39R16A3 programmable Flash Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 20 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 3.2 数据存储器 SM39R16A3具有512B Bytes的片上SRAM, 如以下 图 3-2, 其中256 Bytes和通用的8052内部存储器结构一样。 FF FF 80 7F 00 Higher 128 Bytes (Accessed by indirect addressing mode only) SFR (Accessed by direct addressing mode only) FF Expanded 256 Bytes (Accessed by direct external addressing mode by instruction MOVX) 80 Lower 128 Bytes (Accessed by direct & indirect addressing mode ) 00 图 3-2: RAM architecture 3.3 数据内存-低 128 字节(00h to 7Fh) 数据存储器从 00h 到 FFh 的地址和在 8052 中的定义是一样的。 00h 到 7Fh 的地址可通过直接或者间接寻址方式访问。 00h 到 1Fh 是寄存器的空间, 20h 到 2Fh 是位寻址空间, 30h 到 7Fh 是通用的数据存储区。 3.4 数据存储器-高 128 字节(80h to FFh) 80h 到 FFh 的地址仅仅能从间接寻址的方式访问,它是一个数据区。 3.5 存储器-扩展的 256 字节($00 到 $FF) 从00h到FFh是片内扩展的SRAM区域,共256字节, 该空间地址只能通过外部直接寻址的方式进行访问。(利用MOVX指令) Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 21 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 4. CPU结构 SM39R16A3结构由以下四部分组成: (1) 控制单元 (2) 算法-逻辑单元 (3) 存储器控制单元 (4) RAM 和 SFR 控制单元 SM39R16A3结构允许接受来自程序存储器的指令并与RAM或SFR做数据处理,以下各段详细叙述了主要功能寄存器。 符号 描述 ACC B Accumulator B register Program status word Stack Pointer Data pointer low 0 Data pointer high 0 Data pointer low 0 Data pointer high 0 Auxiliary register Clock control register Interface control register PSW SP DPL DPH DPL1 DPH1 AUX CKCON IFCON 4.1 地址 Bit 7 E0h F0h ACC.7 B.7 D0h CY Bit 6 Bit 5 8051 Core ACC.6 ACC.5 B.6 B.5 AC 81h 82h 83h 84h 85h 91h BRGS 8Eh - 8Fh - - Bit 3 Bit 2 Bit 1 Bit 0 ACC.4 B.4 ACC.3 B.3 ACC.2 B.2 ACC.1 B.1 ACC.0 B.0 00H 00H OV PSW.1 P 00H DPS 07H 00H 00H 00H 00H 00H CLKOUT[1:0] 10H F0 RS[1:0] - SP[7:0] DPL[7:0] DPH[7:0] DPL1[7:0] DPH1[7:0] - - ITS[2:0] CDPR 重置值 Bit 4 - - - - - - 2 ACC.2 1 ACC.1 0 ACC.0 地址: E0h Reset 00h 0 B.0 地址: F0h Reset 00h ISPE 00H 累加器 ACC是一个累加器,大部分单操作指令的一个操作数取自累加器. 符号: ACC 7 6 ACC.7 ACC.6 5 ACC05 4 ACC.4 3 ACC.3 ACC[7:0]: The A (or ACC) register is the standard 8052 accumulator。 4.2 B 寄存器 B寄存器被用于乘法或除法指令,也可作为一般寄存器以存储临时数据。 符号: B 7 B.7 6 B.6 5 B.5 4 B.4 3 B.3 2 B.2 1 B.1 B[7:0]: The B register is the standard 8052 register that serves as a second accumulator. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 22 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 4.3 程序状态字 符号: PSW 7 6 CY AC 5 F0 4 3 RS [1:0] 2 OV 1 F1 地址: D0h Reset 00h 0 P CY: 进位标志位 AC: 为 BCD 辅助进位标志位 F0: 用户设置标志位 0 RS[1:0] 00 01 10 11 Bank Selected Bank 0 Bank 1 Bank 2 Bank 3 Location 00h – 07h 08h – 0Fh 10h – 17h 18h – 1Fh OV: 溢出标志位 F1: 用户设置标志位 1 P: 奇偶校验位, 受硬件影响, 显示累加器中的奇偶的 1 位,即奇偶校验 4.4 堆栈指针 堆栈指针是一个1字节的寄存器,在复位后初始化值为07h。此寄存器在执行PUSH和CALL指令之前增值,使得堆栈指针在 08h开始执行 符号: SP 7 6 5 4 3 2 1 0 SP [7:0] 地址: 81h Reset 07h SP[7:0]: 堆栈指针储存了暂时寄存器的地址,该地址是堆栈指针的起始位置.换言之,它总是指向堆栈指 针的顶端。 4.5 数据指针 数据指针为2字节.低位为DPL.高位为DPH.它可以作为一个2字节的寄存器(MOV DPTR,#data16)来使用,或者作为两个寄 存器(例如,MOV DPL,#data8),它通常被用作是运行外部程序或者是数据空间(如,MOVC A,@ A+DPTR 或者各自的MOV A, @ DPTR). 符号: DPL 7 6 5 4 3 DPL [7:0] 2 1 0 地址: 82h Reset 00h DPL[7:0]: Data pointer Low 0 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 23 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号: DPH 7 6 5 4 3 DPH [7:0] 2 1 0 地址: 83h Reset 00h DPH [7:0]: Data pointer High 0 4.6 数据指针 1 双数据指针加速了块状数据的运行速度.标准的DPTR 是一个16位的寄存器,是用来寻址外部空间或者外部存储器. 在 SM39R16A3中,标准的数据指针称为DPTR,第二个数据指针称为DPTR1.选择位用来选择使用的数据指针.数据指针的选 择位位于AUX寄存器的LSB(DPS). 用户通过触发AUX寄存器中的LSB位进行切换. 所有有关的DPTR指令都将为当前选用的DPTR所操作。 符号: DPL1 7 6 5 4 3 DPL1 [7:0] 2 1 0 地址: 84h Reset 00h 4 3 DPH1 [7:0] 2 1 0 地址: 85h Reset 00h 4 - 3 - 2 - 1 - 3 - 2 - DPL1[7:0]: Data pointer Low 1 符号: DPH1 7 6 5 DPH1[7:0]: Data pointer High 1 符号: AUX 7 6 BRGS - 5 - 地址: 91h 0 Reset DPS 00H DPS: 数据指针选择位. DPS = 1 选择数据指针 1. 4.7 时钟控制寄存器 符号: CKCON 7 6 - 5 ITS[2:0] 4 1 0 CLKOUT[1:0] 地址: 8Eh Reset 10H Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 24 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 ITS[2:0]: 指令时钟周期选择. ITS [2:0] 000 001 010 011 100 101 110 111 指令时钟周期 1T 模式 2T 模式(默认) 3T 模式 4T 模式 5T 模式 6T 模式 7T 模式 8T 模式 CLKOUT: 时钟输出除频选择. CKCON [1:0] Mode. 00 GPIO(默认) 01 主系统时钟频率 10 主系统时钟频率/2 11 主系统时钟频率/4 主系统时钟源设置为使用振荡器(时钟由晶振输入脚输入)或片内RC振荡器皆可 4.8 接口控制寄存器 符号: IFCON 7 6 CDPR 5 - 4 - 3 - 2 - 1 - 地址: 8Fh 0 Reset ISPE 00H CDPR: 程序码已加密指示位(仅读) ISPE: ISP 功能使能位 ISPE = 1, 允许使用 ISP 功能 ISPE = 0, 禁止使用 ISP 功能 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 25 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 5. GPIO管脚型态 SM39R16A3有3个I/O口: Port 0, Port 1 and Port 3. Ports 0, 1是8位口and Port 3是2位口. 他们是: 准双向口 (标准的8051 端口输出),推挽电路,开漏, 与只输入. 两种寄存器的配置为每个端口的每个位选择输出方式.SM39R16A3的所有端口可以 通过软件配置四种型号的一种.如下表显示: 符号 描述 地址 P0M0 P0M1 P1M0 P1M1 P3M0 P3M1 Port 0 output mode 0 Port 0 output mode 1 Port 1 output mode 0 Port 1 output mode 1 Port 3 output mode 0 Port 3 output mode 1 D2h D3h D4h D5h DAh DBh PxM1.y 0 0 1 1 PxM0.y 0 1 0 1 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 I/O port function register P0M0 [7:0] P0M1[7:0] P1M0[7:0] P1M1[7:0] Bit 2 Bit 1 Bit 0 P3M0[1:0] P3M1[1:0] 重置值 00H 00H 00H 00H 00H 00H Port output mode 准双向口 (标准的8051端口输出) 推挽电路 只输入 (high-impedance) 开漏 当使用片上硬件复位机制时,复位脚可配置为P1.5。 当用户使用内部晶振作为系统时钟时,XTAL2 与 XTAL1可在烧写或用ISP时定义成IO管脚P3.0、P3.1;当用户使用外部 振荡器由XTAL1输入作为系统时钟时,只有XTAL2可定义成IO管脚P3.0. 一般的应用,每个管脚都可独立的置高或置低.如下表显示: 符号 描述 地址 Bit 7 Port 3 Port 1 Port 0 Port 3 Port 1 Port 0 B0h 90h 80h P1.7 P0.7 符号: P0 7 6 P0.7 P0.6 5 P0.5 Bit 6 Bit 5 Ports P1.6 P1.5 P0.6 P0.5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 重置值 P1.4 P0.4 P1.3 P0.3 P1.2 P0.2 P3.1 P1.1 P0.1 P3.0 P1.0 P0.0 FFh FFh FFh 4 P0.4 3 P0.3 2 P0.2 1 P0.1 地址: 80h 0 Reset P0.0 FFh 4 P1.4 3 P1.3 2 P1.2 1 P1.1 地址: 90h 0 Reset P1.0 FFh P0.7~ 0: Port0 [7] ~ Port0[0] 符号: P1 7 6 P1.7 P1.6 P1.7~ 0: 5 P1.5 Port1 [7] ~ Port1 [0] Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 26 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号: P3 7 - 6 - 5 - 4 - 3 - 2 - 1 P3.1 地址: B0h 0 Reset P3.0 FFh P3.1~ 0: Por3 [1] ~ Port3 [0] Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 27 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 6. 定时器0 和定时器1 SM39R16A3有二个16bit的定时/计数寄存器: 定时器0, 定时器1. 所有这些都可以被设置为定时或计数操作. 在计时的模式中,定时器0和定时器1寄存器的递增频率,可由寄存器PFCON中选择为与振荡器频率相同或为振荡器频率 的1/12或为振荡器频率的1/96. 在计数的模式中,当检测到相应的输入脚T0/T1有下降沿产生时,寄存器便得到递增,由于它需要2个机器周期来识别由1 到0的跳变,其最大输入的计数频率为振荡器频率的1/2,从而使得这里没有限制的占空比,以确定适当的识别为0或1的 状态,因此,一个输入信号至少要稳定在1个机器周期. 定时器0和定时器1都有四种操作模式选择,在选择操作模式中,两个特殊功能寄存器(TMOD and TCON)被应用其中. 符号 描述 地址 TL0 Timer 0 , low byte Timer 0 , high byte Timer 1 , low byte Timer 1 , high byte Timer Mode Control Timer/Counter Control Peripheral Frequency control register 8Ah TL0[7:0] 00H 8Ch TH0[7:0] 00H 8Bh TL1[7:0] 00H 8Dh TH1[7:0] 00H TH0 TL1 TH1 TMOD TCON PFCON 6.1 Bit 7 Bit 6 Bit 5 Timer 0 and 1 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 重置值 89h GATE C/T M1 M0 GATE C/T M1 M0 00H 88h TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 00H D9h - - SRELPS[1:0] T1PS[1:0] T0PS[1:0] 00H 定时器/计数器模式控制寄存器(TMOD) 符号: TMOD 7 6 5 GATE C/T M1 Timer 1 4 M0 3 GATE 2 1 C/T M1 Timer 0 0 M0 地址: 89h Reset 00h GATE: 该位被置位时为门控时,仅当„INT0 或者 INT1‟脚为高时,且„TRx‟控制位被置位 (参考 TCON 寄存器)时使能,计数器在每个 T0 或 T1 输入脚处于下减沿触发 时得到加强。 C/T: 门控定时器或计数器选择器。该位被置位时用作计数器功能,该位被清零时用作 定 时器功能. M[1:0]: 定时/计数器 0 或定时/计数器 1 的选择模式 M1 M0 Mode Function 0 0 Mode0 13bit计数器/定时器, 包含TL0/TL1寄存器的低5 位及TH0/TL1寄存器的全部8位,其TL0/TL1寄 存 器的高3位可设置为0. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 28 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 6.2 0 1 1 0 Mode1 Mode2 1 1 Mode3 16 位计数器/定时器. 8 位自动重载的计数器/定时器,自动重载的值保 留在TH0 和TH1.同时TL0 或者TL1 在每个机器 周期内都会递增. 当溢出时,将THx 存放的值 装入TLx. 如定时器1 的M1 和M2 位被设置为1,定时器 2 停止计数。如定时器0 的M1 和M0 位被设置 为1,定时器0 作为两个独立的8 位定时器/计数 器. 定时/计数控制寄存器(TCON) 符号: TCON 7 6 TF1 TR1 5 TF0 4 TR0 3 IE1 2 IT1 1 IE0 0 IT0 地址: 88h Reset 00h TF1: 定时器 1 溢出标志。定时器/计数器溢出时由硬件置位。中断执行时硬件清 零,或由软件清零 TR1: 定时器 1 运行控制位。 如置位/清零, 关闭定时器/计数器 1. TF0: 定时器 0 溢出标志。定时器/计数器溢出时由硬件置位。中断执行时硬件自动 清零,或由软件清零 TR0: 定时器 0 运行控制位。如置位/清零,关闭定时器/计数器 0 IE1: 中断 1 边沿标志。当检测到外部中断 1 边沿/低电平时由硬件置位该标志。中 断处理时由硬件清零,或通过软件清零 IT1: 中断 1 类型控制位,通过软件置位/清零该位来选择外部中断 1 以下降沿/低电 平方式触发 IE0: 中断 0 边沿标志。当检测到外部中断 0 边沿/低电平时由硬件置位该标志。中 断处理时由硬件清零,或通过软件清零 IT0: 中断 0 类型控制位。通过软件置位/清零该位来选择外部中断 0 以下降沿/低电 平方式触发 6.3 定时器输入频率控制寄存器 符号: PFCON 7 6 - 5 4 SRELPS[1:0] T1PS[1:0]: 定时器 1 分频器选择位 T1PS[1:0] 00 01 10 11 3 2 T1PS[1:0] 1 0 T0PS[1:0] 地址: D9h Reset 00H 分频器 Fosc/12 Fosc Fosc/96 reserved T0PS[1:0]: 定时器 0 分频器选择位 T0PS[1:0] Prescaler Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 29 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 00 01 10 11 6.4 Fosc/12 Fosc Fosc/96 reserved 模式 0 (13 位定时/计数) ÷12 OSC 00 01 ÷96 10 C/T = 1 T1PS[1:0] T1腳 TR1 GATE1 ET1 C/T = 0 TL1 TH1 (5位元) (8位元) EA 0 1 1 控制 目前沒有更高層次 的中斷程式在執行 AND NOT TF1 0 跳到001BH OR INT1腳 D0D1D2D3D4 D5D6D7 TL1 D0D1D2D3D4D5D6D7 TF1 TH1 图 6-1: 模式 0 -13 位定时器/计数器操作 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 30 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 6.5 模式 1 (16 位定时/计数) ÷12 00 OSC 01 ÷96 10 TL1 TH1 (8位元) (8位元) C/T = 1 TR1 EA 0 1 1 目前沒有更高層次 的中斷程式在執行 AND NOT TF1 0 控制 T1PS[1:0] T1腳 GATE1 ET1 C/T = 0 跳到001BH OR INT1腳 D0D1D2D3D4D5D6D7 D0D1D2D3D4D5D6D7 TL1 TH1 TF1 图 6-2: 模式 1 -16 位定时器/计数器操作 6.6 模式 2 (8 位自动重载定时/计数) ÷12 OSC 00 01 ÷96 10 C/T = 1 T1PS[1:0] T1腳 TR1 GATE1 INT1腳 AND NOT ET1 C/T = 0 OR TL1 (8位元) TF1 0 EA 0 1 1 控制 自動重 新載入 TH1 (8位元) 目前沒有更高層次 的中斷程式在執行 跳到001BH 图 6-3: 模式 2 -8 位自动重载定时/计数 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 31 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 6.7 模式 3 (两个独立 8 位定时/计数(仅定时器 0)) ÷12 00 TH0 (8 Bits) TF1 中斷要求 (001BH) TL0 (8 Bits) TF0 中斷要求 (000BH) TR1 OSC 01 ÷96 C/T = 0 10 C/T = 1 控制 T0PS[1:0] T0 腳 TR0 AND GATE0 NOT OR /INT0 腳 图 6-4: 模式 3 -两个独立 8 位定时/计数(仅定时器 0) 7. 定时器2 以及捕捉/比较单元 定时器2不仅仅是一个16位的定时器,也是一个带有4个通道比较,捕获及重载功能,这是非常相似在其它一些微控制器的 可编程计数器阵列(PCA),除脉冲宽度调制(PWM) 符号 描述 地址 T2CON Timer 2 control Compare/Capture Control Compare/Capture Enable register Compare/Capture Enable 2 register Timer 2, low byte Timer 2, high byte Compare/Reload/ Capture register, low byte Compare/Reload/ Capture register, high byte Compare/Capture register 1, low byte Compare/Capture register 1, high byte Compare/Capture register 2, low byte Compare/Capture register 2, high CCCON CCEN CCEN2 TL2 TH2 CRCL CRCH CCL1 CCH1 CCL2 CCH2 Bit 2 C8h Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Timer 2 and Capture Compare Unit T2PS[2:0] T2R[1:0] C9h CCI3 CCF2 C1h D1h - CCI2 CCI1 CCI0 CCF3 - Bit 1 Bit 0 T2I[1:0] CCF CCF1 0 重置值 00H 00H COCAM1[2:0] - COCAM0[2:0] 00H COCAM3[2:0] - COCAM2[2:0] 00H CCh CDh TL2[7:0] TH2[7:0] CAh CRCL[7:0] CBh CRCH[7:0] C2h CCL1[7:0] C3h CCH1[7:0] C4h CCL2[7:0] C5h CCH2[7:0] 00H 00H 00H 00H 00H 00H 00H 00H Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 32 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 CCL3 CCH3 byte Compare/Capture register 3, low byte Compare/Capture register 3, high byte 00H C6h CCL3[7:0] C7h CCH3[7:0] 00H 符号: T2CON 7 6 T2PS[2:0] 5 4 3 T2R[1:0] 2 - 1 0 T2I[1:0] 地址: C8h Reset 00H T2PS[2:0]: 分频器选择位: T2PS = 000 –定时器 2 的时钟为振荡频率. T2PS = 001 –定时器 2 的时钟为振荡频率的 1/2. T2PS = 010 –定时器 2 的时钟为振荡频率的 1/4. T2PS = 011 –定时器 2 的时钟为振荡频率的 1/6. T2PS = 100 –定时器 2 的时钟为振荡频率的 1/8. T2PS = 101 –定时器 2 的时钟为振荡频率的 1/12. T2PS = 110 –定时器 2 的时钟为振荡频率的 1/24. T2R[1:0]: 定时器 2 重载模式选择位 T2R[1:0] = 0X –重载无效 T2R[1:0] = 10 –模式 0:自动重载 T2R[1:0] = 11 –模式 1:依 T2EX 脚下降缘重载 T2I[1:0]: 定时器 2 输入选择位 T2I[1:0] = 00 –定时器 2 计数停止 T2I[1:0] = 01 –输入频率依 T2PS[2:0]分频器选择 T2I[1:0] = 10 –定时器 2 在 T2 脚的外部信号递增 T2I[1:0] = 11 –门控定时器 2 可为内部时钟输入 符号: CCCON 7 6 CCI3 CCI2 5 CCI1 4 CCI0 3 CCF3 2 CCF2 1 CCF1 地址: C9h 0 Reset CCF0 00H CCI3: 捕捉/比较信道 3 中断功能控制位. “1” 中断功能使能. CCI2: 捕捉/比较信道 2 中断功能控制位. “1” 中断功能使能. CCI1: 捕捉/比较信道 1 中断功能控制位. “1” 中断功能使能. CCI0: 捕捉/比较信道 0 中断功能控制位. “1” 中断功能使能. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 33 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 CCF3: 捕捉/比较通道 3 中断旗标位.可由软件清零. CCF2: 捕捉/比较通道 2 中断旗标位.可由软件清零. CCF1: 捕捉/比较通道 1 中断旗标位.可由软件清零. CCF0: 捕捉/比较通道 0 中断旗标位.可由软件清零. 捕捉/比较中断与定时器 2 中断共享同一个中断向量. 符号: CCEN 7 6 5 4 COCAM1[2:0] 3 - 2 1 0 COCAM0[2:0] 地址: C1h Reset 00H COCAM1[2:0] 000: 禁止比较/捕获功能 001: 比较功能启动但无输出 010: 比较功能模式 0 011: 比较功能模式 1 100: 捕获在 CC1 脚的上升沿 101: 捕获在 CC1 脚的下降沿 110: 捕获在 CC1 脚的上升沿及下降沿 111: 在寄存器 CC1 中捕获写入操作 COCAM0[2:0] 000: 禁止比较/捕获功能 001: 比较功能启动但无输出 010: 比较功能模式 0 011: 比较功能模式 1 100: 捕获在 CC0 脚的上升沿 101: 捕获在 CC0 脚的下降沿 110: 捕获在 CC0 脚的上升沿及下降沿 111: 在寄存器 CC0 中捕获写入操作 符号: CCEN2 7 6 5 4 COCAM3[2:0] 3 - 地址: D1h 2 1 0 Reset COCAM2[2:0] 00H COCAM3[2:0] 000: 禁止比较/捕获功能 001: 比较功能启动但无输出 010: 比较功能模式 0 011: 比较功能模式 1 100: 捕获在 CC3 脚的上升沿 101: 捕获在 CC3 脚的下降沿 110: 捕获在 CC3 脚的上升沿及下降沿 111: 在寄存器 CC3 中捕获写入操作 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 34 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 COCAM2[2:0] 000: 禁止比较/捕获功能 001: 比较功能启动但无输出 010: 比较功能模式 0 011: 比较功能模式 1 100: 捕获在 CC2 脚的上升沿 101: 捕获在 CC2 脚的下降沿 110: 捕获在 CC2 脚的上升沿及下降沿 111: 在寄存器 CC2 中捕获写入操作 7.1 定时器 2 功能 定时器2既可做为定时器,又可做为计数器,或解释为门控定时器(如下解释). 7.1.1 定时器模式 如以下图 7-1,在此模式中,定时器2递增频率依分频器选择决定,而分频器则由特殊寄存器T2CON中的T2PS[2:0]位选 择. 图 7-1: Timer mode and Reload mode function 7.1.2 外部信号计数模式 如以下图 7-2,在此模式中,当然外部信号T2由1到0的跳变时,定时器得到递增,T2输入在每个周期中得以采样,定时 器2在跳变检测的一个周期中得到递增. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 35 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 图 7-2: Event counter mode function 7.1.3 外部信号定时器模式 如以下图 7-3,在此模式中,定时器2递增的内部时钟是由外部信号T2来控制的. 图 7-3: Gated timer mode function 7.1.4 定时器 2 的重载 重载(来自CRC寄存器的16位重载)可在以下两种模式中执行: 模式0:重载信号由定时器2溢出产生,即自动重载。 模式1:重载信号由相应的输入脚T2EX负跳变产生. 7.2 比较功能 在四个独立的比较器中,任何比较/捕捉寄存器中的值都和定时器寄存器的内容比较,其比较模式0或1由位C0CAMx来选 择.在这两种比较模式中,其比较结果在同样的机器周期的P1口的得出使得其内部比较信号被激活. 7.2.1 比较模式 0 在模式0中,当定时器2的值等同与比较寄存器上的值时,其输出信号由低到高的跳变,并在定时器溢出时返回低电位。 在此模式中,对端口写入无效,因为无法对来自内部总线及暂存器进行操作。 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 36 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 如以下图 7-4 数字阐述了比较模式0的功能 Contents of Timer 2 CRC or CCx Reload value CCx Output Timer 2 = CCx value Timer 2 overflow 图 7-4: Compare mode 0 function 7.2.2 比较模式 1 在比较模式1中,其输出信号的跳变是由软件来决定的。定时器2的溢出不会导致输出的改变。在此模式中,两种信号的 跳变都是可以控制的,如图 7-5显示了在比较模式1中的寄存器/端口结构菜单。 在比较模式1中,其值将首先被写入到“阴影寄存器”中,当比较信号被激活时,其值被传递到输出寄存器 Contents of Timer 2 CRC or CCx Reload value CCx Output Output register Shadow register CCx Output Timer 2 = CCx value 图 7-5: 比较模式 1 功能 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 37 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 7.3 捕获功能 在一个外部事件(模式0)或一个软件写操作(模式1)上,实际的定时器/计数器的值可以被保存在寄存器CCx或CRC中. 7.3.1 捕捉模式 0 如以下图 7-6,在模式0中,定时器2的值的捕捉在以下情况进行: (1) 上升沿输入 CC0-CC3。 (2) 下降沿输入 CC0-CC3。 (3) 上升沿及下降沿输入 CC0-CC3。 定时器2的内容将被对应的捕捉寄存器锁存。 图 7-6: 捕捉模式 0 功能 7.3.2 捕捉模式 1 如以下图 7-7,在模式1中,定时器2的值的捕捉将导致写入到捕捉寄存器中的低字节无任何价值,其捕捉寄存器的写入值 与改功能无关,定时器2的内容将被对应的捕捉寄存器琐存。 图 7-7: 捕捉模式 1 功能 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 38 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 8. 串行接口0 两个串行缓冲器组成两个单独寄存器,即一个传输缓冲区和一个接收缓冲区。 写入数据到特殊功能寄存器(SFR)S0BUF并设置这些数据在串行输出缓冲,并开始传输, 来自S0BUF的读取及从串行 接收缓冲区读取数据,串行口可同时传输和接收数据,它也可在接收时缓存1字节,如CPU在第一个字节传输完成之前读 取第二个字节,以防接收数据丢失。 符号 PCON AUX SCON SRELL SRELH SBUF PFCON 描述 地址 Power control 87H Auxiliary register 91h Serial Port control register Serial Port reload register low byte Serial Port reload register high byte Serial Port data buffer Peripheral Frequency control register Bit 7 Bit 6 Bit 5 Bit 4 Serial interface 0 and 1 SMO D BRG S Bit 3 Bit 2 Bit 1 Bit 0 重置值 - - - - - STOP IDLE 00H - - - - - - DPS 00H 00H 98H SM0 SM1 SM2 REN TB8 RB8 TI RI AAH SREL .7 SREL. 6 SREL. 5 SREL. 4 SREL. 3 SREL. 2 BAH - - - - - - SREL. 1 SREL. 9 SREL. 0 SREL. 8 99H SBUF[7:0] D9h 符号: AUX 7 6 BRGS - - - 5 - 4 - SRELPS[1:0] 3 - 2 - 00H 00H T1PS[1:0] 1 - 00H T0PS[1:0] 00H 地址: 91h 0 Reset DPS 00H BRGS: BRGS = 0 –波特率产生器使用定时器 1 TH1 寄存器. BRGS = 1 –波特率产生器使用 S0REL 寄存器. 符号: SCON 7 6 SM0 SM1 5 SM2 SM0,SM1: 串行口模式选择. SM0 SM1 0 0 0 1 1 0 1 1 4 REN 3 TB8 2 RB8 1 TI 0 RI 地址: 98h Reset 00h Mode 0 1 2 3 在 UART 的 4 种模式中,模式 0~3 稍后解释 SM2: 多处理机通信使能位 REN: 如置位,串行接收使能,软件清除禁止接收 TB8: 在模式 2 和 3 中,发送的第 9 位数据位,置位或清零取决与它执行的功能,如 奇偶校验功能, 多处理机通信等。 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 39 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 RB8: 在模式 2 和 3 中,RB8 为接收的第 9 位数据位。在模式 1 中,如 SM2=0, RB8 为停止位。在模式 0 中,此位不被使用。须由软件清除。 8.1 TI: 发送中断标志位.在完成串行传输后由硬件置位,须由软件清除。 RI: 接收中断标志。在完成串行传输后由硬件置位,须由软件清除. 串行接口由以下 4 种模式可以设置 SM0 0 0 1 1 SM1 0 1 0 1 Mode 0 1 2 3 描述 Shift register 8-bit UART 9-bit UART 9-bit UART Board Rate Fosc/12 Variable Fosc/32 or Fosc/64 Variable 这里的Fosc是晶体或振荡器的频率。 8.1.1 模式 0 引脚RXD充当输入和输出。TXD输出时钟。每次发送或接收以LSB最低位作首位,每次8位。波特率固定为的晶体的频率 1/12,接收通过以下的在SCON中的设置标志在模式0中初始化:RI = 0及REN = 1。在其它模式中,当REN=1时,开始从 起始位接收串行数据. 图 8-1: 发送模式 0 图 8-2: 接收模式 0 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 40 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 8.1.2 模式 1 引脚RXD充当输入,TXD充当串行输出,无任何外部时钟被使用,每次数据为10位:一个起始位(=0),8个数据位(LSB 位在前),及一个停止位(=1)。在接收据数据时, 起始位将被同步传输,8个数据位可通过SBUF来读取, 一个停止位存于 特殊功能寄存器SCON的设置标志RB8内,在模式1中,无论是内部的波特率发生器或定时器1可以用来指定波特率。 图 8-3: 发送模式 1 图 8-4: 接收模式 1 8.1.3 模式 2 该模式和模式1类似,但有两点不同。波特率被固定在振荡器的频率的1/32(SMOD=1)或1/64(SMOD=0),且有11 位数据被传输或接收: 1个起始位(=0),8个数据位(LSB在前),一个可编程的第9位及一个停止位(=1),9位可以 用来控制串行接口的奇偶性。在传输中,SCON中的TB8输出第9位,在接收中,SCON中的RB8将被影响。 8.1.4 模式 3 模式2和3的唯一不同之处在于:在模式3中,无论是内部的波特率发生器或定时器1可以用来指定波特率。 图 8-5: 传输模式 2 和模式 3 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 41 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 图 8-6: 接收模式 2 和 3 中 8.2 串行接口的多重机通讯 在串行接口的模式2 和3,接收9 位的功能, 可用于多处理器的通讯。在这种情况下,从机在SCON 中的位SM2被置位为 1。当主机输出从机的地址时,Bit9 将被置1,从而在所有的从机中导致串行口接收中断。从机将接收到的字节和它们的 网络地址比较,如匹配,其从机将清除SM2,并接收其余的信息,其它的从机将远离SM2无效,并忽略此信息。在解决 从机后,其主机在Bit9 清0 时将输出剩余部分的信息,因此,没有串口接收中断会产生在未选中的处理机中。 8.3 输入频率控制寄存器 符号: PFCON 7 6 - 5 4 SRELPS[1:0] SRELPS[1:0]: SREL 分频器选择位 SRELPS[1:0] 00 01 10 11 T1PS[1:0]: Timer1 分频器选择位 T1PS[1:0] 00 01 10 11 8.4 3 2 T1PS[1:0] 1 0 T0PS[1:0] 地址: D9h Reset 00H Prescaler Fosc/64 Fosc /32 Fosc /16 Fosc /8 Prescaler Fosc/12 Fosc Fosc/96 reserved 波特率发生器 串行接口的模式 1 和 3 8.4.1 8.4.1.1 当 BRGS = 0 (在 AUX 寄存器): (1) 当 T1PS[1:0] = 00 Baud Rate 2SMOD Fosc 32 12 256 TH1 (2) 当 T1PS[1:0] = 01 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 42 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 Baud Rate 2SMOD Fosc 32 256 TH1 (3) 当 T1PS[1:0] = 10 Baud Rate 8.4.1.2 2SMOD Fosc 32 96 256 TH1 当 BRGS = 1 (在 AUX 寄存器) (1) 当 SRELPS[1:0] = 00 2 SMOD Fosc Baud Rate 64 210 SREL 2SMOD Fosc Baud Rate 32 210 SREL 2 SMOD Fosc Baud Rate 16 210 SREL (2) 当 SRELPS[1:0] = 01 (3) 当 SRELPS[1:0] = 10 (4) 当 SRELPS[1:0] = 11 2 SMOD Fosc Baud Rate 8 210 SREL Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 43 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 9. 看门狗定时器 看门狗定时器是一个8位的计数器并会在计数器溢出时产生复位讯号.WDT在噪音.电源干扰,或断电等导致软件死循环或跑 飞程序等情况下非常有用.WDT功能可以帮助拥护的软件从不正常的软件状态中恢复正常.WDT不同于通用的8052的计时 器0,1,2.为了防止WDT复位,可以通过软件定时清除WDT计数器.当不可预料的复位发生时,用户应该检查WDTC寄存器的 WDTF位. 在一外部复位后,该看门狗定时器将无效且所有寄存器都清零。 看门狗定时器是一个自由运行的片上RC振荡器 (约23 KHz). WDT将保持运行就算是系统时钟被关闭(例如,在睡眠状态). 在正常的运行或睡眠状态,一个WDT超时(如使能)将导致MCU复位.WDT在正常状态下可随时被使能或失效.请注意WDTC 寄存器的WDTE位.默认的WDT超时时间为接近178.0m s (WDTM [3:0] = 0100b). WDT有可选择的分频.要选择分频,需要正确设置看门控制寄存器(WDTC)的位3~位0(WDTM [3:0]) 23KHz 2 WDTM 256 Watchdog reset time = WDTCLK WDTCLK WDTM [3:0] 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 表 9-1: WDT 超时时间 Divider (23 KHz RC oscillator in) 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 Time period @ 23KHz 11.1ms 22.2ms 44.5ms 89.0ms 178.0ms (default) 356.1ms 712.3ms 1.4246s 2.8493s 5.6987s 11.397s 22.795s 45.590s 91.180s 182.36s 364.72s 当MCU复位,MCU将会读WDTEN控制位状态.当WDTEN位被设置为1,参考以下 无论WDTE位状态如何,看门狗功 能将会失效.当WDTEN位被清0,在WDTE位被通过变成设为1的情况下,看门狗功能将被使能.用户可通过烧路器或ISP设置 WDTEN. 对WDTE位写入1同时WDTEN控制位清0,能使WDT功能使能.在WDTE设为1后.8位的计数器用通过WDTM[3:0]设置好的 分频进行计数.它在溢出时将会产生复位讯号.WDTE位在MCU重启时将被自动清0,同时硬件复位或WDT复位. 看门狗一旦开始工作将无法停止.当WDTK寄存器用户可通过对看门狗定时器重置密钥(WDTK)写入55h实现WDT计时器 清0.这将会清除8位计数器内容并让计数器重启. 看门狗定时器必须定时刷新以防来自可变的重置复位请求信号. 当看门狗定时器溢出时, WDTF标志位将被置1并自动重置复位MCU.该标志位可被软件或外部复位清除. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 44 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 当MCU复位,MCU将会读WDTEN控制位状态.当WDTEN位被设置为1,参考以下 无论WDTE位状态如何,看门狗功 能将会失效.当WDTEN位被清0,在WDTE位被通过变成设为1的情况下,看门狗功能将被使能.用户可通过烧路器或ISP设置 WDTEN. 对WDTE位写入1同时WDTEN控制位清0,能使WDT功能使能.在WDTE设为1后.8位的计数器用通过WDTM[3:0]设置好的 分频进行计数.它在溢出时将会产生复位讯号.WDTE位在MCU重启时将被自动清0,同时硬件复位或WDT复位. 看门狗一旦开始工作将无法停止.当WDTK寄存器用户可通过对看门狗定时器重置密钥(WDTK)写入55h实现WDT计时器 清0.这将会清除8位计数器内容并让计数器重启. 看门狗定时器必须定时刷新以防来自可变的重置复位请求信号. 当看门狗定时器溢出时, WDTF标志位将被置1并自动重置复位MCU.该标志位可被软件或外部复位清除. Clear WDTF = 0 1. Power on reset 2. External reset 3. Software write “0” 23KHz RC oscillator WDTF Set WDTF = 1 CWDTR = 0 WDTCLK 1 TAKEY (55, AA, 5A) 2WDTM WDTM[3:0] Enable/Disable WDT WDT time-out reset WDT time-out select WDT Counter CWDTR = 1 Refresh WDT Counter WDT time-out Interrupt WDTC Enable WDTC write attribute WDTK (0x55) WDTEN 图 9-1: Watchdog 定时器框图 符号 TAKEY WDTC WDTK RSTS 描述 Time Access Key register Watchdog timer control register Watchdog timer refresh key Reset status register 地址 Bit 7 Bit 6 Bit 5 Bit 4 Watchdog Timer F7h B6h 符号: TAKEY 7 6 Bit 2 Bit 1 Bit 0 TAKEY [7:0] - CWDTR WDTE B7h A1h Bit 3 00H - WDTM [3:0] 04H WDTK[7:0] - - 5 - 4 3 TAKEY [7:0] PDRF 2 重置值 00H WDTF SWRF 1 0 LVRF PORF 00H 地址: F7h Reset 00H 看门狗控制寄存器(WDTC)默认为仅读;软件需依序于寄存器 TAKEY 写入 55h, AAh 及 5Ah 才能对看门狗控制寄 存器(WDTC)执行写入,启动看门狗功能及设定重置时间 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 45 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 MOV TAKEY, #55h MOV TAKEY, #0AAh MOV TAKEY, #5Ah 符号: WDTC 7 6 CWDTR 5 WDTE 4 - 3 2 1 WDTM [3:0] 0 地址: B6h Reset 04H CWDTR: 看门狗溢位状态选择(支持休眠唤醒) 0: 看门狗发生溢位时产生重置信号 1: 看门狗发生溢位时产生中断信号 WDTE: 看门狗定时器使能位. 此位需于 WDTEN=0(此值于出厂时已设为 0)时设置才有作用,既于刻录(使用 ICP,ISP 或 一般刻录器)时于看门狗选项选择使用. 0: 禁能. 1: 使能. WDTM [3:0]: 看门狗重置信号产生时间选择位.请参考所图 9-1列看门狗重置信号产生时间. 符号: RSTS 7 6 - 5 - 4 PDRF 3 WDTF 2 SWRF 1 LVRF 地址: A1h 0 Reset PORF 00h WDTF: 看门狗重置旗标. 此旗标于芯片之复位信号是由看门狗重置产生时由硬件自动设置.此旗标可由软件清零 符号: WDTK 7 6 5 4 3 WDTK[7:0] 2 1 0 地址: B7h Reset 00h WDTK: 看门狗定时器计数器清零寄存器. 于此寄存器写入 0x55, 看门狗定时器计数器将清零重新计数. 范例 1: 看门狗定时器使能并选择重置信号产生时间为 2.8493s 第一步,先确认刻录时看门狗功能已选择使用 第二步,如下 MOV TAKEY, #55h MOV TAKEY, #0AAh MOV TAKEY, #5Ah ; enable WDTC write attribute. MOV WDTC, #28h ; Set WDTM [3:0] = 1000b. Set WDTE =1 to enable WDT ; function. . . Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 46 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 . MOV WDTK, #55h ; Clear WDT timer to 0. 范例 2: 看门狗定时器使能并选择周期中断信号产生时间为 178.0m s 第一步,先确认刻录时看门狗功能已选择使用 第二步,如下 MOV TAKEY, #55h MOV TAKEY, #0AAh MOV TAKEY, #5Ah ; enable WDTC write attribute. MOV WDTC, #64h ; Set WDTM [3:0] = 0100b. Set WDTE =1 to enable WDT function ; and Set CWDTR =1 to enable period interrupt function Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 47 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 10. 中断 SM39R16A3提供14个中断源并带有4级优先权. 每一中断源都在特殊寄存器(SFR)中有自身的请求标志,每个中断请求信 号通过相应的标志及特殊寄存器(SFR)中的IEN0及IEN1中的使能位来独自允许或禁止。 当中断发生时,CPU将会跳转预先设定的地址,如表 10-1 表所示,一旦中断开始执行,就只能被更高优先级的中断终 止,其中断服务会被来自指令RETI的返回所终结。当一RETI被执行时且中断发生时,处理器将将返回此指令,并执行下 一条指令。 当中断条件发生时,该处理器通过设置一个标志位来表示,无论中断使能或禁止,每个中断标志都将在每个机器周期中 采样一次,随后采样由硬件来检测,当中断被使能时,且采样指出相应中断时,中断请求标志被设置。在随后的指令周 期中,中断将被硬件所确定。从而迫使一个LCALL 指向相应的地址向量。 当中断发生时,中断响应将需要不同的时间,这取决于相关的处理器。如一处理器执行的中断服务程序同等或更优先, 新的中断将不会启用,在其它情况下,响应时间将取决于当前的指令。以最快的速度回应一个中断是需要7个机器周期, 这包括一个检测中断的机器周期和6周期执行LCALL周期。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 表 10-1: 中断向量 Interrupt Vector Interrupt Request Flags Address 0003h IE0 – 外部中断0 000Bh TF0 – 定时器0 中断 Interrupt Number *(use Keil C Tool) 0 1 IE1 – 外部中断 1 TF1 – 定时器1 中断 RI/TI – 串行口中断 TF2/EXF2 – 定时器2 中断 PWMIF – PWM 中断 0013h 2 001Bh 0023h 002Bh 0043h 3 4 5 8 SPIIF – SPI 中断 ADCIF – A/D 转换 中断 KBIIF – 键盘 中断 LVIIF – 低压侦测 中断 IICIF – IIC 中断 WDTIF– 看门狗 中断 Comparator 中断 004Bh 0053h 005Bh 0063h 006Bh 008Bh 0093h 9 10 11 12 13 17 18 *参考Keil C用户指南中的有关中断功能使用说明 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 48 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号 IEN0 IEN1 IEN2 IRCON IRCON2 IP0 IP1 描述 Interrupt Enable 0 register Interrupt Enable 1 register Interrupt Enable 2 register Interrupt request register Interrupt request register 2 Interrupt priority level 0 Interrupt priority level 1 地址 Bit 7 Bit 6 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 重置值 A8H EA - ET2 ES ET1 EX1 ET0 EX0 00H B8H EXEN 2 - IEIIC IELVI IEKBI IEADC IESPI IEPW M 00H 9AH - - - - - ECmpI EWDT - 00H C0H EXF2 TF2 IICIF LVIIF KBIIF ADCIF SPIIF PWMI F 00H 97H - - - - - CmpIF WDTI F - 00H A9H - - IP0.5 IP0.4 IP0.3 IP0.2 IP0.1 IP0.0 00H B9H - - IP1.5 IP1.4 IP1.3 IP1.2 IP1.1 IP1.0 00H Bit 5 Interrupt Interrupt Enable 0 register(IEN0) 符号: IEN0 7 6 EA - 5 ET2 4 ES0 3 ET1 2 EX1 1 ET0 4 IELVI 3 IEKBI 2 IEADC 1 IESPI 0 EX0 地址: A8h Reset 00h EA: EA=0 –禁能所有中断 EA=1 –使能所有中断 ET2: ET2=0 –禁能定时器 2 中断 ET2=1 –使能定时器 2 中断 ES: ES=0 –禁能串行口中断 ES=1 –使能串行口中断 ET1: ET1=0 –禁能定时器 1 中断 ET1=1 –使能定时器 1 中断 EX1: EX1=0 –禁能外部中断 1 EX1=1 –使能外部中断 1 ET0: ET0=0 –禁能定时器 0 中断 ET0=1 –使能定时器 0 中断 EX0: EX0=0 –禁能外部中断 0 EX0=1 –使能外部中断 0 Interrupt Enable 1 register (IEN1) 符号: IEN1 7 6 EXEN2 - 5 IEIIC 地址: B8h 0 Reset IEPWM 00H EXEN2: 定时器 2 重载中断使能位 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 49 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 EXEN2 = 0 –禁能定时器 2 外部重载中断 EXEN2 = 1 –使能定时器 2 外部重载中断 IEIIC: IIC 中断使能位 IEIICS = 0 –禁能 IIC 中断 IEIICS = 1 –使能 IIC 中断 IELVI: 低压侦测中断使能位 IELVI = 0 –禁能低压侦测中断 IELVI = 1 –使能低压侦测中断 IEKBI: KBI 中断使能位 IEKBI = 0 –禁能 KBI 中断 IEKBI = 1 –使能 KBI 中断 IEADC: A/D 转换中断使能位 IEADC = 0 –禁能 ADC 中断 IEADC = 1 –使能 ADC 中断 IESPI: SPI 中断使能位 IESPI = 0 –禁能 SPI 中断 IESPI = 1 –使能 SPI 中断 IEPWM: PWM 中断使能位 IEPWM = 0 –禁能 PWM 中断 IEPWM = 1 –使能 PWM 中断 Interrupt Enable 2 register (IEN2) 符号: IEN2 7 6 - 5 - 4 - 3 - 2 ECmpI 1 EWDT 0 - 地址: 9Ah Reset 00H ECmpI: ECmpI =0 –禁能比较器中断. ECmpI =1 –使能比较器中断(包括比较器 0 及比较器 1). EWDT: WDT 看门狗中断使能位 EWDT = 0 –禁能 WDT 中断 EWDT = 1 –使能 WDT 中断 Interrupt request register(IRCON) 符号: IRCON 7 6 EXF2 TF2 5 IICIF 4 LVIIF 3 KBIIF 2 ADCIF 1 SPIIF 地址: C0h 0 Reset PWMIF 00H EXF2: 定时器 2 重载中断旗标位.必须由软件清零 TF2: 定时器 2 中断旗标位.必须由软件清零 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 50 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 IICIF: IIC 中断旗标位 LVIIF: 低压侦测中断旗标位 KBIIF: KBI 中断旗标位 ADCIF: A/D 转换中断旗标位 SPIIF: SPI 中断旗标位 PWMIF: PWM 中断旗标位.必须由软件清零 Interrupt request register 2 (IRCON2) 符号: IRCON2 7 6 - 5 - 4 - 3 - 2 CmpIF 1 WDTIF 0 - 地址: 97h Reset 00H CmpIF: 比较器中断旗标位, 当比较器中断使能时,此旗标位将于程序至中断向量执行时自动清零. 当比较器中断禁能时,此旗标位可由软件清零 WDTIF: 看门狗中断旗标位 10.1 优先权配置 所有中断来源相组合于以下组中: 表 10-2: Priority level groups Groups - 外部中断 0 定时器 0 中断 外部中断 1 定时器 1 中断 串行口中断 定时器 2 中断 PWM 中断 SPI 中断 ADC 中断 KBI 中断 低压侦测中断 IIC 中断 看门狗中断 比较器中断 - 通过对SFR中的IP0或IP1置位或清零,每一组中断都可被独自编程为四个优先级中的一个,如要求相同的优先级被同时 接收,一内部轮询序列将依次确定哪个请求被优先服务. 符号: IP0 7 - 6 - 5 IP0.5 符号: IP1 7 - 6 - 5 IP1.5 4 IP0.4 3 IP0.3 2 IP0.2 1 IP0.1 4 3 2 1 IP1.4 IP1.3 IP1.2 IP1.1 表 10-3: Priority levels IP1.x IP0.x 优先权层级 0 0 Level0 (最低) 0 1 Level1 地址: A9h 0 Reset IP0.0 00h 地址: B9h 0 Reset IP1.0 00h Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 51 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 1 1 Bit IP1.0, IP0.0 IP1.1, IP0.1 IP1.2, IP0.2 IP1.3, IP0.3 IP1.4, IP0.4 IP1.5, IP0.5 外部中断 0 定时器 0 中断 外部中断 1 定时器 1 中断 串行口 0 中断 定时器 2 中断 0 1 Level2 Level3 (最高) 表 10-4: Groups of priority Group 看门狗中断 比较器中断 - PWM 中断 SPI 中断 ADC 中断 KBI 中断 低压侦测中断 IIC 中断 表 10-5: 轮询顺序 中断源 外部中断 0 PWM 中断 定时器 0 中断 看门狗中断 SPI 中断 外部中断 1 比较器中断 ADC 中断 定时器 1 中断 KBI 中断 串行口 0 中断 低压侦测中断 顺序 轮 询 顺 序 定时器 2 中断 IIC 中断 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 52 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 11. 电源管理单元 电源管理单元提供两种电源管理模式,即IDLE(待机/空闲)和STOP(停止),并为用户提供省电功能。 符号: PCON 7 6 SMOD - 5 - 4 - 3 - 2 - 1 STOP 0 IDLE 地址: 87h Reset 00h STOP: STOP 模式控制位。设置此位将运行 STOP 模式,STOP 位总是读为 0. IDLE: IDIE 模式控制位。设置此位将运行 IDLE 模式,IDLE 位总是读为 0 11.1 待机模式(空闲模式) 使用IDLE(待机模式(空闲模式))模式可通过对PCON寄存器的IDLE位置位。空闲模式停止MCU的时钟源,但外部的时 钟源依旧保持,由于此时CPU不工作,电源功耗将被降低。当任何一中断信号或者一复位信号时,CPU将退出待机模式 (空闲模式)。 11.2 停止模式 使用STOP(停止模式)模式可通过对PCON寄存器的STOP位置位。在此模式中,所有的中断源将全部被关闭,CPU将 从一个无时钟的中断(外部中断0/1, 键盘中断及低压侦测、看门狗中断)或者一个重置(看门狗及低压重置)条件下退 出该模式,内部产生的中断(定时器,串行端口... ),由于它们需要时钟源而会没有任何动作。 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 53 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 12. 脉宽调制器(PWM) SM39R16A3提供-四个通道的PWM输出. 中断值为43h. 符号 PWMC PWMD0H PWMD0L PWMD1H PWMD1L PWMD2H PWMD2L PWMD3H PWMD3L PWMMDH PWMMDL 描述 地址 PWM Control register PWM 0 Data register high byte PWM 0 Data register low byte PWM 1 Data register high byte PWM 1 Data register low byte PWM 2 Data register high byte PWM 2 Data register low byte PWM 3 Data register high byte PWM 3 Data register low byte PWM Max Data register high byte PWM Max Data register low byte Bit 7 B5h Bit 6 Bit 5 PWM PWMCS[2:0] BCh PWMP 0 - - BDh - - Bit 2 Bit 1 Bit 0 重置值 - PWM3 EN PWM2 EN PWM1 EN PWM0 EN 00H - - - - BFh PWMD0[9:8] - PWMP 2 - - - B2h - - PWMD1[9:8] PWMP 3 - - - B4h - - PWMD2[9:8] - - - - CFh - - PWMD3[9:8] PWMCS[2:0] PWMCS[2:0]: PWM 时钟源选择. PWMCS [2:0] 000 001 010 011 100 101 110 111 00H 00H - PWMMD[9:8] PWMMD[7:0] 5 00H 00H PWMD3[7:0] CEh 00H 00H PWMD2[7:0] B3h 00H 00H PWMD1[7:0] B1h 符号: PWMC 7 6 Bit 3 PWMD0[7:0] PWMP 1 BEh Bit 4 00H FFH 地址: B5h Reset 4 3 2 1 0 - PWM3EN PWM2EN PWM1EN PWM0EN 00H Mode Fosc Fosc/2 Fosc/4 Fosc/6 Fosc/8 Fosc/12 Timer 0 overflow Timer 0 external input (P3.4/T0) PWM3EN PWM 通道 3 使能位. PWM3EN = 1 – PWM 通道 3 使能. PWM3EN = 0 – PWM 通道 3 禁能. PWM2EN PWM 通道 2 使能位. PWM2EN = 1 – PWM 通道 2 使能. PWM2EN = 0 – PWM 通道 2 禁能. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 54 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 PWM1EN: PWM 通道 1 使能位. PWM1EN = 1 – PWM 通道 1 使能. PWM1EN = 0 – PWM 通道 1 禁能. PWM0EN: PWM 通道 0 使能位. PWM0EN = 1 – PWM 通道 0 使能. PWM0EN = 0 – PWM 通道 0 使能. 符号: PWMD0H 7 6 PWMP0 - 5 - 4 - 符号: PWMD0L 7 6 5 4 3 PWMD0[7:0] 3 - 2 - 2 地址: BCh 1 0 Reset PWMD0[9:8] 00H 1 0 地址: BDh Reset 00h PWMP0: PWM 通道 0 空闲极性选择. “0” – PWM 通道 0 于空闲时置低. “1” – PWM 通道 0 于空闲时置高. PWMD0[9:0]: PWM 通道 0 数值寄存器. 符号: PWMD1H 7 6 PWMP1 - 5 - 4 - 符号: PWMD1L 7 6 5 4 3 PWMD1[7:0] 3 - 2 - 2 1 0 PWMD1[9:8] 1 0 地址: BEh Reset 00H 地址: BFh Reset 00H PWMP1: PWM 通道 1 空闲极性选择. “0” – PWM 通道 1 于空闲时置低. “1” – PWM 通道 1 于空闲时置高. PWMD1[9:0]: PWM 通道 1 数值寄存器. 符号: PWMD2H 7 6 PWMP1 - 5 - 4 - 符号: PWMD2L 7 6 5 4 3 PWMD2[7:0] 3 - 2 - 2 1 0 PWMD1[9:8] 1 0 地址: B1h Reset 00H 地址: B2h Reset 00H PWMP2: PWM 通道 2 空闲极性选择. “0” – PWM 通道 2 于空闲时置低. “1” – PWM 通道 2 于空闲时置高. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 55 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 PWMD2[9:0]: PWM 通道 2 数值寄存器. 符号: PWMD3H 7 6 PWMP3 - 5 - 4 - 符号: PWMD3L 7 6 5 4 3 PWMD3[7:0] 3 - 2 - 2 1 0 PWMD1[9:8] 1 0 地址: B3h Reset 00H 地址: B4h Reset 00H PWMP3: PWM 通道 3 空闲极性选择. “0” – PWM 通道 3 于空闲时置低. “1” – PWM 通道 3 于空闲时置高. PWMD3[9:0]: PWM 通道 3 数值寄存器. 符号: PWMMDH 7 6 - 5 - 4 - 符号: PWMMDL 7 6 5 4 3 PWMMD[7:0] 3 - 2 - 2 地址: CEh 1 0 Reset PWMMD[9:8] 00H 1 0 地址: CFh Reset FFH PWMMD[9:0]: PWM 最大数值寄存器. PWM 从 0000h 计数至最大数值寄存器 PWMMD[9:0].当 PWM 计数至与最大数值寄存 器数值相等时 PWMMD[9:0]产生溢出. PWMPx = 0 & PWMDx = 00h PWMx Low PWMPx = 0 & PWMDx ≠ 00h PWMx PWMPx = 1 & PWMDx = 00h PWMx High PWMPx = 1 & PWMDx ≠ 00h PWMx PWMMD 1 PWM clock PWMDx Leader pulse PWM clock PWM period Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 56 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 13. IIC 功能 这些IIC模块使用SCL(时钟)和SDA(数据)线来联系其它的IIC界面, 其速度可以由软件设置特殊寄存器(SFR)中的 IICBR[2 : 0] , 从 而 使 其 高 达 到 400KBpS ( 最 大 值 ) . IIC 模 块 可 以 是 主 机 也 可 以 是 从 机 , , 提 供 两 个 中 断 (RXIF,TXIF),并有两个地址以作数据传输,它将产生开始,在主机模式中,反复启动和停止信号,在从机模式中, 它将检测开始,反复启动和停止信号, 最大沟通的长度及连接设备的数目被一个最大400pF 的电容所限制 中断向量为6Bh. 符号 IICCTL IICS 描述 IIC control register IIC status register 地址 Bit 7 F9h IICEN F8h - Bit 6 Bit 5 Bit 4 IIC function AB_E MSS MAS N MPIF LAIF RXIF IICA1 IIC Address 1 register FAh IICA1[7:1] IICA2 IIC Address 2 register FBh IICA2[7:1] IICRWD IICEBT IIC Read/Write register IIC Enaable Bus Transaction 符号: IICCTL 7 6 IICEN MSS FCh FDh 5 MAS Bit 3 Bit 2 Bit 1 BF_EN TXIF Bit 0 IICBR[2:0] RXAK TXAK 04H RW or BB MATC H1or RW1 MATC H2 or RW2 IICRWD[7:0] FU_EN 4 AB_EN - 3 BF_EN - - 2 1 IICBR[2:0] 重置值 00H A0H 60H 00H - - 0 - 00H 地址: F9h Reset 04h IICEN: IIC 模式使能 IICEN = 1,使能 IICEN = 0,禁止 MSS: 主\从机模式选择 MSS = 1, 选择主机模式 MSS = 0, 选择从机模式 软件必须在设置其它寄存器之前置位 MAS: 主模式的地址选择(仅在主机模式中) MAS = 0,使用 IICA1 MAS = 1,使用 IICA2 AB_EN: 仲裁失去了使能位. (仅主机模式) 当 AB_EN 位使能, 硬件将检查仲裁丢失位.一旦发生丢失仲裁, 硬件将返回到空闲状态. 如果此位 被清除, 硬件也不会理会仲裁丢失情况.当多主机与从机连接时需设置此位.于单主机与从机时清 除此位. BF_EN: 总线忙碌使能位. (仅主机模式) 当 BF_EN 位使能,硬件将不会产生开始信号至总在线直到 BF 已置低.此位若被清零将永远产生开 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 57 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 始信号至总线当 MStart 置高.当多主机与从机连接时需设置此位.于单主机与从机时清除此位. IICBR[2:0]: 波特率选择(仅在主机模式)这里的 Fosc 为外部晶体或振荡器的频率,系统默认为 Fosc/512 以便用户选择 IICBR[2:0] 000 001 010 011 100 101 110 111 符号: IICS 7 6 MPIF 5 LAIF Baud rate Fosc/32 Fosc/64 Fosc/128 Fosc/256 Fosc/512 Fosc/1024 Fosc/2048 Fosc/4096 4 RXIF 3 TXIF 2 RXAK 1 TXAK 0 RW or BB 地址: F8H Reset 00H MPIF: 停止条件中断旗标 当停止条件发生此位将置高.此位需由软件清零 LAIF: 仲裁失去中断旗标. (只主机模式) 当仲裁失去条件发生此位将置高.此位需由软件清零 RxIF: 数据接收中断标志位,在 IICRWD(IIC 读写数据缓存)载入一个新的接收数据时被置 位;软件清零该位后,IIC 中断标志位(IICIF)将自动清零。 TxIF: 数据传输中断标志位,当所有位于转换寄存器中的位数据被传输时,该位被置位,来自 IICRWD(IIC 读/写数据缓存)的 8 位数据被下载至转换寄存器中;软件清零该位后,IIC 中 断标志位(IICIF)将自动清零。 RxAK: 接收确认位. 置零,这意味着一个确认信号已经收到在完成 8 位数据传输总线上后. TxAK: 传输确认位. 当收到完整的 8 位数据, 此位将设置(NoAck) 或清除(Ack) 并传输到主机显示 接收状态. 事实上, 它是被作为一个字节的传输在第 9 位如图 13-1. RW or BB: 主机模式: BB:总线忙碌表示位 当侦测到 scl=0 或 sda=0 或总线产生开始信号,此位将置高.当侦测到停止信号,此位将清 零. 此位可由软件清零以使系统回到就绪状态. 从机模式: RW:从机模式的读取(接收)或写(传输) 在 IIC 总线. 当此位被清除, 表示从机模式在 IIC 总线接收数据.(只从机模式) Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 58 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 图 13-1: Acknowledgement bit in the 9th bit of a byte transmission 符号: IICA1 7 6 5 4 3 2 IICA1[7:1] R/W 1 地址: FAH Res 0 et Match1 or RW1 A0H R or R/W 从机模式: IICA1[7:1]: IIC 地址寄存器 这是为从机模式的第一个 7-bit 的地址,它在一个地址(来自主机模式)接收后被检测 Match1: 当 IICA1 和来自主机模式方的接收地址匹配时,该位将被硬件置位,当 IIC 总线读或写第一笔资料 时,该位将被自动清除。 主机模式: IICA1[7:1]: IIC 地址寄存器 显示要与它通讯的从机的 7 位地址 th RW1: 如模块被设置为 Mstart 或 Rstart bit,该位将被作为从机方的 RW 发送,它在 IIC 地址之后的抵 8 位显示,如图 13-2.。它用来告诉从属模式中将来的通信的方向。如设置为 1,模块在主模式中为 接收方,如是 0,模块在主模式中为传输方。 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 59 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 图 13-2: RW bit in the 8th bit after IIC address 地址: FBh 符号: IICA2 7 6 5 4 IICA2[7:1] R/W 3 2 1 0 Match2 or RW2 R or R/W Reset 60h 从机模式: IICA2[7:1]: IIC 地址寄存器 这是为从机模式的第二个 7-bit 的地址, 它在一个地址(来自主机模式)接收后被检测 Match2: 当 IICA2 和来自主机模式方的接收地址匹配时,该位将被硬件置位,当 IIC 总线读或写第一笔资料 时,该位将被自动清除。 主机模式: IICA2[7:1]: IIC 地址寄存器 显示要与它通讯的从机的 7 位地址 RW2: 如模块被设置为 Mstart 或者 Rstart bit,该位将被作为从机方的 RW 发送,它用来告诉从机模式中 将来的通信的方向。如设置为 1,模块在主模式中为接收方,如是 0,模块在主模式中为传输方。 符号: IICRWD 7 6 5 4 3 IICRWD[7:0] 2 1 0 地址: FCh Reset 00h IICRWD[7:0]: IIC 读写缓存 在接收(读)模式中,接收的字节存储于此 在传输模式中,该字节通过该 SDA 被转换 符号: IICEBT 7 6 FU_EN 5 4 3 2 1 - - - - - 地址: FDH Res 0 et 00H 主机模式: 00: 保留 01: IIC 模块将致能以便由 SDA 及 SCL 读写数据. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 60 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 10: IIC 模块将于 SDA 及 SCL 发出开始信号,再送出储存于 IICA1 或 IICA2(由 MAS 位选择)的地址 11: IIC 模块将于 SDA 及 SCL 发出停止信号. FU_EN[7:6] 此两位将自动清零,软件需重复写入. 从机模式: 01: FU_EN[7:6] 此两位于从机模式仅能写入 01.其它值是无效的. 注意: FU_EN[7:6] 当总线空闲时,于读写数据前此两位需先写入 01;否则,SCL 将被锁住 (置低). FU_EN[7:6] 当读写数据后并收到主机之停止信号时此两位需接着再写入 01. 在传送数据时(从机模式),于此两位写入 01 前待传送数据需先写入 IICRWD. FU_EN[7:6] 此两位将自动清零,软件需重复写入. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 61 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 14. SPI功能 串行外围接口(SPI)是一个同步串行接口,允许主机和从机沟通. 中断向量为4Bh. SPI 使用4个信号 SPI_MOSI: 在主机模式中数据输出,在从机模式中数据输入。 SPI_MISO: 在主模式中数据输入,在从机模式中数据输出, SPI_SCK: 从机模式时钟输出,以上数据与同步 SPI_SS: 从机模式中输入. 从机设备检测该信号来判断是否被主模式选择。 在主机模式中,它可选择所需的从机设备的任何IO的值为零。如图14-1所示的一个例子将显示主机与从机的4路信号之间 的关系 Master Slave 2 Slave 1 MOSI MISO CLK IO IO MOSI MISO CLK MOSI MISO CLK SS SS 图 14-1: SPI 主主机模式和从机模式之间的信号 这仅是单通道SPI的界面,SPI SFRs 如下所示: SPI SPIC1 SPIC2 SPIS SPITXD SPIRXD 描述 SPI control register 1 SPI control register 2 SPI status register SPI transmit data buffer SPI receive data buffer 地址 F1h F2h F5h Bit 7 SPIE N SPIF D SPIR F Bit 6 Bit 5 SPI function SPIMS SPISS S P Bit 4 Bit 3 SPICK P SPICK E SPIRS T SPITD R TBC[2:0] SPIML S SPIOV SPITX IF Bit 2 SPIRX IF Bit 1 Bit 0 重置值 SPIBR[2:0] 08H RBC[2:0] 00H SPIRD R SPIRS 40H F3h SPITXD[7:0] 00H F4h SPIRXD[7:0] 00H 符号: SPIC1 7 6 SPIEN SPIMSS 5 SPISSP 4 SPICKP 3 SPICKE 2 1 0 SPIBR[2:0] 地址: F1h Reset 08h SPIEN: SPI 模式使能位. “1” SPI 功能使能. “0” SPI 功能禁止. SPIMSS: 主/从机模式选择位 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 62 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 “1” 主机模式. “0” 从机模式. SPISSP: 从机选择的极性(仅从机模式有效) “1” -高电平动作. “0” -低电平动作. SPICKP: 时钟空闲极性(仅主机模式有效) “1” –空闲时 SCK 为高电平. Ex : “0” -空闲时 SCK 为低电平. Ex : SPICKE: 时钟采样相位选择位. “1” –数据锁存在上升沿 “0” –数据锁存在下降沿. *为确保数据锁存的稳定性,产生的输出数据,无论对方可锁存稳定的数据是在上升沿或下降沿, 都将作为考虑在以下示例中. sufficient set-up time sufficient hold time SPIBR[2:0]: SPI 速率选择位(仅主机模式有效),这里的 Fosc 为外部时钟或振荡器的频率 SPIBR[2:0] Baud rate 0:0:0 Fosc/4 0:0:1 Fosc/8 0:1:0 Fosc/16 0:1:1 Fosc/32 1:0:0 Fosc/64 1:0:1 Fosc/128 1:1:0 Fosc/256 1:1:1 Fosc/512 符号: SPIC2 7 6 SPIFD 5 TBC[2:0] 4 3 SPIRST 2 1 RBC[2:0] 0 地址: F2h Reset 00h Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 63 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 SPIFD: 全双工通信模式使能位. “1” : 使能全双工模式. “0” : 禁止全双工模式. 当此位被置位时,TBC[2;0]和 RBC[2;0]将被重置并归零。也就是说,只有 8 位数据通讯在全双工 模式中被允许,当主机模式通过 MOSI 线传输数据到从机模式中,意味着带有数据输入和输出的 全双工模式在同样的 SCK 时钟中是同步的,如下所示. Input Shift register SPIRXD Output Shift register SPITXD Clock Generator MISO MISO MOSI MOSI SCK SCK On-Bright Master Output Shift register SPITXD Input Shift register SPIRXD On-Bright Slave 图 14-2: SPI 主机和从机传输方法 TBC[2:0]: SPI 发送数据位,这里 1-8 位数据除了在全双工模式中是被允许的 TBC[2:0] Bit counter 0:0:0 8 bits output 0:0:1 1 bit output 0:1:0 2 bits output 0:1:1 3 bits output 1:0:0 4 bits output 1:0:1 5 bits output 1:1:0 6 bits output 1:1:1 7 bits output SPIRST: SPI 重新致能模式选择位. (仅从机模式有效) = 0 禁能. SPI 于 SS 脚重新致能时,传送或接收数据. 于传送或接收数据缓冲寄存器内,前次传送或接收之数据完全保留.(表示它是有效的) = 1 使能. SPI 于 SS 脚重新致能时,传送或接收新数据, 于传送或接收数据缓冲寄存器内,前次传送或接收之数据全部舍弃. (表示它是无效的) Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 64 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 RBC[2:0]: SPI 接收数据位,这里 1-8 位数据除了在全双工模式中是被允许的 RBC[2:0] Bit counter 0:0:0 8 bits input 0:0:1 1 bit input 0:1:0 2 bits input 0:1:1 3 bits input 1:0:0 4 bits input 1:0:1 5 bits input 1:1:0 6 bits input 1:1:1 7 bits input 符号: SPIS 7 SPIRF 6 5 4 SPIMLS SPIOV SPITXIF 3 SPITDR 2 1 0 SPIRXIF SPIRDR SPIRS 地址:F5H Reset 40H SPIRF: SS 脚被释放旗标指示位. 当 SS 脚被释放且 SPIRST 为”1”时,此位被置高. SPIMLS: MSB 或者 LSB 输入/输出优先 “1” : MSB 输入/输出优先 “0” : LSB 输入/输出优先 SPIOV: 溢出标志位 当 SPIRDR 被置位(SPIRXR 中的一个字节,但未被移除)且下一数据也进入时(这里不具备锁 存功能),该标志将被设置并导致在 SPIRXD 接收的数据被溢出毁坏,当 SPIRDR 被清除时,它 也被硬件清除。 SPITXIF: 传输中断标志 当 SPITXD 寄存器的数据被下载到转换寄存器时,该位被置位 SPITDR: 传输数据就绪位 当 MCU 结束对 SPITXD 寄存器读写数据时,MCU 须将改位置位,以通知 SPI 模块发送数据。在 SPI 模块完成从 SPITXD 或 SPITXD 发送数据到下载到转换寄存器后,该位将自动被清除。 SPIRXIF: 接受中断标志位 在 SPIRXD 被重载一个新的接收数据后,该位被置位 SPIRDR: 接收数据就绪位 当一字节被接收时,SPIRDR 被设为一个标志去通知 MCU。在获取来自 SPIRXD 寄存器的数据 后,MCU 须清除该位。如 SPI 模块向传输方写入新的数据至 SPIRXD 中且在该位清零之前,该数 据将随后被覆盖。 SPIRS: 接收起始位 该位被置位以此通知 SPI 模块来接收位于 SPIRXD 寄存器中的数据 符号: SPITXD 7 6 5 4 3 SPITXD[7:0] 2 1 0 地址: F3h Reset 00h SPITXD[7:0]: 传输数据缓冲 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 65 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号: SPIRXD 7 6 5 4 3 SPIRXD[7:0] 2 1 0 地址: F4h Reset 00h SPIRXD[7:0]: 接收数据缓冲. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 66 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 15. KBI –键盘接口 键盘接口(KBI) 可被连接一个 4 x n 矩阵键盘或任何普通的设备. 具有4路输入高或低的可编程的中断能力. 该4路接口可通 过外部中断从IDLE和STOP模式中退出. 且输出相互彼此独立,但共享同一中断向量5Bh. KBI0 Input circuitry KBI1 Input circuitry KBI2 Input circuitry KBI3 Input circuitry OR KBIIF: KBI interrupt flag IEKBI: KBI interrupt enable 图 15-1: 键盘接口框图 250KHz 0 KBIx De-bounce KBF.x 1 KBD[1:0] KBLS.x KBE.x 图 15-2: 键盘输入电路 KBI KBLS KBE KBF KBD 描述 KBI level selection KBI input enable KBI flag KBI De-bounce control register 地址 Bit 7 93h - - 94h 95h KBDE N 96h Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 重置值 - - KBLS3 KBLS2 KBLS1 KBLS0 00H - - - KBE3 KBF3 KBE2 KBF2 KBE1 KBF1 KBE0 KBF0 00H 00H - - - - - KBD1 KBD0 00H Bit 6 Bit 5 KBI function 符号: KBLS 地址: 93h 7 6 5 4 3 2 1 0 Reset Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 67 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 - - - - KBLS.3 KBLS.2 KBLS.1 KBLS.0 00h 3 KBE.3 2 KBE.2 1 KBE.1 0 KBE.0 地址: 94h Reset 00h 1 KBF.1 0 KBF.0 地址: 95h Reset 00h KBLS.3: KBI3 电位选择位 0 : 使能 KBI3 低电平检测. 1 : 使能 KBI3 高电平检测. KBLS.2: KBI2 电位选择位 0 : 使能 KBI2 低电平检测. 1 : 使能 KBI2 高电平检测. KBLS.1: KBI1 电位选择位 0 : 使能 KBI1 低电平检测. 1 : 使能 KBI1 高电平检测. KBLS.0: KBI0 电位选择位 0 : 使能 KBI0 低电平检测. 1 : 使能 KBI0 高电平检测. 符号: KBE 6 7 - - 5 - 4 - KBE.3: KBI3 使能位 0 : 使能标准 I/O 口. 1 : 使能 KBF 寄存器中的 KBF.3 位产生一中断请求. KBE.2: KBI2 使能位 0 : 使能标准 I/O 口. 1 : 使能 KBF 寄存器中的 KBF.2 位产生一中断请求. KBE.1: KBI1 使能位 0 : 使能标准 I/O 口. 1 : 使能 KBF 寄存器中的 KBF.1 位产生一中断请求. KBE.0: KBI0 使能位 0 : 使能标准 I/O 口. 1 : 使能 KBF 寄存器中的 KBF.0 位产生一中断请求. 符号: KBF 6 7 - - 5 - 4 - 3 KBF.3 2 KBF.2 KBF.3: KBI3 标志位 当 KBI3 检测到一编程水平线时,该位由硬件置位. 如 KBE.3 同样被置位时将产生一个 KBI 中断请求,该位须软件清零. KBF.2: KBI2 标志位 当 KBI2 检测到一编程水平线时,该位由硬件置位. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 68 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 如 KBE.2 同样被置位时将产生一个 KBI 中断请求,该位须软件清零. KBF.1: KBI1 标志位 当 KBI1 检测到一编程水平线时,该位由硬件置位. 如 KBE.1 同样被置位时将产生一个 KBI 中断请求,该位须软件清零. KBF.0: KBI0 标志位 当 KBI0 检测到一编程水平线时,该位由硬件置位. 如 KBE.0 同样被置位时将产生一个 KBI 中断请求,该位须软件清零. 符号: KBD 7 6 KBDEN - 5 - 4 - 3 - 2 - 1 KBD.1 地址: 96H 0 Reset KBD.0 00H KBDEN: KBI 去反弹使能位. 默认使能. KBDEN = 0, 使能去反弹功能. 去反弹时间于 KBD [1:0] 选择. KBDEN = 1, 禁能去反弹功能. KBI 输入口不需要去反弹机制. KBD[1:0]: KBI 去反弹时间选择. 当 KBDEN = “0”, 默认去反弹时间为 320 ms. KBD[1:0] = 00, 去反弹时间为 320 ms. KBD[1:0] = 01, 去反弹时间为 160 ms. KBD[1:0] = 10, 去反弹时间为 80 ms. KBD[1:0] = 11, 去反弹时间为 40 ms. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 69 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 16. LVI –低压侦测中断 中断向量为63h. 符号 RSTS LVC 描述 Reset status register Low voltage control 地址 Bit 7 A1h - - E6h LVI_ EN - 符号: RSTS 7 6 - 5 - Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 重置值 - PDR F WDTF SWRF LVRF PORF 00H LVRE LVIF - - Bit 6 Bit 5 LVI function 4 PDRF 3 WDTF 2 SWRF 1 LVRF LVIS[1:0] 20H 地址: A1h 0 Reset PORF 00H PDRF: 外部复位脚复位旗标 此旗标于芯片之复位信号是由外部复位脚产生时由硬件自动设置.此旗标可由软件清零 LVRF: 低电压复位旗标. 此旗标于芯片之复位信号是由低电压复位产生时由硬件自动设置.此旗标可由软件清零 PORF: 上电复位旗标. 此旗标于芯片之复位信号是由上电复位产生时由硬件自动设置.此旗标可由软件清零 符号: LVC 7 LVI_EN 6 - 5 LVRE 4 LVIF 3 - 2 - 1 0 LVIS[1:0] 地址: E6h Reset 20H LVI_EN: 低电压中断功能使能位 0: 禁能低电压检测中断功能 1: 使能低电压检测中断功能 LVRE: 外部低电压重置功能使能位. 0: 禁能外部低电压重置功能. 1: 使能外部低电压重置功能. LVIF: 低电压中断旗标位 LVIS: 低电压中断电压位阶选择: 00: 1.7V 01: 2.6V 10: 3.2V 11: 4.0V Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 70 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 17. 10位模拟数字转换器(ADC) SM39R16A3提供了7通道加上內部1通道(ADC0来自内部Vref 1.2V±10%)的10位ADC,, 数字输出采样的模拟信号放入 ADCD[9:0]中,而ADC的中断向量则为53h. Vref 1.2V±10% ADCC1[7:0] VDD ADCCH[2:0] Start ADC0 AVDD … … … … ADCD[9:0] MUX ADC6 High Speed 10 Bits ADC Module ADC7 ADC Clock Divider Fosc ADC_ISR AVSS ADCCS[4:0] VSS 图 17-1: ADC 模拟到数字转换器的操作设置 ADC SFRs 如下所示: 符号 ADCC1 ADCC2 ADCDH ADCDL ADCCS 描述 地址 ADC Control register 1 ADC Control register 2 ADC data high byte ADC data low byte ADC clock select Bit 6 ABh ADC7E N ACh Start Bit 5 Bit 4 ADC ADC6 ADC5 ADC4 EN EN EN ADJU ST Bit 3 Bit 2 Bit 1 Bit 0 重置 值 ADC3 EN ADC2 EN ADC1 EN ADC0E N 00H - ADCCH[2:0] 00H ADh ADCDH [7:0] 00H AEh ADCDL [7:0] 00H 符号: ADCC1 7 6 ADC7EN Bit 7 ADC6EN AFh - - - ADCCS[4:0] 00H 地址: ABh Reset 5 4 3 2 1 0 ADC5EN ADC4EN ADC3EN ADC2EN ADC1EN ADC0EN 00H ADC7EN: 使能 ADC 通道 7. ADC7EN = 1 –使能 ADC 通道 7 ADC6EN: 使能 ADC 通道 6. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 71 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 ADC6EN = 1 –使能 ADC 通道 6 ADC5EN: 使能 ADC 通道 5. ADC5EN = 1 –使能 ADC 通道 5 ADC4EN: 使能 ADC 通道 4. ADC4EN = 1 –使能 ADC 通道 4 ADC3EN: 使能 ADC 通道 3. ADC3EN = 1 –使能 ADC 通道 3 ADC2EN: 使能 ADC 通道 2. ADC2EN = 1 –使能 ADC 通道 2 ADC1EN: 使能 ADC 通道 1. ADC1EN = 1 –使能 ADC 通道 1 ADC0EN: 使能 ADC 通道 0. ADC0EN = 1 –使能 ADC 通道 0(来自内部 Vref 1.2V±10%,无外部输入管脚) 符号: ADCC2 7 6 Start ADJUST 5 4 3 - - 2 1 ADCCH[2:0] 0 地址: ACh Reset 00H Start: 当该位被置位时,ADC 将启动连续转换. ADJUST: ADC 数字输出格式调整. ADJUST = 0: (默认) ADC 数字输出高字节 ADCD [9:2] = ADCDH [7:0]. ADC 数字输出低字节 ADCD [1:0] = ADCDL [1:0]. ADJUST = 1: ADC 数字输出高字节 ADCD [9:8] = ADCDH [1:0]. ADC 数字输出低字节 ADCD [7:0] = ADCDL [7:0]. ADCCH[2:0]: ADC 通道选择. ADCCH [2:0] 000 001 010 011 100 101 110 111 通道 0 1 2 3 4 5 6 7 ADJUST = 0: 符号: ADCDH 7 6 ADCD[9] ADCD[8] 地址: ADh Reset 5 4 3 2 1 0 ADCD[7] ADCD[6] ADCD[5] ADCD[4] ADCD[3] ADCD[2] 00H Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 72 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号: ADCDL 7 6 - 5 - 4 - 3 - 2 - 5 - 4 - 3 - 1 ADCD[1] 0 ADCD[0] 地址: AEh Reset 00H ADJUST = 1: 符号: ADCDH 7 6 符号: ADCDL 7 6 ADCD[7] ADCD[6] 2 - 1 ADCD[9] 地址: ADh 0 Reset ADCD[8] 00H 地址: AEh Reset 5 4 3 2 1 0 ADCD[5] ADCD[4] ADCD[3] ADCD[2] ADCD[1] ADCD[0] 00H ADCD[9:0]: ADC 数字寄存器. 符号: ADCCS 7 6 - - 5 4 3 2 1 0 - ADCCS[4] ADCCS[3] ADCCS[2] ADCCS[1] ADCCS[0] 地址: AFh Reset 00H ADCCS[4:0]: ADC 时钟选择. *ADC 时钟最大为 12.5MHz. *ADC 转换率最大为 961 KHz. ADCCS[4:0] ADC 时钟分频(Hz) 00000 Fosc /2 00001 Fosc/4 00010 Fosc /6 00011 Fosc /8 00100 Fosc /10 00101 Fosc /12 00110 Fosc /14 00111 Fosc /16 01000 Fosc /18 01001 Fosc /20 01010 Fosc /22 01011 Fosc /24 01100 Fosc /26 01101 Fosc /28 01110 Fosc /30 01111 Fosc /32 10000 Fosc /34 10001 Fosc /36 10010 Fosc /38 10011 Fosc /40 10100 Fosc /42 10101 Fosc /44 10110 Fosc /46 10111 Fosc /48 ADC 转换所需时钟数 46 92 138 184 230 276 322 368 414 460 506 552 598 644 690 736 782 828 874 920 966 1012 1058 1104 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 73 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 11000 11001 11010 11011 11100 11101 11110 11111 Fosc /50 Fosc /52 Fosc /54 Fosc /56 Fosc /58 Fosc /60 Fosc /62 Fosc /64 1150 1196 1242 1288 1334 1380 1426 1472 Fosc 2 ( ADCCS 1) ADC_Clock ADC _ Conversion _ Rate 13 ADC _ Clock Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 74 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 18. 在系统编程(Internal ISP) SM39R16A3可通过内部硬件电路产生闪存控制讯号.用户利用闪存控制寄存器,闪存地址寄存器和闪存数据寄存器在不需 要将SM39R16A3移出系统的情况下实现ISP功能. SM39R16A3提供了可以实现闪存编程/芯片擦除/页擦除/保护功能的闪 存控制讯号.用户需要去设计和使用任何SM39R16A3可以输入数据的接口,然后利用ISP服务程序去实现闪存的编程/芯片 擦除/页擦除/保护功能. 18.1 ISP 服务程序 ISP服务程序是由用户自行开发并放置于ISP服务程序区的韧件. 用户可依需求决定ISP服务程序的大小. 另外用户需将ISP 服务程序刻录至SM39R16A3芯片中才可使用ISP功能. 由于ISP服务程序是由用户自行开发,它需包括闪存数据寄存器的刻录及SM39R16A3芯片与上位机的通讯协议. 举例来 说, 使用者使用SM39R16A3芯片上之UART接口与上位机作数据之传送及接收,则SM39R16A3芯片上之ISP服务程序内 需有波特率设定,为避免数据传输错误需有数据总合检查或同位检查或其它错误检查机制. 于正常动作模式或空闲模式可启动 ISP服务程序,于停止模式则不行. 18.2 锁定位(N) 锁定位N有两个功能:一是配置服务程序的大小,另一个则是通过闪存擦除功能锁定ISP服务程序的空间. ISP服务程序地址位从$3C00to $3FFF. 可被分为N*128字节(N=0-8). 当N为0时没有ISP功能.所有的16KB字节闪存都被用 来做程序存储.当N为1时,ISP服务程序占用128字节,剩余的15.875K 字节闪存可被用做程序存储.ISP服务程序的最大空间 为1K字节(当N为8时). 在这样的配置下,可用的程序存储空间为15K 字节. 在N定下来后,SM39R16A3会从上往下(从最顶端到地址$3FFF)保存ISP服务程序空间.ISP服务程序的开始地址位于$3x00 (x为任意数字,以N为准,如表 18-1所示). 请参考章节3.1有关ISP服务程序与程序内存之关系图. 锁定位N功能不同于闪存保护功能,闪存擦除功能可以擦除除ISP服务程序空间外的所有闪存记忆体.如闪存没有被保 护,ISP服务程序的内容一直可被读.如闪存被保护,所有的闪存程序空间包括ISP服务程序空间不能被读. N 0 1 2 3 4 5 6 7 8 表 18-1 ISP code area. ISP service program address No ISP service program 128 bytes ($3F80h ~ $3FFFh) 256 bytes ($3F00h ~ $3FFFh) 384 bytes ($3E80h ~ $3FFFh) 512 bytes ($3E00h ~ $3FFFh) 640 K bytes ($3D80h ~ $3FFFh) 768 K bytes ($3D00h ~ $3FFFh) 896 K bytes ($3C80h ~ $3FFFh) 1.0 K bytes ($3C00h ~ $3FFFh) ISP 服务程序配置于 N*256 字节 (N= 0 ~ 8) Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 75 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 18.3 对 ISP 服务程序编程 在锁定位N被设置并ISP服务程序被编程后,ISP服务程序记忆体被自动的保护(锁定).锁定位N有它自己的编程/擦除时序.这 不同于闪存记忆体的编程/擦除时序.因此,被锁定的ISP服务程序不可被闪存擦除功能所擦除.如客户需要擦除锁定的ISP服 务程序,他只可以通过烧写器实现.当SM39R16A3在系统时,客户不可改变ISP服务程序. 18.4 启动 ISP 服务程序 要启动ISP服务程序就是要在ISP服务程序的开始地址装载程序计数(PC)并执行它.有四种实现的方法: (1) 空复位.用首地址为空($000=#0FFH)的硬件复位会在 ISP 服务程序的开始地址装载 PC.硬件复位包括内部(电 源或重启)和外部重置端口复位. (2) 执行 JUMP 指令可在 ISP 服务程序的开始地址装载 PC (3) 通过硬件设置进入 ISP 服务程序.用户可通过设置当硬件复位时, P1.6‟为低‟, SM39R16A3 会强行进入 ISP 服 务程序.硬件复位包括内部(电源或重启)和外部键盘复位.在应用系统设计时,用户因该对 P1.6 在复位时间内防 止 SM39R16A3 进入 ISP 服务程序. (4) 通过硬件设置进入 ISP 服务程序,P1.1 在硬件复位时会侦测到 2 个时钟讯号. 硬件复位包括内部(电源或重启) 和外部阻容复位 在硬件复位周期内, 硬件可以侦测P1.6/P1.1状态.如果他们满足了上面的其中一个条件,芯片将会自动跳转到ISP模式.在 ISP服务程序被执行后,用户需要对SM39R16A3进行复位,通过硬件复位或WDT,或是‟JUMP‟至地址$0000来实现重启程序. 为了用户的不同应用情况,这里有6种不同的进入机制.这个进入方法可以在烧路器或ISP中选取. (1) (2) (3) (4) (5) (6) 首地址为空例如$0000 = 0xFF. 且由内部重置信号触发. 首地址为空例如$0000 = 0xFF. 且由外部重置信号触发. P1.6 = 0. 且由内部重置信号触发. P1.6 = 0. 且由外部重置信号触发. P1.1 输入 2 个时钟. 且由内部重置信号触发. P1.1 输入 2 个时钟. 且由外部重置信号触发. 18.5 ISP 寄存器– TAKEY, IFCON, ISPFAH, ISPFAL, ISPFD and ISPFC 符号 TAKEY IFCON ISPFAH ISPFAL ISPFD 描述 Time Access Key register Interface Control register ISP Flash Address – High register ISP Flash Address – Low register ISP Flash Data 地址 Bit 7 Bit 6 Bit 5 ISP function F7h Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TAKEY [7:0] 8Fh - CDPR E1h - - - - - 重置值 00H - ISPFAH [5:0] - ISPE 00H FFH E2h ISPFAL [7:0] FFH E3h ISPFD [7:0] FFH Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 76 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 ISPFC register ISP Flash Control register 符号: TAKEY 7 E4h EMF1 - EMF3 EMF4 - ISPF.2 ISPF.1 ISPF.0 00H 地址: F7H 6 5 4 3 TAKEY [7:0] 2 1 0 Reset 00H ISP使能位(ISPE)默认为只读,软件必须连续的对TAKEY寄存器写三个特定值55h,AAH,和5Ah,使ISPE位可写.这是: MOV TAKEY, #55h MOV TAKEY, #0AAh MOV TAKEY, #5Ah 符号: IFCON 7 6 CDPR 5 - 4 - 3 - 2 - 1 - 0 ISPE 地址: 8FH Reset 00H 位 0(ISPE) of IFCON 是 ISP 使能位,用户可通过设置 ISPE 位为 1 使能 SM39R16A3 的全部 ISP 功能,通过设置 ISPE 为 0 来禁止全部 ISP 功能.ISPE 的作用像一个加密匙.用户可禁止所有的 ISP 功能以保护软件程序不被意外 的擦除.ISP 寄存器 ISPFAH,ISPFAL,ISPFD,与 ISPFC 默认为只读.软件必须将 ISPE 位设为 1 以使上述 4 个寄存 器为可写. 符号: ISPFAH 7 6 - - 5 4 3 2 1 0 ISPFAH5 ISPFAH4 ISPFAH3 ISPFAH2 ISPFAH1 ISPFAH0 地址: E1H Reset FFH ISPFAH [5:0]: 使用 ISP 功能之地址高字节 符号: ISPFAL 7 6 ISPFAL7 ISPFAL6 5 ISPFAL5 4 ISPFAL4 3 ISPFAL3 2 ISPFAL2 1 ISPFAL1 地址: E2H 0 Reset ISPFAL0 FFH ISPFAL [7:0]: 使用 ISP 功能之地址低字节 ISPFAH 与 ISPFAL 提供了 14 位闪存记忆体地址用做 ISP 功能.这个闪存记忆体地址不应该包括 ISP 服务程序空 间地址.若 ISPFAH & ISPFAL 寄存器控制的闪存记忆体地址覆盖了 ISP 服务程序空间的地址.这个闪存程序/页擦 除等 ISP 功能的执行将会无效. 符号: ISPFD 7 6 ISPFD7 ISPFD6 5 ISPFD5 4 ISPFD4 3 ISPFD3 2 ISPFD2 1 ISPFD1 地址: E3H 0 Reset ISPFD0 FFH ISPFD [7:0]: 使用 ISP 功能之数值. ISPFD 寄存器提供 ISP 功能中所需之 8 位数据寄存器. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 77 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号: ISPFC 7 6 EMF1 - 5 EMF3 4 EMF4 3 - 2 ISPF[2] 1 ISPF[1] 地址: E4H 0 Reset ISPF[0] 00H EMF1: 进入机制 (1) 标志位, 由复位信号清除. (仅读) EMF3: 进入机制 (3) 标志位, 由复位信号清除. (仅读) EMF4: 进入机制 (4) 标志位, 由复位信号清除. (仅读) ISPF [2:0]: ISP 功能选择位. ISPF[2:0] 000 001 010 011 100 101 110 111 ISP function Byte program Chip protect Page erase Chip erase Write option Read option Erase option reserved 闪存一页有 128 字节 可设定功能选择位如晶振输入输出脚可配置为一般 I/O (于 1.2 节描述)、内部复位时间选 择(于 1.4.1 节描述)、时钟源来源选择 (于 1.5 节描述)、复位脚可配置为一般 I/O(于第 5 章描述)、看门狗功能启动位(于第 10 章描述)、或 ISP 进入机制选择(于第 18 章描述)。 只能读取功能选择位于芯片被加密后. 选择的 ISP 功能在软件对 ISPFC 寄存器写入数据时将会执行一次. 要实现字节编程/页擦除 ISP 功能,用户需要在开始时指定闪存地址.在实现页擦除功能时,SM39R16A3 将除 ISPFAH 与 ISPFAL 寄存器中显示地址所在的整页. 范例. 闪存地址: $XYMN 将对地址$XY00 to $XYFF 执行页抹除 要实现芯片擦除 ISP 功能,SM39R16A3 将擦除除 ISP 服务程序外的所有闪存程序记忆体. 要实现芯片保护 ISP 功 能,SM39R16A3 内容将被读为#00H. 范例:将对地址$1005H 执行字节写,写入#22H MOV TAKEY, #55h MOV TAKEY, #0AAh MOV TAKEY, #5Ah ;ISPE 可写入属性 ORL IFCON, #01H ;使能 SM39R16A3 ISP 功能 MOV ISPFAH, #10H ; 设定闪存高字节地址,10H Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 78 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 MOV ISPFAL, #05H ; 设定闪存低字节地址, 05H MOV ISPFD, #22H ; 设定将写入闪存之资料,资料= 22H MOV ISPFC, #00H ; 开始将写入闪存之资料#22H 写入地址$1005H MOV TAKEY, #0AAh MOV TAKEY, #5Ah ; ISPE 可写入属性 ANL IFCON, #0FEH ;禁止 SM39R16A3 ISP 功能 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 79 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 19. 比较器(Comparator) SM39R16A3在片内集成了两组比较器.当比较器使用时,比较器的非反向输入脚大于反向输入脚时,比较器输出脚置高,反 之比较器输出脚置低. Comparator SFRs 如下所示: 符号 OpPin Cmp0CO N Cmp1CO N 描述 OpCmp Pin Select Comparator_ 0 control Comparator_ 1 control Addr Bit 7 F6h - FEh FFh 符号: OpPin 7 6 Cmp0_E n Hys0E n Hys1E n Bit 6 Cmp0 _En Cmp0 o Cmp1 o 5 C0PosVB G Bit 5 Bit 4 Comparator C0PosVB C0PosP G ad Bit 3 CMF0MS[1:0] CMF0 CMF1MS[1:0] CMF1 4 C0PosP ad 3 - - 2 Cmp1_ En Bit 2 Bit 1 Bit 0 重置值 Cmp1_ En Cmp0 OutEN Cmp1 OutEN C1PosV BG C1PosP ad 00h - - 00h - - 00h 1 C1PosVB G 0 C1PosP ad 地址: F6h Reset 00h Cmp0_En : 比较器 0 使能位. 1: 比较器 0 电路使能,并自动将多功能之 I/O P0.3/P0.4/P0.6 切换到比较器 0 相应 的信号. C0PosVBG : 非反向输入端参考内部固定电压(1.2V±10%)使能位 1: 使能 C0PosPad: 非反向输入端电压参考外部输入脚电压使能位 1: 使能 Cmp1_En : 比较器 1 使能位. 1: 比较器 1 电路使能,并自动将多功能之 I/O P0.0/P0.1/P0.2 切换到比较器 1 相应 的信号. C1PosVBG: 非反向输入端参考内部固定电压(1.2V±10%)使能位 1: 使能 C1PosPad: 非反向输入端电压参考外部输入脚电压使能位 1: 使能 CmpxOut、Cmpx_En、CxPosVBG及CxPosPad 设定参考表: Cmpx_En CxPosVBG CxPosPad CmpxOut_En 0 1 1 1 1 X 0 0 1 1 X 1 1 0 0 X 0 1 0 1 CmpxPIn IO IO IO CMP CMP Comparator CmpxNIn CmpxOUT IO IO CMP IO IO CMP CMP IO CMP CMP Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 80 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 符号: Cmp0CON 7 6 Hys0En 5 Cmp0o 4 CMF0MS[1:0] 3 CMF0 2 1 Cmp0 OutEN - 0 地址:FEh Reset - 00h Hys0En: 比较器 0 迟滞功能使能位 0: 禁能 1: 使能 Cmp0o: 比较器 0 结果输出位(仅读) 1: 非反向输入端电压高于反向输入端电压 0: 反向输入端电压高于非反向输入端电压 CMF0MS[1:0] : 选择比较器 0 旗标(CMF0)产生之模式 00: 比较器 0 旗标(CMF0)于比较器 0 输出转换时被置高 01: 比较器 0 旗标(CMF0)于比较器 0 输出为上升沿时被置高 10: 比较器 0 旗标(CMF0)于比较器 0 输出为下降沿时被置高 11: 无动作 Cmp0OutEN: 比较器 0 输出使能位 0: 比较器 0 输出至外部管脚 1: 比较器 0 不输出至外部管脚 CMF0: 比较器 0 旗标位 此位依 CMF0MS[1:0]之选择模式条件符合时被置高.此位需由软件清零. 符号: Cmp1CON 7 6 Hys1En Cmp1o 5 4 CMF1MS[1:0] 3 CMF1 2 Cmp1 OutEN 1 - 0 地址:FFh Reset - 00h Hys1En: 比较器 1 迟滞功能使能位 0: 禁能 1: 使能 Cmp1o: 比较器 1 结果输出位(仅读) 1: 非反向输入端电压高于反向输入端电压 0: 反向输入端电压高于非反向输入端电压 CMF1MS[1:0] : 选择比较器 1 旗标(CMF1)产生之模式 00: 比较器 1 旗标(CMF1)于比较器 1 输出转换时被置高 01: 比较器 1 旗标(CMF1)于比较器 1 输出为上升沿时被置高 10: 比较器 1 旗标(CMF1)于比较器 1 输出为下降沿时被置高 11: 无动作 CMF1: 比较器 1 旗标位 此位依 CMF1MS[1:0]之选择模式条件符合时被置高.此位需由软件清零. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 81 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 Cmp1 OutEN: 比较器 1 输出使能位 0: 比较器 1 输出至外部管脚 1: 比较器 1 不输出至外部管脚 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 82 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 工作环境 Symbol Description Min. Typ. Max. Unit. Remarks TA Operating temperature -40 25 85 ℃ Ambient temperature under bias VDD Supply voltage 1.8 5.5 V 1.3 V Vref Internal reference voltage 1.1 1.2 DC 电气特性 TA = -40℃ to 85℃, Vcc = 5.0V Symbol Parameter Valid VIL1 Input Low-voltage Port 0,1,3 VIL2 Input Low-voltage RES, XTAL1 VIH1 Input High-voltage Port 0,1,3 VIH2 Input High-voltage RES, XTAL1 VOL Output Low-voltage Port 0,1,3 P0.5/P0.7/P1.2/P1.5/ P1.6/P1.7/P3.0/P3.1 VOH1 VOH2 IIL ITL ILI RRST CIO ICC Min TPY Max Units -0.5 0.8 V 0 0.8 V 2.0 VCC + 0.5 V 70%Vcc VCC + 0.5 V 0.45 V IOL=16mA Vcc=5V 0.45 V IOL=39mA Vcc=5V V IOH= -8mA V IOH= -16mA V IOH= -250uA -75 uA Vin= 0.45V -650 uA Vin= 2.0V ±10 uA 0.45V<Vin<Vcc 300 kΩ 10 pF 3.3 5 mA 5 7 mA 4 6 mA 2 7 uA Port 0,1,3 90% VCC Output High-voltage (1) P0.5/P0.7/P1.2/P1.5/ using Strong Pull-up 90% VCC P1.6/P1.7/P3.0/P3.1 Output High-voltage Port 0,1,3 2.4 (2) using Weak Pull-up Logic 0 Input Current Port 0,1,3 Logical Transition Port 0,1,3 Current Input Leakage Current Port 0,1,3 Reset Pull-down RES 50 Resistor Pin Capacitance Power Supply Current VDD Conditions Vcc=5V Freq= 1MHz, Ta= 25℃ Active mode ,IRC=22.1184MHz Active mode, 12MHz VCC =5V 25 ℃ Idle mode, 12MHz VCC =5V 25 ℃ Power down mode VCC =5V 25 ℃ Notes: 1. Port in Push-Pull Output Mode 2. Port in Quasi-Bidirectional Mode Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 83 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 TA = -40℃ to 85℃, VCC = 3.0V Symbol Parameter Valid Min VIL1 Input Low-voltage Port 0,1,3 VIL2 Input Low-voltage RES, XTAL1 VIH1 Input High-voltage Port 0,1,3 VIH2 Input High-voltage RES, XTAL1 VOL Output Low-voltage Port 0,1,3 P0.5/P0.7/P1.2/P1.5/ P1.6/P1.7/P3.0/P3.1 VOH1 VOH2 IIL ITL ILI RRST CIO ICC TPY Max Units -0.5 0.8 V 0 0.8 V 2.0 VCC + 0.5 V 70%Vcc VCC + 0.5 V 0.45 V IOL=15mA Vcc=3.0V 0.45 V IOL=25mA Vcc=3.0V V IOH= -5.5mA 90% VCC Output High-voltage Port 0,1,3 (1) using Strong Pull-up P1.6/P1.7/P3.0/P3.1 90% VCC Output High-voltage Port 0,1,3 (2) using Weak Pull-up Logic 0 Input Current Port 0,1,3 Logical Transition Port 0,1,3 Current Input Leakage Current Port 0,1,3 Reset Pull-down RES Resistor Pin Capacitance Conditions Vcc=3.0V IOH= -11mA 2.4 V IOH= -77uA -75 uA Vin= 0.45V -650 uA Vin=1.5V ±10 uA 0.45V<Vin<Vcc 300 kΩ 10 pF 3.2 5 mA 2.5 4 mA 2 3.5 mA 1 5 uA 50 Power Supply Current VDD Freq= 1MHz, Ta= 25℃ Active mode ,IRC=22.1184MHz Active mode ,12MHz VCC = 3.0 V 25 ℃ Idle mode, 12MHz VCC =3.0V 25 ℃ Power down mode VCC =3.0V 25 ℃ Notes: 1. Port in Push-Pull Output Mode 2. Port in Quasi-Bidirectional Mode Absolute Maximum Ratings SYMBOL PARAMETER 最大输出电流(source) Total I/O pins (Push-pull) Total I/O pins 最大承受电流(sunk) Max. Junction Temperature 结温 Tj MAX 100 UNIT mA 100 150 mA ℃ FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 84 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 ADC 电气特性 Operation Symbol Test Condition MIN VDD VDD 2.7 TYP Resolution MAX Unit 5.5 V 10 bit Conversion time 13tADC us Sample rate 870k Hz Integral Non-Linearity Error INL -1 1 LSB Differential Non-Linearity DNL -1 1 LSB -5.25 MHz Clock frequency ADCCLK 11.36 Comparator 电气特性 Ta=25℃ Symbol IOP Description Test Condition VDD Condition MIN TPY MAX Unit Operating current 5 - - 10 10 uA - Power Down Current 5 - - - 0.1 uA - Offset voltage 5 - -10 - +10 mV VCM Input voltage commom mode range - - Vss - Vdd-1.5 V Tp Propagation delay 5 △ Vin=10mV - 3 6 us FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 85 - SM39R16A3 内嵌 16KB 具有 ISP 功能的 Flash 和 512B RAM 的 8 位控制器 LVI& LVR 电气特性 Min VIL=1.4V 1.8V ~ 5.5V LVIS[1:0] = 00 LVIS[1:0] = 01 LVIS[1:0] = 10 LVIS[1:0] = 11 注意: Min VIL=1.6V VIL=2.5V VIL=3.1V VIL=3.9V LVR Typical VIL=1.5V LVI Typical VIL=1.7V VIL=2.6V VIL=3.2V VIL=4.0V Max VIL=1.6V Max VIL=1.8V VIL=2.7V VIL=3.3V VIL=4.1V VLVI 总是高于 VLVR 大约 0.2 V FOSVOS TEL: 021-58998693 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M066 Ver C SM39R16A3 04/20/2013 - 86 -