更新至E版

SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
产品目录 ................................................................................................................................................................................................ 3
描述 ........................................................................................................................................................................................................ 3
订货信息 ................................................................................................................................................................................................ 3
特征 ........................................................................................................................................................................................................ 3
各封装引脚配置 .................................................................................................................................................................................... 4
系统方框图 ............................................................................................................................................................................................ 5
管脚描述 ................................................................................................................................................................................................ 6
特殊功能寄存器(SFR) .......................................................................................................................................................................... 7
功能描述: .......................................................................................................................................................................................... 10
1 总特征........................................................................................................................................................................................... 10
1.1
嵌入式程序存储器 ............................................................................................................................................... 10
1.2
IO 口 ...................................................................................................................................................................... 10
1.3
指令时钟周期选择 ............................................................................................................................................... 10
1.4
时钟输出选择 ........................................................................................................................................................11
1.5
复位 ........................................................................................................................................................................11
2 指令设置 ....................................................................................................................................................................................... 14
3 存储器结构 ................................................................................................................................................................................... 18
3.1
程序存储器 ........................................................................................................................................................... 18
3.2
数据存储器 ........................................................................................................................................................... 19
3.3
数据内存-低 128 字节(00h to 7Fh) ...................................................................................................................... 19
3.4
数据存储器-高 128 字节(80h to FFh) .................................................................................................................. 19
4 CPU 结构 ...................................................................................................................................................................................... 20
4.1
累加器 ................................................................................................................................................................... 20
4.2
B 寄存器............................................................................................................................................................... 20
4.3
程序状态字 ........................................................................................................................................................... 21
4.4
堆栈指针 ............................................................................................................................................................... 21
4.5
数据指针 ............................................................................................................................................................... 21
4.6
数据指针 1 ............................................................................................................................................................ 22
4.7
接口控制寄存器 ................................................................................................................................................... 22
5 GPIO 管脚型态 ............................................................................................................................................................................ 23
5.1
寄存器设置 ........................................................................................................................................................... 23
5.2
刻录软件设 ........................................................................................................................................................... 23
6 定时器 0 和定时器 1 ................................................................................................................................................................... 24
6.1
定时器/计数器模式控制寄存器(TMOD) ............................................................................................................ 24
6.2
定时/计数控制寄存器(TCON) ............................................................................................................................. 25
6.3
中断触发类型增强寄存器(ENHIT) ..................................................................................................................... 25
6.4
T0 与 T1 外部输入切换 ....................................................................................................................................... 26
7 串行接口 ....................................................................................................................................................................................... 27
7.1
串行接口由以下 4 种模式可以设置:................................................................................................................ 28
7.2
串行接口的多重机通讯: ................................................................................................................................... 29
7.3
波特率发生器 ....................................................................................................................................................... 30
8 看门狗定时器 ............................................................................................................................................................................... 31
9 中断............................................................................................................................................................................................... 34
10 电源管理单元 ............................................................................................................................................................................... 39
10.1
待机模式(空闲模式) ............................................................................................................................................. 39
10.2
停止模式 ............................................................................................................................................................... 39
11 脉宽调制器(PWM)....................................................................................................................................................................... 40
12 IIC 功能 ....................................................................................................................................................................................... 43
13 LVI –低压中断 ............................................................................................................................................................................. 47
14 10 位模拟数字转换器(ADC) ....................................................................................................................................................... 48
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-1-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
15 EEPROM ...................................................................................................................................................................................... 51
16 比较器(Comparator) ..................................................................................................................................................................... 53
DC 电气特性 ....................................................................................................................................................................................... 55
ADC 电气特性 ................................................................................................................................................................................... 57
Comparator 电气特性 .......................................................................................................................................................................... 57
LVI& LVR 电气特性 .......................................................................................................................................................................... 57
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-2-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
产品目录
特征
SM39R08A5U10MP
描述
原来的 8052 有 12 时钟结构。一个机器周期需要 12 个时
钟,大多数指令是一个或两个机器周期。因此,除了乘除
和 DIV 指令,8052 的每个指令使用 12 或 24 个时钟。此
外,8052 中的每个周期用了两个记忆提取。在许多情况下,
第二个是假的提取,和额外的时钟被浪费了。
该 SM39R08A5 是一个快速的单芯片 8 位微控制器内核。
这是一个全功能的 8 位嵌入式控制器,执行所有 ASM51
指令,具有与 MCS - 51 相同的指令设置。
订货信息
SM39R08A5ihhkL YWW
i: 工艺标志{U = 1.8V ~ 5.5V}
hh: 封装脚位
k: 封装形式后缀{as table below }
L: 无铅标志
{无文字即含铅,”P” 即无铅}
Y: 年
WW: 周
Postfix
M























工作电压:1.8V ~ 5.5V
1~8T 模式可使用软件编程.
指令设置兼容 MCS-51.
内置 22.1184MHz RC 振荡器,及可程序化的分频器
8K 字节的片上闪存程序存储器
256 字节的标准的 8052 RAM
双 16-bit 数据指针 (DPTR0&DPTR1)
一个全双工通信的串行接口.附加波特率产生器
三个 16-bit 的定时器/计数器(计时器 0,1,2)
8 GPIOs(10L 封装脚位),GPIOs 可选择四种型态(准
双向口、推挽、开漏、只输入),默认准双向口(上拉)
具有四级优先权的外部中断 0,1
可编程的看门狗定时器(WDT).
一个 IIC 接口(主/从机模式)
4 路脉宽调制(PWM)
8 路 10bit 模拟数字转换(ADC)
片上内建比较器
片上闪存存储器支持 IAP/ICP 及 EEPROM 功能.
片上在线仿真功能(ICE)及片上在线调试功能(OCD).
ALE 输出选择.
低电压中断/低电压复位(LVI/LVR ).
管脚 ESD 性能超过 4KV.
增强用户代码保护.
电源管理单元空闲及掉电模式.
Package
MSOP (118 mil)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-3-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
各封装引脚配置
10 Pin MSOP
TXD/ADC1/Cmp0PIn/T1_2/P3.1
2
ADC2/PWM3/T1_1/P3.2
3
ADC3/PWM2/T0_1/P3.3
4
VSS
5
R08A5
1
(10 Pin Top View)
RXD/ADC0/Cmp0NIn/T0_2/P3.0
10
VCC
9
P3.7/INT1_0/Cmp0Out/ADC7
8
P3.6/PWM0/RESET/ADC6
7
6
P3.5/INT1_1/PWM1/SCL/CLKOUT/ADC5
P3.4/INT0_0/SDA/ADC4
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-4-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
MAX810
Analog
comparator
SRAM
256Bytes
INT0/1
ADC
TXD
RXD
ADC[7:0]
Cmp0PIn
IIC
Cmp0NIn
PWM
Cmp0Out
SCL
SDA
RESET
PWM0~3
系统方框图
UART
Port 3
Port 3
Timer 0/1
T0
T1
Flash 8KBytes
CPU
Watchdog
Interrupt
ICE
ICP
SDA
SCL
Interface control
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-5-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
管脚描述
代号
10 Pin
描述
I/O
1
- P3.0
- RXD
- T0_2
- Cmp0Nin
- ADC0
I/O
2
- P3.1
- TXD
- T1_2
- Cmp0PIn
- ADC1
I/O
3
- P3.2
- PWM3
- ADC2
- T1_1
I/O
4
- P3.3
- PWM2
- ADC3
- T0_1
I/O
5
VSS
6
- P3.4
- INT0_0
- SDA
- ADC4
I/O
7
- P3.5
- INT1_1
- PWM1
- SCL
- CLKOUT
- ADC5
I/O
8
- P3.6
- RESET
- PWM0
- ADC6
I/O
9
- P3.7
- INT1_0
- Cmp0Out
- ADC7
I/O
10
VDD
I
I
- P3 口的位 0
- 串行接口通道数据接收
- 计时器 0 外部输入 2
- 比较器 0 反向输入
- 模数转换通道 0
- P3 口的位 1
- 串行接口通道数据传输
- 计时器 1 外部输入 2
- 比较器 0 非反向输
- 模数转换通道 1
- P3 口的位 2
- 宽脉调制通道 3
- 模数转换通道 2
- 计时器 1 外部输入 1
- P3 口的位 3
- 宽脉调制通道 2
- 模数转换通道 3
- 计时器 0 外部输入 1
供电电源地
- P3 口的位 4
- 外部中断 0
- IIC 串行数据线
- 模数转换通道 4
- P3 口的位 5
- 外部中断 1
- 宽脉调制通道 1
- IIC 串行时钟线
- 时钟输出
- 模数转换通道 5
- P3 口的位 6
- 复位
- 宽脉调制通道 0
- 模数转换通道 6
- P3 口的位 7
- 外部中断 1
- 比较器 0 输出
- 模数转换通道 7
数位电源电压
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-6-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
特殊功能寄存器(SFR)
特殊功能寄存器分布图如下所示:
Hex\Bin
F8
F0
E8
E0
D8
D0
C8
C0
B8
B0
A8
A0
98
90
88
80
X000
IICS
B
ACC
PSW
IRCON
IEN1
P3
IEN0
SCON
TCON
X001
X010
X011
X100
X101
X110
IICCTL
IICA1
IICA2
IICRWD
IICEBT
CMP0CON
X111
Bin/Hex
FF
OPPIN
TAKEY
F7
EF
ISPFAH
ISPFAL
ISPFD
ISPFC
LVC
SWRES
E7
P3M0
P3M1
DF
D7
PWMMDH PWMMDL
CF
C7
IP1
SRELH
PWMD0H PWMD0L PWMD1H
PWMD1L
BF
PWMD2H PWMD2L PWMD3H PWMD3L
PWMC
WDTC
WDTK
B7
IP0
SRELL
ADCC1
ADCC2
ADCDH
ADCDL
ADCCS
AF
RSTS
A7
SBUF
IEN2
9F
AUX
IRCON2
97
TMOD
TL0
TL1
TH0
TH1
CKCON
IFCON
8F
SP
DPL
DPH
DPL1
DPH1
PCON
87
注:SM39R08A5 特殊功能寄存器的重置值在下表描述
Register
Location
Reset value
Description
SP
81h
07h
Stack Pointer
DPL
DPH
DPL1
DPH1
PCON
TCON
TMOD
82h
83h
84h
85h
87h
88h
89h
00h
00h
00h
00h
00h
00h
00h
Data Pointer 0 low byte
Data Pointer 0 high byte
Data Pointer 1 low byte
Data Pointer 1 high byte
Power Control
Timer/Counter Control
Timer Mode Control
TL0
TL1
TH0
TH1
CKCON
IFCON
8Ah
8Bh
8Ch
8Dh
8Eh
8Fh
00h
00h
00h
00h
10h
00h
Timer 0, low byte
Timer 1, low byte
Timer 0, high byte
Timer 1, high byte
Clock control register
Interface control register
AUX
91h
00h
Auxiliary register
SCON
98h
00h
Serial Port Control Register
SBUF
99h
00h
Serial Port Data Buffer
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-7-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
IEN2
9Ah
00h
Interrupt Enable Register 2
RSTS
A1h
00h
Reset status register
IEN0
A8h
00h
Interrupt Enable Register 0
IP0
A9h
00h
Interrupt Priority Register 0
SRELL
AAh
00h
Serial Port Reload Register, low byte
ADCC1
ABh
00h
ADC Control 1 Register
ADCC2
ACh
00h
ADC Control 2 Register
ADCDH
ADh
00h
ADC data high byte
ADCDL
AEh
00h
ADC data low byte
ADCCS
AFh
00h
ADC clock select
P3
B0h
FFh
Port 3
PWMD2H
B1h
00h
PWM 2 Data register high byte
PWMD2L
B2h
00h
PWM 2 Data register low byte
PWMD3H
B3h
00h
PWM 3 Data register high byte
PWMD3L
B4h
00h
PWM 3 Data register low byte
PWMC
B5h
00h
PWM control register
WDTC
B6h
04h
Watchdog timer control register
WDTK
B7h
00h
Watchdog timer refresh key.
IEN1
B8h
00h
Interrupt Enable Register 1
IP1
B9h
00h
Interrupt Priority Register 1
SRELH
BAh
00h
Serial Port Reload Register, high byte
PWMD0H
BCh
00h
PWM 0 Data register high byte
PWMD0L
BDh
00h
PWM 0 Data register low byte
PWMD1H
BEh
00h
PWM 1 Data register high byte
PWMD1L
BFh
00h
PWM 1 Data register low byte
IRCON
C0h
00h
Interrupt Request Control Register
PWMMDH
CEh
00h
PWM Max Data Register, high byte.
PWMMDL
CFh
00h
PWM Max Data Register, low byte.
PSW
P3M0
P3M1
D0h
DAh
DBh
00h
00h
00h
Program Status Word
Port 3 output mode 0
Port 3 output mode 1
ACC
E0h
00h
Accumulator
ISPFAH
E1h
0Fh
ISP Flash Address-High register
ISPFAL
E2h
FFh
ISP Flash Address-Low register
ISPFD
E3h
FFh
ISP Flash Data register
ISPFC
E4h
00h
ISP Flash control register
LVC
E6h
20h
Low voltage control register
SWRES
E7h
00h
Software Reset register
B
F0h
00h
B Register
OPPIN
F6H
00h
Op/Cmp pin select
TAKEY
F7h
00h
Time Access Key register
IICS
F8h
00h
IIC status register
IICCTL
F9h
04h
IIC control register
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-8-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
IICA1
FAh
A0h
IIC channel Address 1 register
IICA2
FBh
60h
IIC channel Address 2 register
IICRWD
FCh
00h
IIC channel Read / Write Data buffer
IICEBT
FDh
00h
IIC Enable Bus Transaction
CMP0CON
FEh
00h
Comparator 0 control
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
-9-
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
功能描述:
1
总特征
SM39R08A5是一个8位的微处理器,它的所有功能以及特殊功能寄存器(SFR)的详细定义将在以下章节给出。
1.1 嵌入式程序存储器
可通过编程器或在线编程(ICP)将程序加载到8KB的嵌入式闪存体中,其高品质的闪存体具有可擦写编程并记忆数据,如
EEPROM。
1.2 IO 口
SM39R08A5 有 1 个 I/O port: Port 3。Port 3 是 8 位口。四种型态: 准双向口(标准 8051 输出口)、推挽、开漏与仅为输入。
在章节 5 中有详细说明。
当使用片上硬件复位机制时,复位脚可配置为P3.6。
1.3 指令时钟周期选择
传统的52 系列单片机时钟周期是12T, 即12 个振荡器时钟为1个机器周期.SM39R08A5为1T~8T的微控制器,即机器周期
为1个时钟周期~8个时钟周期。换句话说, 执行一条指令可是1个时钟~8个时钟。
Mnemonic: CKCON
7
6
5
ITS[2:0]
ITS: 指令时钟周期选择.
ITS [2:0]
000
001
010
011
100
101
110
111
4
3
-
2
-
Address: 8Eh
1
0
Reset
CLKOUT[1:0]
10H
指令时钟周期
1T 模式
2T 模式(默认)
3T 模式
4T 模式
5T 模式
6T 模式
7T 模式
8T 模式
默认为2T模式,在任何时候,如CKCON [6:4](地址为8Eh)被改变时。每条指令并不是都能在一个机器周期内被执行的。
所有指令的确切机器周期将在下一章节中给出。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 10 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
1.4 时钟输出选择
在任何时候CKCON [1:0] (地址为8Eh) 被改变时,SM39R08A5能在P3.5产生时钟输出,主系统时钟源设置为使用振荡器(时
钟由晶振输入脚输入)或片内RC振荡器皆可。
CLKOUT: 时钟输出除频选择。
CKCON [1:0]
00
01
10
11
Mode.
GPIO(默认)
主系统时钟频率
主系统时钟频率/2
主系统时钟频率/4
1.5 复位
1.5.1 硬件复位功能
SM39R08A5提供了片上硬件复位机制,片上硬件复位的时间长度可以通过编程器或ICP设置。
片上硬件复位的时间长度
25ms (default)
200ms
100ms
50ms
16ms
8ms
4ms
1.5.2 软件复位功能
SM39R08A5提供一种软件复位机制来实现整个芯片的复位.要实现软件复位,于程序中需把3个特殊值 55h、AAh和5Ah按顺
序写到TAKEY寄存器来使能软件复位寄存器(SWRES)之写入。在软件复位寄存器获得可写权后,可以对SWRES寄存器写
入FFh。硬件将解码出复位讯号它是与其他硬件复位讯号作 “OR”处理。软件复位寄存器在软件复位过程的最后会进行自复
位。
Mnemonic
Description
Dire
ct
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RESE
T
WDTF
SWRF
LVRF
PORF
00H
Software Reset function
RSTS
TAKEY
SWRES
Reset status
register
Time Access Key
register
Software Reset
register
A1h
-
-
-
PDRF
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-M068
Ver E SM39R08A5 06/30/2015
- 11 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
1.5.3 Reset status
Mnemonic: RSTS
7
6
-
5
-
4
PDRF
3
WDTF
2
SWRF
1
LVRF
Address: 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)
Mnemonic: TAKEY
7
6
5
4
3
TAKEY [7:0]
2
1
Address: F7H
0
Reset
00H
软件复位寄存器(SWRES) 默认为只读;软件把 3 个特殊值按顺序写到 TAKEY 寄存器来使能软件复位
寄存器(SWRES)可写。它们是
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
1.5.5 软件复位寄存器(SWRES)
Mnemonic: SWRES
7
6
5
4
3
SWRES [7:0]
2
1
Address: E7H
0
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-M068
Ver E SM39R08A5 06/30/2015
- 12 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
1.6 时钟源
默认时钟来自于内部22.1184MhzOSC时钟信号,其时钟应用于初始化阶段,其主要的工作是确定时钟源使用的正常运行。
内部时钟源来源于不同分频的内部OSC如表1-1所示,时钟源可在编程器或ICP中设置。
表 1-1: Selection of clock source
Clock source
22.1184MHz from internal OSC
11.0592MHz from internal OSC
5.5296MHz from internal OSC
2.7648MHz from internal OSC
1.3824MHz from internal OSC
对于来源于内部OSC的频率,这将有些许误差,在应用程序中需要精确的频率时,须注意使用。最大误差如表1-2所示。
表 1-2: Temperature with variance
Temperature Max Variance
±2%
25℃
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 13 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
2
指令设置
所有SM39R08A5的指令都是兼容的二进制码,且具有标准的8051一样的功能,以下表格列出了以SM39R08A5微控器为核心
的指令集的周期的总结,这里的周期表示为机器周期。
Mnemonic
ADD A,Rn
表 2-1: Arithmetic operations
Description
Add register to accumulator
Code
28-2F
ADD A,direct
Add direct byte to accumulator
ADD A,@Ri
Bytes
1
Cycles
1
25
2
2
Add indirect RAM to accumulator
26-27
1
2
ADD A,#data
ADDC A,Rn
Add immediate data to accumulator
Add register to accumulator with carry flag
24
38-3F
2
1
2
1
ADDC A,direct
Add direct byte to A with carry flag
35
2
2
ADDC A,@Ri
Add indirect RAM to A with carry flag
36-37
1
2
ADDC A,#data
SUBB A,Rn
Add immediate data to A with carry flag
Subtract register from A with borrow
34
98-9F
2
1
2
1
SUBB A,direct
Subtract direct byte from A with borrow
95
2
2
SUBB A,@Ri
Subtract indirect RAM from A with borrow
96-97
1
2
SUBB A,#data
INC A
INC Rn
Subtract immediate data from A with borrow
Increment accumulator
Increment register
94
04
08-0F
2
1
1
2
1
2
INC direct
Increment direct byte
05
2
3
INC @Ri
Increment indirect RAM
06-07
1
3
INC DPTR
DEC A
Increment data pointer
Decrement accumulator
A3
14
1
1
1
1
DEC Rn
Decrement register
18-1F
1
2
DEC direct
Decrement direct byte
15
2
3
DEC @Ri
MUL AB
Decrement indirect RAM
Multiply A and B
16-17
A4
1
1
3
5
DIV
Divide A by B
84
1
5
DA A
Decimal adjust accumulator
D4
1
1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 14 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Mnemonic
ANL A,Rn
表 2-2: Logic operations
Description
AND register to accumulator
Code
58-5F
ANL A,direct
AND direct byte to accumulator
55
Bytes
1
Cycles
1
2
2
ANL A,@Ri
AND indirect RAM to accumulator
56-57
1
2
ANL A,#data
ANL direct,A
AND immediate data to accumulator
AND accumulator to direct byte
54
52
2
2
2
3
ANL direct,#data
AND immediate data to direct byte
53
3
4
ORL A,Rn
OR register to accumulator
48-4F
1
1
ORL A,direct
ORL A,@Ri
OR direct byte to accumulator
OR indirect RAM to accumulator
45
46-47
2
1
2
2
ORL A,#data
OR immediate data to accumulator
44
2
2
ORL direct,A
OR accumulator to direct byte
42
2
3
ORL direct,#data
XRL A,Rn
OR immediate data to direct byte
Exclusive OR register to accumulator
43
68-6F
3
1
4
1
XRL A,direct
Exclusive OR direct byte to accumulator
65
2
2
XRL A,@Ri
Exclusive OR indirect RAM to accumulator
66-67
1
2
XRL A,#data
Exclusive OR immediate data to accumulator
64
2
2
XRL direct,A
XRL direct,#data
Exclusive OR accumulator to direct byte
Exclusive OR immediate data to direct byte
62
63
2
3
3
4
CLR A
Clear accumulator
E4
1
1
CPL A
Complement accumulator
F4
1
1
RL A
RLC A
Rotate accumulator left
Rotate accumulator left through carry
23
33
1
1
1
1
RR A
Rotate accumulator right
03
1
1
RRC A
Rotate accumulator right through carry
13
1
1
SWAP A
Swap nibbles within the accumulator
C4
1
1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 15 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Mnemonic
MOV A,Rn
MOV A,direct
表 2-3: Data transfer
Description
Move register to accumulator
Move direct byte to accumulator
Code
E8-EF
E5
Bytes
1
2
Cycles
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-M068
Ver E SM39R08A5 06/30/2015
- 16 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Mnemonic
ACALL addr11
表 2-4: Program branches
Description
Absolute subroutine call
Code
xxx11
LCALL addr16
Long subroutine call
Bytes
2
Cycles
6
12
3
6
RET
from subroutine
22
1
4
RETI
AJMP addr11
from interrupt
Absolute jump
32
xxx01
1
2
4
3
LJMP addr16
Long iump
02
3
4
SJMP rel
Short jump (relative addr.)
80
2
3
JMP @A+DPTR
JZ rel
Jump indirect relative to the DPTR
Jump if accumulator is zero
73
60
1
2
2
3
JNZ rel
Jump if accumulator is not zero
70
2
3
JC rel
Jump if carry flag is set
40
2
3
JNC
JB bit,rel
Jump if carry flag is not set
Jump if direct bit is set
50
20
2
3
3
4
JNB bit,rel
Jump if direct bit is not set
30
3
4
JBC bit,direct rel
Jump if direct bit is set and clear bit
10
3
4
CJNE A,direct rel
Compare direct byte to A and jump if not equal
B5
3
4
CJNE A,#data rel
CJNE Rn,#data rel
Compare immediate to A and jump if not equal
Compare immed. to reg. and jump if not equal
B4
B8-BF
3
3
4
4
CJNE @Ri,#data rel
Compare immed. to ind. and jump if not equal
B6-B7
3
4
DJNZ Rn,rel
Decrement register and jump if not zero
D8-DF
2
3
DJNZ direct,rel
NOP
Decrement direct byte and jump if not zero
No operation
D5
00
3
1
4
1
Mnemonic
CLR C
表 2-5: Boolean manipulation
Description
Clear carry flag
Code
C3
CLR bit
Clear direct bit
SETB C
Bytes
1
Cycles
1
C2
2
3
Set carry flag
D3
1
1
SETB bit
CPL C
Set direct bit
Complement carry flag
D2
B3
2
1
3
1
CPL bit
Complement direct bit
B2
2
3
ANL C,bit
AND direct bit to carry flag
82
2
2
ANL C,/bit
ORL C,bit
AND complement of direct bit to carry
OR direct bit to carry flag
B0
72
2
2
2
2
ORL C,/bit
OR complement of direct bit to carry
A0
2
2
MOV C,bit
Move direct bit to carry flag
A2
2
2
MOV bit,C
Move carry flag to direct bit
92
2
3
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 17 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
3 存储器结构
SM39R08A5存储器结构和通用的8051结构相同,它们是作为程序存储器的8KB的嵌入式闪存。
3.1 程序存储器
SM39R08A5有8K的嵌入式闪存,可做为通用的程序存储或EEPROM。这8K的地址从$0000 to $1FFF。EEPROM的应用
功能在第18章节的内部EEPROM部分有描述。
1FFF
8K Program
Memory space
0000
图 3-1: SM39R08A5 programmable Flash
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 18 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
3.2 数据存储器
SM39R08A5具有256 Bytes的片上SRAM,256 Bytes和通用的8052内部存储器结构一样。
FF
FF
Higher 128 Bytes (Accessed by
indirect addressing mode only)
SFR (Accessed by direct
addressing mode only)
80
80
7F
Lower 128 Bytes (Accessed by
direct & indirect addressing mode )
00
图 3-2: RAM architecture
3.3 数据内存-低 128 字节(00h to 7Fh)
数据存储器从 00h 到 FFh 的地址和在 8052 中的定义是一样的。
0h 到 7Fh 的地址可通过直接或者间接寻址方式访问。
00h 到 1Fh 是寄存器的空间,
20h 到 2Fh 是位寻址空间,
30h 到 7Fh 是通用的数据存储区。
3.4 数据存储器-高 128 字节(80h to FFh)
80h 到 FFh 的地址仅仅能从间接寻址的方式访问,它是一个数据区。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 19 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
CPU 结构
4
SM39R08A5结构由以下四部分组成:
a. 控制单元
b. 算法-逻辑单元
c. 存储器控制单元
d. RAM和SFR控制单元
SM39R08A5结构允许接受来自程序存储器的指令并与RAM或SFR做数据处理,以下各段详细叙述了主要功能寄存器。
Mnemonic
Description
Direct
Bit 7
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
E0h
F0h
ACC.7
B.7
D0h
CY
PSW
SP
DPL
DPH
DPL1
DPH1
AUX
CKCON
IFCON
Bit 6
Bit 5
8051 Core
ACC.6 ACC.5
B.6
B.5
AC
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RESET
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
F0
RS[1:0]
81h
SP[7:0]
07H
82h
DPL[7:0]
00H
83h
DPH[7:0]
00H
84h
DPL1[7:0]
00H
85h
DPH1[7:0]
00H
91h
BRGS
8Eh
-
8Fh
-
-
-
PTS[1:0]
ITS[2:0]
CDPR
-
-
PINTS[1:0]
-
-
-
-
DPS
00H
CLKOUT[1:0]
10H
-
ISPE
4.1 累加器
ACC是一个累加器,大部分单操作指令的一个操作数取自累加器。
Mnemonic: ACC
7
6
ACC.7 ACC.6
5
ACC05
4
ACC.4
3
ACC.3
2
ACC.2
1
ACC.1
Address: E0h
0
Reset
ACC.0
00h
ACC[7:0]: The A (or ACC) register is the standard 8052 accumulator.
4.2 B 寄存器
B寄存器被用于乘法或除法指令,也可作为一般寄存器以存储临时数据。
Mnemonic: B
7
6
B.7
B.6
5
B.5
4
B.4
3
B.3
2
B.2
1
B.1
Address: F0h
0
Reset
B.0
00h
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-M068
Ver E SM39R08A5 06/30/2015
- 20 -
00H
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
4.3 程序状态字
Mnemonic: PSW
7
6
CY
AC
5
F0
4
3
RS [1:0]
2
OV
1
F1
Address: D0h
0
Reset
P
00h
CY: 进位标志位。
AC: 为 BCD 辅助进位标志位
F0: 用户设置标志位 0
RS[1:0]: 寄存器组选择位,用来选择工作寄存器区域。
RS[1:0]
Bank Selected
Location
00
Bank 0
00h – 07h
01
Bank 1
08h – 0Fh
10
Bank 2
10h – 17h
11
Bank 3
18h – 1Fh
OV: 溢出标志位
F1: 用户设置标志位 1
P: 奇偶校验位,受硬件影响,显示累加器中的奇偶的 1 位,即奇偶校验
4.4 堆栈指针
堆栈指针是一个1字节的寄存器,在复位后初始化值为07h。此寄存器在执行PUSH和CALL指令之前增值,使得堆栈指针在
08h开始执行。
Mnemonic: SP
7
6
5
4
3
2
1
SP [7:0]
Address: 81h
0
Reset
07h
SP[7:0]: 堆栈指针储存了暂时寄存器的地址,该地址是堆栈指针的起始位置。换言之,它总是指向堆
栈指针的顶端。
4.5 数据指针
数据指针为2字节,低位为DPL,高位为DPH。它可以作为一个2字节的寄存器(MOV DPTR,#data16)来使用,或者作为两
个寄存器(例如,MOV DPL,#data8),它通常被用作是运行外部程序或者是数据空间(如,MOVC A,@ A+DPTR 或者各自的
MOV A, @ DPTR)。
Mnemonic: DPL
7
6
5
3
DPL [7:0]
2
1
Address: 82h
0
Reset
00h
4
3
DPH [7:0]
2
1
Address: 83h
0
Reset
00h
4
DPL[7:0]: Data pointer Low 0
Mnemonic: DPH
7
6
5
DPH [7:0]: Data pointer High 0
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 21 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
4.6 数据指针 1
双数据指针加速了块状数据的运行速度.标准的DPTR 是一个16位的寄存器,是用来寻址外部空间或者外部存储器。在
SM39R08A5中,标准的数据指针称为DPTR,第二个数据指针称为DPTR1。选择位用来选择使用的数据指针,数据指针的
选择位位于AUX寄存器的LSB(DPS)。
用户通过触发AUX寄存器中的LSB位进行切换,所有有关的DPTR指令都将为当前选用的DPTR所操作。
Mnemonic: DPL1
7
6
5
4
3
DPL1 [7:0]
2
1
Address: 84h
0
Reset
00h
4
3
DPH1 [7:0]
2
1
Address: 85h
0
Reset
00h
4
3
PTS[1:0]
2
1
PINTS[1:0]
Address: 91h
0
Reset
DPS
00H
4
-
3
-
2
-
Address: 8Fh
0
Reset
ISPE
00H
DPL1[7:0]: Data pointer Low 1
Mnemonic: DPH1
7
6
5
DPH1[7:0]: Data pointer High 1
Mnemonic: AUX
7
6
BRGS
-
5
-
DPS: 数据指针选择位
DPS = 1 选择数据指针 1
4.7 接口控制寄存器
Mnemonic: IFCON
7
6
CDPR
5
-
1
-
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-M068
Ver E SM39R08A5 06/30/2015
- 22 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
5
GPIO 管脚型态
5.1 寄存器设置
SM39R08A5有1个I/O口:Port 3。 Port 3是8位口,他们是: 准双向口 (标准的8051端口输出)、推挽电路、开漏与只输入。
两种寄存器的配置为每个端口的每个位选择输出方式。SM39R08A5的所有端口可以通过软件配置四种型号的一种。如下表
显示:
Mnemonic
Description
Direct
P3M0
P3M1
Port 3 output mode 0
Port 3 output mode 1
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
P3M0[7:0]
P3M1[7:0]
Bit 2
Bit 1
Bit 0
RESET
00H
00H
Port output mode
准双向口 (标准的 8051 端口输出)
推挽电路
只输入 (高组态)
开漏
当使用片上硬件复位机制时,复位脚可配置为P3.6。
一般的应用,每个管脚都可独立的置高或置低。如下表显示:
Mnemonic
Description
Direct
Bit 7
Bit 6
Port 3
Port 3
B0h
P3.7
P3.6
Mnemonic: P3
7
6
P3.7
P3.6
5
P3.5
4
P3.4
Bit 5
Ports
P3.5
3
P3.3
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RESET
P3.4
P3.3
P3.2
P3.1
P3.0
FFh
2
P3.2
1
P3.1
Address: B0h
0
Reset
P3.0
FFh
P3.7~ 0: Port3 [7] ~ Port3 [0]
5.2 刻录软件设
可透过刻录软件内 ” 芯片配置 ” 设置窗口中的 ” IO 输出模式 ” 选项,设置 MCU 初始时 1 个 I/O 口组态: Port 3 为 ” 准
双向口 (标准的 8051 端口输出) ” 或 ” 只输入 ” 模式 , 此功能只支持 E 版本以后的 MCU 设置才有效
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 23 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
定时器 0 和定时器 1
6
SM39R08A5有二个16bit的定时/计数寄存器:定时器0、定时器1。所有这些都可以被设置为定时或计数操作。
在计数的模式中,当检测到相应的输入脚T0/T1有下降沿产生时,寄存器便得到递增,由于它需要2个机器周期来识别由1
到0的跳变,其最大输入的计数频率为振荡器频率的1/2,从而使得这里没有限制的占空比,以确定适当的识别为0或1的状
态,因此,一个输入信号至少要稳定在1个机器周期。
定时器0和定时器1都有四种操作模式选择,在选择操作模式中,两个特殊功能寄存器(TMOD and TCON)被应用其中。
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RESE
T
Mnemonic
Description
Direct
TL0
Timer 0 , low byte
Timer 0 , high
byte
Timer 1 , low byte
Timer 1 , high
byte
Timer Mode
Control
Timer/Counter
Control
8Ah
TL0[7:0]
00H
8Ch
TH0[7:0]
00H
8Bh
TL1[7:0]
00H
8Dh
TH1[7:0]
00H
Timer 0 and 1
TH0
TL1
TH1
TMOD
TCON
89h
GATE
C/T
M1
M0
GATE
C/T
M1
M0
00H
88h
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
00H
6.1 定时器/计数器模式控制寄存器(TMOD)
Mnemonic: TMOD
7
6
5
GATE
C/T
M1
Timer 1
4
M0
3
GATE
2
1
C/T
M1
Timer 0
Address: 89h
0
Reset
M0
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。
0
1
Mode1
16 位计数器/定时器。
1
0
Mode2
8 位自动重载的计数器/定时器,自动重载的值保
留在TH0 和TH1。同时TL0 或者TL1 在每个机
器周期内都会递增。当溢出时,将THx 存放的值
装入TLx。
1
1
Mode3
如定时器1 的M1 和M2 位被设置为1,定时器2
停止计数。如定时器0 的M1 和M0 位被设置为
1,定时器0 作为两个独立的8 位定时器/计数
器。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 24 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
6.2 定时/计数控制寄存器(TCON)
Mnemonic: TCON
7
6
5
TF1
TR1
TF0
4
TR0
3
IE1
2
IT1
1
IE0
Address: 88h
0
Reset
IT0
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 中断触发类型增强寄存器(ENHIT)
符号: ENHIT
7
-
6
ENHIT1
5
-
4
ENHIT0
3
-
2
-
1
-
0
-
Reset
07H
注: 此功能只支持 H 版本以后的 MCU 设置才有效
ENHIT1: 中断 1 触发边沿控制位。
当 ENHIT1 设置为 0 且 IT1 设置为 1 时, 则开启中断 1 触发选项为下降沿触发
当 ENHIT1 且 IT1 皆设置为 1 时, 则开启中断 1 触发选项为上升沿触发
ENHIT1=0
ENHIT1=1
IT1=0
INT1低电平触
发
INT1 低电平触发
IT1=1
INT1下降沿触
发
INT1上升沿触发
ENHIT0: 中断 0 触发边沿控制位。
当 ENHIT0 设置为 0 且 IT0 设置为 1 时, 则开启中断 0 触发选项为下降沿触发
当 ENHIT0 且 IT0 皆设置为 1 时, 则开启中断 0 触发选项为上升沿触发
ENHIT0=0
ENHIT0=1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 25 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
IT0=0
INT0低电平触发
INT0 低电平触发
IT0=1
INT0下降沿触发
INT0上升沿触发
6.4 T0 与 T1 外部输入切换
Mnemonic: AUX
7
6
BRGS
PTS [1:0]
0x00
0x01
0x10
0x11
5
-
4
3
PTS [1:0]
T0
P3.3
P3.0
-
2
1
PINTS[1:0]
Address: 91h
0
Reset
DPS
00H
T1
P3.2
P3.1
-
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 26 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
7
串行接口
两个串行缓冲器组成两个单独寄存器,即一个传输缓冲区和一个接收缓冲区。
写入数据到特殊功能寄存器(SFR)SBUF并设置这些数据在串行输出缓冲,并开始传输, 来自SBUF的读取及从串行接收
缓冲区读取数据,串行口可同时传输和接收数据,它也可在接收时缓存1字节,如CPU在第一个字节传输完成之前读取第二
个字节,以防接收数据丢失。
Mnemonic
Description
Direct
Bit 7
PCON
AUX
Power control
Auxiliary register
Serial Port
control register
Serial Port
data buffer
Serial Port
reload register
low byte
Serial Port
reload register
high byte
87H
91h
SMOD
BRGS
98H
SM0
SCON
SBUF
SRELL
SRELH
Bit 6
Bit 5
Bit 4
Bit 3
Serial interface
PTS[1:0]
Bit 2
SM1
RB8
SM2
REN
99H
Bit 0
RESET
STOP
PINTS[1:0]
IDLE
DPS
40H
00H
RI
00H
TI
SBUF[7:0]
SREL
.7
AAH
SREL
.6
SREL
.5
BAH
Mnemonic: AUX
7
6
BRGS
-
TB8
Bit 1
SREL
.4
SREL
.3
-
5
-
4
3
PTS[1:0]
2
1
PINTS[1:0]
00H
SREL
.2
SREL
.1
SREL
.0
00H
SREL
.9
SREL
.8
00H
Address: 91h
0
Reset
DPS
00H
BRGS: BRGS = 0 –波特率产生器使用定时器 1 TH1 寄存器。
BRGS = 1 –波特率产生器使用 SREL 寄存器。
Mnemonic: SCON
7
6
5
SM0
SM1
SM2
4
REN
3
TB8
2
RB8
1
TI
Address: 98h
0
Reset
RI
00h
SM0,SM1: 串行口模式选择。
SM0 SM1
Mode
0
0
0
0
1
1
1
0
2
1
1
3
在 UART 的 4 种模式中,模式 0~3 稍后解释
SM2: 多处理机通信使能位
REN: 如置位,串行接收使能,软件清除禁止接收
TB8: 在模式2 和3 中,发送的第9 位数据位,置位或清零取决与它执行的功能,如奇
偶校验功能, 多处理机通信等。
RB8: 在模式2 和3 中,RB8 为接收的第9 位数据位。在模式1 中,如SM2=0,RB8
为停止位。在模式 0 中,此位不被使用。须由软件清除。
TI: 发送中断标志位.在完成串行传输后由硬件置位,须由软件清除。
RI: 接收中断标志。在完成串行传输后由硬件置位,须由软件清除。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 27 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
7.1 串行接口由以下 4 种模式可以设置:
SM0
0
0
1
1
SM1
0
1
0
1
Mode
0
1
2
3
Description
Shift register
8-bit UART
9-bit UART
9-bit UART
Board Rate
Fosc/12
Variable
Fosc/32 or Fosc/64
Variable
这里的Fosc是晶体或振荡器的频率。
7.1.1 模式0:
引脚RXD充当输入和输出。TXD输出时钟。每次发送或接收以LSB最低位作首位,每次8位。波特率固定为的晶体的频率1/12,
接收通过以下的在SCON中的设置标志在模式0中初始化:RI = 0及REN = 1。在其他模式中,当REN=1时,开始从起始位
接收串行数据。
图 7-1: Transmit mode 0
图 7-2: Receive mode 0
7.1.2 模式1:
引脚RXD充当输入,TXD充当串行输出,无任何外部时钟被使用,每次数据为10位:一个起始位(=0),8个数据位(LSB位
在前),及一个停止位(=1)。在接收据数据时,起始位将被同步传输,8个数据位可通过SBUF来读取,一个停止位存于特
殊功能寄存器SCON的设置标志RB8内,在模式1中,无论是内部的波特率发生器或定时器1可以用来指定波特率。
图 7-3: Transmit mode 1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 28 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
图 7-4: Receive mode 1
7.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将被影响。
7.1.4 模式 3:
模式2和3的唯一不同之处在于:在模式3中,无论是内部的波特率发生器或定时器1可以用来指定波特率。
图 7-5: Transmit modes 2 and 3
图 7-6: Receive modes 2 and 3
7.2 串行接口的多重机通讯:
在串行接口的模式2 和3,接收9 位的功能,可用于多处理器的通讯。在这种情况下,从机在SCON 中的位SM2被置位为1。
当主机输出从机的地址时,Bit9 将被置1,从而在所有的从机中导致串行口接收中断。从机将接收到的字节和它们的网络地
址比较,如匹配,其从机将清除SM2,并接收其余的信息,其他的从机将远离SM2无效,并忽略此信息。在解决从机后,
其主机在Bit9 清0 时将输出剩余部分的信息,因此,没有串口接收中断会产生在未选中的处理机中。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 29 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
7.3 波特率发生器
串行接口的模式1和3
7.3.1.1 当BRGS = 0 (在 AUX寄存器)
Baud Rate =
2 SMOD × Fosc
32 × 12 × (256 − TH1)
7.3.1.2 当BRS = 1 (在 AUX寄存器)
Baud Rate =
2 SMOD × Fosc
64 × 210 − SREL
(
)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 30 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
8
看门狗定时器
看门狗定时器是一个8位的计数器并会在计数器溢出时产生复位讯号。WDT在噪音、电源干扰或断电等导致软件死循环或跑
飞程序等情况下非常有用。WDT功能可以帮助拥护的软件从不正常的软件状态中恢复正常。WDT不同于通用的8052的计时
器0、1。为了防止WDT复位,可以通过软件定时清除WDT计数器。当不可预料的复位发生时,用户应该检查WDTC寄存器
的WDTF位。在一外部复位后,该看门狗定时器将无效且所有寄存器都清零。
看门狗定时器是一个自由运行的片上RC振荡器 (约23 KHz)。WDT将保持运行就算是系统时钟被关闭(例如,在睡眠状态)。
在正常的运行或睡眠状态,一个WDT超时(如使能)将导致MCU复位。WDT在正常状态下可随时被使能或失效,请注意WDTC
寄存器的WDTE位。默认的WDT超时时间为接近178.0ms (WDTM [3:0] = 0100b) 。
WDT有可选择的分频.要选择分频,需要正确设置看门控制寄存器(WDTC)的位3~位0(WDTM [3:0])
23KHz
2 WDTM
256
Watchdog reset time =
WDTCLK
WDTCLK =
表 8.1 WDT time-out period
WDTM [3:0]
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
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
注: RC振荡器(23 KHz),大约有 ± 20 %误差
当MCU复位,MCU将会读WDTEN控制位状态。当WDTEN位被设置为1,无论WDTE位状态如何,看门狗功能将会失效。
当WDTEN位被清0,在WDTE位被通过变成设为1的情况下,看门狗功能将被使能。用户可通过烧路器或ICP设置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-M068
Ver E SM39R08A5 06/30/2015
- 31 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Clear
WDTF = 0
1. Power on reset
2. External reset
3. Software write “0”
23KHz RC
oscillator
Set WDTF = 1
CWDTR = 0
WDTCLK
1
TAKEY
(55, AA, 5A)
WDTF
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
图 8-1: Watchdog timer block diagram
Mnemonic
TAKEY
WDTC
WDTK
RSTS
Description
Time Access
Key register
Watchdog timer
control register
Watchdog timer
refresh key
Reset status
register
Direct
Bit 7
Bit 6
Bit 5
Bit 4
Watchdog Timer
F7h
B6h
Bit 2
Bit 1
Bit 0
TAKEY [7:0]
-
CWDTR
WDTE
B7h
A1h
Bit 3
-
00H
WDTM [3:0]
04H
WDTK[7:0]
-
Mnemonic: TAKEY
7
6
5
-
-
4
3
TAKEY [7:0]
RESET
00H
PDRF
WDTF
SWRF
LVRF
2
1
Address: F7h
0
Reset
00H
PORF
00H
看门狗控制寄存器(WDTC)默认为仅读;软件需依序于寄存器 TAKEY 写入 55h, AAh 及 5Ah 才能对看
门狗控制寄存器(WDTC)执行写入,启动看门狗功能及设定重置时间。
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
Mnemonic: WDTC
7
6
CWDTR
5
WDTE
4
-
3
2
1
WDTM [3:0]
Address: B6h
0
Reset
04H
CWDTR: 看门狗溢位状态选择(支持休眠唤醒)
0: 看门狗发生溢位时产生重置信号
1: 看门狗发生溢位时产生中断信号
WDTE: 看门狗定时器使能位。
此位需于WDTEN=0(此值于出厂时已设为0)时设置才有作用,既于烧录(使用ICP或一般
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 32 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
烧录器)时于看门狗选项选择使用。
0: 禁能。
1: 使能。
WDTM [3:0]: 看门狗重置信号产生时间选择位。请参考表格 8.1 所列看门狗重置信号产生时间。
Mnemonic: RSTS
7
6
-
5
-
4
PDRF
3
WDTF
2
SWRF
1
LVRF
Address: A1h
0
Reset
PORF
00h
WDTF: 看门狗重置旗标。
此旗标于芯片之复位信号是由看门狗重置产生时由硬件自动设置。此旗标可由软件清零。
Mnemonic: WDTK
7
6
5
4
3
WDTK[7:0]
2
1
Address: B7h
0
Reset
00h
WDTK: 看门狗定时器计数器清零寄存器。
于此寄存器写入 0x55,看门狗定时器计数器将清零重新计数。
范例:
看门狗定时器使能并选择重置信号产生时间为 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.
.
.
.
MOV WDTK, #55h
; Clear WDT timer to 0.
范例 2:
看门狗定时器使能并选择周期中断信号产生时间为 178.0ms
第一步,先确认烧录时看门狗功能已选择使用
第二步,如下
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
; enable WDTC write attribute.
MOV WDTC, #64h
;Set WDTM [3:0] = 0100b. et 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-M068
Ver E SM39R08A5 06/30/2015
- 33 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
9
中断
SM39R08A5提供11个中断源并带有4级优先权。每一中断源都在特殊寄存器(SFR)中有自身的请求标志,每个中断请求信
号通过相应的标志及特殊寄存器(SFR)中的IEN0及IEN1中的使能位来独自允许或禁止。
当中断发生时,CPU将会跳转预先设定的地址,如9-1图表所示,一旦中断开始执行,就只能被更高优先级的中断终止,其
中断服务会被来自指令RETI的返回所终结。当一RETI被执行时且中断发生时,处理器将将返回此指令,并执行下一条指令。
当中断条件发生时,该处理器通过设置一个标志位来表示,无论中断使能或禁止,每个中断标志都将在每个机器周期中采
样一次,随后采样由硬件来检测,当中断被使能时,且采样指出相应中断时,中断请求标志被设置。在随后的指令周期中,
中断将被硬件所确定。从而迫使一个LCALL 指向相应的地址向量。
当中断发生时,中断响应将需要不同的时间,这取决于相关的处理器。如一处理器执行的中断服务程序同等或更优先,新
的中断将不会启用,在其他情况下,响应时间将取决于当前的指令。以最快的速度回应一个中断是需要7个机器周期,这包
括一个检测中断的机器周期和6周期执行LCALL周期。
表 9-1: 中断向量
Interrupt Vector
Address
0003h
Interrupt Number
*(use Keil C Tool)
0
TF0 – Timer 0 interrupt
000Bh
1
IE1 – External interrupt 1
0013h
2
TF1 – Timer 1 interrupt
001Bh
3
RI/TI – Serial channel interrupt
0023h
4
PWMIF – PWM interrupt
0043h
8
ADCIF – A/D converter interrupt
0053h
10
LVIIF – Low Voltage Interrupt
0063h
12
IICIF – IIC interrupt
006Bh
13
WDTIF–WDT interrupt
008Bh
17
Comparator interrupt
0093h
18
Interrupt Request Flags
IE0 – External interrupt 0
*参考Keil C用户指南中的有关中断功能使用说明
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 34 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Mnemonic
Description
Direct
Bit 7
Bit 6
AUX
Auxiliary register
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
91h
BRGS
-
A8H
EA
-
-
ES
ET1
EX1
B8H
-
-
IEIIC
IELVI
-
IEADC
9AH
-
-
-
-
-
ECmpI
C0H
-
-
IICIF
LVIIF
-
97H
-
-
-
-
A9H
-
-
IP0.5
B9H
-
-
IP1.5
IEN0
IEN1
IEN2
IRCON
IRCON2
IP0
IP1
Mnemonic: AUX
7
6
BRGS
-
5
-
4
Bit 5
Interrupt
-
3
PTS[1:0]
Bit 4
Bit 3
Bit 2
Bit 0
RST
DPS
00H
EX0
00H
IEPWM
00H
IEWDT
-
00H
ADCIF
-
PWMIF
00H
-
CmpIF
WDTIF
-
00H
IP0.4
IP0.3
IP0.2
IP0.1
IP0.0
00H
IP1.4
IP1.3
IP1.2
IP1.1
IP1.0
00H
PTS[1:0]
2
1
PINTS[1:0]
Bit 1
PINTS[1:0]
ET0
-
Address: 91h
0
Reset
DPS
00H
INT0 与 INT1 可以被定义到其它 I/O.
PINTS [1:0]
0x00
0x01
INT0
-
INT1
P3.7
P3.5
Interrupt Enable 0 register (IEN0)
Mnemonic: IEN0
7
6
EA
-
5
-
4
ES
3
ET1
2
EX1
1
ET0
4
IELVI
3
-
2
IEADC
1
-
Address: A8h
0
Reset
EX0
00h
EA: EA=0 –禁能所有中断.
EA=1 –使能所有中断.
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)
Mnemonic: IEN1
7
6
-
5
IEIIC
Address: B8h
0
Reset
IEPWM
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 35 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
IEIIC: IIC 中断使能位.
IEIICS = 0 –禁能 IIC 中断.
IEIICS = 1 –使能 IIC 中断.
IELVI: 低压中断使能位.
IELVI = 0 –禁能低压中断.
IELVI = 1 –使能低压中断.
IEADC: A/D 转换中断使能位
IEADC = 0 –禁能 ADC 中断.
IEADC = 1 –使能 ADC 中断.
IEPWM: PWM 中断使能位.
IEPWM = 0 –禁能 PWM 中断.
IEPWM = 1 –使能 PWM 中断.
Interrupt Enable 2 register (IEN2)
Mnemonic: IEN2
7
6
-
5
-
4
-
3
-
2
ECmpI
Address: 9Ah
0
Reset
00H
1
IEWDT
ECmpI: ECmpI =0 –禁能比较器中断.
ECmpI =1 –使能比较器中断(包括比较器 0 及比较器 1).
IEWDT: WDT 中断使能.
IEWDT = 0 –禁能看门狗中断.
IEWDT = 1 –使能看门狗中断.
Interrupt request register (IRCON)
Mnemonic: IRCON
7
6
-
5
IICIF
4
LVIIF
3
-
2
ADCIF
1
-
3
-
2
CmpIF
1
WDTIF
Address: C0h
0
Reset
PWMIF
00H
IICIF: IIC 中断旗标位.
LVIIF: 低压中断旗标位
ADCIF: A/D 转换中断旗标位
PWMIF: PWM 中断旗标位.必须由软件清零.
Interrupt request register 2 (IRCON2)
Mnemonic: IRCON2
7
6
-
5
-
4
-
0
-
Address: 97h
Reset
00H
CmpIF 比较器中断旗标位,
当比较器中断使能时,此旗标位将于程序至中断向量执行时自动清零.
当比较器中断禁能时,此旗标位可由软件清零
WDTIF 看门狗中断旗标位.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 36 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
所有中断来源相组合于以下组中:
表 9-2: Priority level groups
Groups
看门狗中断
比较器中断
-
外部中断 0
定时器 0 中断
外部中断 1
定时器 1 中断
串行口中断
-
PWM 中断
ADC 中断
低压中断
IIC中断
通过对SFR中的IP0或IP1置位或清零,每一组中断都可被独自编程为四个优先级中的一个,如要求相同的优先级被同时接
收,一内部轮询序列将依次确定哪个请求被优先服务.
Mnemonic: IP0
7
6
-
5
IP0.5
4
IP0.4
3
IP0.3
2
IP0.2
1
IP0.1
Address: A9h
0
Reset
IP0.0
00h
Mnemonic: IP1
7
6
-
5
IP1.5
4
IP1.4
3
IP1.3
2
IP1.2
1
IP1.1
Address: B9h
0
Reset
IP1.0
00h
IP1.x
0
0
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 中断
串行口中断
-
表 9-3: Priority levels
IP0.x
优先权层级
0
1
0
1
Level0 (最低)
Level1
Level2
Level3 (最高)
表 9-4: Groups of priority
Group
看门狗中断
比较器中断
-
PWM 中断
ADC 中断
低压中断
IIC中断
表 9-5: 轮询顺序
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 37 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
中断源
顺序
外部中断0
定时器0中断
看门狗中断
外部中断1
轮询顺序
PWM中断
比较器中断
ADC中断
定时器1中断
串行口中断
低压中断
IIC中断
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 38 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
10 电源管理单元
电源管理单元提供两种电源管理模式,即IDLE(待机/空闲)和STOP(停止),并为用户提供省电功能。
Mnemonic: PCON
7
6
SMOD
-
5
-
4
-
3
-
2
-
1
STOP
Address: 87h
0
Reset
IDLE
00h
STOP: STOP 模式控制位。设置此位将运行 STOP 模式,
STOP 位总是读为 0.
IDLE: IDIE 模式控制位。设置此位将运行 IDLE 模式,
IDLE 位总是读为 0
10.1 待机模式(空闲模式)
使用IDLE(待机模式(空闲模式))模式可通过对PCON寄存器的IDLE位置位。空闲模式停止MCU的时钟源,但外部的时钟
源依旧保持,由于此时CPU不工作,电源功耗将被降低。当任何一中断信号或者一复位信号时,CPU将退出待机模式(空
闲模式)。
10.2 停止模式
使用STOP(停止模式)模式可通过对PCON寄存器的STOP位置位。在此模式中,所有的中断源将全部被关闭,CPU将从
一个无时钟的中断(外部中断0/1、低压中断)或者一个重置(看门狗及低压重置)条件下退出该模式,内部产生的中断(定
时器,串行端口... ),由于它们需要时钟源而会没有任何动作。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 39 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
11 脉宽调制器(PWM)
SM39R08A5提供四个通道的PWM输出。
中断值为43h。
Mnemonic
PWMC
PWMD0H
PWMD0L
PWMD1H
PWMD1L
PWMD2H
PWMD2L
PWMD3H
PWMD3L
PWMMDH
PWMMDL
Description
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
Direct
Bit 7
B5h
BCh
Bit 6
Bit 5
PWM
PWMCS[2:0]
PWMP0
-
-
BDh
BEh
PWMP1
-
-
PWMP2
-
-
Bit 1
Bit 0
PWM3E PWM2E PWM1E PWM0E
N
N
N
N
-
-
PWMD0[9:8]
-
-
-
-
PWMP3
-
-
-
-
-
PWMD1[9:8]
-
-
CFh
-
-
-
-
PWMD2[9:8]
PWMCS[2:0]: PWM 时钟源选择.
PWMCS [2:0]
000
001
010
011
100
101
110
111
4
-
00H
00H
00H
00H
-
PWMD3[9:8]
00H
00H
-
PWMMD[9:8]
PWMMD[7:0]
5
00H
00H
PWMD3[7:0]
CEh
RESET
00H
PWMD2[7:0]
B4h
Mnemonic: PWMC
7
6
PWMCS[2:0]
Bit 2
PWMD1[7:0]
B2h
B3h
-
Bit 3
PWMD0[7:0]
BFh
B1h
Bit 4
00H
FFH
Address: B5h
3
2
1
0
Reset
PWM3EN PWM2EN PWM1EN PWM0EN 00H
Mode
Fosc
Fosc/2
Fosc/4
Fosc/6
Fosc/8
Fosc/12
Timer 0 overflow
P3.4
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 40 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
PWM3EN: PWM 通道 3 使能位.
PWM3EN = 1 – PWM 通道 3 使能.
PWM3EN = 0 – PWM 通道 3 禁能.
PWM2EN: PWM 通道 2 使能位.
PWM2EN = 1 – PWM 通道 2 使能.
PWM2EN = 0 – PWM 通道 2 禁能.
PWM1EN: PWM 通道 1 使能位.
PWM1EN = 1 – PWM 通道 1 使能.
PWM1EN = 0 – PWM 通道 1 禁能.
PWM0EN: PWM 通道 0 使能位.
PWM0EN = 1 – PWM 通道 0 使能.
PWM0EN = 0 – PWM 通道 0 禁能.
Mnemonic: PWMD0H
7
6
5
PWMP0
Mnemonic: PWMD0L
7
6
5
4
-
3
-
4
3
PWMD0[7:0]
2
-
2
Address: BCh
1
0
Reset
PWMD0[9:8]
00H
1
Address: BDh
0
Reset
00h
PWMP0: PWM 通道 0 空闲极性选择.
“0” – PWM 通道 0 于空闲时置低.
“1” – PWM 通道 0 于空闲时置高.
PWMD0[9:0]: PWM 通道 0 数值寄存器.
Mnemonic: PWMD1H
7
6
5
PWMP1
Mnemonic: PWMD1L
7
6
5
4
-
3
-
4
3
PWMD1[7:0]
2
-
2
Address: BEh
1
0
Reset
PWMD1[9:8]
00H
1
Address: BFh
0
Reset
00H
PWMP1: PWM通道1空闲极性选择.
“0” – PWM 通道 1 于空闲时置低.
“1” – PWM 通道 1 于空闲时置高.
PWMD1[9:0]: PWM 通道 1 数值寄存器.
Mnemonic: PWMD2H
7
6
5
PWMP2
Mnemonic: PWMD2L
7
6
5
4
-
3
-
4
3
PWMD2[7:0]
2
-
2
Address: B1h
1
0
Reset
PWMD2[9:8]
00H
1
Address: B2h
0
Reset
00h
PWMP2: PWM 通道 2 空闲极性选择.
“0” – PWM 通道 2 于空闲时置低.
“1” – PWM 通道 2 于空闲时置高.
PWMD2[9:0]: PWM 通道 2 数值寄存器.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 41 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Mnemonic: PWMD3H
7
6
5
PWMP3
Mnemonic: PWMD3L
7
6
5
4
-
3
-
4
3
PWMD3[7:0]
2
-
2
Address: B3h
1
0
Reset
PWMD3[9:8]
00H
1
Address: B4h
0
Reset
00H
PWMP3: PWM通道3空闲极性选择.
“0” – PWM 通道 3 于空闲时置低.
“1” – PWM 通道 3 于空闲时置高.
PWMD3[9:0]: PWM 通道 3 数值寄存器.
Mnemonic: PWMMDH
7
6
5
Mnemonic: PWMMDL
7
6
5
4
-
3
-
4
3
PWMMD[7:0]
2
-
2
Address: CEh
1
0
Reset
PWMMD[9:8]
00H
1
Address: CFh
0
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-M068
Ver E SM39R08A5 06/30/2015
- 42 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
12 IIC 功能
这些IIC模块使用SCL
(时钟)和SDA
(数据)
线来联系其他的IIC界面, 其速度可以由软件设置特殊寄存器(SFR)
中的IICBR[2:
0] ,从而使其高达到400KBps(最大值). IIC模块可以是主机也可以是从机,提供两个中断(RXIF,TXIF),并有两个地
址以作数据传输,它将产生开始,在主机模式中,反复启动和停止信号,在从机模式中,它将检测开始,反复启动和停止
信号, 最大沟通的长度及连接设备的数目被一个最大400pF 的电容所限制
中断向量为6Bh.
Mnemonic
IICCTL
IICS
IICA1
IICA2
IICRWD
IICEBT
Description
IIC control
register
IIC status
register
IIC Address
1 register
IIC Address
2 register
IIC
Read/Write
register
IIC Enaable
Bus
Transaction
Direct
Bit 7
Bit 6
Bit 5
Bit 4
IIC function
Bit 3
F9h
IICEN
MSS
MAS
AB_EN
BF_EN
F8h
-
MPIF
LAIF
RXIF
TXIF
FAh
IICA1[7:1]
FBh
IICA2[7:1]
FCh
FDh
Bit 2
Bit 1
IICBR[2:0]
RXAK
TXAK
IICRWD[7:0]
FU_EN
Mnemonic: IICCTL
7
6
5
IICEN
MSS
MAS
4
AB_EN
RW,B
B
MATCH1
or RW1
MATCH2
or RW2
RST
04H
00H
A0H
60H
00H
-
3
BF_EN
Bit 0
00H
2
1
IICBR[2:0]
Address: F9h
0
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已置低。此位若被清零将永远产生开
始信号至总线当MStart置高。当多主机与从机连接时需设置此位,于单主机与从机时清除此位。
IICBR[2:0]: 波特率选择(仅在主机模式)这里的Fosc 为外部晶体或振荡器的频率,系统默认为Fosc/512,
以便用户选择。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 43 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
IICBR[2:0]
000
001
010
011
100
101
110
111
Mnemonic: IICS
7
6
-
MPIF
Baud rate
Fosc/32
Fosc/64
Fosc/128
Fosc/256
Fosc/512
Fosc/1024
Fosc/2048
Fosc/4096
5
4
3
2
1
LAIF
RXIF
TXIF
RXAK
TXAK
Address: F8H
0
Reset
RW or
00H
BB
MPIF: 停止条件中断旗标
当停止条件发生此位将置高.此位需由软件清零
LAIF: 仲裁失去中断旗标. (只主机模式)
当仲裁失去条件发生此位将置高.此位需由软件清零
RxIF: 数据接收中断标志位,在IICRWD(IIC 读写数据缓存)载入一个新的接收数据时被置位;
软件清零该位后,IIC 中断标志位(IICIF)将自动清零。
TxIF: 数据传输中断标志位,当所有位于转换寄存器中的位数据被传输时,该位被置位,来自
IICRWD(IIC 读/写数据缓存)的8位数据被下载至转换寄存器中;软件清零该位后,IIC 中
断标志位(IICIF)将自动清零。
RxAK: 接收确认位. 置零,这意味着一个确认信号已经收到在完成8位数据传输总线上后.
TxAK: 传输确认位. 当收到完整的8位数据, 此位将设置(NoAck) 或清除(Ack) 并传输到主机显
示接收状态. 事实上, 它是被作为一个字节的传输在第9位如图 12-1.
RW or BB: 主机模式:
BB:总线忙碌表示位
当侦测到 scl=0 或 sda=0 或总线产生开始信号,此位将置高.当侦测到停止信号,此位将清
零. 此位可由软件清零以使系统回到就绪状态.
从机模式:
RW:从机模式的读取(接收)或写(传输) 在IIC总线. 当此位被清除, 表示从机模式在IIC
总线接收数据.(只从机模式)
th
图 12-1: Acknowledgement bit in the 9 bit of a byte transmission
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 44 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Mnemonic: IICA1
7
6
5
4
3
2
1
IICA1[7:1]
R/W
Address: 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 位地址。
RW1: 如模块被设置为 Mstart 或 Rstart bit,该位将被作为从机方的 RW 发送,它在 IIC 地址之后的抵 8th
位显示,如图 13-2.。它用来告诉从属模式中将来的通信的方向。如设置为 1,模块在主模式中为
接收方,如是 0,模块在主模式中为传输方。
th
图 12-2: RW bit in the 8 bit after IIC address
Mnemonic: IICA2
7
6
5
Address: FBh
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,模块在主模式中为传输方。
Mnemonic: IICRWD
7
6
5
4
3
IICRWD[7:0]
2
1
Address: FCh
0
Reset
00h
IICRWD[7:0]: IIC 读写缓存
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 45 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
在接收(读)模式中,接收的字节存储于此。
在传输模式中,该字节通过该 SDA 被转换。
Mnemonic: IICEBT
7
6
FU_EN
5
-
4
-
3
-
2
-
1
-
Address: FDH
0
Reset
00H
主机模式:
00: 保留。
01: IIC 模块将致能以便由 SDA 及 SCL 读写数据。
10: IIC 模块将于 SDA 及 SCL 发出开始信号,再送出储存于 IICA1 或 IICA2(由 MAS
位选择)的地址。
11: IIC 模块将于 SDA 及 SCL 发出停止信号。
FU_EN[7:6] 此两位将自动清零,软件需重复写入。
从机模式:
01: FU_EN[7:6] 此两位于从机模式仅能写入 01.其他值是无效的。
注意:
1. FU_EN[7:6] 当总线空闲时,于读写数据前此两位需先写入01;否则,SCL将被
锁住(置低)。
2. FU_EN[7:6] 当读写数据后并收到主机之停止信号时此两位需接着再写入
01。
3. 在传送数据时(从机模式),于此两位写入01前待传送数据需先写入IICRWD。
4. FU_EN[7:6] 此两位将自动清零,软件需重复写入。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 46 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
13 LVI –低压中断
中断向量为63h。
Mnemonic
RSTS
LVC
Description
Reset status
register
Low voltage
control
Direct
Bit 7
A1h
-
-
-
E6h
LVI_EN
-
LVRE
Mnemonic: RSTS
7
6
-
5
-
Bit 6
Bit 5
Bit 4
Watchdog Timer
4
PDRF
3
WDTF
Bit 3
Bit 2
Bit 1
Bit 0
RESET
PDRF
WDTF
SWRF
LVRF
PORF
00H
LVIF
-
-
2
SWRF
1
LVRF
LVIS
20H
Address: A1h
0
Reset
PORF
00H
PDRF: 外部复位脚复位旗标.
此旗标于芯片之复位信号是由外部复位脚产生时由硬件自动设置.此旗标可由软件清零
LVRF: 低电压复位旗标.
此旗标于芯片之复位信号是由低电压复位产生时由硬件自动设置.此旗标可由软件清零
PORF: 上电复位旗标.
此旗标于芯片之复位信号是由上电复位产生时由硬件自动设置.此旗标可由软件清零
Mnemonic: LVC
7
6
LVI_EN
-
5
LVRE
4
LVIF
3
-
2
-
1
Address: E6h
0
Reset
LVIS[1:0]
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-M068
Ver E SM39R08A5 06/30/2015
- 47 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
14 10 位模拟数字转换器(ADC)
SM39R08A5提供了8通道的10位ADC。数字输出采样的模拟信号放入ADCD[9:0]中,而ADC的中断向量则为53h。
VDD
ADCC1[7:0]
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
ADC SFRs 如下所示:
Mnemonic
ADCC1
ADCC2
ADCDH
ADCDL
ADCCS
Description
ADC Control
register 1
ADC Control
register 2
ADC data
high byte
ADC data low
byte
ADC clock
select
Direct
ABh
ACh
Bit 7
Bit 6
Bit 5
ADC
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ADC7ENADC6EN ADC5EN ADC4ENADC3EN ADC2ENADC1EN ADC0EN
Start
ADJUST
-
-
-
ADCCH[2:0]
RESET
00H
00H
ADh
ADCDH [7:0]
00H
AEh
ADCDL [7:0]
00H
AFh
-
-
-
ADCCS[4:0]
00H
Mnemonic: ADCC1
Address: ABh
7
6
5
4
3
2
1
0
Reset
ADC7EN ADC6EN ADC5EN ADC4EN ADC3EN ADC2EN ADC1EN ADC0EN
00H
ADC7EN: 使能 ADC 通道 7.
ADC7EN = 1 –使能 ADC 通道 7
ADC6EN: 使能 ADC 通道 6.
ADC6EN = 1 –使能 ADC 通道 6
ADC5EN: 使能 ADC 通道 5.
ADC5EN = 1 –使能 ADC 通道 5
ADC4EN: 使能 ADC 通道 4.
ADC4EN = 1 –使能 ADC 通道 4
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 48 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
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
Mnemonic: ADCC2
7
6
5
Start ADJUST
-
4
-
3
-
2
1
ADCCH[2:0]
Address: ACh
0
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
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7
ADJUST = 0:
Mnemonic: ADCDH
Address: ADh
7
6
5
4
3
2
1
0
Reset
ADCD[9] ADCD[8] ADCD[7] ADCD[6] ADCD[5] ADCD[4] ADCD[3] ADCD[2]
00H
Mnemonic: ADCDL
7
6
-
5
-
4
-
3
-
2
-
1
ADCD[1]
Address: AEh
0
Reset
ADCD[0]
00H
ADJUST = 1:
Mnemonic: ADCDH
7
6
-
5
-
4
-
3
-
2
-
Address: ADh
1
0
Reset
ADCD[9] ADCD[8]
00H
Mnemonic: ADCDL
Address: AEh
7
6
5
4
3
2
1
0
Reset
ADCD[7] ADCD[6] ADCD[5] ADCD[4] ADCD[3] ADCD[2] ADCD[1] ADCD[0]
00H
ADCD[9:0]: ADC 数字寄存器.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 49 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Mnemonic: ADCCS
7
6
-
5
-
Address: AFh
4
3
2
1
0
Reset
ADCCS[4] ADCCS[3] ADCCS[2] ADCCS[1] ADCCS[0]
00H
ADCCS[4:0]: ADC 时钟选择.
*The ADC 时钟最大为 22.1184MHz.
*The ADC 转换率最大为 851KHz.
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
11000
Fosc /50
11001
Fosc /52
11010
Fosc /54
11011
Fosc /56
11100
Fosc /58
11101
Fosc /60
11110
Fosc /62
11111
Fosc /64
ADC 转换所需时钟数
26
52
78
104
130
156
182
208
234
260
286
312
338
364
390
416
442
468
494
520
546
572
598
624
650
676
702
728
754
780
806
832
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-M068
Ver E SM39R08A5 06/30/2015
- 50 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
15 EEPROM
SM39R08A5 可通过内部硬件电路产生闪存控制讯号。SM39R08A5 提供了可以实现闪存编程/页擦除功能的闪存控制讯号。
EEPROM寄存器– TAKEY, IFCON, ISPFAH, ISPFAL, ISPFD与 ISPFC
Mnemonic
TAKEY
IFCON
ISPFAH
ISPFAL
ISPFD
ISPFC
Description
Direct
Time Access Key
register
Interface Control
register
ISP Flash
Address - High
register
ISP Flash
Address - Low
register
ISP Flash Data
register
ISP Flash Control
register
Bit 7
Bit 6
Bit 5
Bit 4
EEPROM function
F7h
Bit 3
Bit 2
Bit 1
Bit 0
TAKEY [7:0]
8Fh
-
CDPR
-
-
RESET
00H
-
-
-
ISPE
00H
E1h
ISPFAH [5:0]
FFH
E2h
ISPFAL [7:0]
FFH
E3h
ISPFD [7:0]
FFH
E4h
-
-
-
-
-
ISPF.2
ISPF.1
ISPF.0
00H
Address: F7H
Mnemonic: TAKEY
7
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
Mnemonic: IFCON
7
6
CDPR
5
-
4
-
3
-
2
-
1
-
Address: 8FH
0
Reset
ISPE
00H
位 0(ISPE) of IFCON 是 ISP 使能位,用户可通过设置 ISPE 位为 1 使能 SM39R08A5 的全部 EEPROM 功能,
通过设置 ISPE 为 0 来禁止全部 ISP 功能。ISPE 的作用像一个加密匙,用户可禁止所有的 EEPROM 功能以保
护软件程序不被意外的擦除。EEPROM 寄存器 ISPFAH、ISPFAL、ISPFD 与 ISPFC 默认为只读。软件必须将
ISPE 位设为 1 以使上述 4 个寄存器为可写。
Mnemonic: ISPFAH
Address: E1H
7
6
5
4
3
2
1
0
Reset
ISPFAH5 ISPFAH4 ISPFAH3 ISPFAH2 ISPFAH1 ISPFAH0
FFH
ISPFAH [5:0]: 使用EEPROM功能之地址高字节。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 51 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
Mnemonic: ISPFAL
7
6
ISPFAL7 ISPFAL6
5
ISPFAL5
4
ISPFAL4
3
ISPFAL3
2
ISPFAL2
1
ISPFAL1
Address: E2H
0
Reset
ISPFAL0
FFH
ISPFAL [7:0]: 使用EEPROM功能之地址低字节。
ISPFAH 与 ISPFAL 提供了 16 位闪存记忆体地址用做 EEPROM 功能。
Mnemonic: ISPFD
7
6
ISPFD7
ISPFD6
5
ISPFD5
4
ISPFD4
3
ISPFD3
2
ISPFD2
Address: E3H
0
Reset
ISPFD0
FFH
1
ISPFD1
ISPFD [7:0]: 使用byte program功能之数值。
ISPFD 寄存器提供 ISP 功能中所需之 8 位数据寄存器。
Mnemonic: ISPFC
7
6
-
5
-
4
-
ISPF [2:0]: ISP功能选择位。
ISPF[2:0]
000
010
闪存一页有128字节
3
-
2
ISPF[2]
1
ISPF[1]
Address: E4H
0
Reset
ISPF[0]
00H
ISP function
Byte program
Page erase
选择的 EEPROM 功能在软件对 ISPFC 寄存器写入数据时将会执行一次。
要实现字节编程/页擦除 EEPROM 功能,用户需要在开始时指定闪存地址。在实现页擦除功能时,SM39R08A5
将除 ISPFAH 与 ISPFAL 寄存器中显示地址所在的整页。
范例. 闪存地址: $XYMN
将对地址$XY00 到$XY7F 或$XY80 到$XYFF 执行页抹除
范例:将对地址$1005H 执行字节写,写入#22H
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
;ISPE 可写入属性
ORL IFCON, #01H
;使能 SM39R08A5 EEPROM 功能
MOV ISPFAH, #10H
; 设定闪存高字节地址,10H
MOV ISPFAL, #05H
; 设定闪存低字节地址, 05H
MOV ISPFD, #22H
; 设定将写入闪存之资料,资料= 22H
MOV ISPFC, #00H
; 开始将写入闪存之资料#22H 写入地址$1005H
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
ANL IFCON, #0FEH
; ISPE 可写入属性
;禁止 SM39R08A5 EEPROM 功能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 52 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
16 比较器(Comparator)
SM39R08A5 在片内集成了 1 组比较器.当比较器使用时,比较器的非反向输入脚大于反向输入脚时,比较器输出脚置高,
反之比较器输出脚置低.
Comparator SFRs 如下所示:
Mnemonic
OPPIN
CMP0CON
Description
Comparator
pin select
Comparator
0 control
Addr
Bit 7
F6h
-
Bit 6
Bit 5
Bit 4
Comparator
C0POS C0POS
CMP0EN
VBG
PAD
FEh HYS0EN CMP0O
CMF0MS[1:0]
Mnemonic: OPPIN
7
6
5
4
CMP0EN C0POSVBG C0POSPAD
3
-
Bit 3
Bit 2
Bit 1
Bit 0
RESET
-
-
-
-
00h
CMF0
Cmp0
OutEN
-
-
00h
1
-
0
-
2
-
Address: F6h
Reset
00h
CMP0EN : 比较器 0 使能位.
1: 比较器 0 电路使能,并自动将多功能之 I/O P3.0/P3.1/P3.7 切换到比较器 0 相应的
信号。
C0POSVBG: 非反向输入端参考内部固定电压(1.2V±10%)使能位
1: 使能
C0POSPAD: 非反向输入端电压参考外部输入脚电压使能位
1: 使能
C0POSVBG 及 C0POSPAD 设定参考表:
CMP0EN
C0POSVBG
C0POSPAD
Cmp0OutEN
0
1
1
1
1
1
1
X
0
0
0
1
1
1
X
0
1
1
0
0
1
X
X
0
1
0
1
X
Mnemonic: CMP0CON
7
6
5
HYS0EN CMP0O
4
CMF0MS[1:0]
3
CMF0
Cmp0PIn
IO
Error
CMP
CMP
IO
IO
Error
2
Cmp0
OutEN
Comparator
Cmp0NIn
IO
Error
CMP
CMP
CMP
CMP
Error
1
0
-
-
Cmp0Out
IO
Error
IO
CMP
IO
CMP
Error
Address:FEh
Reset
00h
HYS0EN: 比较器 0 迟滞功能使能位
0: 禁能
1: 使能
CMP0O: 比较器 0 结果输出位(仅读)
1: 非反向输入端电压高于反向输入端电压
0: 反向输入端电压高于非反向输入端电压
CMF0MS[1:0] : 选择比较器 0 旗标(CMF0)产生之模式
00: 比较器 0 旗标(CMF0)于比较器 0 输出转换时被置高
01: 比较器 0 旗标(CMF0)于比较器 0 输出为上升沿时被置高
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 53 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
10: 比较器 0 旗标(CMF0)于比较器 0 输出为下降沿时被置高
11: 无动作
CMF0: 比较器 0 旗标位
此位依 CMF0MS[1:0]之选择模式条件符合时被置高.此位需由软件清零.
Cmp0OutEN: 比较器 0 输出使能位
0: 比较器 0 不输出到外部管脚
1: 比较器 0 输出到外部管脚
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 54 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
DC 电气特性
TA = -40℃ to 85℃, VCC = 5.0V
Symbol
Parameter
Valid
Max
Units
-0.5
0.8
V
0
0.8
V
2.0
VCC + 0.5
V
70%Vcc
VCC + 0.5
V
P3.0/P3.1/P3.4/P3.7
0.45
V
IOL=20mA
Vcc=5V
P3.2/P3.3/P3.5/P3.6
0.45
V
IOL=38mA
Vcc=5V
90%Vcc
V
IOH= -8mA
P3.2/P3.3/P3.5/P3.6 90%Vcc
V
IOH= -15mA
Port 3
V
IOH= -250uA
VIL1
Input Low-voltage
Port 3
VIL2
Input Low-voltage
RES
VIH1
Input High-voltage
Port 3
VIH2
Input High-voltage
RES
VOL
Output Low-voltage
VOH1
Output High-voltage
(1)
using Strong Pull-up
P3.0/P3.1/P3.4/P3.7
Min
Typ
Conditions
Vcc=5V
IIL
Output High-voltage
(2)
using Weak Pull-up
Logic 0 Input Current
Port 3
-75
uA
Vin= 0.45V
ITL
Logical Transition Current Port 3
-650
uA
Vin= 2.0V
ILI
Input Leakage Current
±10
uA
0.45V<Vin<Vcc
300
kΩ
10
pF
2.6
3.5
mA
2.2
3
mA
2
6
uA
VOH2
Port 3
RRST Reset Pull-down Resistor RES
CIO
ICC
Notes:
2.4
50
Pin Capacitance
Power Supply Current
VDD
Freq= 1MHz, Ta= 25℃
Active mode IRC
22.1184 MHz
VCC =5V 25 ℃
Idle mode, IRC
22.1184 MHz
VCC =5V 25 ℃
Power down mode VCC
=5V 25 ℃
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-M068
Ver E SM39R08A5 06/30/2015
- 55 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
TA = -40℃ to 85℃, VCC = 3.0V
Symbol
Parameter
Valid
Max
Units
-0.5
0.8
V
0
0.8
V
2.0
VCC + 0.5
V
70%Vcc
VCC + 0.5
V
P3.0/P3.1/P3.4/P3.7
0.45
V
IOL=14mA
Vcc=3V
P3.2/P3.3/P3.5/P3.6
0.45
V
IOL=15mA
Vcc=3V
V
IOH= -5mA
V
IOH= -10mA
V
IOH= -77uA
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
VOH1
Output Low-voltage
IIL
ITL
Logical Transition Current
ILI
Input Leakage Current
RRST Reset Pull-down Resistor
CIO
ICC
Notes:
TYP
90%Vcc
Output High-voltage using P3.0/P3.1/P3.4/P3.7
(1)
Strong Pull-up
P3.2/P3.3/P3.5/P3.6 90%Vcc
Output High-voltage using
Port 0,1,3
(2)
Weak Pull-up
Logic 0 Input Current
Port 0,1,3
VOH2
Min
2.4
Vcc=3.0V
-75
uA Vin= 0.45V
Port 0,1,3
-650
uA Vin=1.5V
Port 0,1,3
±10
uA 0.45V<Vin<Vcc
300
kΩ
10
pF Freq= 1MHz, Ta= 25℃
Active mode ,IRC
mA 22.1184 MHz
VCC = 3.0 V 25 ℃
Idle mode, IRC
mA 22.1184 MHz
VCC =3.0V 25 ℃
Power down mode
uA
VCC =3.0V 25 ℃
RES
50
Pin Capacitance
Power Supply Current
Conditions
VDD
2.2
3
2.1
3
1
5
1. Port in Push-Pull Output Mode
2. Port in Quasi-Bidirectional Mode
Absolute Maximum Ratings
SYMBOL
PARAMETER
Maximum sourced current Total I/O pins
(Push-pull)
Maximum sunk current
Total I/O pins
结温 Tj
Max. Junction Temperature
MAX
100
UNIT
mA
100
mA
150
℃
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 56 -
SM39R08A5
内嵌 8KB 的 Flash
和 256B RAM 的 8 位控制器
ADC 电气特性
Operation
Symbol
Test Condition
MIN
VDD
VDD
2.7
TYP
MAX
Unit
5.5
V
10
bit
Resolution
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
Test Condition
VDD
Condition
Description
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
IOP
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
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M068
Ver E SM39R08A5 06/30/2015
- 57 -