SM59A16U1 内嵌64KB 具有ISP 功能的Flash 和6K+256B RAM 的8

SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
描述 ............................................................................................................................................................................. 6
订货信息 ...................................................................................................................................................................... 6
特征 ............................................................................................................................................................................. 6
各封装引脚配置 ........................................................................................................................................................... 8
系统方框图 .................................................................................................................................................................. 9
管脚描述 .................................................................................................................................................................... 10
特殊功能寄存器(SFR) ................................................................................................................................................ 13
1.
总特征 ............................................................................................................................................................... 22
1.1
嵌入式程序存储器 ..................................................................................................................................... 22
1.2
IO 口 ......................................................................................................................................................... 22
1.3
2T/1T 的选择 ............................................................................................................................................. 22
1.4
复位 .......................................................................................................................................................... 23
1.4.1
硬件复位功能 .................................................................................................................................... 23
1.4.2
软件复位功能 .................................................................................................................................... 23
1.4.3
定时访问键寄存器(TAKEY)................................................................................................................ 23
1.4.4
软件复位寄存器(SWRES) ................................................................................................................. 23
1.4.5
软件复位的示例 ................................................................................................................................ 24
1.5
时钟源....................................................................................................................................................... 24
2.
指令设置............................................................................................................................................................ 25
3.
存储器结构 ........................................................................................................................................................ 29
3.1
程序存储器 ................................................................................................................................................ 29
3.2
数据存储器 ................................................................................................................................................ 30
3.3
数据内存-低 128 字节(00h to 7Fh) ............................................................................................................. 31
3.4
数据内存-高 128 字节字节(80h to 0xFFh)................................................................................................... 31
3.5
数据内存-扩展的 6K 字节(0000h ~ 0x17FFh) ............................................................................................. 31
4.
CPU 结构 .......................................................................................................................................................... 32
4.1
累加器....................................................................................................................................................... 33
4.2
B 寄存器 ................................................................................................................................................... 33
4.3
程序状态字 ................................................................................................................................................ 33
4.4
堆栈指针( SP ) .......................................................................................................................................... 34
4.5
数据指针( DP ) .......................................................................................................................................... 34
4.6
数据指针 1( DP1 ) .................................................................................................................................... 34
4.7
辅助寄存器( AUX )..................................................................................................................................... 35
4.8
内部 RAM 控制寄存器( RCON ) ................................................................................................................. 35
4.9
时钟控制寄存器( CKCON ) ........................................................................................................................ 35
4.10
接口控制寄存器( IFCON ) .......................................................................................................................... 36
4.11
页面选择 ( PAGESEL ) .............................................................................................................................. 36
4.12
PWM 地址寄存器( PWMADDR ) ................................................................................................................ 38
4.13
PWM 数据寄存器( PWMDATA ) ................................................................................................................. 38
4.14
USB 地址寄存器( USBADDR )................................................................................................................... 38
4.15
USB 数据寄存器( USBDATA ) .................................................................................................................... 39
5.
GPIO 管脚型态 .................................................................................................................................................. 40
5.1
P0 (P0 口寄存器)....................................................................................................................................... 40
5.2
P1 (P1 口寄存器)....................................................................................................................................... 41
5.3
P2 (P2 口寄存器)....................................................................................................................................... 41
5.4
P3 (P3 口寄存器)....................................................................................................................................... 41
5.5
P4 (P4 口寄存器)....................................................................................................................................... 41
6.
硬件乘除法器(MDU) .......................................................................................................................................... 42
6.1
运行 MDU 寄存器 ...................................................................................................................................... 42
6.2
乘除法器的设置 ......................................................................................................................................... 43
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-1-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
6.2.1
第一阶段:装载 MDx 寄存器, x = 0~5:............................................................................................... 43
6.2.2
第二阶段:执行运算.......................................................................................................................... 43
6.2.3
第三阶段:从 MDx 寄存器上读取结果. .............................................................................................. 44
6.3
标准化....................................................................................................................................................... 44
6.4
位移 .......................................................................................................................................................... 44
7.
定时器 0 和定时器 1........................................................................................................................................... 45
7.1
定时器/计数器模式控制寄存器(TMOD) ...................................................................................................... 45
7.2
定时/计数控制寄存器(TCON) ..................................................................................................................... 46
7.3
计时器 0 寄存器( TL0, TH0 ) ...................................................................................................................... 46
7.4
计时器 1 寄存器( TL1, TH1 ) ...................................................................................................................... 47
7.5
定时器输入频率控制寄存器 ....................................................................................................................... 47
7.6
模式 0 (13 位定时/计数) ............................................................................................................................. 48
7.7
模式 1 (16 位定时/计数) ............................................................................................................................. 48
7.8
模式 2 (8 位自动重载定时/计数) ................................................................................................................. 49
7.9
模式 3 (两个独立 8 位定时/计数(仅定时器 0)) ............................................................................................. 49
8.
定时器 2 以及捕获比较单元................................................................................................................................ 50
8.1
辅助 2 寄存器( AUX2 ) ............................................................................................................................... 51
8.2
定时器 2 控制寄存器 ( T2CON ) ................................................................................................................. 52
8.3
比较/捕获控制寄存器(CCCON) ............................................................................................................. 53
8.4
比较/捕获使能寄存器(CCEN) ..................................................................................................................... 53
8.5
比较/捕捉使能 2 寄存器( CCEN2 ) ........................................................................................................... 54
8.6
定时器 2 寄存器( TL2,TH2 ) ....................................................................................................................... 55
8.7
比较/重载/捕获寄存器( CRCL, CRCH ) ...................................................................................................... 55
8.8
比较/捕捉寄存器 1 ( CCL1, CCH1 )............................................................................................................ 55
8.9
比较/捕获寄存器 2 ( CCL2, CCH2 )............................................................................................................ 55
8.10
比较/捕获寄存器 3( CCL3, CCH3 ) ............................................................................................................ 55
8.11
定时器 2 功能 ............................................................................................................................................ 56
8.11.1
定时器模式 ....................................................................................................................................... 56
8.11.2
外部信号计数模式 ............................................................................................................................. 56
8.11.3
外部信号定时器模式.......................................................................................................................... 57
8.11.4
定时器 2 的重载 ................................................................................................................................ 57
8.12
比较功能 ................................................................................................................................................... 57
8.12.1
比较模式 0 ........................................................................................................................................ 57
8.12.2
比较模式 1 ........................................................................................................................................ 58
8.13
捕获功能 ................................................................................................................................................... 59
8.13.1
捕捉模式 0 ........................................................................................................................................ 59
8.13.2
捕捉模式 1 ........................................................................................................................................ 59
9.
串行接口 0 和 1 ................................................................................................................................................. 61
9.1
串行端口 0 控制寄存器( S0CON ) .............................................................................................................. 61
9.2
串行端口 0 重载寄存器( S0RELL, S0RELH ) .............................................................................................. 62
9.3
串行端口 0 数据缓冲器( S0BUF ) ............................................................................................................... 62
9.4
串行端口 1 控制寄存器( S1CON ) .............................................................................................................. 62
9.5
串行端口 1 重载寄存器( S1RELL, S1RELH ) .............................................................................................. 63
9.6
串行端口 1 数据缓冲器( S1BUF ) ............................................................................................................... 63
9.7
串行接口 0 ................................................................................................................................................ 63
9.7.1
模式 0 ............................................................................................................................................... 63
9.7.2
模式 1 ............................................................................................................................................... 64
9.7.3
模式 2 ............................................................................................................................................... 64
9.7.4
模式 3 ............................................................................................................................................... 64
9.8
串行接口 1 ................................................................................................................................................ 65
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-2-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
9.8.1 Mode A ................................................................................................................................................. 65
9.8.2 Mode B ................................................................................................................................................. 66
9.9
串行接口 0 與 1 的多重机通讯.................................................................................................................... 66
9.10
波特率发生器 ............................................................................................................................................ 66
9.10.1
串行接口 0 模式 1 和 3....................................................................................................................... 66
9.10.2
串行接口 1 模式 A 和 B ...................................................................................................................... 68
9.11
波特率时钟源 ............................................................................................................................................ 68
10.
看门狗定时器 ................................................................................................................................................ 69
10.1
看门狗定时器控制寄存器( WDTC ) ............................................................................................................ 71
10.2
看门狗定时器的刷新寄存器( WDTK ) ......................................................................................................... 71
11.
中断 .............................................................................................................................................................. 73
11.1
中断使能 0 寄存器( IEN0 ) ......................................................................................................................... 74
11.2
中断使能 1 寄存器( IEN1 ) ......................................................................................................................... 74
11.3
中断使能 2 寄存器( IEN2 ) ......................................................................................................................... 75
11.4
中断请求寄存器( IRCON ) ......................................................................................................................... 75
11.5
中断请求寄存器 2( IRCON2 )..................................................................................................................... 76
11.6
优先权配置 ................................................................................................................................................ 76
12.
电源管理单元 ................................................................................................................................................ 78
12.1
待机模式(空闲模式) ................................................................................................................................... 78
12.2
停止模式 ................................................................................................................................................... 78
13.
脉宽调制器(PWM) ......................................................................................................................................... 79
13.1
ADC 控制寄存器 2..................................................................................................................................... 81
13.2
PWM 时基控制 0( PWMTBC0 ).................................................................................................................. 82
13.3
PWM 时基控制 1( PWMTBC1 ).................................................................................................................. 83
13.4
PWM 输出双模式( PWMOPMOD ) ............................................................................................................ 83
13.5
PWM 时钟的时基计数器( TBCOUNTERL, TBCOUNTERH ) ...................................................................... 84
13.6
PWM 周期( PERIODL, PERIODH ) ............................................................................................................ 84
13.7
特殊事件比较( SEVTCMPL, SEVTCMPH ) ................................................................................................ 84
13.8
PWM 输出使能( PWMEN ) ........................................................................................................................ 84
13.9
PWM 特殊事件 .......................................................................................................................................... 85
13.10
PWM 时基比例寄存器( PWMTBPOSTSCALE) ...................................................................................... 86
13.11
PWM 中断旗标...................................................................................................................................... 86
13.12
死区 ...................................................................................................................................................... 86
13.12.1 死区 0 用于 PWM 配对 0( DEADTIME0 ) ........................................................................................... 87
13.12.2 死区 1 用于 PWM 配对 1( DEADTIME1 ) ........................................................................................... 87
13.12.3 死区 2 用于 PWM 配对 2( DEADTIME2 ) ........................................................................................... 88
13.12.4 死区 3 用于 PWM 配对 3( DEADTIME3 ) ........................................................................................... 88
13.12.5 改写禁止( OVRIDEDIS ).................................................................................................................... 88
13.12.6 改写数据 ........................................................................................................................................... 89
13.12.7 PWM 极性( PWMPOLARITY )........................................................................................................... 90
13.13
错误配置( FLTCONFIG ) ....................................................................................................................... 91
13.14
PWM 错误输入 ...................................................................................................................................... 91
13.15
错误噪声滤波器..................................................................................................................................... 92
13.16
PWM 配對 0 占空比( DUTY0L, DUTY0H ) ............................................................................................. 93
13.17
PWM 配對 1 占空比( DUTY1L, DUTY1H ) ............................................................................................. 93
13.18
PWM 配對 2 占空比( DUTY2L, DUTY2H ) ............................................................................................. 93
13.19
PWM 配對 3 占空比( DUTY3L, DUTY3H ) ............................................................................................. 94
14.
IIC 功能 ......................................................................................................................................................... 95
14.1
IIC 控制寄存器( IICCTL ) ........................................................................................................................... 95
14.2
IIC 状态寄存器( IICS )................................................................................................................................ 96
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-3-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
14.3
IIC 地址 1 寄存器( IICA1 ) .......................................................................................................................... 97
14.4
IIC 地址 2 寄存器( IICA2 ) .......................................................................................................................... 98
14.5
IIC 读写寄存器( IICRWD ).......................................................................................................................... 98
14.6
IIC 使能总线发送寄存器( IICEBT ) ............................................................................................................. 98
15.
SPI 功能 ...................................................................................................................................................... 100
15.1
SPI 控制寄存器 1 ( SPIC1 ) ..................................................................................................................... 101
15.2
SPI 控制寄存器 2( SPIC2 ) ..................................................................................................................... 102
15.3
SPI 状态寄存器 (SPIS ) ........................................................................................................................... 103
15.4
SPI 发送数据缓冲器 (SPITXD )................................................................................................................ 104
15.5
SPI 接收数据缓冲器 (SPIRXD) ................................................................................................................ 104
16.
KBI –键盘接口 ............................................................................................................................................. 105
16.1
键盘级别选择器寄存器 ( KBLS ) .............................................................................................................. 106
16.2
键盘中断使能寄存器( KBE )..................................................................................................................... 107
16.3
键盘中断旗标寄存器( KBF ) ..................................................................................................................... 107
16.4
键盘去反弹控制寄存器( KBD ) ................................................................................................................. 108
17.
LVI & LVR–低电压中断和低电压复位 ........................................................................................................... 109
17.1
低压控制寄存器 ( LVC ) ........................................................................................................................... 109
18.
10 位模拟数字转换器(ADC) .......................................................................................................................... 110
18.1
ADC 控制寄存器 1( ADCC1 ) .................................................................................................................... 110
18.2
ADC 控制寄存器( ADCC2) ........................................................................................................................ 111
18.3
ADC 数据( ADCDH, ADCDL ) ................................................................................................................... 112
18.4
ADC 时钟选择( ADCCS ) .......................................................................................................................... 112
19.
USB 功能 ..................................................................................................................................................... 113
19.1
USB 器件列举传递 ................................................................................................................................... 113
19.2
USB 中断输入传递 ................................................................................................................................... 113
19.3
USB 中断输出传递 ................................................................................................................................... 113
19.4
USB 批量从主机传递到器件...................................................................................................................... 113
19.5
USB 批量从器件传递到主机...................................................................................................................... 114
19.6
USB 控制 1 寄存器( UCTRL1 ) ................................................................................................................. 116
19.7
USB 控制 2 寄存器( UCTRL2 ) ................................................................................................................ 116
19.8
USB 状态寄存器( USTAT ) ........................................................................................................................ 117
19.9
USB 器件地址寄存器( DEVADR ) ............................................................................................................. 117
19.10
USB 帧数目寄存器( FRMNUMH, FRMNUML ) ...................................................................................... 118
19.11
USB 主机暂停寄存器( HSTALL ) ........................................................................................................... 118
19.12
USB 器件暂停寄存器( DSTALL ) ........................................................................................................... 118
19.13
USB 握手状态寄存器( HSKSTAT ) ........................................................................................................ 119
19.14
USB 中断使能寄存器 1 ( UIER1 ).......................................................................................................... 119
19.15
USB 中断使能寄存器 2( UIER2 ) ......................................................................................................... 120
19.16
USB 中断旗标寄存器 1( UIFR1 ).......................................................................................................... 121
19.17
USB 中断旗标寄存器 2( UIFR2 ).......................................................................................................... 121
19.18
USB 端点数据就绪寄存器( EPDRDY ) ................................................................................................. 122
19.19
USB 端点 0 数据计数器寄存器( EP0CNT ) ........................................................................................... 122
19.20
USB 端点 1 数据计数器寄存器( EP1CNT ) ........................................................................................... 122
19.21
USB 端点 2 数据计数器寄存器( EP2CNT ) ........................................................................................... 123
19.22
USB 端点 3 数据计数器寄存器( EP3CNT ) ........................................................................................... 123
19.23
USB 端点 4 数据计数器寄存器( EP4CNT ) ........................................................................................... 123
19.24
USB 端点 0 数据寄存器( EP0DATA ) ................................................................................................... 123
19.25
USB 端点 1 数据寄存器( EP1DATA ) .................................................................................................... 124
19.26
USB 端点 2 数据寄存器( EP2DATA ) .................................................................................................... 124
19.27
USB 端点 3 数据寄存器( EP3DATA ) .................................................................................................... 124
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-4-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
19.28
USB 端点 4 数据寄存器( EP4DATA ) .................................................................................................... 124
20.
条码( Barcode ) ........................................................................................................................................... 126
20.1
条码控制寄存器( BCCTRL ) ..................................................................................................................... 126
20.2
起始地址到 SRAM 寄存器( ADDR2ML, ADDR2MH ) ................................................................................ 127
20.3
数据寄存器的长度( LNGDATAL, LNGDATAH ) ......................................................................................... 128
20.4
上升的数据寄存器 ( RDATA ) ................................................................................................................... 128
20.5
下降的数据寄存器( FDATA ) .................................................................................................................... 128
21.
在系统编程(Internal ISP) ............................................................................................................................. 129
21.1
ISP 服务程序........................................................................................................................................... 129
21.2
锁定位(N) ................................................................................................................................................ 129
21.3
对 ISP 服务程序编程................................................................................................................................ 130
21.4
启动 ISP 服务程序 ................................................................................................................................... 130
21.5
ISP 寄存器– TAKEY, IFCON, ISPFAH, ISPFAL, ISPFD and ISPFC .......................................................... 131
21.6
时间访问关键登寄存器 ( TAKEY ) ............................................................................................................ 131
21.7
Interface Control Register( IFCON )......................................................................................................... 131
21.8
ISP 闪存地址寄存器 ( ISPFAH, ISPFAL ) ................................................................................................. 132
21.9
ISP 闪存数据寄存器 ( ISPFD ) ................................................................................................................. 132
21.10
ISP 闪存控制寄存器 ( ISPFC )............................................................................................................. 132
22.
運算放大器/比较器....................................................................................................................................... 133
22.1
運算放大器/比较器引脚选择( OpPin )....................................................................................................... 135
22.2
運算放大器/比较器引脚选择 2 ( OpPin2 ) ................................................................................................. 136
22.3
Comparator 0 控制( Cmp0CON ) ............................................................................................................. 136
22.4
Comparator 1 控制( Cmp1CON ) ............................................................................................................. 137
工作环境 .................................................................................................................................................................. 138
DC 电气特性 ............................................................................................................................................................ 138
OPA 电气特性 .......................................................................................................................................................... 140
Comparator 电气特性............................................................................................................................................... 140
LVR (Low Voltage Reset) 电气特性 .......................................................................................................................... 141
LVI (Low Voltage Interrupt) 电气特性 ........................................................................................................................ 141
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-5-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
产品目录

SM59A16U1U48,
描述
SM59A16U1是一个1T(每个时钟等于一个机器周期)单
芯片8位微控制器。它具有64KB的嵌入式Flash的程序,
并执行所有ASM51指令与MCS-51完全兼容。

SM59A16U1包含6K+256B的片上RAM,GPIO 可以有38
引脚 (48L封装),各种串行接口及许多外设功能(如下
文所述)。它可以通过编程。在发展阶段,其片上ICE方
便用户在过程中做验证。
SM59A16U1的高性能可以在很短的时间内完成复杂的动
作。大约有三分之一的指令是纯 1T ,平均速度是传统
8051的8倍时间,在所有的1T的 51 系列中是最快的一颗.
其优异的EMI和ESD特性,适合于许多不同的应用开发。

SM59A16U1提供了一些很出色的功能,如USB接口、高
性能PWM,用于馬達控制,高速的10位A / D转换用於条
码阅读器应用。的SM59A16U的所有特点如下。

订货信息
SM59A16U1ihhkL yymmv
i: 工艺标志{ U = 2.2V ~ 5.5V}
hh: 封装脚位
k: 封装形式后缀{as table below }
L: 无铅标志
{无文字即含铅,”P” 即无铅}
yy: 年
mm: 月
v: 版本标志{ A, B,…}
Postfix
V
Package
LQFP
特征

架构
- 与 MCS-51 指令集兼容
- 1T/2T 可以在运行时快速切换
- 双 16 位数据指针(DPTR0 和 DPTR1)
- 38 GPIOs (LQFP 48), GPIO 可以选择四种类型
(准双向,推挽,开漏输出,输入),默认准
双向口(拉)







Clock & Power
- Operating Voltage: 2.2V ~ 5.5V.
- 支援 Xtal, 内置 RC 振荡器(22.1184MHz,
20KHz) 及 PLL 用户选择.
- 高速结构,1 个时钟/机器周期(1T), 高达
25MHz
- 用于空闲和停止模式的电源管理单元.
存储器.
- 64K 字节的片上闪存程序存储器.
- 片上嵌入式闪存体支持 ISP/ IAP/ ICP 及
EEPROM 功能.
- ISP 服务程序配置在 N * 256 字节(N =0~16)
大小的空间.
- 片上扩展 RAM 6K 字节,256 字节是标准的
8052 RAM.
- 外部 RAM 可以寻址到 64K 字节.
UART 接口.
- 两个全双工通信的串行接口(UART 和
UART1),
- 附加波特率产生器
IIC 接口
- 一个 IIC 接口(主/从机模式).
SPI Interface.
- 一个 SPI 接口(主/从机模式)
KBI (键盘接口).
- P0 口或 P2 口上的键盘接口(默认) 可用于超
过八个中断.
OP Controller
- 2 片上 OPA /比较器
中断 Controller
- 中断有 4 个优先级
- 外部中断为 0,1
定时器
- 三个 16-位的定时器/计数器(计时器 0,1,2)
- 可编程的看门狗定时器(WDT)
PWM 控制器
- 用于 BLDC 的 8 通道 14 位 PWM(无刷直流马
达)和 CCD 条码阅读器控制.
A/D 转换器
- 8 +1 通道 10 位模拟 - 数字转换器
- 独立的 ADC 参考电压
- 外部 I / O 触发 ADC
- 藉由特定的 PWM 中断,ADC 自动触发
- ADC 值藉由 DMA 转储到 SRAM.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-6-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器





USB 器件 2.0
- 低速: 1.5Mbps, 全速: 12Mbps
- 1 个端口的 USB 器件
- 用于 USB 器件有 5 端点
端点 0: 控制 输入/输出. 先进先出: 8 字节
端点 1: 中断输入. 先进先出: 8 字节.
端点 2: 中断输出. 先进先出: 8 字节.
端点 3: Bulk 输入. 先进先出: 64 字节.
端点 4: Bulk 输出. 先进先出: 64 字节.
- 藉由 USB,新茂私有的 DFU 提供固件更新功能.
CCU 控制器
- 4 路 16 位 比较/捕获/重载功能
- 内部比较器输出可以 CCU 输入源
- 噪声过滤器可经由 CCU 输入与采样频率来选择.
条码解码功能.
- 藉由 DMA,ADC 值转换为斜率然后转储到 SRAM
- 条码解码有上升/下降斜率设定.
MDU (快速的乘法除法单元)
- 16* 16,32/16,16/16,32 位的 L / R 移位和 32 位正规化
Other
- 片上在线仿真功能(ICE)及片上在线调试功能(OCD)
- 增强用户代码保护
- 降低 EMI 模式(ALE 输出抑制)
- 低压侦测中断/低压侦测复位(deglitch 500ns).
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-7-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
各封装引脚配置
P0.3/PWM3/KBI3/AD3
P0.4/AD4/KBI4/PWM4
P0.5/AD5/KBI5/PWM5
P0.6/AD6/KBI6/PWM6
P0.7/AD7/KBI7/PWM7
P4.6/OCI_SDA
P4.4/OCI_SCL
P4.1/CC1/IIC_SDA/MOSI
P2.7/A15/KBI7/Op0Out(Cmp0Out)
P2.6/A14/KBI6/Op0PIn
P2.5/A13/KBI5/Op0NIn
P2.4/A12/KBI4/Op1PIn
34
33
32
31
30
29
28
27
26
25
35
12
RXD1/ADC2/P1.2
CC2/TXD1/ADC3/P1.3
11
48
T1/P3.5
CC1/T2EX/ADC1/P1.1
ADCEN/T0/P3.4
47
FLTA/WR/P3.6
46
1
VSSALL
CC0/T2/ADC0/P1.0
10
45
9
DP
44
FLTB/RD/P3.7
43
8
CAP
DM
SM59A16U1U48VP
IhhVP
yymmv
(48L LQFP Top View)
7
42
SPI_CLK/TXD1/CC3/P4.3
MISO/RXD1/CC2/P4.2
AVDDU
IIC_SDA/SPI_CLK/ADC7/P1.7
41
6
AVDD_ADC
SyncMOS
5
40
MOSI/ADC5/P1.5
IIC_SCL/MISO/ADC6/P1.6
VDD
4
PWM0/KBI0/AD0/P0.0
39
3
38
CC3/SS/ADC4/P1.4
37
PWM1/KBI1/AD1/P0.1
2
PWM2/KBI2/AD2/P0.2
36
48 Pin SOP
24
P2.3/A11/KBI3/Op1NIn/CC3
23
P2.2/A10/KBI2/Op1Out(Cmp1Out)/CC2
22
P2.1/A9/KBI1/CC1
21
P2.0/A8/KBI0/CC0
20
19
P4.5/ALE/CLKOUT
RESET
18
XTAL1
17
XTAL2
16
P3.0/RXD0
15
14
P3.1/TXD0
P3.2/INT0/TRIGADC
13
P3.3/INT1
附注:出厂默认值注意事项
(1) 为避免偶然的情况下误入 ISP 刻录状态(参考第 21.4 单元),在上电时请确保没有连续的脉冲信号在管脚
RXD P1.0 及管脚 P3.4 必须置高,可于刻录时
(2) OSI_SDA/P4.6 及 OCI_SCL/P4.4 于复位期间为 ICP 刻录功能管脚,复位完成后切换成双向 I/O.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-8-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Op0/Cmp0
Op1/Cmp1
ADC
PWM[7:0]
SPI
FLTB
FLTA
KBI
ADCEN
TRIGADC
ADC[7:0]
Op0PIn/Op1PIn
Op0NIn/Op1NIn
Op0Out/Op1Out
USB
SPI_MISO
SPI_MOSI
SPI_CLK
SPI_SS
MAX810
KBI[7:0]
RESET
DP
DM
系统方框图
PWM
ADC8
Op0 To ADC
SRAM
256Bytes
XTAL2
XTAL1
CLKOUT
CPU
Barcode
Decoder
DMA
SRAM
6KBytes
Flash 64K
Bytes
LVR/LVI
MDU
ALE
WR
RD
Watchdog
IIC_SCL
IIC_SDA
UART0/1
RXD 0/1
TXD 0/1
Timer2
& CCU
CC0~CC3
T2EX
T2
Timer 0/1
T1
T0
Port 4
Port 4
Port 3
Port 3
Port 2
Port 2
Port 1
Port 1
Port 0
Port 0
OCI_SDA
Interface control
OCI_SCL
INT1
INT0
IIC
ICP
ICE
Interrupt
PWM Trig ADC
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
-9-
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
管脚描述
48L
LQFP
代号
I/O
1
P1.2/ADC2/RXD1
I/O
2
P1.3/ADC3/TXD1/C
C2
I/O
3
P1.4/ADC4/SS/CC3
I/O
4
P1.5/ADC5/MOSI
I/O
5
P1.6/ADC6/MISO/II
C_SCL
I/O
6
P1.7/ADC7/SPI_CL
K/IIC_SDA
I/O
7
P4.3/CC3/TXD1/SP
I_CLK
I/O
8
P4.2/CC2/RXD1/MI
SO
I/O
9
P3.7/#RD/FLTB
I/O
10
P3.6/#WR/FLTA
I/O
11
P3.5/T1
I/O
12
P3.4/T0/ADCEN
I/O
13
P3.3/#INT1
I/O
描述
* P1口的位2
*模数转换通2
*串行接口通道1接收/发送数据1
* P1口的位3
*模数转换通道03
*串行接口通道1数据传输或接收模式1时钟&计时器1及捕获
* 比较单元通道2
* P1口的位4
*模数转换通道4
* SPI 接口从机跳线 &计时器3及捕获
*比较单元通道3
* P1口的位5
*模数转换通道5
* SPI 接口串行数据线主输出或从输入口
* P1口的位6
*模数转换通道6
* SPI 接口串行数据线主输入或从输出口
* IIC 串行时钟线
* P1口的位7
*模数转换通道7
* SPI 接口时钟
* IIC 串行数据线
* P4口的位3
*比较单元通道3
*串行接口通道1数据传输或接收模式1时钟&计时器1及捕获
* SPI 接口时钟
* P4口的位2
*比较单元通道2
*串行接口通道1接收/发送数据1
* SPI 接口串行数据线主输入或从输出口
* P3口的位7
*外部储存器读取信号
* Fault_B
* P3口的位6
*外部储存器写入信号
* Fault_A
* P3口的位5
* 计时器1外部输入
* P3口的位4
* 计时器0外部输入
* ADC 监视针
* P3口的位3
* 外部中断 1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 10 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
48L
LQFP
代号
I/O
14
P3.2/#INT0/TRIGA
DC
I/O
15
P3.1/TXD0
I/O
16
P3.0/RXD0
I/O
17
18
19
XTAL2
XTAL1
RESET
O
I
I
20
P4.5/ALE/CLKOUT
I/O
21
P2.0/A8/KBI0/CC0
I/O
22
P2.1/A9/KBI1/CC1
I/O
23
P2.2/A10/KBI2/Op1
Out/CC2
I/O
24
P2.3/A11/KBI3/Op1
NIn/CC3
I/O
25
P2.4/A12/KBI4/Op1
PIn
I/O
26
P2.5/A13/KBI5/Op0
NIn
I/O
27
P2.6/A14/KBI6/Op0
PIn
I/O
28
P2.7/A15/KBI7/Op0
Out
I/O
描述
* P3口的位2
* 外部中断 0
* 触发ADC
* P3口的位1
* 串行接口通道0数据传输或接收模式0时钟&计时器0及捕获
* P3口的位0
* 串行接口通道0接收/发送数据0
* 晶振输出
* 晶振输入
* 晶振输出
* P4口的位5
* 地址锁存使能
* 内部时钟输出
* P2口的位0
* 外部存储器地址的8位
* KBI 中断0
* 比较单元通道0
* P2口的位1
* 外部存储器地址的9位
* KBI 中断1
* 比较单元通道1
* P2口的位2
* 外部存储器地址的10位
* KBI 中断2
* Op1输出
* 比较单元通道2
* P2口的位3
* 外部存储器地址的11位
* KBI 中断3
* Op1负输入端
* 比较单元通道3
* P2口的位4
* 外部存储器地址的12位
* KBI 中断4
* Op1正输入端
* P2口的位5
* 外部存储器地址的13位
* KBI 中断5
* Op0负输入端
* P2口的位6
* 外部存储器地址的14位
* KBI 中断6
* Op0正输入端
* P2口的位7
* 外部存储器地址的15位
* KBI 中断7
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 11 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
48L
LQFP
代号
I/O
29
P4.1/CC1/IIC_SDA/
MOSI
I/O
30
P4.4/OCI_SCL
I/O
31
P4.6/OCI_SDA
I/O
32
P0.7/AD7/KBI7/PW
M7
I/O
33
P0.6/AD6/KBI6/PW
M6
I/O
34
P0.5/AD5/KBI5/PW
M5
I/O
35
P0.4/AD4/KBI4/PW
M4
I/O
36
P0.3/AD3/KBI3/PW
M3
I/O
37
P0.2/AD2/KBI2/PW
M2
I/O
38
P0.1/AD1/KBI1/PW
M1
I/O
39
P0.0/AD0/KBI0/PW
M0
I/O
40
41
42
43
44
VDD
AVDD_ADC
AVDDU
CAP
DM
I
I
I
O
I/O
描述
* Op0 输出
* P4口的位1
* 比较单元通道1
* IIC 串行数据线
* SPI 接口串行数据线主输出或从输入口
* P4口的位4
* ICE和 ICP 功能的时钟输入
* P4口的位6
* ICE和 ICP 功能的指令及数据输入
* P0口的位7
*外部存储器地址/数据的位7
* KBI 中断7
*宽脉调制通道7
* P0口的位6
* 外部存储器地址/数据的位6
* KBI 中断6
* 宽脉调制通道6
* P0口的位5
* 外部存储器地址/数据的位5
* KBI 中断5
* 宽脉调制通道5
* P0口的位4
* 外部存储器地址/数据的位4
* KBI 中断4
* 宽脉调制通道4
* P0口的位3
* 外部存储器地址/数据的位3
* KBI 中断3
* 宽脉调制通道3
* P0口的位2
* 外部存储器地址/数据的位2
* KBI 中断2
* 宽脉调制通道2
* P0口的1
* 外部存储器地址/数据的位1
* KBI 中断1
* 宽脉调制通道1
* P0口的位0
* 外部存储器地址/数据的位0
* KBI 中断0
* 宽脉调制通道0
* 数位电源电压
* ADC的 电源电压
* USB 的 电源电压
* 挂电容10uF and 0.1uF to GND.
* USB D负
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 12 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
48L
LQFP
代号
描述
I/O
45
46
DP
VSSALL
I/O
I
47
P1.0/ADC0/T2/CC0
I/O
48
P1.1/ADC1/T2EX/C
C1
I/O
* USB D正
*供电电源地
* P1口的位0
* 模数转换通道0
* 计时器2外部输入
* 比较单元通道0
* P1口的位1
* 模数转换通道1
* 计时器2捕捉触发及捕获触发器
* 比较单元通道1
特殊功能寄存器(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
P4
ACC
SPIC1
MD0
ISPFAH
PFCON
SPIC2
MD1
ISPFAL
P3M0
SPITXD
MD2
ISPFD
P3M1
SPIRXD
MD3
ISPFC
P4M0
SPIS
MD4
OpPin
MD5
LVC
TAKEY
ARCON
SWRES
F7
EF
E7
DF
D0
CCEN2
CCCON
CCEN
IP1
P0M0
CRCL
CCL1
S0RELH
P0M1
CRCH
CCH1
S1RELH
P1M0
TL2
CCL2
P2M0
OpPin2
CCL3
PAGESEL
P2M1
D7
C8
C0
B8
PSW
T2CON
IRCON
IEN1
CCH3
CF
C7
BF
B0
A8
P3
IEN0
IP0
S0RELL
ADCC1
WDTC
ADCDL
WDTK
ADCCS
B7
AF
A0
P2
RSTS
PWM
ADDR
PWM
DATA
USB
ADDR
USB
DATA
A7
98
S0CON
S0BUF
IEN2
90
88
80
Hex\Bin
P1
TCON
P0
X000
AUX
TMOD
SP
X001
AUX2
TL0
DPL0
X010
P4M1
P1M1
TH2
CCH2
CLKSEL
S1CON
ADCC2
BARCOD
E
ADDR
S1BUF
ADCDH
BARCOD
E
DATA
S1RELL
KBLS
TL1
DPH0
X011
KBE
TH0
DPL1
X100
KBF
TH1
DPH1
X101
Bin/Hex
FF
9F
KBD
CKCON
RCON
X110
IRCON2
IFCON
PCON
X111
97
8F
87
Bin/Hex
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 13 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Page Mode: page0
Hex\Bin
F8
X000
X001
X010
X011
X100
X101
X110
X111
IICS
IICCTL
IICA1
IICA2
IICRWD
IICEBT
Cmp0CON
Cmp1CON
F0
E8
E0
D8
B
P4
ACC
-
SPIC1
MD0
ISPFAH
PFCON
SPIC2
MD1
ISPFAL
P3M0
SPITXD
MD2
ISPFD
P3M1
SPIRXD
MD3
ISPFC
P4M0
SPIS
MD4
OpPin
MD5
LVC
TAKEY
ARCON
SWRES
F7
EF
E7
DF
D0
C8
C0
B8
PSW
T2CON
IRCON
IEN1
CCEN2
CCCON
CCEN
IP1
P0M0
CRCL
CCL1
S0RELH
P0M1
CRCH
CCH1
S1RELH
P1M0
TL2
CCL2
P1M1
TH2
CCH2
CLKSEL
P2M0
OPPIN2
CCL3
PAGESEL
P2M1
D7
CF
C7
BF
B0
A8
A0
98
P3
IEN0
P2
S0CON
IP0
RSTS
S0BUF
S0RELL
ADCC1
ADCC2
ADCDH
WDTC
ADCDL
WDTK
ADCCS
IEN2
S1CON
S1BUF
S1RELL
B7
AF
A7
9F
90
88
80
Hex\Bin
P1
TCON
P0
X000
AUX
TMOD
SP
X001
AUX2
TL0
DPL0
X010
KBLS
TL1
DPH0
X011
KBE
TH0
DPL1
X100
KBF
TH1
DPH1
X101
KBD
CKCON
RCON
X110
IRCON2
IFCON
PCON
X111
97
8F
87
Bin/Hex
P4M1
CCH3
Bin/Hex
FF
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 14 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Page Mode: page1
Hex\Bin
X000
F8
X001
X010
X011
PWMTB
C0
PWMTB
C1
PWM
OPMOD
SEVTCM
PL
DEADTI
ME
2
ISPFD
F0
B
PERIOD
L
PERIOD
H
E8
P4
DEADTI
ME0
DEADTI
ME1
E0
ACC
ISPFAH
ISPFAL
D8
-
PFCON
LNG
DATAH
FLT
CONFIG
D0
PSW
DUTY0L
DUTY0H
C8
T2CON
DUTY3H
BCCTRL
DUTY1L
ADDR2M
L
C0
IRCON
RDATA
FDATA
B8
IEN1
IP1
S0RELH
S1RELH
B0
P3
A8
A0
98
X100
TBCOUN
TER
L
SEVTCM
PH
DEADTI
ME
3
ISPFC
X101
TBCOUN
TER
H
PWMEN
PWMSE
V
X110
X111
Bin/Hex
UCTRL1
UCTRL2
FF
USTAT
TAKEY
F7
PWMTBPO
ST
SCALE
LVC
LNG
DATAL
EF
SWRES
E7
OVRIDEDI
S
OVRIDE
DATA
DF
DUTY2H
DUTY3L
D7
DUTY1H
PWM
POLARIT
Y
DUTY2L
TL2
TH2
ADDR2MH
FRMNU
MH
FRMNUML
HSTALL
C7
CLKSEL
PAGESEL
DSTALL
BF
FLTNF
DEVADR
PWMINT
F
CF
UIER1
UIER2
UIFR1
UIFR2
EPDRDY
EP0CNT
B7
IEN0
P2
HSKSTA
T
IP0
EP1CNT
S0RELL
EP2CNT
ADCC1
EP3CNT
ADCC2
EP4CNT
ADCDH
ADCDL
ADCCS
EP0DATA
S0CON
S0BUF
IEN2
EP1DATA
EP2DATA
P1
AUX
IRCON2
97
88
80
Hex\Bin
TCON
P0
X000
TMOD
SP
X001
S1BUF
EP4DAT
A
TH0
DPL1
X100
S1RELL
90
S1CON
EP3DAT
A
TL1
DPH0
X011
AF
A7
9F
IFCON
PCON
X111
8F
87
Bin/Hex
TL0
DPL0
X010
TH1
DPH1
X101
CKCON
RCON
X110
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 15 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
注:SM59A16U1 特殊功能寄存器的重置值在下表描述.
Register
P0
SP
Location: 80h ~ 8Fh
Method Method 2 Method 2
1
Page 0
Page 1
80h
80h
80h
81h
81h
81h
Reset
value
DPL0
82h
82h
82h
00h
DPH0
83h
83h
83h
00h
DPL1
84h
84h
84h
00h
DPH1
85h
85h
85h
00h
RCON
86h
86h
86h
00h
PCON
87h
87h
87h
40h
TCON
88h
88h
88h
00h
TMOD
TL0
89h
8Ah
89h
8Ah
89h
8Ah
00h
00h
Port 0
Stack Pointer
Data Pointer 0 Register, Low
Byte
Data Pointer 0 Register, High
Byte
Data Pointer 1 Register, Low
Byte
Data Pointer 1 Register, High
Byte
Internal RAM Control
Register
Power Control Register
Timer/Counter Control
Register
Timer Mode Control
Timer 0 Register, Low Byte
TL1
TH0
TH1
CKCON
IFCON
8Bh
8Ch
8Dh
8Eh
8Fh
00h
00h
00h
10h
00h
Timer 1 Register, Low Byte
Timer 0 Register, High Byte
Timer 1 Register, High Byte
Clock Control Register
Interface Control Register
Register
P1
AUX
AUX2
8Bh
8Bh
8Ch
8Ch
8Dh
8Dh
8Eh
8Eh
8Fh
8Fh
Location: 90h ~ 9Fh
Method Method 2 Method 2
1
Page 0
Page 1
90h
90h
90h
91h
91h
91h
92h
92h
-
FFh
07h
Description
Reset
value
FFh
00h
00h
Description
KBLS
93h
93h
-
00h
KBE
94h
94h
-
00h
KBF
95h
95h
-
00h
IRCON2
97h
97h
97h
00h
EP3DATA
-
-
93h
00h
EP4DATA
-
-
94h
00h
S0CON
98h
98h
98h
00h
Port 1
Auxiliary Register
Auxiliary 2 Register
Keyboard Level Selection
Register
Keyboard input Enable
Register
Keyboard interrupt Fla
g Register
Interrupt Request Control
Register 2
USB Endpoint 3 Data
Register
USB Endpoint 4 Data
Register
Serial Port 0, Control Register
S0BUF
IEN2
99h
9Ah
99h
9Ah
99h
9Ah
00h
00h
Serial Port 0, Data Buffer
Interrupt Enable Register 2
S1CON
9Bh
9Bh
9Bh
00h
Serial Port 1, Control Register
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 16 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
S1RELL
9Dh
9Dh
9Dh
00h
EP1DATA
-
-
9Eh
00h
EP2DATA
-
-
9Fh
00h
Register
P2
Location: A0h ~ AFh
Method Method 2 Method 2
1
Page 0
Page 1
A0h
A0h
A0h
Reset
value
FFh
Serial Port 1, Reload Register,
Low Byte
USB Endpoint 1 Data
Register
USB Endpoint 2 Data
Register
Description
Port 2
PWMADDR
PWMDATA
BARCODE
ADDR
BARCODE
DATA
USBDATA
A2h
A3h
-
-
00h
00h
PWM Address Register
PWM Data Register
A4h
-
-
00h
Barcode Address Register
A5h
-
-
00h
Barcode Data Register
A7h
-
-
00h
EP1CNT
-
-
A1h
00h
EP2CNT
-
-
A2h
00h
EP3CNT
-
-
A3h
00h
EP4CNT
-
-
A4h
00h
EP0DATA
-
-
A7h
00h
IEN0
IP0
A8h
A9h
A8h
A9h
A8h
A9h
00h
00h
S0RELL
AAh
AAh
AAh
00h
ADCC1
ADCC2
ABh
ACh
ABh
ACh
ABh
ACh
00h
00h
ADCDH
ADh
ADh
ADh
00h
USB Data Register
USB Endpoint 1 Data Counter
Register
USB Endpoint 2 Data Counter
Register
USB Endpoint 3 Data Counter
Register
USB Endpoint 4 Data Counter
Register
USB Endpoint 0 Data
Register
Interrupt Enable Register 0
Interrupt Priority Register 0
Serial Port 0, Reload Register,
Low Byte
ADC Control 1 Register
ADC Control 2 Register
ADC Data Register, High
Byte
ADC Data Register, Low Byte
ADC Clock Select Register
ADCDL
ADCCS
Register
P3
AEh
AEh
AEh
AFh
AFh
AFh
Location: B0h ~ BFh
Method Method 2 Method 2
1
Page 0
Page 1
B0h
B0h
B0h
00h
00h
Reset
value
FFh
WDTC
B6h
B6h
-
04h
WDTK
B7h
B7h
-
00h
HSKSTAT
-
-
B1h
80h
UIER1
-
-
B2h
00h
UIER2
-
-
B3h
00h
Description
Port 3
Watchdog Timer Control
Register
Watchdog Timer Refresh Key
Register
USB Handshake Status
Register
USB Interrupt Enable
Register 1
USB Interrupt Enable
Register 2
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 17 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
UIFR1
UIFR2
-
-
B4h
B5h
00h
00h
EPDRDY
-
-
B6h
2Ah
EP0CNT
-
-
B7h
00h
IEN1
IP1
B8h
B9h
B8h
B9h
B8h
B9h
00h
00h
S0RELH
BAh
BAh
BAh
00h
S1RELH
BBh
BBh
BBh
00h
CLKSEL
BDh
BDh
BDh
00h
PAGESEL
BEh
BEh
BEh
00h
PWMINTF
-
-
BCh
00h
USB Interrupt Flag Register 1
USB Interrupt Flag Register 2
USB Endpoint Data Ready
Register
USB Endpoint 0 Data Counter
Register
Interrupt Enable Register 1
Interrupt Priority Register 1
Serial Port 0, Reload Register,
High Byte
Serial Port 1, Reload Register,
High Byte
System Clock Select Register
SFR Page Mode Select
Register
PWM Interrupt Flag Register
DSTALL
-
00h
USB Device Stall Register
Register
BFh
Location: C0h ~ CFh
Method Method 2 Method 2
1
Page 0
Page 1
Reset
value
Description
IRCON
C0h
C0h
C0h
00h
CCEN
C1h
C1h
-
00h
CCH1
C3h
C3h
-
00h
CCL2
C4h
C4h
-
00h
CCH2
C5h
C5h
-
00h
CCL3
C6h
C6h
-
00h
CCH3
C7h
C7h
-
00h
RDATA
-
-
C1h
19h
FDATA
-
-
C2h
18h
DEVADR
-
-
C4h
00h
FRMNUMH
-
-
C5h
00h
FRMNUML
-
-
C6h
00h
HSTALL
T2CON
C8h
C8h
C7h
C8h
00h
00h
CCCON
C9h
C9h
-
00h
CRCL
CAh
CAh
-
00h
TL2
CCh
CCh
CCh
00h
Interrupt Request Control
Register
Compare/Capture Enable
Register
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
Barcode Rising of Data
Register
Barcode Falling of Data
Register
USB Device Address Register
USB Frame Number Register,
High Byte
USB Frame Number Register,
Low Byte
USB Host Stall Register
Timer 2 Control Register
Compare/Capture Control
Register
Compare/Reload/Capture
Register, Low Byte
Timer 2 Register, Low Byte
TH2
CDh
CDh
CDh
00h
Timer 2 Register, High Byte
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 18 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
OpPin2
CEh
CEh
-
00h
DUTY3H
-
-
C9h
00h
BCCTRL
-
-
CAh
01h
ADDR2ML
-
-
CBh
00h
ADDR2MH
-
-
CEh
00h
Register
PSW
Location: D0h ~ DFh
Method Method 2 Method 2
1
Page 0
Page 1
D0h
D0h
D0h
Reset
value
00h
Op/Comparator Pin Select
register 2
PWM 3 Duty Register, High
Byte
Barcode Control Register
Barcode Start address to
SRAM Register, Low Byte
Barcode Start address to
SRAM Register, High Byte
Description
Program Status Word
Compare/Capture Enable 2
Register
Port 0 Output Mode 1
CCEN2
D1h
D1h
-
00h
P0M1
D3h
D3h
-
00h
P1M0
P1M1
P2M0
P2M1
D4h
D5h
D6h
D7h
D4h
D5h
D6h
D7h
-
00h
00h
00h
00h
DUTY0L
-
-
D1h
00h
DUTY1L
-
-
D3h
00h
DUTY1H
-
-
D4h
00h
DUTY2L
-
-
D5h
00h
DUTY2H
-
-
D6h
00h
PFCON
D9h
D9h
D9h
00h
P3M0
DAh
DAh
-
00h
Port 1 Output Mode 0
Port 1 Output Mode 1
Port 2 Output Mode 0
Port 2 Output Mode 1
PWM 0 Duty Register, Low
Byte
PWM 1 Duty Register, Low
Byte
PWM 1 Duty Register, High
Byte
PWM 2 Duty Register, Low
Byte
PWM 2 Duty Register, High
Byte
Peripheral Frequency Control
Register
Port 3 Output Mode 0
P3M1
P4M0
DBh
DCh
DBh
DCh
-
00h
00h
Port 3 Output Mode 1
Port 4 Output Mode 0
P4M1
DDh
DDh
-
00h
FLTCONFIG
-
-
DBh
80h
FLTNF
-
-
DCh
00h
Port 4 Output Mode 1
PWM Fault Configure
Register
PWM Fault Noise Filter
Register
PWM
POLARITY
-
-
DDh
FFh
PWM Polarity Register
OVRIDEDIS
-
-
DEh
FFh
PWM Override Disable
Register
-
DFh
00h
PWM Override Data Register
OVRIDE
DATA
Register
ACC
Location: E0h ~ EFh
Method Method 2 Method 2
1
Page 0
Page 1
E0h
E0h
E0h
Reset
value
00h
Description
Accumulator
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 19 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
ISPFAH
E1h
E1h
E1h
FFh
ISPFAL
E2h
E2h
E2h
FFh
ISPFD
ISPFC
LVC
SWRES
P4
E3h
E4h
E6h
E7h
E8h
E3h
E4h
E6h
E7h
E8h
E3h
E4h
E6h
E7h
E8h
FFh
00h
20h
00h
FFh
ISP Flash Address Register,
High Byte
ISP Flash Address Register,
Low Byte
ISP Flash Data Register
ISP Flash Control Register
Low Voltage Control Register
Software Reset Register
Port 4
MD0
MD1
E9h
EAh
E9h
EAh
-
00h
00h
Multiplication/Division Register 0
Multiplication/Division Register 1
MD2
MD3
EBh
ECh
EBh
ECh
-
00h
00h
Multiplication/Division Register 2
Multiplication/Division Register 3
MD4
MD5
EDh
EEh
EDh
EEh
-
00h
00h
Multiplication/Division Register 4
Multiplication/Division Register 5
ARCON
DEADTIME0
EFh
-
EFh
-
E9h
00h
00h
Arithmetic Control Register
PWM Dead Time 0 Register
DEADTIME1
DEADTIME2
-
-
EAh
EBh
00h
00h
PWM Dead Time 1 Register
PWM Dead Time 2 Register
DEADTIME3
PWMSEV
PWMTBPOST
SCALE
-
-
ECh
EDh
00h
00h
-
-
EEh
00h
LNGDATAL
-
EFh
00h
PWM Dead Time 3 Register
PWM Special Event Register
PWM Time Base Post Scale
Register
Barcode Length of Data
Register, High Byte
Register
B
SPIC1
Location: F0h ~ FFh
Method Method 2 Method 2
1
Page 0
Page 1
F0h
F0h
F0h
F1h
F1h
-
Reset
value
Description
00h
08h
B Register
SPI Control Register 1
SPIC2
SPITXD
F2h
F3h
F2h
F3h
-
00h
00h
SPI Control Register 2
SPI Transmit Data Buffer
SPIRXD
SPIS
F4h
F5h
F4h
F5h
-
00h
40h
OpPin
F6h
F6h
-
00h
TAKEY
F7h
F7h
F7h
00h
PERIODL
-
-
F1h
FFh
PERIODH
-
-
F2h
3Fh
SEVTCMPL
-
-
F3h
FFh
SEVTCMPH
-
-
F4h
3Fh
PWMEN
-
-
F5h
00h
SPI Receive Data Buffer
SPI Status Register
Op/Comparator Pin Select
Register
Time Access Key Register
PWM Period Register, Low
Byte
PWM Period Register, High
Byte
PWM Special Event Compare
Register, Low Byte
PWM Special Event Compare
Register, High Byte
PWM Output Enable Register
USTAT
-
-
F6h
00h
USB Status Register
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 20 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
IICS
IICCTL
IICA1
IICA2
IICRWD
F8h
F9h
FAh
FBh
FCh
F8h
F9h
FAh
FBh
FCh
-
00h
04h
A0h
60h
00h
IICEBT
FDh
FDh
-
00h
Cmp0CON
FEh
FEh
-
00h
Cmp1CON
FFh
FFh
-
00h
PWMTBC0
-
-
F9h
00h
PWMTBC1
-
-
FAh
00h
PWMOPMOD
-
-
FBh
00h
TBCOUNTERL
-
-
FCh
00h
TBCOUNTERH
-
-
FDh
00h
UCTRL1
-
-
FEh
20h
IIC Status Register
IIC Control Register
IIC Address 1 Register
IIC Address 2 Register
IIC Read / Write Register
IIC Enable Bus Transaction
Register
Comparator 0 Control
Register
Comparator 1 Control
Register
PWM Time Base Control 0
Register
PWM Time Base Control 1
Register
PWM Output Pair Mode
Register
PWM Time Base Counter
Register, Low Byte
PWM Time Base Counter
Register, High Byte
USB Control 1 Register
UCTRL2
-
-
FFh
02h
USB Control 2 Register
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 21 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
功能描述
1. 总特征
SM59A16U1 是一个8位的微处理器,它的所有功能以及特殊功能寄存器(SFR)的详细定义将在以下章节给出.
1.1 嵌入式程序存储器
可通过编程器或在线编程(ISP)将程序加载到64KB的嵌入式闪存体中,其高品质的闪存体具有100K次的重复可擦写编程并
记忆数据,如EEPROM。
1.2 IO 口
SM59A16U1 有5个I/O ports: Port 0, Port 1, Port 2 , Port 3 and Port4. Ports 0, 1, 2, 3 是 8位口. 这些型态: 准双向口(标
准 8051输出口), 推挽, 开漏, 与仅为输入。 在章节5中有详细说明。
带有斜率的所有的焊盘上的P0,P1,P2,P3和P4,是用于减少电磁干扰(EMI)。IO焊盘可以承受4KV的ESD,人体
模式在高静电环境下,可以保证SM59A16U1的品质。
藉由编写或ISP模式,OCI_SCL 、ALE和OCI_SDA的可配置当I / O端口上的P4.4,P4.5和P4.6.
所有的P0~P4口都可通过转化速率来降低EMI。另一种降低EMI的方式是在禁止ALE输出,可通过特殊功能寄存器
(SFR)来进行选择控制,在高静电环境且在人体接触模式中,其I/O口的ESD可达4KV,可以保证 SM59A16U1 在高静
电环境下的品质。
1.3 2T/1T 的选择
SM59A16U1 是 2T 或 1T MCU,亦即,它的机器周期是两个时钟或一个时钟。换言之,它可以在两个时钟或只有一个时
钟内执行一条指令。2T 模式和 1T 模式之间的差异是在图 1-1及图 1-2.所示.
图 1-1: (a)The waveform of internal instruction signal in 2T mode
图 1-2: (b)The waveform of internal instruction signal in 1T mode
在1T模式下的默认,不是每一指令都可用一个机器周期去执行。所有的指令的确切机器周期数在下一节将会叙述到.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 22 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
1.4
复位
1.4.1
硬件复位功能
SM59A16U1 提供了片上硬件复位机制, 片上硬件复位的时间长度可以通过编程器或ISP设置。
片上硬件复位的时间长度
25ms (默认)
200ms
100ms
50ms
16ms
8ms
4ms
1.4.2
软件复位功能
SM59A16U1 提供一种软件复位机制来实现整个芯片的复位.要实现软件复位,于程序中需把3个特殊值 55h,AAh和5Ah按
顺序写到TAKEY寄存器来使能软件复位寄存器(SWRES)之写入. 在软件复位寄存器获得可写权后,可以对SWRES寄存器
写入FFh. 硬件将解码出复位讯号它是与其它硬件复位讯号作 “OR”处理. 软件复位寄存器在软件复位过程的最后会进行自
复位.
符号
TAKEY
SWRES
1.4.3
描述
Time Access Key
register
Software Reset
register
地址
Bit 7
Bit 6
Bit 5
Bit 4
Software Reset function
Bit 3
Bit 2
Bit 1
Bit 0
重置值
F7h
TAKEY [7:0]
00H
E7h
SWRES [7:0]
00H
定时访问键寄存器(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.4.4
软件复位寄存器(SWRES)
符号: SWRES
7
6
5
4
3
SWRES [7:0]
2
1
0
地址: E7H
Reset
00H
SWRES[7:0]: 软件复位寄存器. 在软件复位过程的最后会进行自重置.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 23 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
SWRES [7:0] = FFh, 产生软件复位.
SWRES [7:0] = 00h ~ FEh, 不产生复位动作.
1.4.5
软件复位的示例
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah; enable SWRES write attribute
MOV SWRES, #0FFh ; software reset MCU
1.5 时钟源
SM59A16U1提供了四种模式设置系统时钟,系统时钟源可以通过编程器或ICP设置.




IRC: 内部 RC 振荡器和时钟是 22.1184MHz 已固定(默认值)
20K: 内部 RC 振荡器和时钟为 20K Hz 固定.
Xtal: 外部晶振,并且可以连接上 XTAL1/XTAL2.
PLL: 根据外部晶振产生一个固定的 48MHz 的频率.
- 系统分频时钟不能在 PLL 模式下被分频(“DIVIDE1”),否则 PLL(48MHz)将超过 MCU 的限制(25MHz).
- 例如使用 PLL 为系统时钟时:
晶振: 12MHz
系统时钟: PLL (48MHz 固定).
系统分频时钟: Divide 2.
MCU产生时钟为24MHz. (48MHz/2)
注: 使用USB时,建议选择6,12或24MHz的晶体.
内部时钟源来源于不同分频的内部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/16 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-M072
Ver A SM59A16U1 04/12/2013
- 24 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
2. 指令设置
所有SM59A16U1 的指令都是兼容的二进制码,且具有标准的8051一样的功能,以下表格列出了以SM59A16U1 微控器为核
心的指令集的周期的总结,这里的周期表示为机器周期。
符号
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-M072
Ver A SM59A16U1 04/12/2013
- 25 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B 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-M072
Ver A SM59A16U1 04/12/2013
- 26 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B 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-M072
Ver A SM59A16U1 04/12/2013
- 27 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B 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-M072
Ver A SM59A16U1 04/12/2013
- 28 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
3. 存储器结构
SM59A16U1 存储器结构和通用的8052结构相同,它们是作为程序存储器的64KB的嵌入式闪存.
3.1 程序存储器
SM59A16U1 有64KB的嵌入式闪存,可做为通用的程序存储或EEPROM.其它还包括最大为4KB的特定ISP服务程序存储
空间. 这64K的地址从$0000 to $FFFF. ISP服务程序的地址从$3C00 to $3FFF. ISP服务程序空间可以被分割N块256字节
(N=0 to 16). 当N=0时,意味着没有ISP复位程序空间可用. 全部的64KB字节空间都被用来做程序存储. 当N=1时,意味着地
址$FF00 to $FFFF保留为ISP服务程序空间. 当N=2意味着内存地址$FE00 to $FFFF保留为ISP服务程序空间等等... 数值
N可以通过编程器或ICP方式编程或设置.它可像EEPROM那样用来记录任何数据(如果要更改程序数据,请先执行页抹
除)。EEPROM的应用功能在第21章节的内部ISP部分有描述。如图 3-1中所示.
ISP service
Program space,
Up to 4K
64K Program
Memory space
FFFF
FF00
FE00
FD00
FC00
FB00
FA00
F900
F800
F700
F600
F500
F400
F300
F200
F100
F000
N=0
N=1
N=2
N=3
N=4
N=5
N=6
N=7
N=8
N=9
N=10
N=11
N=12
N=13
N=14
N=15
N=16
0000
图 3-1: SM59A16U1 programmable Flash
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 29 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
3.2 数据存储器
SM59A16U1有6K+256 B片上SRAM,256字节和通用的8052内部存储器结构一样,当片上SRAM扩大6K字节时,可以
通过外部存储器寻址方式来訪問数据(通过MOVX指令),如图中所示。. (由指令 MOVX).
图 3-2: (a)External memory access as read
图 3-3: (b)External memory access as write
07FF
FF
FF
Higher 128 Bytes (Accessed by
indirect addressing mode only)
80
SFR (Accessed by direct addressing
mode only)
Expanded 6K Bytes
(Accessed by direct external
addressing mode by
instruction MOVX)
80
7F
Lower 128 Bytes (Accessed by direct
& indirect addressing mode )
0000
00
图 3-4: RAM architecture
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 30 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
3.3 数据内存-低 128 字节(00h to 7Fh)
数据存储器从00h到FFh的地址和在8052中的定义是一样的。
00h到7Fh的地址可通过直接或者间接寻址方式访问。
00h到1Fh是寄存器的空间,
20h到2Fh是位寻址空间,
30h到7Fh是通用的数据存储区。
3.4 数据内存-高 128 字节字节(80h to 0xFFh)
80h到FFh的地址仅仅能从间接寻址的方式访问,它是一个数据区。
3.5 数据内存-扩展的 6K 字节(0000h ~ 0x17FFh)
从外部地址为 0000h 到17FFh是片上扩大的 SRAM 区域,一共6K字节。这一区域可以是由访问外部直接寻址模式
(MOVX 指令)。指令MOVX @Ri,i=0 的地址空间1可以经由 RCON [7:0] 的特殊功能寄存器$86 RCON (内部 RAM 控
制寄存器)来决定。RCON [7:0] 的默认设置是 00h ( 0 页)。一页数据 RAM 是 256 个字节。
当EMEN =0,内部6K扩展RAM被使能。如果访问存储器空间是大于6K字节,RCON的值被发往P2口来访问外部RAM。
当EMEN =1,内部6K扩展RAM被禁止。 RCON的值是无效的,高字节地址是由P2口寄存器P2 [7:0] 的寄存器内容来决
定。
MOVX @Ri, A
MOVX A,@Ri
EMEN = 0
EMEN = 1
0 ≦ RCON[7:0] ≦ 23
24 ≦ RCON [7:0] ≦ 255
Addr [15:8] <= RCON[7:0]
Port2 [7:0] <= P2 [7:0]
Port2 [7:0] <= P2[7:0]
Port2 [7:0] <= P2 [7:0]
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 31 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
4. CPU结构
SM59A16U1 结构由以下四部分组成:
(1) 控制单元
(2) 算法-逻辑单元
(3) 存储器控制单元
(4) RAM 和 SFR 控制单元
SM59A16U1 结构允许接受来自程序存储器的指令并与RAM或SFR做数据处理,以下各段详细叙述了主要功能寄存器。
符号
描述
地址
Bit 7
ACC
B
Accumulator
B Register
Program Status
Word
Stack Pointer
Data Pointer Low
0
Data Pointer High
0
Data Pointer Low
1
Data Pointer High
1
E0h
F0h
ACC.7
B.7
D0h
CY
PSW
SP
DPL0
DPH0
DPL1
DPH1
重置值
ACC.4
B.4
ACC.3
B.3
ACC.2
B.2
ACC.1
B.1
PSW.
1
ACC.0
B.0
00H
00H
P
00H
RS[1:0]
OV
00H
83h
DPH0[7:0]
00H
84h
DPL1[7:0]
00H
85h
DPH1[7:0]
00H
86h
Clock Control
Register
8Eh
CLOC
K_RE
ADY
8Fh
-
USBDATA
Bit 0
DPL0[7:0]
Internal RAM
Control Register
PWMADD
R
PWMDAT
A
USBADD
R
Bit 1
82h
RCON
PAGESEL
Bit 2
07H
91h
Interface Control
Register
SFR Page Mode
Select Register
PWM Address
Register
PWM Data
Register
USB Address
Register
USB Data
Register
F0
Bit 3
SP[7:0]
Auxiliary Register
IFCON
AC
Bit 4
81h
AUX
CKCON
Bit 6
Bit 5
8051 Core
ACC.6 ACC.5
B.6
B.5
BEh
BRGS
-
P4UR
1
P4SPI
P4IIC
P0KBI
-
DPS
RCON[7:0]
ITS[2:0]
CDPR
00H
-
F32K
F16K
-
00H
-
CLKOUT[2:0]
00H
EMEN
ISPE
00H
Page_
num
Page_
mode
00H
A2h
PWMADDR[7:0]
00H
A3h
PWMDATA[7:0]
00H
A6h
USBADDR[7:0]
00H
A7h
USBDATA[7:0]
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 32 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
4.1 累加器
ACC是一个累加器,大部分单操作指令的一个操作数取自累加器.
符号: ACC
7
6
ACC.7 ACC.6
5
ACC05
4
ACC.4
3
ACC.3
2
ACC.2
1
ACC.1
0
ACC.0
地址: E0h
Reset
00h
0
B.0
地址: F0h
Reset
00h
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.
4.3 程序状态字
符号: PSW
7
6
CY
AC
5
F0
4
3
RS [1:0]
2
OV
1
F1
0
P
地址: D0h
Reset
00h
CY: 进位标志位
AC: 为 BCD 辅助进位标志位
F0: 用户设置标志位 0
RS[1:0]
00
01
10
11
Bank Selected
Bank 0
Bank 1
Bank 2
Bank 3
地址
00h – 07h
08h – 0Fh
10h – 17h
18h – 1Fh
OV: 溢出标志位
F1: 用户设置标志位 1
P: 奇偶校验位, 受硬件影响, 显示累加器中的奇偶的 1 位,即奇偶校验
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 33 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
4.4 堆栈指针( SP )
堆栈指针是一个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 数据指针( DP )
数据指针为2字节.低位为DPL.高位为DPH.它可以作为一个2字节的寄存器(MOV DPTR,#data16)来使用,或者作为两个寄
存器(例如,MOV DPL,#data8),它通常被用作是运行外部程序或者是数据空间(如,MOVC A,@ A+DPTR 或者各自的MOV A,
@ DPTR).
符号: DPL
7
6
5
3
DPL [7:0]
2
1
0
地址: 82h
Reset
00h
4
3
DPH [7:0]
2
1
0
地址: 83h
Reset
00h
4
DPL[7:0]: Data pointer Low 0
符号: DPH
7
6
5
DPH [7:0]: Data pointer High 0
4.6 数据指针 1( DP1 )
双数据指针加速了块状数据的运行速度.标准的DPTR 是一个16位的寄存器,是用来寻址外部空间或者外部存储器. 在
SM59A16U1 中,标准的数据指针称为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
DPL1[7:0]: Data pointer Low 1
符号: DPH1
7
6
5
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 34 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
DPH1[7:0]: Data pointer High 1
4.7 辅助寄存器( AUX )
符号: AUX
7
BRGS
6
-
5
P4SPI
4
P4UR1
3
P4IIC
2
P0KBI
1
-
地址: 91h
0
Reset
DPS
00H
BRGS: 0 =定时器 1 寄存器上的波特率发生器
1 =串行端口寄存器上的波特率发生器.
P4SPI: 0 = P1 口的 SPI 功能.
1 = P4 口的 SPI 功能.
P4UR1: 0 = P1 口串行接口 1 功能.
1 = P4 口串行接口 1 功能
P4IIC: 0 = P1 口的 IIC 功能.
1 = P4 口的 IIC 功能.
P0KBI: 0 = P2 口的 KBI 功能.
1 = P0 口的 KBI 功能.
DPS: DPS = 0 选择数据指针 0.
DPS = 1 选择数据指针 0.
4.8 内部 RAM 控制寄存器( RCON )
SM59A16U1在片上有16K字节的扩展RAM,仅可以访问外部存储器寻址方式(MOVX指令)。指令MOVX @ RI,I
=0,1的地址空间是由RCON寄存器的 RCON [7:0] 来决定。 RCON[7:0]的默认设置为00h(页0)。
Mnemonic: RCON
7
6
4.9
5
4
3
RCON[7:0]
2
1
5
4
2
1
Address: 86h
0
Reset
00H
时钟控制寄存器( CKCON )
符号: CKCON
7
6
CLOCK_
READY
ITS[2:0]
3
-
CLKOUT[2:0]
0
地址: 8Eh
Reset
00H
CLOCK_READY: 时钟就绪标志
当在运行时改变时钟源,SW 必须检查这个标志;
如果该位被设置,时钟源是稳定的,硬件可以保持正常工作.
ITS[2:0]: 指令时钟周期选择.
ITS [2:0]
000
001
Mode
1T instruction mode
2T instruction mode
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 35 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
CLKOUT[2:0]: 时钟输出除频选择.
CLKOUT[2:0]
000
100
x01
x10
x11
Mode
ALE (default)
P4.5
Fosc
Fosc/2
Fosc/4
主系统时钟源设置为使用振荡器(时钟由晶振输入脚输入)或片内RC振荡器皆可
4.10 接口控制寄存器( IFCON )
Mnemonic: IFCON
7
6
5
CDPR
F32K
4
F16K
3
2
-
1
EMEN
Address: 8Fh
0
Reset
ISPE
00H
CDPR: 程序码已加密指示位(仅读)
F32K: 闪存大小为 32KB+4 KB(仅读)
F16K: 闪存大小为 16 KB + 4 KB (仅读)
EMEN: 内部 6K SRAM 使能。(默认是使能)
百万美元 = 0,使能内部 6K RAM 和外部 58 K 的 RAM.
百万美元 = 1,禁止内部 6K RAM,使能外部 64K 的 RAM。
ISPE: SP 功能使能位
ISPE = 1, 允许使用 ISP 功能
ISPE = 0, 禁止使用 ISP 功能
4.11 页面选择 ( PAGESEL )
SM59A16U1 提供了两种不同的方法来设置特殊功能例如(SFR) 如下:


SFR 方法 1 (间接模式): 此方法只是 SFR 页面。如果您想要使用
PWM 寄存器的方法 2 中,可以使用间接寻址的设置。
例如:方法 1 中写入数据 0x80h PWMEN 例如。
PAGESEL = 0x0h;
// Method 1.
PWMADDR = 0xF5h;
// PWMEN 间接地址: 0xF5h (间接模式)
PWMDATA = 0x80h;
// PWMEN 间接地址: 0xF5h (间接模式)
SFR 方法 2 (页面模式): 此方法提供了两个 SFR 页以设置寄存器。
例如: PWMEN 间接地址: 0xF5h (间接模式).
PAGESEL = 0x3h;
// 在方法 2 中写入数据 0x80h PWMEN 例如,第 1 页
PWMEN = 0x80h;
// 0X80h 数据写入 PWMEN。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 36 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器

SFR 页模式表:
7
Page_mode
Page_num
SFR Select
0
0
SFR Method 1
0
1
SFR Method 1
1
0
SFR Method 2, Page 0
1
1
SFR Method 2, Page 1
符号: PAGESEL
6
5
4
3
2
1
Page num
地址: BEh
0
Reset
Pagemode
00H
Page_num: 在 SFR 方法 2 使用此标志只
0 = 页面 0 模式
1 = 页面 1 模式.
Page_mode: 此标志用于选择 SFR 寄存器表.
0 : SFR Method 1 (间接模式).
1 : SFR Method 2 (页面模式).
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 37 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
4.12 PWM 地址寄存器( PWMADDR )
Mnemonic: PWMADDR
7
6
5
4
3
PWMADDR[7:0]
2
1
Address: A2h
0
Reset
00H
PWMADDR: PWM 地址寄存器,只可以使用 SFR 方法 1 (间接模式) 中.
PWMADDR 和 PWMDATA 需要一起被使用.
4.13 PWM 数据寄存器( PWMDATA )
Mnemonic: PWMDATA
7
6
5
4
3
PWMDATA[7:0]
2
1
Address: A3h
0
Reset
00H
PWMDATA: PWM 数据寄存器,只可以使用 SFR 方法 1 (间接模式) 中.
PWMADDR 和 PWMDATA 需要一起被使用.

在 SFR 方法 1 中,从 PWM 寄存器读取数据(间接模式) :
示例: 在 SFR 方法 1 中读 PWMSEV 数据.
PAGESEL = 0x0h;
//方法 1.
PWMADDR = 0xEDh;
// PWMSEV 间接地址: 0xEDh (间接模式)
// (参照方法 2 的页面 1 表 )
Val = PWMDATA;


// Val: 从 PWMSEV 中读取数据。
在 SFR 方法 2 中,从 PWM 寄存器读取数据(页面模式):
示例: 在 SFR 方法 2 中读 PWMSEV 数据. (页面 1)。
PAGESEL = 0x3h;
// 方法 2,页面 1 (页面模式)
Val = PWMSEV;
// Val: 从 PWMSEV 中读取数据.
PWM 方法 1 和 PWM 方法 2 是相同的结果.
4.14 USB 地址寄存器( USBADDR )
Mnemonic: USBADDR
7
6
5
4
3
USBADDR[7:0]
2
1
Address: A6h
0
Reset
00H
USBADDR: USB 地址寄存器,只可以使用 SFR 方法 1 (间接模式)
USBADDR 和 USBDATA 需要一起被使用.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 38 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
4.15 USB 数据寄存器( USBDATA )
Mnemonic: USBDATA
7
6
5
4
3
USBDATA[7:0]
2
1
Address: A7h
0
Reset
00H
USBDATA: USB 数据寄存器,只可以使用 SFR 方法 1 (间接模式).
SBDATA 和 USBADDR 需要一起被使用.

在 SFR 方法 1 中,写入数据到 USB 寄存器(间接模式):
示例: 在 SFR 方法 1 中, 写入数据 0x1h UCTRL1 寄存器.
PAGESEL = 0x0h;
//方法 1.
USBADDR = 0xFEh;
// UCTRL1 间接地址: 0xFEh (间接模式)
// (參照方法 2 的页面 1 表)
USBDATA = 0x1h;

在 SFR 方法 2 中,写入数据到 USB 寄存器(页面模式):
示例: 写入数据 0x1h UCTRL1 寄存器在 SFR 方法 2 中,页面 1.
PAGESEL = 0x3h;
// 方法 2,页面 1 (页面模式)
UCTRL1 = 0x01h;

//写入数据 0x01h 到 UCTRL1.
//写入数据 0x01h 到 UCTRL1.
USB 方法 1 和 USB 方法 2 是相同的结果.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 39 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
5. GPIO管脚型态
SM59A16U1 有3个I/O口: Port 0, Port 1,Port2,Port3 and Port 4. Ports 0, 1,2,3是8位口and Port 4是6位口. 它们是: 准双
向 口 ( 标 准 的 8051 端 口 输 出 ), 推 挽 电 路 , 开 漏 , 与 只 输 入 . 两 种 寄 存 器 的 配 置 为 每 个 端 口 的 每 个 位 选 择 输 出 方
式.SM59A16U1 的所有端口可以通过软件配置四种型号的一种.如下表显示:
符号
描述
地址
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3
I/O port function register
P0M0
Port 0 output mode 0
D2h
P0M0 [7:0]
P0M1
Port 0 output mode 1
D3h
P0M1[7:0]
P1M0
Port 1 output mode 0
D4h
P1M0[7:0]
P1M1
Port 1 output mode 1
D5h
P1M1[7:0]
P2M0
Port 2 output mode 0
D6h
P2M0[7:0]
P2M1
Port 2 output mode 1
D7h
P2M1[7:0]
P3M0
Port 3 output mode 0
DAh
P3M0[7:0]
P3M1
Port 3 output mode 1
DBh
P3M1[7:0]
P4M P4M P4M P4M
P4M0
Port 4 output mode 0
DCh
0.6
0.5
0.4
0.3
P4M P4M P4M P4M
P4M1
Port 4 output mode 1
DDh
1.6
1.5
1.4
1.3
注: 当重置允许时,P0 只输入(甚至 P1M0 重置值为 00h)。
PxM1.y
0
0
1
1
PxM0.y
0
1
0
1
Bit 2
Bit 1
Bit 0
重置值
00H
00H
00H
00H
00H
00H
00H
00H
P4M
0.2
P4M
1.2
P4M
0.1
P4M
1.1
-
00H
-
00H
Port output mode
准双向口 (标准的8051端口输出)
推挽电路
只输入 (high-impedance)
开漏
用户使用OCI_SCL、ALE 和 OCI_SDA 可以透過编写或ISP定义IO管脚 P4.4、P4.5 和 P4.6 。
一般的应用,每个管脚都可独立的置高或置低.如下表显示:
符号
描述
地址
Bit 7
Port 0
Port 1
Port 2
Port 3
Port 4
Port 0
Port 1
Port 2
Port 3
Port 4
80h
90h
A0h
B0h
E8h
P0.7
P1.7
P2.7
P3.7
-
Bit 6
Ports
P0.6
P1.6
P2.6
P3.6
P4.6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
P0.5
P1.5
P2.5
P3.5
P4.5
P0.4
P1.4
P2.4
P3.4
P4.4
P0.3
P1.3
P2.3
P3.3
P4.3
P0.2
P1.2
P2.2
P3.2
P4.2
P0.1
P1.1
P2.1
P3.1
P4.1
P0.0
P1.0
P2.0
P3.0
-
FFh
FFh
FFh
FFh
FFh
5.1 P0 (P0 口寄存器)
符号: P0
7
6
P0.7
P0.6
5
P0.5
4
P0.4
3
P0.3
2
P0.2
1
P0.1
0
P0.0
地址: 80h
Reset
FFh
P0.7~ 0: Port0 [7] ~ Port0[0]
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 40 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
5.2 P1 (P1 口寄存器)
符号: P1
7
6
P1.7
P1.6
5
P1.5
3
P1.3
2
P1.2
1
P1.1
地址: 90h
0
Reset
P1.0
FFh
4
P1.4
3
P1.3
2
P1.2
1
P1.1
地址: A0h
0
Reset
P1.0
FFh
4
P3.4
3
P3.3
2
P3.2
1
P3.1
地址: B0h
0
Reset
P3.0
FFh
4
P4.4
3
P4.3
2
P4.2
1
P4.1
Address: E8h
0
Reset
FFh
4
P1.4
P1.7~ 0: Port1 [7] ~ Port1 [0]
5.3 P2 (P2 口寄存器)
符号: P2
7
6
P1.7
P1.6
5
P1.5
P2.7~ 0: Port2 [7] ~ Port2 [0]
5.4 P3 (P3 口寄存器)
符号: P3
7
6
P2.7
P3.6
5
P3.5
P3.7~ 0: Por3 [7] ~ Port3 [0]
5.5 P4 (P4 口寄存器)
Mnemonic: P4
7
6
P4.6
5
P4.5
P4.6~ 1: Port4 [6] ~ Port4 [1]
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 41 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
6. 硬件乘除法器(MDU)
SM59A16U1的算术单元提供了32位除法器,16位乘法器,转化和规范等特点。所有设置均为无符号整数设置。
符号
描述
地址
PCON
Power control
Arithmetic Control
register
Multiplication/Divi
sion Register 0
Multiplication/Divi
sion Register 1
Multiplication/Divi
sion Register 2
Multiplication/Divi
sion Register 3
Multiplication/Divi
sion Register 4
Multiplication/Divi
sion Register 5
87H
表 6-1: 乘除寄存器
Bit 7
Bit 6
Bit 5
Bit 4
Multiplication Division Unit
SMOD MDUF
-
EFh
MDEF
ARCON
MD0
MD1
MD2
MD3
MD4
MD5
MDOV
Bit 3
Bit 2
Bit 1
Bit 0
重置值
-
-
STOP
IDLE
40H
SLR
SC[4:0]
00H
00H
E9h
MD0[7:0]
EAh
MD1[7:0]
EBh
MD2[7:0]
ECh
MD3[7:0]
EDh
MD4[7:0]
00H
EEh
MD5[7:0]
00H
00H
00H
00H
6.1 运行 MDU 寄存器
该MDU由7个寄存器处理,是具有记忆体映像为特殊功能寄存器, 运算单元允许同时操作以及CPU的独立活动。操作数及
结果寄存器为MD0到MD5,控制寄存器为ARCON.任何MDU的运算将改写其操作数.
符号: ARCON
7
6
MDEF MDOV
5
SLR
4
3
2
SC[4:0]
1
0
地址: EFh
Reset
00H
MDEF: 乘除错误标志位
MDEF 是一个错误标志位,且只可读。错误标志表示一个不当的操作(当其中的
运算操作被重新启动或者被一个新的运算中断),错误标志机制将自动在第一次
写入 MD0 时失效和来自 MD3(乘法或转换/规范)或来自第三阶段 MD5(除法)
最终使读取指令失效。
在以下情况,错误标志位将被置位:
1. 第二阶段的进程,并写入 MDx 寄存器时(重启或者中断计算)
错误标志只有在以下情况下重置:
第二阶段结束(算法成功)并写入 MDx 寄存器
MDOV: 乘除法溢出标志。该溢出标志只可读
只有在以下情况时,该溢出标志被置位:
除以“0”,
再乘以一个比 0000FFFFH 大的值
当最重要的 MD3 位被设置位(MD3.7=1)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 42 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
当通过 MD0 寄存器写入,(开始第一阶段)时,
溢出标志被重置
SLR: 转换方向位
SLR=0-转换左操作
SLR=1-转换右操作.
SC[4:0]: 转换计数器
当预设与 00000b,标准化被选择,在标准化之后,SC[4;0] 包含正常转换的数
字,当 SC[4:0]≠0 时,转换操作就开始,正常转换的数字由计数器写入 SC[4;0]
决定。SC[4]位-MSB ,SC[0]位-LSB。
6.2 乘除法器的设置
乘除法器的设置分为三个阶段:
6.2.1
第一阶段:装载 MDx 寄存器, x = 0~5:
要执行的MDU运算的种类是按照mdx寄存器内写入的命令来选择.
Operation
First write
Last write
32bit/16bit
MD0 Dividend Low
MD1 Dividend
MD2 Dividend
MD3 Dividend High
MD4 Divisor Low
MD5 Divisor High
表 6-2: MDU registers write sequence
16bit/16bit
16bit x 16bit
MD0 Dividend Low
MD0 Multiplicand Low
MD1 Dividend High
MD4 Multiplicator Low
MD1 Multiplicand High
MD4 Divisor Low
MD5 Divisor High
MD5 Multiplicator High
shift/normalizing
MD0 LSB
MD1
MD2
MD3 MSB
ARCON start conversion
任何情况下,MD0的写入都将首先被转换,而下一次的写入必须执行表 6-2显示的序列,以确保MDU的运作,最后一次
的写入将开始选择的运作。
6.2.2
第二阶段:执行运算.
在执行运算中,MDU运行在拥有CPU并行线上。当MDU执行完毕时,MDUF寄存器将被硬件置位,
其标志位也将在下一次运算中被清除。
符号: PCON
7
6
SMOD MDUF
5
-
4
-
3
-
2
-
1
STOP
0
IDLE
地址: 87h
Reset
40h
MDUF: MDU 完成标志位
当 MDU 完成运算时,MDUF 将被硬件置位且标志位也将在下一次运算中被清
除。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 43 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
下表给出了每一次数学计算中的执行时间.
Operation
Division 32bit/16bit
Division 16bit/16bit
Multiplication
Shift
Normalize
6.2.3
表 6-3: MDU execution times
Number of Tclk
17 clock cycles
9 clock cycles
11 clock cycles
Min. 3 clock cycles, Max. 18 clock cycles
Min. 4 clock cycles, Max. 19 clock cycles
第三阶段:从 MDx 寄存器上读取结果.
从第一个MDX 寄存器上读取序列并不重要,但我们必须意识到最后一次的读取(从MD5的除法运
算,或MD3中的乘法,位移和标准化)将意味着一次完整的运算结束(第三阶段结束).
Operation
First read
Last read
32Bit/16Bit
MD0 Quotient Low
MD1 Quotient
MD2 Quotient
MD3 Quotient High
MD4 Remainder L
MD5 Remainder H
表 6-4:MDU registers read sequence
16Bit/16Bit
16Bit x 16Bit
MD0 Quotient Low
MD0 Product Low
MD1 Quotient High
MD1 Product
MD2 Product
MD4 Remainder Low
MD5 Remainder High
MD3 Product High
shift/normalizing
MD0 LSB
MD1
MD2
MD3 MSB
这里正常化的运作和移位将更多解释。正常化,在寄存器MD3 到MD0上所读到的零会由左移位的方式来删除。当MD3
的MSB(最高有效位)寄存器包含 '1'时,整个操作被完成。正常化后, 位 ARCON.4 (MSB) 到 ARCON.0 (LSB) 包含左
移数字操作。至于移位,SLR位 (ARCON.5) 必须包含移位的方向,并且 ARCON.0 到ARCON.4 代表移位计数(必须不
是 0)。在移位期间,0进入MD0或MD3寄存器,分别向左或向右端。
6.3 标准化
整数阅读的零在寄存器变量MD0的MD3被左移位操作删除.当MD3寄存器的最高位 (Most Significant Bit) 包含一个'1' 整个
操作完成. 经过标准化, ARCON.4(MSB)至ARCON.0(LSB)包含左移位操作数, 标准化完成.
6.4 位移
SLR位 (ARCON.5) 包含了位移的方向, 并且ARCON.4 至ARCON.0 移位操作数 (必须不能为0). 当位移时,零分别送入
MD0或MD3寄存器的左或右边.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 44 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
7. 定时器0 和定时器1
SM59A16U1 有二个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
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
7.1 定时器/计数器模式控制寄存器(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-M072
Ver A SM59A16U1 04/12/2013
- 45 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
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 位定时器/计数
器.
7.2 定时/计数控制寄存器(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 以下降沿/低电
平方式触发
7.3 计时器 0 寄存器( TL0, TH0 )
符号: TL0
7
6
5
4
3
TL0[7:0]
2
1
0
地址: 8Ah
Reset
00H
符号: TH0
7
6
5
4
3
TH0[7:0]
2
1
0
地址: 8Ch
Reset
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 46 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
7.4 计时器 1 寄存器( TL1, TH1 )
符号: TL1
7
6
5
4
3
TL1[7:0]
2
1
0
地址: 8Bh
Reset
00H
符号: TH0
7
6
5
4
3
TH1[7:0]
2
1
0
地址: 8Dh
Reset
00H
7.5 定时器输入频率控制寄存器
符号: 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
00
Fosc/12
01
Fosc
10
Fosc/96
11
reserved
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 47 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
7.6 模式 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
D0D1D2D3D4D5D6D7
TL1
TF1
TH1
图 7-1: 模式 0 -13 位定时器/计数器操作
7.7 模式 1 (16 位定时/计数)
÷12
OSC
00
01
÷96
10
C/T = 1
T1PS[1:0]
T1腳
TR1
GATE1
ET1
C/T = 0
TL1
TH1
(8位元) (8位元)
EA
0
1
1
控制
目前沒有更高層次
的中斷程式在執行
AND
NOT
TF1
0
跳到001BH
OR
INT1腳
D0D1D2D3D4D5D6D7
D0D1D2D3D4D5D6D7
TL1
TH1
TF1
图 7-2: 模式 1 -16 位定时器/计数器操作
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 48 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
7.8 模式 2 (8 位自动重载定时/计数)
÷12
00
OSC
01
÷96
10
C/T = 1
T1PS[1:0]
T1腳
ET1
C/T = 0
TR1
TL1
(8位元)
NOT
OR
自動重
新載入
TH1
(8位元)
INT1腳
EA
0
1
1
控制
AND
GATE1
TF1
0
目前沒有更高層次
的中斷程式在執行
跳到001BH
图 7-3: 模式 2 -8 位自动重载定时/计数
7.9 模式 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
GATE0
控制
AND
NOT
OR
/INT0 腳
图 7-4: 模式 3 -两个独立 8 位定时/计数(仅定时器 0)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 49 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
8. 定时器2 以及捕获比较单元
定时器2不仅仅是一个16位的定时器,也是一个带有4个通道比较,捕获及重载功能,这是非常相似在其它一些微控制器的
可编程计数器阵列(PCA),除脉冲宽度调制(PWM)
定时器2的捕获比较模块的功能:

定时器 2 的 16 位定时器/计数器.

4 通道 16 位比较/捕获/重载功能 s.

比较出可以 CCU 输入源内部.

CCU 输入噪声滤波器.
定时器2的中断向量2BH.
符号
描述
AUX2
T2CON
CCCON
CCEN
CCEN2
TL2
TH2
CRCL
CRCH
CCL1
CCH1
CCL2
CCH2
CCL3
CCH3
Auxiliary 2 register
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/Cap
ture register, low byte
Compare/Reload/Cap
ture 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 byte
Compare/Capture
register 3, low byte
Compare/Capture
register 3, high byte
地址
Bit 7 Bit 6 Bit 5
Bit 4
Bit 3
Bit 2
Timer 2 and Capture Compare Unit
CCU CCU
92h
2Sou 1Sou
CCUINF[1:0]
rce
rce
C8h
T2PS[2:0]
T2R[1:0]
-
Bit 1
C9h
CCF1
CCI3
C1h
D1h
-
CCI2
CCI1
CCI0
CCF3
CCF2
Bit 0
重置值
P42CC [1:0]
00H
T2I[1:0]
00H
CCF0
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]
C6h
CCL3[7:0]
C7h
CCH3[7:0]
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 50 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
8.1 辅助 2 寄存器( AUX2 )
符号: AUX2
7
6
CCU2
Source
5
CCU1
Source
4
-
3
2
CCUINF[1:0]
1
0
P42CC [1:0]
地址: 92h
Reset
00H
下面图 8-1是设置 CCU 动作
CCU2 捕获输入来源 2
CCU2 = 0 –模拟比较器 2 输出当 CCU2 捕获输入来源
CCU2 = 1 - 外部引脚当 CCU2 捕获输入的源
CCU1 捕获输入来源 1
CCU1= 0 - 模拟比较器 1 输出当 CCU1 捕获输入来源
CCU1=1 -外部引脚当 CCU1 捕获输入的源
CCUINF[1:0] CCU 捕获输入噪声滤波器(CCU1,CCU2)
CCUINF[1:0] = 00 - 1 连续相同值识别为有效的数据.
CCUINF[1:0] = 01 - 2 连续相同值识别为有效的数据.
CCUINF[1:0] = 10 - 4 连续相同值识别为有效的数据。
CCUINF[1:0] = 11 - 8 连续相同值识别为有效的数据.
P42CC [1:0] 捕获/比较端口选择功能.
00: P1 口的捕捉/比较功能.
01: P2 口的捕捉/比较功能.
10: 保留口的捕捉/比较功能.( 仅TQFP 64L包装 )
11: 保留
注:外部CC0脚和CC3只捕获输入源
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 51 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
CRCH
CRCL
TH2
TL2
CRC Auto Reload For:
Mode 0 (Auto reload)
Mode 1 (negative edge of reload)
Overflow
Timer2
(16 bits Timer)
TF2
CCI1
CC1H
M
U
X
CC1
Fosc
Prescaler
CC1L
CCF1
Noise
Filter
SFR(Cmp0o)
SFR(ET2)
CCUINF[1:0]
CCU1
CCUINFCLK[1:0]
Source
CCI2
CC2H
T2CON.T2PS[2:0]
M
U
X
CC2
CC2L
Timer2
Interrupt
CCF2
Noise
Filter
SFR(Cmp1o)
CCUINF[1:0]
CCU2
CCUINFCLK[1:0]
Source
CCI3
CC3H
M
U
X
CC3
CC3L
CCF3
Noise
Filter
SFR(Cmp2o)
CCUINF[1:0]
CCU3
CCUINFCLK[1:0]
Source
CC0
CCI0
CRCH
CRCL
CCF0
图 8-1: CCU action diagram
8.2
定时器 2 控制寄存器 ( T2CON )
符号: 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]分频器选择
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 52 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
T2I[1:0] = 10 –定时器 2 在 T2 脚的外部信号递增
T2I[1:0] = 11 –门控定时器 2 可为内部时钟输入
8.3 比较/捕获控制寄存器(CCCON)
符号: 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” 中断功能使能.
CCF3: 捕捉/比较通道 3 中断旗标位.可由软件清零.
CCF2: 捕捉/比较通道 2 中断旗标位.可由软件清零.
CCF1: 捕捉/比较通道 1 中断旗标位.可由软件清零.
CCF0: 捕捉/比较通道 0 中断旗标位.可由软件清零.
捕捉/比较中断与定时器 2 中断共享同一个中断向量.
8.4 比较/捕获使能寄存器(CCEN)
符号: 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
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 53 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
011: 比较功能模式 1
100: 捕获在 CC0 脚的上升沿
101: 捕获在 CC0 脚的下降沿
110: 捕获在 CC0 脚的上升沿及下降沿
111: 在寄存器 CC0 中捕获写入操作
8.5 比较/捕捉使能 2 寄存器( CCEN2 )
符号: CCEN2
7
6
5
4
COCAM3[2:0]
3
-
2
1
0
COCAM2[2:0]
地址: D1h
Reset
00H
COCAM3[2:0] 000: 禁止比较/捕获功能
001: 比较功能启动但无输出
010: 比较功能模式 0
011: 比较功能模式 1
100: 捕获在 CC3 脚的上升沿
101: 捕获在 CC3 脚的下降沿
110: 捕获在 CC3 脚的上升沿及下降沿
111: 在寄存器 CC3 中捕获写入操作
COCAM2[2:0] 000: 禁止比较/捕获功能
001: 比较功能启动但无输出
010: 比较功能模式 0
011: 比较功能模式 1
100: 捕获在 CC2 脚的上升沿
101: 捕获在 CC2 脚的下降沿
110: 捕获在 CC2 脚的上升沿及下降沿
111: 在寄存器 CC2 中捕获写入操作
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 54 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
8.6 定时器 2 寄存器( TL2,TH2 )
符号: TL2
7
6
5
4
3
TL2[7:0]
2
1
0
地址: CCh
Reset
00H
符号: TH2
7
6
5
4
3
TH2[7:0]
2
1
0
地址: CDh
Reset
00H
8.7 比较/重载/捕获寄存器( CRCL, CRCH )
符号: CRCL
7
6
5
4
3
CRCL[7:0]
2
1
0
地址: CAh
Reset
00H
符号: CRCH
7
6
5
4
3
CRCH[7:0]
2
1
0
地址: CBh
Reset
00H
8.8 比较/捕捉寄存器 1 ( CCL1, CCH1 )
符号: CCL1
7
6
5
4
3
CCL1[7:0]
2
1
0
地址: C2h
Reset
00H
符号: CCH1
7
6
5
4
3
CCH1[7:0]
2
1
0
地址: C3h
Reset
00H
8.9 比较/捕获寄存器 2 ( CCL2, CCH2 )
符号: CCL2
7
6
5
4
3
CCL2[7:0]
2
1
0
地址: C4h
Reset
00H
符号: CCH2
7
6
5
4
3
CCH2[7:0]
2
1
0
地址: C5h
Reset
00H
8.10 比较/捕获寄存器 3( CCL3, CCH3 )
符号: CCL3
7
6
5
4
3
CCL3[7:0]
2
1
0
地址: C6h
Reset
00H
符号: CCH3
7
6
5
4
3
CCH3[7:0]
2
1
0
地址: C7h
Reset
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 55 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
8.11 定时器 2 功能
定时器2既可做为定时器,又可做为计数器,或解释为门控定时器(如下解释).
8.11.1 定时器模式
如以下图 8-2,在此模式中,定时器2递增频率依分频器选择决定,而分频器则由特殊寄存器T2CON中的T2PS[2:0]位选
择.
图 8-2: Timer mode and Reload mode function
8.11.2 外部信号计数模式
如以下图 8-3所示,在此模式中,当然外部信号T2由1到0的跳变时,定时器得到递增,T2输入在每个周期中得以采样,
定时器2在跳变检测的一个周期中得到递增.
图 8-3: Event counter mode function
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 56 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
8.11.3 外部信号定时器模式
如以下图 8-4所示,在此模式中,定时器2递增的内部时钟是由外部信号T2来控制的.
图 8-4: Gated timer mode function
8.11.4 定时器 2 的重载
重载(来自CRC寄存器的16位重载)可在以下两种模式中执行:
模式0:重载信号由定时器2溢出产生,即自动重载。
模式1:重载信号由相应的输入脚T2EX负跳变产生.
8.12 比较功能
在四个独立的比较器中,任何比较/捕捉寄存器中的值都和定时器寄存器的内容比较,其比较模式0或1由位C0CAMx来选
择.在这两种比较模式中,其比较结果在同样的机器周期的P1口的得出使得其内部比较信号被激活.
8.12.1 比较模式 0
在模式0中,当定时器2的值等同与比较寄存器上的值时,其输出信号由低到高的跳变,并在定时器溢出时返回低电位。
在此模式中,对端口写入无效,因为无法对来自内部总线及暂存器进行操作。
如以下图 8-5数字阐述了比较模式0的功能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 57 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Contents of
Timer 2
CRC or CCx
Reload value
CCx Output
Timer 2 = CCx value
Timer 2 overflow
图 8-5: Compare mode 0 function
8.12.2 比较模式 1
在比较模式1中,其输出信号的跳变是由软件来决定的。定时器2的溢出不会导致输出的改变。在此模式中,两种信号的
跳变都是可以控制的,如图 8-6及图 8-7显示了在比较模式1中的寄存器/端口结构菜单。
在比较模式1中,其值将首先被写入到“阴影寄存器”中,当比较信号被激活时,其值被传递到输出寄存器
图 8-6: 模式 1 寄存器/端口功能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 58 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Contents of
Timer 2
CRC or CCx
Reload value
CCx Shadow Register
CCx Output
Timer 2 = CCx value
Timer 2 = CCx value
图 8-7: 比较模式 1 功能
8.13 捕获功能
在一个外部事件(模式0)或一个软件写操作(模式1)上,实际的定时器/计数器的值可以被保存在寄存器CCx或CRC中.
8.13.1 捕捉模式 0
如以下图 8-8所示,在模式0中,定时器2的值的捕捉在以下情况进行:
(1) 上升沿输入 CC0-CC3。
(2) 下降沿输入 CC0-CC3。
(3) 上升沿及下降沿输入 CC0-CC3。
定时器2的内容将被对应的捕捉寄存器锁存。
图 8-8: 捕捉模式 0 功能
8.13.2 捕捉模式 1
如以下图 8-9所示,在模式1中,定时器2的值的捕捉将导致写入到捕捉寄存器中的低字节无任何价值,其捕捉寄存器的写
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 59 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
入值与改功能无关,定时器2的内容将被对应的捕捉寄存器琐存。
图 8-9: 捕捉模式 1 功能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 60 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
9. 串行接口0 和 1
有两个串行接口,用于数据通信SM59A16U1,他们是所谓的UART0和UART1.作为传统的UART,通信速度可以通过配
置SFR中的波特率选择.
两个串行缓冲器组成两个单独寄存器,即一个传输缓冲区和一个接收缓冲区 . 写数据到特殊功能寄存器SFR S0BUF或
S1BUF设置这些数据在串行输出缓冲,并开始传输, 来自S0BUF或S1BUF的读取及从串行接收缓冲区读取数据,串行口
可同时传输和接收数据,它也可在接收时缓存1字节,如CPU在第一个字节传输完成之前读取第二个字节,以防接收数据
丢失。
符号
PCON
AUX
PFCON
描述
Power control
Auxiliary register
Peripheral
Frequency control
register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
地址
The relevant registers of Serial interface 0 and 1
87H
SMOD MDUF
P4UR
91h
BRGS
P4SPI
P4IIC
1
D9h
-
SRELPS[1:0]
Bit 2
P0KBI
T1PS[1:0]
Bit 1
Bit 0
重置值
STOP
IDLE
40H
-
DPS
00H
T0PS[1:0]
00H
Serial interface 0 and 1
S0CON
S0RELL
S0RELH
S0BUF
S1CON
S1RELL
S1RELH
S1BUF
Serial Port 0
control register
Serial Port 0
reload register
low byte
Serial Port 0
reload register
high byte
Serial Port 0 data
buffer
Serial Port 1
control register
Serial Port 1
reload register
low byte
Serial Port 1
reload register
high byte
Serial Port 1 data
buffer
98H
SM0
SM1
SM20
REN0
AAH
TB80
RB80
TI0
RI0
S0REL[7:0]
BAH
00H
-
99H
S0REL[9:8]
S0BUF[7:0]
9BH
SM
-
SM21
9DH
REN1
TB81
RB81
TI1
RI1
00H
00H
-
9CH
00H
00H
S1REL[7:0]
BBH
00H
S1REL[9:8]
S1BUF[7:0]
00H
00H
9.1 串行端口 0 控制寄存器( S0CON )
符号: S0CON
7
6
SM0
SM1
5
SM20
4
REN0
3
TB80
2
RB80
1
TI0
0
RI0
地址: 98h
Reset
00h
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 61 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
SM0, SM1: 串行口 0 模式选择.
SM0 SM1
Mode
0
0
0
0
1
1
1
0
2
1
1
3
在 UART 的 4 种模式中,模式 0~3 稍后解释
SM20: 多处理机通信使能位
REN0: 如置位,串行接收使能,软件清除禁止接收
TB80: 在模式 2 和 3 中,发送的第 9 位数据位,置位或清零取决与它执行的功能,如
奇偶校验功能, 多处理机通信等。
RB80: 在模式 2 和 3 中,RB80 为接收的第 9 位数据位。在模式 1 中,如 SM20=0,
RB80 为停止位。在模式 0 中,此位不被使用。须由软件清除。
TI0: 发送中断标志位.在完成串行传输后由硬件置位,须由软件清除。
RI0: 接收中断标志。在完成串行传输后由硬件置位,须由软件清除.
9.2 串行端口 0 重载寄存器( S0RELL, S0RELH )
符号: S0RELL
7
6
5
4
3
S0REL[7:0]
2
1
符号: S0RELH
7
6
5
4
3
2
1
0
S0REL[9:8]
4
3
S0BUF[7:0]
2
1
-
0
地址: AAh
Reset
00h
地址: BAh
Reset
00h
9.3 串行端口 0 数据缓冲器( S0BUF )
符号: S0BUF
7
6
5
0
地址: 99h
Reset
00h
9.4 串行端口 1 控制寄存器( S1CON )
符号: S1CON
7
6
SM
-
5
SM21
4
REN1
3
TB81
2
RB81
1
TI1
地址: 9Bh
0
Reset
RI1
00h
SM: 串行口 1 模式选择.
SM
Mode
0
A
1
B
The 2 modes in UART1, Mode A and Mode B, are explained later.
SM21: 多处理机通信使能位.
REN1: I 如置位,串行接收使能,软件清除禁止接收.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 62 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
TB81: 在模式 A 中,发送的第 9 位数据位,置位或清零取决与它执行的功能,如奇偶
校验功能, 多处理机通信等.
RB81: 在模式 A 中,RB81 为接收的第 9 位数据位。在模式 B 中,如 SM21=0,RB81
为停止位。在模式 0 中,此位不被使用。须由软件清除.
TI1: 发送中断标志位.在完成串行传输后由硬件置位,须由软件清除.
RI1: 接收中断标志。在完成串行传输后由硬件置位,须由软件清除.
9.5 串行端口 1 重载寄存器( S1RELL, S1RELH )
符号: S1RELL
7
6
5
4
3
S1REL[7:0]
2
1
符号: S1RELH
7
6
5
4
3
2
1
0
S1REL[9:8]
4
3
S1BUF[7:0]
2
1
-
地址: 9Dh
Reset
00h
0
地址: BBh
Reset
00h
9.6 串行端口 1 数据缓冲器( S1BUF )
Mnemonic: S0BUF
7
6
5
0
地址: 9Ch
Reset
00h
9.7 串行接口 0
串行接口由以下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是晶体或振荡器的频率。
9.7.1
模式 0
引脚RXD0充当输入和输出。TXD0输出时钟。每次发送或接收以LSB最低位作首位,每次8位。波特率固定为的晶体的
频率1/12,接收通过以下的在S0CON中的设置标志在模式0中初始化:RI0= 0及REN0 = 1。在其它模式中,当REN0=1
时,开始从起始位接收串行数据.如图 9-1及图 9-2中所示.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 63 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
图 9-1: 发送模式 0
图 9-2: 接收模式 0
9.7.2
模式 1
引脚RXD0 充当输入,TXD0 充当串行输出,无任何外部时钟被使用,每次数据为10位:一个起始位(=0),8个数据位
(LSB位在前),及一个停止位(=1)。在接收据数据时, 起始位将被同步传输,8个数据位可通过S0BUF来读取, 一个停止
位存于特殊功能寄存器S0CON的设置标志RB80内,在模式1中,无论是内部的波特率发生器或定时器1可以用来指定波
特率。如图 9-3及图 9-4中所示.
图 9-3: 发送模式 1
图 9-4: 接收模式 1
9.7.3
模式 2
该模式和模式1类似,但有两点不同。波特率被固定在振荡器的频率的1/32(SMOD=1)或1/64(SMOD=0),且有11
位数据被传输或接收: 1个起始位(=0),8个数据位(LSB在前),一个可编程的第9位及一个停止位(=1),9位可以
用来控制串行接口的奇偶性。在传输中,S0CON中的TB80输出第9位,在接收中,S0CON中的RB80将被影响。
9.7.4
模式 3
模式2和3的唯一不同之处在于:在模式3中,无论是内部的波特率发生器或定时器1可以用来指定波特率。 如图 9-5及
图 9-6中所示.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 64 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
图 9-5: 传输模式 2 和模式 3
图 9-6: 接收模式 2 和 3 中
9.8 串行接口 1
中断向量为83H.
串行接口1可以运行在下列2种模式:
SM
0
1
9.8.1
Mode
A
B
Description
9-bit UART
8-bit UART
Baud Rate
Variable
Variable
Mode A
这种模式是类似的模式 2 和 3 的串行接口 0,11 位在发送或接收: 起始位 (0),8 个数据位 (LSB 第一),可编程的位
9 和停止位 (1)。9 位可以被用来控制串行接口的奇偶校验: 在传输,在 S1CON 位TB81 输出为 9 位,并在接收,位 9
影响在 SFR S1CON的 RB81。如图 9-7及图 9-8 中所示。
图 9-7: Transmit mode A for Serial 1
图 9-8: Receive mode A for Serial 1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 65 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
9.8.2
Mode B
这种模式是类似于模式 1 的串行接口 0。Pin RXD1 作为输入,并 TXD1 作为串行输出。没有外部移位时钟使用。传输
10 位: 起始位 (始终为 0),8 个数据位 (LSB 第一),和停止位 (始终为 1)。在接收、开始位同步传输、 8 个数据
位通过阅读S1BUF可以利用,停止位设置SFR S1CON中的旗标RB81。在 B 模式中,内部的波特率发生器是使用指定的
波特率。如图 9-9及图 9-10 中所示.
图 9-9: Transmit mode B for Serial 1
图 9-10: Receive mode B for Serial 1
9.9 串行接口 0 與 1 的多重机通讯
在模式 2 和 3 的串行接口 0 或串行接口 1 的模式 A 接收 9 位的功能可以用于多处理器通信。在这种情况下,从机的处
理器有 S0CON 中的位SM20 或 S1CON的SM21设置为 1。当主机输出从机的地址时,Bit9 将被置1,从而在所有的从机
中导致串行口接收中断。从机将接收到的字节和它们的网络地址比较,如匹配,其从机将清除SM20 或SM21,并接收其
余的信息,其它的从机将远离SM20 或 SM21无效,并忽略此信息。在解决从机后,其主机在Bit9 清0 时将输出剩余部分
的信息,因此,没有串口接收中断会产生在未选中的处理机中.
9.10 波特率发生器
9.10.1 串行接口 0 模式 1 和 3
符号: PFCON
7
6
-
5
4
SRELPS[1:0]
SRELPS[1:0]: SREL 分频器选择位
SRELPS[1:0]
00
01
10
11
3
2
T1PS[1:0]
1
0
T0PS[1:0]
地址: D9h
Reset
00H
Prescaler
Fosc/64
Fosc /32
Fosc /16
Fosc /8
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 66 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
T1PS[1:0]: Timer1 分频器选择位
T1PS[1:0]
00
01
10
11
Prescaler
Fosc/12
Fosc
Fosc/96
reserved
9.10.1.1 当 BRGS = 0 (在 AUX 寄存器):
(1) 当 T1PS[1:0] = 00
Baud Rate 
2SMOD  Fosc
32  12  256  TH1
(2) 当 T1PS[1:0] = 01
2SMOD  Fosc
32  256  TH1
Baud Rate 
(3) 当 T1PS[1:0] = 10
Baud Rate 
2SMOD  Fosc
32  96  256  TH1
9.10.1.2 当 BRGS = 1 (在 AUX 寄存器)
(1) 当 SRELPS[1:0] = 00
Baud Rate 
2 SMOD  Fosc
64  210  SREL

Baud Rate 
2SMOD  Fosc
32  210  SREL

Baud Rate 
2 SMOD  Fosc
16  210  SREL


(2) 当 SRELPS[1:0] = 01

(3) 当 SRELPS[1:0] = 10

(4) 当 SRELPS[1:0] = 11
Baud Rate 
2 SMOD  Fosc
8  210  SREL


Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 67 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
9.10.2 串行接口 1 模式 A 和 B
Baud Rate 
FOSC
32  2  S1REL 
10
9.11 波特率时钟源
出厂校准后,内片上RC振荡器频率变化5%以内。应用具有更高的时钟精度要求的情况下,外部晶振通常为推荐的时钟
源.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 68 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
10. 看门狗定时器
看门狗定时器是一个8位的计数器并会在计数器溢出时产生复位讯号.WDT在噪音.电源干扰,或断电等导致软件死循环或跑
飞程序等情况下非常有用.WDT功能可以帮助拥护的软件从不正常的软件状态中恢复正常.WDT不同于通用的8052的计时
器0,1,2.为了防止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]) ,如表 10-1所示.
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
表 10-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
注 : RC振荡器(23 KHz),约有20%的误差.
当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位计数器内容并让计数器重启. 看门狗定时器必须定时刷新以防来自可变的重置复位请求信号.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 69 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
当看门狗定时器溢出时, WDTF标志位将被置1并自动重置复位MCU.该标志位可被软件或外部复位清除.
当MCU复位,MCU将会读WDTEN控制位状态.当WDTEN位被设置为1,参考以下图 10-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
图 10-1: Watchdog 定时器框图
符号
TAKEY
WDTC
WDTK
描述
Time Access
Key register
Watchdog timer
control register
Watchdog timer
refresh key
地址
Bit 7
Bit 6
Bit 5
Bit 4
Watchdog Timer
F7h
B6h
Bit 2
Bit 1
TAKEY [7:0]
-
CWDTR
WDTE
B7h
符号: TAKEY
7
6
Bit 3
4
3
TAKEY [7:0]
-
2
WDTM [3:0]
1
重置值
00H
WDTK[7:0]
5
Bit 0
04H
00H
0
地址: F7h
Reset
00H
看门狗控制寄存器(WDTC)默认为仅读;软件需依序于寄存器 TAKEY 写入 55h, AAh 及 5Ah 才能对看门狗控制寄
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 70 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
存器(WDTC)执行写入,启动看门狗功能及设定重置时间
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
10.1 看门狗定时器控制寄存器( WDTC )
符号: 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]: 看门狗重置信号产生时间选择位.请参考图 10-1所列看门狗重置信号产生时间.
10.2 看门狗定时器的刷新寄存器( WDTK )
符号: 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.
.
.
.
MOV WDTK, #55h
; Clear WDT timer to 0.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 71 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
例如 2:
看门狗定时器使能并选择周期中断信号产生时间为 178.0ms
第一步,先确认刻录时看门狗功能已选择使用
第二步,如下
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
.
MOV WDTK, #55h
; Clear WDT timer to 0.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 72 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
11. 中断
SM59A16U1 提供14个中断源并带有4级优先权. 每一中断源都在特殊寄存器(SFR)中有自身的请求标志,每个中断请求
信号通过相应的标志及特殊寄存器(SFR)中的IEN0,IEN1及IEN2中的使能位来独自允许或禁止。
当中断发生时,CPU将会跳转预先设定的地址,如表 11-1所示,一旦中断开始执行,就只能被更高优先级的中断终止,
其中断服务会被来自指令RETI的返回所终结。当一RETI被执行时且中断发生时,处理器将将返回此指令,并执行下一条
指令。
当中断条件发生时,该处理器通过设置一个标志位来表示,无论中断使能或禁止,每个中断标志都将在每个机器周期中
采样一次,随后采样由硬件来检测,当中断被使能时,且采样指出相应中断时,中断请求标志被设置。在随后的指令周
期中,中断将被硬件所确定。从而迫使一个LCALL 指向相应的地址向量。
当中断发生时,中断响应将需要不同的时间,这取决于相关的处理器。如一处理器执行的中断服务程序同等或更优先,
新的中断将不会使能,在其它情况下,响应时间将取决于当前的指令。以最快的速度回应一个中断是需要7个机器周期,
这包括一个检测中断的机器周期和6周期执行LCALL周期。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
表 11-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 中断
USB interrupt
USBRSM interrupt
RI1/TI1 – Serial channel 1 interrupt
WDTIF– 看门狗 中断
Comparator 中断
004Bh
0053h
005Bh
0063h
006Bh
0073h
007Bh
0083h
008Bh
0093h
9
10
11
12
13
14
15
16
17
18
*参考Keil C用户指南中的有关中断功能使用说明
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 73 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B 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 5
Interrupt
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
A8H
EA
-
ET2
ES0
ET1
EX1
ET0
EX0
00H
B8H
EXEN
2
-
IEIIC
IELVI
IEKBI
IEADC
IESPI
-
00H
9AH
-
-
-
-
-
ECmpI
EWDT
ES1
00H
C0H
EXF2
TF2
IICIF
LVIIF
KBIIF
ADCIF
SPIIF
PWMI
F
00H
97H
-
-
-
-
-
CmpIF
WDT
IF
-
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
11.1 中断使能 0 寄存器( IEN0 )
符号: IEN0
7
6
EA
-
5
ET2
4
ES
3
ET1
2
EX1
1
ET0
0
EX0
地址: A8h
Reset
00h
4
IELVI
3
IEKBI
2
IEADC
1
IESPI
0
-
地址: B8h
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
11.2 中断使能 1 寄存器( IEN1 )
符号: IEN1
7
6
EXEN2
-
5
IEIIC
EXEN2: 定时器 2 重载中断使能位
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 74 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
EXEN2 = 0 –禁能定时器 2 外部重载中断
EXEN2 = 1 –使能定时器 2 外部重载中断
IEIIC: IIC 中断使能位
IEIICS = 0 –禁能 IIC 中断
IEIICS = 1 –使能 IIC 中断
IELVI: 低压侦测中断使能位
IELVI = 0 –禁能低压侦测中断
IELVI = 1 –使能低压侦测中断
IEKBI KBI interrupt enable
EKBI = 0 – Disable KBI interrupt.
IEKBI = 1 – Enable KBI interrupt.
IEADC: A/D 转换中断使能位
IEADC = 0 –禁能 ADC 中断
IEADC = 1 –使能 ADC 中断
IESPI: SPI 中断使能位
IESPI = 0 –禁能 SPI 中断
IESPI = 1 –使能 SPI 中断
11.3 中断使能 2 寄存器( IEN2 )
符号: IEN2
7
6
-
5
-
4
-
3
-
2
ECmpI
1
IEWDT
0
ES1
地址: 9Ah
Reset
00H
ECmpI: ECmpI =0 –禁能比较器中断.
ECmpI =1 –使能比较器中断(包括比较器 0 及比较器 1).
IEWDT: WDT 看门狗中断使能位
IEWDT = 0 –禁能 WDT 中断
IEWDT = 1 –使能 WDT 中断
ES1 ES1=0 – Disable Serial channel 1 interrupt.
ES1=1 – Enable Serial channel 1 interrupt.
11.4 中断请求寄存器( 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 中断旗标位.必须由软件清零
IICIF: IIC 中断旗标位
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 75 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
LVIIF: 低压侦测中断旗标位
KBIIF KBI 中断旗标.
ADCIF: A/D 转换中断旗标位
SPIIF: SPI 中断旗标位
PWMIF PWM 中断旗标.
11.5 中断请求寄存器 2( IRCON2 )
符号: IRCON2
7
6
-
5
-
4
-
3
-
2
CmpIF
1
WDTIF
0
-
地址: 97h
Reset
00H
CmpIF: 比较器中断旗标位,
当比较器中断使能时,此旗标位将于程序至中断向量执行时自动清零.
当比较器中断禁能时,此旗标位可由软件清零
WDTIF: 看门狗中断旗标位
11.6 优先权配置
所有中断来源相组合于以下组中, 如表 11-2:
表 11-2: Priority level groups
Groups
串行通道 1 中断
看门狗中断
比较器中断
USB 中断
USBRSM 中断
-
外部中断 0
定时器 0 中断
外部中断 1
定时器 1 中断
串行口中断
定时器 2 中断
PWM 中断
SPI 中断
ADC 中断
KBI 中断
LVI 低压侦测中断
IIC 中断
通过对SFR中的IP0或IP1置位或清零,每一组中断都可被独自编程为四个优先级中的一个,如要求相同的优先级被同时
接收,一内部轮询序列将依次确定哪个请求被优先服务.
符号: IP0
7
-
6
-
5
IP0.5
4
IP0.4
3
IP0.3
2
IP0.2
1
IP0.1
地址: A9h
0
Reset
IP0.0
00h
符号: IP1
7
-
6
-
5
IP1.5
4
IP1.4
3
IP1.3
2
IP1.2
1
IP1.1
地址: B9h
0
Reset
IP1.0
00h
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 76 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
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 中断
串行口 0 中断
定时器 2 中断
表 11-3: Priority levels
IP0.x
优先权层级
0
Level0 (最低)
1
Level1
0
Level2
1
Level3 (最高)
表 11-4: Groups of priority
Group
串行通道 1 中断
看门狗中断
比较器中断
USB 中断
USBRSM 中断
-
PWM 中断
SPI 中断
ADC 中断
KBI 中断
低压侦测中断
IIC 中断
表 11-5: 轮询顺序
中断源
外部中断 0
串行通道 1 中断
PWM 中断
定时器 0 中断
看门狗中断
SPI 中断
外部中断 1
比较器中断
ADC 中断
定时器 1 中断
USB interrupt
顺序
轮
询
顺
序
KBI 中断
串行口 0 中断
USBRSM 中断
低压侦测中断
定时器 2 中断
IIC 中断
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 77 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
12. 电源管理单元
电源管理单元提供两种电源管理模式,即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
12.1 待机模式(空闲模式)
使用IDLE(待机模式(空闲模式))模式可通过对PCON寄存器的IDLE位置位。空闲模式停止MCU的时钟源,但外部的时
钟源依旧保持,由于此时CPU不工作,电源功耗将被降低。当任何一中断信号或者一复位信号时,CPU将退出待机模式
(空闲模式)。
12.2 停止模式
使用STOP(停止模式)模式可通过对PCON寄存器的STOP位置位。在此模式中,所有的中断源将全部被关闭,CPU将
从一个无时钟的中断(外部中断0/1, 键盘中断及低压侦测、看门狗中断)或者一个重置(看门狗及低压重置)条件下退
出该模式,内部产生的中断(定时器,串行端口... ),由于它们需要时钟源而会没有任何动作。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 78 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
13. 脉宽调制器(PWM)
PWM 模块的特征.

八通道 (四对) PWM 输出引脚.

14-bit 解析.

中心和边缘对齐方式输出模式.

死计(dead time)时产生器.

脉宽调制和特殊事件中断触发器。

马达控制有输出改写功能。

超速档电流保护错误(FLTA 和 FLTB)
以下是 PWM 的工作模块,如图 13-1中所示
PWM_SYNC
TBCounter
PWM Pair3
Generator
DUTY
PWM7
Pair 3
Dead Time Generator 3
Override Logic
PWM6
Comparator
Period Reg.
PWM Pair2
Generator
DUTY
PWM5
Pair 2
Dead Time Generator 2
Override Logic
Output
Driver
Block
Period(SFR)
PWM Pair1
Generator
DUTY
Pair 1
Dead Time Generator 1
Override Logic
PWM4
PWM3
PWM2
SEVTCMP
Comparator
PWM Pair0
Generator
DUTY
PWM1
Pair 0
Dead Time Generator 0
Override Logic
PWM0
nFLTA
nFLTB
SEVTDIR
PWMBTDIR
Special Event
Postscaler
PWM Time
Base Postscaler
Special Event Interrupt
Special Event Trigger
SEVTIF
Special Event
Interrupt Enable
PWM Interrupt
PWMPIF
PWM Period
Interrupt Enable
图 13-1: 工作模块的 PWM
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 79 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
中断向量是 43 h .
符号
描述
地址
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
The relevant registers of the PWM function
PWMADDR
PWMDATA
ADCC2
PWMTBC0
PWMTBC1
PWMOPMOD
TBCOUNTER
L
TBCOUNTER
H
PERIODL
PERIODH
SEVTCMPL
SEVTCMPH
PWMEN
PWMSEV
PWMTBPOST
SCALE
PWMINTF
PWM Address
Register
PWM Data
Register
ADC Control 2
Register
PWM Time Base
Control 0
Register
PWM Time Base
Control 1
Register
PWM Output Pair
Mode Register
Time Base
Counter
(Low)
Time Base
Counter
(High)
PWM Period
(Low) Register
PWM
Period(High)
Register
Special Event
Compare Low
Register
Special Event
Compare High
Register
PWM Output
Enable Register
PWM Special
Event Register
PWM Time Base
Post Scale
Register
PWM Interrupt
Flag Register
A2h
PWMADDR[7:0]
00H
A3h
PWMDATA[7:0]
00H
ACh
PWM
Trigge
rEN
PWM
Start
F9h
FAh
PW
MTB
EN
ADCCH[2:0]
PWM
OP3
MOD
-
FCh
PWM
OP2M
OD
-
00H
SEVT
IE
PWMP
IE
00H
PWM
OP1M
OD
PWM
OP0
MOD
00H
00H
Time Base Counter High 6 bit
F1h
00H
PWM Period Low 8 bit
F2h
-
FFH
PWM Period High 6 bit
F3h
3FH
Special Event Compare Low 8 bit
F4h
PW
M7
EN
EDh
PWM5
EN
PWM4
EN
SEVPOST[3:0]
EEh
FFH
Special Event Compare High 6 bit
PWM6
EN
3FH
PWM3
EN
PWM
2
EN
PWM
1
EN
PWM0
EN
00H
SEVT
DIR
-
UDIS
OSYN
C
00H
PWMTBPOST[7:0]
PW
MTB
DIR
-
00H
PWMTBMOD[1
:0]
Time Base Counter Low 8 bit
FDh
BCh
ADC
MODE
PWMTBPRE[1:
0]
-
FBh
F5h
EXT
Trigge
rEN
Adjust
00H
SEVT
IF
PWMP
IF
00H
Dead Time 0
E9h
DT0PRE[1:0]
DT0[5:0]
00H
Register
Dead Time 1
DEADTIME1
EAh
DT1PRE[1:0]
DT1[5:0]
00H
Register
Dead Time 2
DEADTIME2
EBh
DT2PRE[1:0]
DT2[5:0]
00H
Register
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 80 DEADTIME0
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Dead Time 3
Register
Fault Configure
Register
Fault Noise Filter
Register
DEADTIME3
FLTCONFIG
FLTNF
PWMPOLARIT
Y
OVRIDEDIS
OVRIDEDATA
DUTY0L
DUTY0H
DUTY1L
DUTY1H
DUTY2L
DUTY2H
DUTY3L
DUTY3H
ECh
DT3PRE[1:0]
DBh
BRF
EN
DCh
PWM Polarity
Register
DDh
Override Disable
Register
DEh
Override Data
Register
DFh
PWM 0 Duty Low
byte Register
PWM 0 Data
High byte
Register
PWM 1 Duty Low
byte Register
PWM 1 Data
High byte
Register
PWM 2 Duty Low
byte Register
PWM 2 Duty
High byte
Register
PWM 3 Duty Low
byte Register
PWM 3 Duty
High byte
Register
FLTB
S
Polarit
y
6
OV6
DIS
FLTB
MOD
FLTB
LS
Polarit
y
5
OV5
DIS
FLTB
EN
FLTA
LS
Polarit
y
4
OV4
DIS
FLT
CON
FLTB
NF
Polarit
y
3
OV3
DIS
OV6
DATA
OV5
DATA
OV4
DATA
OV3
DATA
Polar
ity
7
OV7
DIS
OV7
DAT
A
DT3[5:0]
D1h
00H
FLTA
S
FLTA
NF
FLTA
MOD
FLTA
EN
Polarit
y2
Polarit
y1
OV2
DIS
OV1
DIS
Polarit
y
0
OV0
DIS
OV2
DATA
OV1
DATA
OV0
DATA
-
00H
PWM Pair 0 Duty Low 8 bit
D2h
-
-
00H
PWM Pair 2 Duty Low 8 bit
D6h
-
00H
PWM Pair 2 Duty High 6 bit
D7h
00H
PWM Pair 3 Duty Low 8 bit
C9h
-
00H
00H
PWM Pair1 Duty High 6 bit
D5h
FFH
00H
PWM Pair1 Duty Low 8 bit
D4h
FFH
00H
PWM Pair 0 Duty High 6 bit
D3h
80H
00H
PWM Pair 3 Duty High 6 bit
00H
13.1 ADC 控制寄存器 2
符号:ADCC2
7
Start
6
Adjust
5
PWM
TriggerEN
4
EXT
TriggerEN
3
ADC
MODE
2
1
ADCCH[2:0]
0
地址: ACh
Reset
00H
Start 当这位被设置时,ADC 将开始转换。
(软件触发转换)
ADJUST 调整 ADC 转换数据的格式。
ADJUST = 0: (默认值)
ADC 数字输出高字节 ADCD [9:2] = ADCDH [7:0].
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 81 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
ADC 数字输出低字节 DCD [1:0] = ADCDL [1:0].
ADJUST = 1:
ADC 数字输出高字节 ADCD [9:8] = ADCDH [1:0].
ADC 数字输出低字节 ADCD [7:0] = ADCDL [7:0].
PWMTriggerEN 设定 PWM 触发 ADC.
(硬件内部触发转换)
0 =禁止
1 =使能
EXTTriggerEN 外部引脚触发 ADC,开始转换。
(硬件外部触发转换)
0 =禁止
1 =使能
ADCMOD 0 =连续模式
1 =单次模式
ADCCH[2:0] ADC 通道选择.
ADCCH [2:0]
000
001
010
011
100
101
110
111
Channel
0
1
2
3
4
5
6
7
13.2 PWM 时基控制 0( PWMTBC0 )
符号: PWMTBC0
7
6
5
4
-
3
2
PWMTBPRE[1:0]
1
0
PWMTBMOD[1:0]
地址: F9h
Reset
00H
PWMTBPRE PWM 时基分频
[1:0]
PWMTBPRE
[1:0]
00
01
10
11
Mode
Fosc
Fosc/4
Fosc/16
Fosc/64
PWMTBMOD PWM 时基模式
PWMTBMOD [1:0] = 00 -自由运行模式
PWMTBMOD [1:0] = 01 -单次转换模式
PWMTBMOD [1:0] = 10 -连续向上/向下计数模式. ( TBCOUNTER = PERIOD 产生一
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 82 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
个中断 )
PWMTBMOD [1:0] = 11 -连续向上/向下计数模.
(TBCOUNTER = PERIOD and TBCOUNTER = 0 各产生一个中断)
Minimum PWM Frequencies Example: Fosc= 24MHz, PERIOD = 0x3FFFh
Prescale
PWM Frequency Edge-align
PWM Frequency center-align
1:1
1500 Hz
750 Hz
1:4
375 Hz
188 Hz
1:16
94 Hz
47 Hz
1:64
23 Hz
12 Hz
13.3 PWM 时基控制 1( PWMTBC1 )
符号: PWMTBC1
7
6
PWMTBEN
-
5
-
4
-
3
-
2
-
1
SEVTIE
0
PWMPIE
地址: FAh
Reset
10H
PWMTBEN PWM 时基使能
0 = PWM 时基禁止
1 = PWM 时基使能
SEVTIE: 特殊事件中断使能
SEVTIE = 0 - 特殊事件中断禁止
SEVTIE = 1 - 特殊事件中断使能
PWMPIE: PWM 周期中断允许
PWMPIE = 0 - PWM 周期中断禁止
PWMPIE = 1 - PWM 周期中断使能
13.4 PWM 输出双模式( PWMOPMOD )
符号: PWMOPMOD
7
6
5
4
-
3
PWMOP3MOD
2
PWMOP2MOD
1
PWMOP1MOD
地址: FBh
0
Reset
PWMOP0MOD 00H
PWMOP3MOD PWM 输出对 3 个模式
0 = (PWM6, PWM7) 是互补模式
1 = (PWM6, PWM7) 独立模式
PWMOP2MOD PWM 输出对 2 模式
0 = (PWM4, PWM5) 是互补模式
1 = (PWM4, PWM5) 独立模式
PWMOP1MOD PWM 输出对 1 模式
0 = (PWM2, PWM3) 是互补模式
1 = (PWM2, PWM3) 独立模式
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 83 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
PWMOP0MOD PWM 输出对 0 模式
0 = (PWM0, PWM1) 是互补模式
1 = (PWM0, PWM1) 独立模式
13.5 PWM 时钟的时基计数器( TBCOUNTERL, TBCOUNTERH )
符号: TBCOUNTERL
7
6
5
4
3
2
Time Base Counter Low 8 bit [7:0]
符号: TBCOUNTERH
7
6
5
-
0
地址: FCh
Reset
00H
0
地址: FDh
Reset
00H
1
0
地址: F1h
Reset
FFH
3
2
1
PWM Period High 6 bit [5:0]
0
地址: F2h
Reset
3FH
0
地址: F3h
Reset
FFH
0
地址: F4h
Reset
3FH
1
4
3
2
1
Time Base Counter High 6 bit [5:0]
13.6 PWM 周期( PERIODL, PERIODH )
符号: PERIODL
7
6
符号: PERIODH
7
6
-
5
4
3
2
PWM Period Low 8 bit [7:0]
5
4
13.7 特殊事件比较( SEVTCMPL, SEVTCMPH )
符号: SEVTCMPL
7
6
5
4
3
2
Special Event Compare Low 8 bit [7:0]
符号: SEVTCMPH
7
6
-
5
1
4
3
2
1
Special Event Compare High 6 bit [5:0]
13.8 PWM 输出使能( PWMEN )
符号: PWMEN
7
6
PWM7EN PWM6EN
5
PWM5EN
4
PWM4EN
3
PWM3EN
2
PWM2EN
1
PWM1EN
地址: F5h
0
Reset
PWM0EN 00H
PWM7EN PWM 7 使能选择
PWM7EN = 0 - PWM7 输出禁止
PWM7EN = 1 - PWM7 输出使能
PWM6EN PWM 6 使能选择
PWM6EN = 0 - PWM6 输出禁止
PWM6EN = 1 - PWM6 输出使能
PWM5EN PWM 5 使能选择
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 84 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
PWM5EN = 0 - PWM5 输出禁止
PWM5EN = 1 - PWM5 输出使能
PWM4EN PWM 4 使能选择
PWM4EN = 0 - PWM4 输出禁止
PWM4EN = 1 - PWM4 输出使能
PWM3EN PWM 3 使能选择
PWM3EN =0 - PWM3 输出禁止
PWM3EN =1 - PWM3 输出使能
PWM2EN PWM 2 使能选择
PWM2EN =0 - PWM2 输出禁止
PWM2EN =1 - PWM2 输出使能
PWM1EN PWM 1 使能选择
PWM1EN =0 - PWM1 输出禁止
PWM1EN =1 - PWM1 输出使能
PWM0EN PWM 0 使能选择
PWM0EN =0 - PWM0 输出禁止
PWM0EN =1 - PWM0 输出使能
13.9 PWM 特殊事件
符号: PWMSEV
7
6
5
SEVPOST[3:0]
4
3
SEVTDIR
2
-
1
UDIS
0
OSYNC
地址: EDh
Reset
00H
SEVPOST 特殊事件后端缩放(Postscale) 集(设定多少次数的特殊事件发生触发一次中断)
SEVPOST [3:0] 0000 = 1:1 后分频器
SEVPOST [3:0] 0001 = 1:2 后分频器
:
:
SEVPOST [3:0] 1111 = 1:16 后分频器
SEVTDIR 特殊事件触发时基方向
SEVTDIR = 0 - PWM时基向上计数.
SEVTDIR = 1 - PWM 时基向下计数.
UDIS PWM 更新禁止. (该位影响 PERIOD, DUTY, SEVTCMP;
OVRIDEDIS, OVRIDEDATA)
UDIS = 0 -更新从占空比(duty cycle)和周期缓冲使能
UDIS = 1 - 更新从占空比(duty cycle)和周期缓冲禁止
OSYNC PWM 输出重载(override)同步
OSYNC = 0 -输出的重载通过 OVRIDEDIS 的寄存器是同步的
OSYNC = 1 - 同步的通过 OVRIDEDIS 寄存器的输出重载 PWM 时基.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 85 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
13.10 PWM 时基比例寄存器( PWMTBPOSTSCALE)
符号: PWMTBPOSTSCALE
7
6
5
4
3
PWMTBPOST [7:0]
2
1
0
地址: EEh
Reset
00H
PWMTBPOST[7:0] PWM 时基后分频器(Post Scale). (设定多少次数的 PWM 周期发生触发一次中断)
0000_0000 = 1: 1 后分频器
0000_0001 = 1: 2 后分频器
:
:
0000_1111 = 1: 16 后分频器
0001_0000 = 1: 17 后分频器
:
:
1111_1111 = 1: 256 后分频器
13.11 PWM 中断旗标
符号: PWMINTF
7
PWMTBDIR
PWMTBDIR:
SEVTIF:
PWMPIF:
6
5
4
3
-
2
1
SEVTIF
地址: BCh
0
Reset
PWMPIF
00H
PWM时基计数方向状态(只读)
0 = 向上计数
1 = 向下计数
特殊事件中断旗标
PWM周期中断旗标
13.12 死区
當半桥(half-bridge)电路正在应用时,在同一时间的上限和下限的手臂開始進行状态轉換周期,由于在TON 及TOFF字符
時,功率晶体不能瞬时完成转状态,从而导致短路,所以必须抽出一定的时间,使功率晶体转换状态。
每对互补 PWM 输出有 6 位向下计数器,由于产生死区,每个死区单位都有一个上升边缘和下降边缘检测器,根据计数
器並且数字的值为零时,剛好會被转换。如图 13-2中所示。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 86 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Td 
2 ( DT
0 PRE  1 )

Fosc
DT 0
Td
Td
Compare output
PWM1
PWM0
图 13-2: PWM 输出比较
13.12.1 死区 0 用于 PWM 配对 0( DEADTIME0 )
符号: DEADTIME0
7
6
DT0PRE[1:0]
DT0PRE[1:0]
DT0[5:0]
5
4
3
DT0[5:0]
2
1
0
地址: E9h
Reset
00H
死区 0 的分频
00 = Fosc/2
01 = Fosc/4
10 = Fosc/8
11 = Fosc/16
死区 0
频率= 24MHz, 周期= 14 位
最小死区
最大死区
83 ns
5.3 us (To apply to CCD)
166 ns
10.6 us
332 ns
21.2 us
664 ns
42.4 us
Prescale
1:2
1:4
1:8
1:16
13.12.2 死区 1 用于 PWM 配对 1( DEADTIME1 )
符号: DEADTIME1
7
6
5
DT1PRE[1:0]
4
3
DT1[5:0]
2
1
00H
0
地址: EAh
Reset
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 87 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
DT1PRE[1:0]
DT1[5:0]
死区1的分频
00 = Fosc/2
01 = Fosc/4
10 = Fosc/8
11 = Fosc/16
死区 1
13.12.3 死区 2 用于 PWM 配对 2( DEADTIME2 )
符号: DEADTIME2
7
6
5
DT2PRE[1:0]
DT2PRE[1:0]
DT2[5:0]
4
3
DT2[5:0]
2
1
0
地址: EBh
Reset
00H
3
DT3[5:0]
2
1
0
地址: ECh
Reset
00H
死区 2的分频
00 = Fosc/2
01 = Fosc/4
10 = Fosc/8
11 = Fosc/16
死区 2
13.12.4 死区 3 用于 PWM 配对 3( DEADTIME3 )
符号: DEADTIME3
7
6
5
DT3PRE[1:0]
DT3PRE[1:0]
DT3[5:0]
4
死区 3 Prescale
00 = Fosc/2
01 = Fosc/4
10 = Fosc/8
11 = Fosc/16
死区 3
00_0000 = 1死区3单位.
00_0001 = 2死区3单位
………….
11_1111 = 64死区3单位.
13.12.5 改写禁止( OVRIDEDIS )
符号: OVRIDEDIS
7
6
OV7DIS OV6DIS
5
OV5DIS
4
OV4DIS
3
OV3DIS
2
OV2DIS
1
OV1DIS
0
OV0DIS
地址: DEh
Reset
FFH
OV7DIS 改写禁止 7 行动选择
OV7DIS = 0 - PWM7 改写数据使能
OV7DIS = 1 - PWM7 改写数据禁止
OV6DIS 改写禁止 6 行动选择
OV6DIS = 0 - PWM6 改写数据使能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 88 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
OV6DIS = 1 - PWM6 改写数据禁止
OV5DIS 改写禁止 5 行动选择
OV5DIS = 0 - PWM5 改写数据使能
OV5DIS = 1 - PWM5 改写数据禁止
OV4DIS 改写禁止 4 行动选择
OV4DIS = 0 - PWM4 改写数据使能
OV4DIS = 1 - PWM4 改写数据禁止
OV3DIS 改写禁止 3 行动选择
OV3DIS = 0 - PWM3 改写数据使能
OV3DIS = 1 - PWM3 改写数据禁止
OV2DIS 改写禁止 2 行动选择
OV2DIS = 0 - PWM2 改写数据使能
OV2DIS = 1 - PWM2 改写数据禁止
OV1DIS 改写禁止 1 行动选择
OV1DIS = 0 - PWM1 改写数据使能
OV1DIS = 1 - PWM1 改写数据禁止
OV0DIS 改写禁止 0 行动选择
OV0DIS = 0 - PWM0 改写数据使能
OV0DIS = 1 - PWM0 改写数据禁止
13.12.6 改写数据
符号: OVRIDEDATA
7
6
OV7DATA OV6DATA
5
OV5DATA
4
OV4DATA
3
OV3DATA
2
OV2DATA
1
OV1DATA
0
OV0DATA
地址: DFh
Reset
00H
OV7DATA Ovride Data 7
OV7DATA = 0 - PWM7 改写数据
OV7DATA = 1 - PWM7 改写数据
OV6DATA Ovride Data 6
OV6DATA = 0 - PWM6 改写数据
OV6DATA = 1 - PWM6 改写数据
OV5DATA Ovride Data 5
OV5DATA = 0 - PWM5 改写数据
OV5DATA = 1 - PWM5 改写数据
OV4DATA Ovride Data 4
OV4DATA = 0 - PWM4 改写数据
OV4DATA = 1 - PWM4 改写数据
OV3DATA Ovride Data 3
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 89 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
OV3DATA = 0 - PWM3 改写数据
OV3DATA = 1 - PWM3 改写数据
OV2DATA Ovride Data 2
OV2DATA = 0 - PWM2 改写数据
OV2DATA = 1 - PWM2 改写数据
OV1DATA Ovride Data 1
OV1DATA = 0 - PWM1 改写数据
OV1DATA =1 - PWM1 改写数据
OV0DATA Ovride Data 0
OV0DATA = 0 - PWM0 改写数据
OV0DATA = 1 - PWM0 改写数据
Period Cycle
1
2
3
4
Example: PWM 输出改写波行.
OVRIDEDIS[7:0]
OVRIDEDATA[7:0]
11110000b
00000011b
11110000b
00000110b
11110000b
00001100b
11110000b
00001010b
PWMPOLARITY[7:0]
11111111b
11111111b
11111111b
11111111b
13.12.7 PWM 极性( PWMPOLARITY )
符号: PWMPOLARITY
7
6
POLARITY7 POLARITY6
5
POLARITY5
4
POLARITY4
3
POLARITY3
2
POLARITY2
1
POLARITY1
地址: DDh
0
Reset
POLARITY0 FFH
POLARITY7 PWM Polarity 7
POLARITY7 = 0 - PWM7 极性低电平动作
POLARITY7 = 1 - PWM7 极性高电平动作
POLARITY6 PWM Polarity 6
POLARITY6 =0 - PWM6 极性低电平动作
POLARITY6 =1 - PWM6 极性高电平动作
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 90 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
POLARITY5 PWM Polarity 5
POLARITY5 = 0 - PWM5 极性低电平动作
POLARITY5 = 1 - PWM5 极性高电平动作
POLARITY4 PWM Polarity 4
POLARITY4 = 0 - PWM4 极性低电平动作
POLARITY4 = 1 - PWM4 极性高电平动作
POLARITY3 PWM Polarity 3
POLARITY3 = 0 - PWM3 极性低电平动作
POLARITY3 = 1 - PWM3 极性高电平动作
POLARITY2 PWM Polarity 2
POLARITY2 = 0 - PWM2 极性低电平动作
POLARITY2 = 1 - PWM2 极性高电平动作
POLARITY1 PWM Polarity 1
POLARITY1 = 0 - PWM1 极性低电平动作
POLARITY1 = 1 - PWM1 极性高电平动作
POLARITY0 PWM Polarity 0
POLARITY0 = 0 - PWM0 极性低电平动作
POLARITY0 = 1 - PWM0 极性高电平动作
13.13 错误配置( FLTCONFIG )
FLTA 或 FLTB 在使用时,如果硬件检测到任何异常信号,PMW 的状态将自动转移为非活动状态.
13.14 PWM 错误输入
PWM 模块提供了通过 FLTA 和 FLTB 输出错误功能。禁止PWM 信号输出是它的主要功能,以及进入到一个非活动状
态。当错误发生时,硬件会随即执行并且进到一个非活动状态; PWM引脚 非活动状态。在正常工作状态下,无论是动作
在高或低都可以被引导用户通过简单的操作.
每个错误的投入有两种操作模式
Inactive模式
如果出现错误,输出信号的 PWM 处于非活动(deactivated)状态,PWM 引脚的状态将维持在非活动状态及对应
到 FLTxS 的旗标并且设置起来。当 PWM 输出要恢复在正常的工作状态,必需要藉由软件来清除 FLTxS 上的
Fault 的状态旗标。
Cycle-by-Cycle 模式
当错误功能发生时,PWM 的输出是处于非活动(deactivated)状态,PWM 引脚的状态将维持在非活动状态及对应
到 FLTxS 的旗标并且设置起来。当错误解除时,FLTxS 对应的旗标被清为零, PWM 的输出将恢复在正常的工作
状态。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 91 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
符号: FLTCONFIG
7
6
BRFEN
FLTBS
5
FLTBMOD
4
FLTBEN
3
FLTCON
2
FLTAS
1
FLTAMOD
0
FLTAEN
地址: DBh
Reset
80H
BRFEN 断点错误使能
BRFEN = 0 -禁止
BRFEN = 1 -使能
FLTBS 错误 B 状态,必须由 SW 清除(非动作模式)
FLTBS = 0 – N 没有错误
FLTBS = 1 - /FLTB is asserted.
FLTBMOD FLTB Mode Set
FLTBMOD = 0 - 非动作模式
FLTBMOD = 1 - cycle-by-cycle mode
FLTBEN FLTB 动作设置
FLTBEN = 0 -禁止 Fault B 功能
FLTBEN = 1 - 使能 Fault B 功能
FLTCON 0 = inactive PWM[5:0]
1 = inactive PWM[7:0]
FLTAS 错误状态,必须由 SW 清除(非动作模式)
FLTAS = 0 - No Fault
FLTAS = 1 - /FLTA is asserted.
FLTAMOD FLTA Mode Set
FLTAMOD = 0 -非动作模式
FLTAMOD = 1 - cycle-by-cycle 模式
FLTAEN FLTA Active Set
FLTAEN = 0 -禁止 Fault A 功能
FLTAEN = 1 -使能 Fault A 功能
13.15 错误噪声滤波器
符号: FLTNF
7
FLTBLS:
6
-
5
FLTBLS
4
FLTALS
3
2
FLTBNF[1:0]
1
0
FLTANF[1:0]
地址: DCh
Reset
00H
Fault B层次选择
0: 低电平动作
1: 高电平动作
FLTALS:
Fault A 层次选择
0: 低电平动作
1: 高电平动作
FLTANF
Fault A噪声滤波器
[1:0]
00 = Fosc/1
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 92 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
01 = Fosc/2
10 = Fosc/4
11 = Fosc/8
Fault B噪声滤波器r
00 = Fosc/1
01 = Fosc/2
10 = Fosc/4
11 = Fosc/8
FLTBNF
[1:0]
13.16 PWM 配對 0 占空比( DUTY0L, DUTY0H )
符号: DUTY0L
6
5
4
3
2
PWM Pair 0 Duty Low 8 bit
[7:0]
符号: DUTY0H
6
5
4
1
00H
3
2
1
PWM Pair 0 Duty High 6 bit
[5:0]
-
地址: D1h
Reset
0
地址: D2h
Reset
0
00H
13.17 PWM 配對 1 占空比( DUTY1L, DUTY1H )
符号: DUTY0L
6
5
符号: DUTY0H
7
6
4
3
2
PWM Pair 1 Duty Low 8 bit
[7:0]
5
4
-
1
地址: D3h
Reset
0
00H
3
2
1
PWM Pair 1 Duty High 6 bit
[5:0]
0
地址: D4h
Reset
00H
13.18 PWM 配對 2 占空比( DUTY2L, DUTY2H )
符号: DUTY2L
6
5
符号: DUTY0H
6
5
-
4
3
2
PWM Pair 2 Duty Low 8 bit
[7:0]
4
1
3
2
1
PWM Pair 2 Duty High 6 bit
[5:0]
0
地址: D5h
Reset
00H
0
地址: D6h
Reset
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 93 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
13.19 PWM 配對 3 占空比( DUTY3L, DUTY3H )
符号: DUTY3L
7
6
符号: DUTY3H
7
6
-
5
5
4
3
2
PWM Pair 3 Duty Low 8 bit
[7:0]
4
1
3
2
1
PWM Pair 3 Duty High 6 bit
[5:0]
0
地址: D7h
Reset
00H
0
地址: C9h
Reset
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 94 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
14. IIC 功能
这些IIC模块使用SCL(时钟)和SDA(数据)线来联系其它的IIC界面, 其速度可以由软件设置特殊寄存器(SFR)中的
IICBR[2:0] ,从而使其高达到400KBpS(最大值). IIC模块可以是主机也可以是从机,提供两个中断(RXIF,TXIF),并
有两个地址以作数据传输,它将产生开始,在主机模式中,反复启动和停止信号,在从机模式中,它将检测开始,反复
启动和停止信号, 最大沟通的长度及连接器件的数目被一个最大400pF 的电容所限制
符号
描述
地址
Bit 7
AUX
Auxiliary register
91h
BRGS
F9h
IICEN
F8h
-
IICCTL
IICS
IIC control
register
IIC status register
中断向量为 6Bh.
Bit 6
Bit 5
Bit 4
IIC function
P4UR
P4SPI
1
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
符号: AUX
7
6
BRGS
-
FCh
FDh
5
P4SPI
Bit 3
Bit 2
Bit 1
Bit 0
重置值
P4IIC
P0KBI
-
DPS
00H
BF_EN
TXIF
IICBR[2:0]
RXAK
TXAK
04H
RW or
BB
MATC
H1or
RW1
MATC
H2 or
RW2
IICRWD[7:0]
FU_EN
4
P4UR1
-
3
P4IIC
00H
A0H
60H
00H
-
-
-
2
P0KBI
1
-
0
DPS
-
-
00H
地址: 91h
Reset
00H
P4IIC: P4IIC = 0 – IIC function on P1.
P4IIC = 1 – IIC function on P4.
14.1 IIC 控制寄存器( IICCTL )
符号: IICCTL
7
6
IICEN
MSS
5
MAS
4
AB_EN
3
BF_EN
2
1
IICBR[2:0]
0
地址: F9h
Reset
04h
IICEN: IIC 模式使能
IICEN = 1,使能
IICEN = 0,禁止
MSS: 主\从机模式选择
MSS = 1, 选择主机模式
MSS = 0, 选择从机模式
软件必须在设置其它寄存器之前置位
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 95 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
MAS: 主模式的地址选择(仅在主机模式中)
MAS = 0,使用 IICA1
MAS = 1,使用 IICA2
AB_EN: 仲裁失去了使能位. (仅主机模式)
当 AB_EN 位使能, 硬件将检查仲裁丢失位.一旦发生丢失仲裁, 硬件将返回到空闲状态. 如果此位
被清除, 硬件也不会理会仲裁丢失情况.当多主机与从机连接时需设置此位.于单主机与从机时清
除此位.
BF_EN: 总线忙碌使能位. (仅主机模式)
当 BF_EN 位使能,硬件将不会产生开始信号至总在线直到 BF 已置低.此位若被清零将永远产生开
始信号至总线当 MStart 置高.当多主机与从机连接时需设置此位.于单主机与从机时清除此位.
IICBR[2:0]: 波特率选择(仅在主机模式)这里的 Fosc 为外部晶体或振荡器的频率,系统默认为 Fosc/512
以便用户选择
IICBR[2:0]
000
001
010
011
100
101
110
111
Baud rate
Fosc/32
Fosc/64
Fosc/128
Fosc/256
Fosc/512
Fosc/1024
Fosc/2048
Fosc/4096
14.2 IIC 状态寄存器( IICS )
符号: IICS
7
6
MPIF
5
LAIF
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 位.
RW or BB: 主机模式:
BB:总线忙碌表示位
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 96 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
当侦测到 scl=0 或 sda=0 或总线产生开始信号,此位将置高.当侦测到停止信号,此位将清
零. 此位可由软件清零以使系统回到就绪状态.
从机模式:
RW:从机模式的读取(接收)或写(传输) 在 IIC 总线. 当此位被清除, 表示从机模式在 IIC
总线接收数据.(只从机模式),如图 14-1
图 14-1: Acknowledgement bit in the 9th bit of a byte transmission
14.3 IIC 地址 1 寄存器( IICA1 )
符号: 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-位的地址,它在一个地址(来自主机模式)接收后被检测
Match1: 当 IICA1 和来自主机模式方的接收地址匹配时,该位将被硬件置位,当 IIC 总线读或写第一笔资料
时,该位将被自动清除。
主机模式:
IICA1[7:1]: IIC 地址寄存器
显示要与它通讯的从机的 7 位地址
th
RW1: 如模块被设置为 Mstart 或 Rstart bit,该位将被作为从机方的 RW 发送,它在 IIC 地址之后的抵 8
位显示,如图 14-2.。它用来告诉从属模式中将来的通信的方向。如设置为 1,模块在主模式中为
接收方,如是 0,模块在主模式中为传输方。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 97 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
图 14-2: RW bit in the 8th bit after IIC address
14.4 IIC 地址 2 寄存器( IICA2 )
地址: 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-位的地址, 它在一个地址(来自主机模式)接收后被检测
Match2: 当 IICA2 和来自主机模式方的接收地址匹配时,该位将被硬件置位,当 IIC 总线读或写第一笔资料
时,该位将被自动清除。
主机模式:
IICA2[7:1]: IIC 地址寄存器
显示要与它通讯的从机的 7 位地址
RW2: 如模块被设置为 Mstart 或者 Rstart bit,该位将被作为从机方的 RW 发送,它用来告诉从机模式中
将来的通信的方向。如设置为 1,模块在主模式中为接收方,如是 0,模块在主模式中为传输方。
14.5 IIC 读写寄存器( IICRWD )
符号: IICRWD
7
6
5
4
3
IICRWD[7:0]
2
1
0
地址: FCh
Reset
00h
IICRWD[7:0]: IIC 读写缓存
在接收(读)模式中,接收的字节存储于此
在传输模式中,该字节通过该 SDA 被转换
14.6 IIC 使能总线发送寄存器( IICEBT )
符号: IICEBT
7
6
FU_EN
5
4
3
2
1
-
-
-
-
-
地址: FDH
Res
0
et
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 98 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
主机模式:
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.其它值是无效的.
注意:
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-M072
Ver A SM59A16U1 04/12/2013
- 99 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
15. SPI功能
串行外围接口(SPI)是一个同步串行接口,允许主机和从机沟通.
中断向量为4Bh.
SPI 使用4个信号
SPI_MOSI: 在主机模式中数据输出,在从机模式中数据输入。
SPI_MISO: 在主模式中数据输入,在从机模式中数据输出,
SPI_SCK: 从机模式时钟输出,以上数据与同步
SPI_SS: 从机模式中输入.
从机器件检测该信号来判断是否被主模式选择。
在主机模式中,它可选择所需的从机器件的任何IO的值为零。如图 15-1所示的一个例子将显示主机与从机的4路信号之
间的关系
Master
Slave 2
Slave 1
MOSI
MISO
CLK
IO
IO
MOSI
MISO
CLK
MOSI
MISO
CLK
SS
SS
图 15-1: SPI 主主机模式和从机模式之间的信号
这仅是单通道SPI的界面,SPI SFRs 如下所示:
SPI
描述
AUX
Auxiliary
register
SPIC1
SPIC2
SPIS
SPITXD
SPIRXD
SPI control
register 1
SPI control
register 2
SPI status
register
SPI transmit
data buffer
SPI receive
data buffer
地址
91h
F1h
F2h
F5h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
The relevant registers of the SPI function
P4UR
BRGS
P4SPI
P4IIC
1
SPI function
SPIMS
SPICK SPICK
SPIEN
SPISSP
S
P
E
SPIRS
SPIFD
TBC[2:0]
T
SPIML
SPITX SPITD
SPIRF
SPIOV
S
IF
R
Bit 2
Bit 1
Bit 0
重置
值
P0KBI
-
DPS
00H
SPIRX
IF
SPIBR[2:0]
08H
RBC[2:0]
00H
SPIRD
R
SPIRS
40H
F3h
SPITXD[7:0]
00H
F4h
SPIRXD[7:0]
00H
Mnemonic: AUX
Address: 91h
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 100 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
7
BRGS
6
-
5
P4SPI
4
P4UR1
3
P4IIC
2
P0KBI
1
-
0
DPS
Reset
00H
P4SPI: P4SPI = 0 – SPI function on P1.
P4SPI = 1 – SPI function on P4.
15.1 SPI 控制寄存器 1 ( SPIC1 )
符号: 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: 主/从机模式选择位
“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
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 101 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
0:1:1
1:0:0
1:0:1
1:1:0
1:1:1
Fosc/32
Fosc/64
Fosc/128
Fosc/256
Fosc/512
15.2 SPI 控制寄存器 2( SPIC2 )
符号: SPIC2
7
6
SPIFD
5
TBC[2:0]
4
3
SPIRST
2
1
RBC[2:0]
0
地址: F2h
Reset
00h
SPIFD: 全双工通信模式使能位.
“1” : 使能全双工模式.
“0” : 禁止全双工模式.
当此位被置位时,TBC[2;0]和 RBC[2;0]将被重置并归零。也就是说,只有 8 位数据通讯在全双工
模式中被允许,当主机模式通过 MOSI 线传输数据到从机模式中,意味着带有数据输入和输出的
全双工模式在同样的 SCK 时钟中是同步的,如下图 15-2所示.
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
图 15-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 重新致能模式选择位. (仅从机模式有效)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 102 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
= 0 禁能. SPI 于 SS 脚重新致能时,传送或接收数据.
于传送或接收数据缓冲寄存器内,前次传送或接收之数据完全保留.(表示它是有效的)
= 1 使能. SPI 于 SS 脚重新致能时,传送或接收新数据,
于传送或接收数据缓冲寄存器内,前次传送或接收之数据全部舍弃. (表示它是无效的)
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
15.3 SPI 状态寄存器 (SPIS )
符号: SPIS
7
6
SPIRF SPIMLS
5
SPIOV
4
SPITXIF
3
SPITDR
2
SPIRXIF
1
SPIRDR
地址:F5H
0
Reset
SPIRS 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: 接收起始位
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 103 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
该位被置位以此通知 SPI 模块来接收位于 SPIRXD 寄存器中的数据
15.4 SPI 发送数据缓冲器 (SPITXD )
符号: SPITXD
7
6
5
4
3
SPITXD[7:0]
2
1
地址: F3h
Reset
00h
0
SPITXD[7:0]: 传输数据缓冲
15.5 SPI 接收数据缓冲器 (SPIRXD)
符号: SPIRXD
7
6
5
4
3
SPIRXD[7:0]
2
1
0
地址: F4h
Reset
00h
SPIRXD[7:0]: 接收数据缓冲.
附:SS或CS沒有活躍在從模式下,MISO引腳必須浮。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 104 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
16. KBI –键盘接口
键盘接口 (KBI) 可以连接到 8 x n 矩阵键盘或任何类似的器件。它有 8 个输入具有可编程中断能力高或低的水平上。
这些 8 投入通过 P2 或 P0,可以是外部的中断离开从闲置和停止模式。如图 16-1和图 16-2中所示,8 个输入是从彼此
独立但共享相同的中断向量 5Bh。
Input
circuitry
Input
circuitry
Input
circuitry
Input
circuitry
Input
circuitry
Input
circuitry
Input
circuitry
Input
circuitry
KBI0
KBI1
KBI2
KBI3
KBI4
KBI5
KBI6
KBI7
OR
KBIIF: KBI interrupt flag
IEKBI: KBI interrupt enable
图 16-1: 键盘接口框图
250KHz
0
KBIx
De-bounce
KBF.x
1
KBD[1:0]
KBLS.x
KBE.x
图 16-2: 键盘输入电路
符号
AUX
KBLS
KBE
KBF
KBD
描述
Auxiliary register
KBI level
selection
KBI input enable
KBI flag
KBI De-bounce
control register
地址
91h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
The relevant registers of the KBI function
P4UR
BRGS
P4SPI
P4IIC
1
KBI function
Bit 2
Bit 1
Bit 0
重置值
P0KBI
-
DPS
00H
93h
KBLS7
KBLS6
KBLS5
KBLS4
KBLS3
KBLS2
KBLS1
KBLS0
00H
94h
95h
KBE7
KBF7
KBDE
N
KBE6
KBF6
KBE5
KBF5
KBE4
KBF4
KBE3
KBF3
KBE2
KBF2
KBE1
KBF1
KBE0
KBF0
00H
00H
KBD1
KBD0
00H
96h
-
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 105 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Mnemonic: AUX
7
6
5
BRGS
P4SPI
4
P4UR1
3
P4IIC
2
P0KBI
1
-
Address: 91h
0
Reset
DPS
00H
P0KBI: P0KBI = 0 –在 P2 的 KBI 功能.
P0KBI = 1 –在 P0 的 KBI 功能.
16.1 键盘级别选择器寄存器 ( KBLS )
Mnemonic: KBLS
7
6
KBLS.7
KBLS.6
5
KBLS.5
4
KBLS.4
3
KBLS.3
2
KBLS.2
1
KBLS.1
Address: 93h
0
Reset
KBLS.0
00h
KBLS.7: 键盘线 7 级选择位
0 : 在 KBI7 做使能低电平级检测.
1 : 在 KBI7 做使能高电平级检测.
KBLS.6: 键盘线 6 级选择位
0 : 在 KBI6 做使能低电平级检测.
1 : 在 KBI6 做使能高电平级检测
KBLS.5: 键盘线 5 级选择位
0 : 在 KBI5 做使能低电平级检测.
1 : 在 KBI5 做使能高电平级检测
KBLS.4: 键盘线 4 级选择位
0 : 在 KBI4 做使能低电平级检测.
1 : 在 KBI4 做使能高电平级检测
KBLS.3: 键盘线 3 级选择位
0 : 在 KBI3 做使能低电平级检测.
1 : 在 KBI3 做使能高电平级检测
KBLS.2: K 键盘线 2 级选择位
0 : 在 KBI2 做使能低电平级检测.
1 : 在 KBI2 做使能高电平级检测
KBLS.1: 键盘线 1 级选择位
0 : 在 KBI1 做使能低电平级检测.
1 : 在 KBI1 做使能高电平级检测
KBLS.0: 键盘线 0 级选择位
0 : 在 KBI0 做使能低电平级检测.
1 : 在 KBI0 做使能高电平级检测
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 106 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
16.2 键盘中断使能寄存器( KBE )
Mnemonic: KBE
7
6
KBE.7
KBE.6
5
KBE.5
4
KBE.4
3
KBE.3
2
KBE.2
1
KBE.1
Address: 94h
0
Reset
KBE.0
00h
1
KBF.1
Address: 95h
0
Reset
KBF.0
00h
KBE.7: 盘线 7 使能位
0 : 使能标准的 I / O 引脚.
1 : KBF 寄存器中的使能 KBF.7 位产生一个中断请求.
KBE.6: 盘线 6 使能位
0 : 使能标准的 I / O 引脚.
1 : KBF 寄存器中的使能 KBF.6 位产生一个中断请求.
KBE.5: 盘线 5 使能位
0 : 使能标准的 I / O 引脚.
1 : KBF 寄存器中的使能 KBF.5 位产生一个中断请求
KBE.4: 盘线 4 使能位
0 : 使能标准的 I / O 引脚.
1 : KBF 寄存器中的使能 KBF.4 位产生一个中断请求
KBE.3: 盘线 3 使能位
0 : 使能标准的 I / O 引脚.
1 : KBF 寄存器中的使能 KBF.3 位产生一个中断请求
KBE.2: 盘线 2 使能位
0 : 使能标准的 I / O 引脚.
1 : KBF 寄存器中的使能 KBF.2 位产生一个中断请求
KBE.1: 盘线 1 使能位
0 : 使能标准的 I / O 引脚.
1 : KBF 寄存器中的使能 KBF.1 位产生一个中断请求
KBE.0: 盘线 0 使能位
0 : 使能标准的 I / O 引脚
1 : KBF 寄存器中的使能 KBF.0 位产生一个中断请求.
16.3 键盘中断旗标寄存器( KBF )
Mnemonic: KBF
7
6
KBF.7
KBF.6
5
KBF.5
4
KBF.4
3
KBF.3
2
KBF.2
KBF.7: 键盘线 7 旗标
KBI7 检测编程的水平,这是由硬件设置.
如果 KBE.7 被设置了,它将生成一个键盘中断请求。它必须由软件清除.
KBF.6: 键盘线 6 旗标
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 107 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
KBI6 检测编程的水平,这是由硬件设置
如果 KBE.6 被设置了,它将生成一个键盘中断请求。它必须由软件清除.
KBF.5: 键盘线 5 旗标
KBI5 检测编程的水平,这是由硬件设置.
如果 KBE.5 被设置了,它将生成一个键盘中断请求。它必须由软件清除.
KBF.4: 键盘线 4 旗标
KBI4 检测编程的水平,这是由硬件设置.
如果 KBE.4 被设置了,它将生成一个键盘中断请求。它必须由软件清除.
KBF.3: 键盘线 3 旗标
KBI3 检测编程的水平,这是由硬件设置.
如果 KBE.3 被设置了,它将生成一个键盘中断请求。它必须由软件清除.
KBF.2: 键盘线 2 旗标
KBI2 检测编程的水平,这是由硬件设置.
如果 KBE.2 被设置了,它将生成一个键盘中断请求。它必须由软件清除.
KBF.1: 键盘线 1 旗标
KBI1 检测编程的水平,这是由硬件设置
如果 KBE.1 被设置了,它将生成一个键盘中断请求。它必须由软件清除.
KBF.0: 键盘线 0 旗标
KBI0 检测编程的水平,这是由硬件设置
I 如果 KBE.0 被设置了,它将生成一个键盘中断请求。它必须由软件清除.
16.4 键盘去反弹控制寄存器( KBD )
Mnemonic: KBD
7
6
KBDEN
-
5
-
4
-
3
-
2
-
1
KBD.1
Address: 96H
0
Reset
KBD.0
00H
KBDEN: 使能 KBI 去反弹功能. 默认的 KBI 功能为使能.
KBDEN = 0, 使能 KBI 去反弹功能. 去反弹时间选择通过 KBD [1:0]选择.
KBDEN = 1, 使能 KBI 去反弹功能. 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-M072
Ver A SM59A16U1 04/12/2013
- 108 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
17. LVI & LVR–低电压中断和低电压复位
中断向量为63h.
符号
LVC
描述
Low voltage
control
地址
Bit 7
E6h
LVI_
EN
Bit 6
Bit 5
LVI function
LVRLP
LVRE
E
Bit 4
Bit 3
Bit 2
LVSI
F
-
-
Bit 1
Bit 0
LVIS[1:0]
重置值
20H
17.1 低压控制寄存器 ( LVC )
符号: LVC
7
LVI_EN
6
LVRLPE
5
LVRE
4
LVSIF
3
2
-
1
0
LVIS[1:0]
地址: E6h
Reset
20h
LVI_EN: 低电压中断功能使能位
0: 禁能低电压检测中断功能.
1: 使能低电压检测中断功能.
LVRLPE 外部低电压复位功能(低功率)使能位. (请参阅 MCU 核心电压)
0: 禁止外部低电压复位(低功率)功能.
1: 使能外部低电压复位(低功率)功能.
LVRE: 外部低电压重置功能使能位. (请参阅 MCU 的 VDD 电压)
0: 禁能外部低电压重置功能.
1: 使能外部低电压重置功能.
LVSIF: 低电压中断旗标位
LVIS: 低电压中断电压位阶选择:
00: 1.75V
01: 2.75V
10: 3.35V
11: 4.20V
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 109 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
18. 10位模拟数字转换器(ADC)
ADC模块的特性:

SM59A16U1 提供 8 + 1 通道 10 位 ADC.

数字输出数据 [9:0] 被放入 ADCD [9:0].

ADC 通道 8 是仅为 OP0 转换为 ADC 功能.
ADC 中断向量是 53 H, ADC SFRs 如下所示:
Bit 7
Bit 6
符号
描述
地址
ADCC1
ADC Control
register 1
ABh
ADC7E
N
ADC6
EN
ADCC2
ADC Control
register 2
ACh
Start
ADJU
ST
ADCDH
ADCDL
ADCCS
ADC data high
byte
ADC data low
byte
ADC clock select
Bit 5
ADC
ADC5
EN
PWMT
rigger
EN
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
ADC4
EN
EXTTri
ggerE
N
ADC3
EN
ADC2
EN
ADC1
EN
ADC0E
N
00H
ADCM
ODE
ADCCH[2:0]
08H
ADh
ADCDH [7:0]
00H
AEh
ADCDL [7:0]
00H
AFh
-
-
-
ADCCS[4:0]
00H
18.1 ADC 控制寄存器 1( ADCC1 )
符号: ADCC1
7
6
ADC7EN ADC6EN
5
ADC5EN
4
ADC4EN
3
ADC3EN
2
ADC2EN
1
ADC1EN
地址: ABh
0
Reset
ADC0EN 00H
ADC7EN: 使能 ADC 通道 7.
ADC7EN = 0 –禁止 ADC 通道 7
ADC7EN = 1 –使能 ADC 通道 7
ADC6EN: 使能 ADC 通道 6.
ADC6EN = 0 –禁止 ADC 通道 6
ADC6EN = 1 –使能 ADC 通道 6
ADC5EN: 使能 ADC 通道 5.
ADC5EN = 0 –禁止 ADC 通道 5
ADC5EN = 1 –使能 ADC 通道 5
ADC4EN: 使能 ADC 通道 4.
ADC4EN = 0 –禁止 ADC 通道 4
ADC4EN = 1 –使能 ADC 通道 4
ADC3EN: 使能 ADC 通道 3.
ADC3EN = 0 –禁止 ADC 通道 3
ADC3EN = 1 –使能 ADC 通道 3
ADC2EN: 使能 ADC 通道 2.
ADC2EN = 0 –禁止 ADC 通道 2
ADC2EN = 1 –使能 ADC 通道 2
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 110 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
ADC1EN: 使能 ADC 通道 1.
ADC1EN = 0 –禁止 ADC 通道 1
ADC1EN = 1 –使能 ADC 通道 1
ADC0EN: 使能 ADC 通道 0.
ADC0EN = 0 –禁止 ADC 通道 0
ADC0EN = 1 –使能 ADC 通道 0
18.2 ADC 控制寄存器( ADCC2)
符号: ADCC2
7
6
Start ADJUST
5
PWMTriggerEN
4
EXTTriggerEN
3
ADCMODE
地址: ACh
2
1
0 Reset
ADCCH[2:0] 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].
PWMTriggerEN PWM 触发 ADC 开始转换
(HW 内部触发转换)
0 =禁止
1 =使能
EXTTriggerEN 外部引脚触发 ADC 开始转换
(HW 外部触发转换)
0 =禁止
1 =使能
ADCMOD 0 =连续模式
1 =单次转换模式
ADCCH[2:0]: ADC 通道选择.
ADCCH [2:0]
000
001
010
011
100
101
110
111
通道
0
1
2
3
4
5
6
7
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 111 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
18.3 ADC 数据( ADCDH, ADCDL )
ADJUST = 0:
符号: ADCDH
7
6
ADCD[9] ADCD[8]
符号: ADCDL
7
6
-
5
ADCD[7]
4
ADCD[6]
3
ADCD[5]
5
-
4
-
3
-
5
-
4
-
3
-
2
ADCD[4]
2
-
地址: ADh
0
Reset
ADCD[2] 00H
1
ADCD[3]
1
ADCD[1]
0
ADCD[0]
地址: AEh
Reset
00H
ADJUST = 1:
符号: ADCDH
7
6
符号: ADCDL
7
6
ADCD[7] ADCD[6]
5
ADCD[5]
4
ADCD[4]
2
-
3
ADCD[3]
1
ADCD[9]
2
ADCD[2]
地址: ADh
0
Reset
ADCD[8]
00H
地址: AEh
0
Reset
ADCD[0] 00H
1
ADCD[1]
18.4 ADC 时钟选择( ADCCS )
符号: ADCCS
7
OP0
ToADC
6
-
5
ADCEN
ToP34
地址: AFh
Reset
4
3
2
1
0
ADCCS[4]
ADCCS[3]
ADCCS[2]
ADCCS[1]
ADCCS[0]
00H
OP0ToADC: 选择 ADC 通道 8 作为输入源
0 =设置 ADC 输入源由 ADCC2 决定.
1 =设置 ADC 输入源作为 Op0 输出.
ADCENToP34: ADC 内部信号测试和监视器.
0 = 禁止 ADC 内部信号输出至 P3.4
1 = 使能 ADC 内部信号输出至 P3.4
ADCCS[4:0]: ADC 时钟选择.
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-M072
Ver A SM59A16U1 04/12/2013
- 112 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
19. USB功能
USB外设模块支持USB控制输入/输出,中断和批量输入/输出传递. 即,实现支持5个端点的号码(0,1,2,3,4)一共
5个端点。串行接口引擎(SIE)处理所有的USB2.0协议,并提供了一个简单的读/写协议用于MCU。
MCU用的是一个USB功能的器件,并结果一直是从机到USB主机。 USB主机从MCU的USB端口上启动所有USB数据传
递。MCU有5个USB端点 :
Endpoint 0 :这种控制端点是用来初始化器件,并提供了访问USB配置,控制和状态寄存器。这个端点是一个8字节双向
FIFO.
Endpoint 1 :此端点支持中断从MCU的发送邮箱传递到USB主机
Endpoint 1:是8字节中断端点.
Endpoint 2:此端点支持中断从USB主机传递到MCU器件.
Endpoint 2: 是8字节中断端点
Endpoint 3:此端点支持批量数据从MCU发送FIFO传递到USB主机.
Endpoint 3:发送64字节FIFO.
Endpoint 4:此端点支持批量数据从USB主机传递到MCU接收FIFO.
Endpoint 4:为64字节接收FIFO
19.1 USB 器件列举传递
端 点 0 在 列 举 步 骤 中 發 揮 了 十 分 重 要 的 作 用 , 串 行 接 口 引 擎 被 设 计 是 用 于 处 理 整 个 主 要 USB 标 准 命 令 排 除 了
Class/Vendor,GetDescriptor,SetDescriptor,和SynchFrame命令。如果MCU收到这4种命令,SIE将命令传递到端点
0,USB中断旗标的寄存器1(UIFR1)位0将被设置为通知MCU读取端点0的命令,MCU的程序应具备能力去解码这些
命令和回应关系描述(MCU写器件描述到符端点0),完成这些步骤后,MCU应设置端点数据准备好控制寄存器
(EPDRDY)位1,SIE将通过USB电缆获取这些描述符数据并传递至主机,两个索引指针用于访问端点0,它必须由MCU
初始化, 且当MCU(主机)读(读指针)或写(写指针)到端点0数据寄存器后自动递增。
19.2 USB 中断输入传递
端点1使用中断方式从一组8字节的FIFO寄存器传递至USB主机,可以通过MCU写入,传递一个8字节的数据包,MCU将
数据写入到8个字节的寄存器并且设置发送旗标位(EPDRDY位2,端点1传递数据准备), SIE将提取端点1的数据和传
递数据到主机,如果USB主机尝试读取端点1,且当端点发送数据就绪位没有设置,一个NAK承认将返回。 USB中断传
递完成后,UIFR1位1将被设置为通知MCU端点1的寄存器已经被USB主机所读取,这保证了先前中断传递已经在端点1
的数据改变之前就已完成。
19.3 USB 中断输出传递
端点2是用中断从USB主机传递到一组8个字节的接收寄存器它通过MCU读取,去传递8个字节的数据包,主机首先执行
一个USB的8字节的中断传递至端点2的接收邮箱寄存器,然后设置UIFR1位2,这可能会导致局部总线中断信号MCU检
查EPDRDY位3(端点2接收数据就绪)是被设置与否。如果该位被设置,MCU可以安全从端点2读取数据, MCU完成读
阶段后,EPDRDY的位3应该被清除。然后,它可以等待,直到下一个数据包完成中断,再次读取整个数据包。如果
USB主机尝试写这些寄存器时,並且當EPDRDY位3被设置,NAK承认会返回,信号主机在下一个数据包不会被接受。
19.4 USB 批量从主机传递到器件
对于主机器件传输,主机首先安排从主机存储器的一个量的数据传递到本地的共享存储器。在MCU里,USB主机进行批
量的输出数据传递,并通过USB总线去接收FIFO端点4。
. MCU完成接收数据后,MCU将产生中断检查状态寄存器信号。例如,MCU程序应该是检查EPDRDY位5(端点4接收数
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 113 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
据就绪)设置与否。如果该位被设置,MCU可以安全从端点4读取数据,MCU完成读取步骤后,EPDRDY位5应被清
除。然后,它可以等待,直到下一个数据包完成中断,再次读取整个数据包。如果控制位的数据就绪(EPDRDY第5
位)从以前的数据包不会被清零,然后MCU将返回一个USB NAK承认到主机,下一个数据包的信号不能被接受。
MCU也可以读握手状态寄存器来检测数据包是否承认一个ACK,NAK,如果这些承认位被设置,然后发生了超时,在批
量传递完成的NAK或超时条件下,USB主机将发送另一个OUT令牌,MCU应再次收到相同的数据包。
19.5 USB 批量从器件传递到主机
对于器件到主机的传输,MCU首先从局部器件的数据量写入到发送FIFO端点3。当写入数据到端点3时,MCU必须通过
监控索引写指针 去追踪在FIFO里是否有可用空间。块已经被加载到发送FIFO 后,MCU应设置发送 旗标(准备好
EPDRDY位4,端点3 传输数据)通知SIE,FIFO数据准备。USB主机发送一个IN令牌到MCU,并启动一个USB批量-输
入传输,SIE将获取端点3数据和传递数据到主机。
当发送FIFO为空时,SIE将用包尾(End of Packet)终止数据包,没有更多的数据可用的信号,一旦包尾(End of Packet)发
生,MCU会被产生一个中断,该MCU可以从主机的ACK里读取握手状态寄存器来检测数据包是否被承认,或是否MCU
用NAK 去响应一个 IN令牌。
如果这些承认位被设置,然后发生了超时,在批量传递完成的NAK或超时条件下,USB主机将发送另一个IN令牌,MCU
应再次发送相同的数据包。
USB 模块特性:





低速(1.5Mbps 的)或全速( 12Mbps ).
支持控制,中断和批量传输.
5 个端点 FIFO:
- EP0: 控制输入/ 输出. FIFO:8 个字节
- EP1: 中断输入. FIFO:8 个字节.
- EP2: 中断输出. FIFO:8 个字节.
- EP3: 批量输入. FIFO :64 个字节。
- EP4: 批量输出. FIFO :64 个字节.
USB 中断向量是 73 h.
USBRSM 中断向量是 7Bh.
注:晶振应该是 6、 12 或 24 MHz,以稳定地使用 USB 器件控制器.
符号
描述
地址
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
重置值
The relevant registers of the USB
USBADDR
USBDATA
USB Address
Register
USB Data
Register
A6h
USBADDR[7:0]
00h
A7h
USBDATA[7:0]
00h
USB
UCTRL1
USB Control 1
Register
UCTRL2
USB Control 2
Register
FEh
FFh
-
-
RWKU
P
EN
EXT_
PHY
PD_
LDO33
UDC
_
EN
USB_
CTRL_
EN
20H
RWKU
P
PUR2
_
FW_C
TRL
PUR
2_
SW
PUR1_
SW
02H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 114 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
USTAT
DEVADR
FRMNUMH
FRMNUML
USB Status
Register
USB Device
Address
Register
USB Frame
Number
Register, High
Byte
USB Frame
Number
Register, Low
Byte
F6h
SPEE
D
C4h
-
PLL_FS[1:0]
ALT_V
AL
INTF_
VAL
CFG_
VAL
EP0_
DTY
PE
SETU
P
DEVADR[6:0]
C5h
-
C6h
00H
FRMNUM[10:8]
FRMNUM[7:0]
HSTALL
USB Host Stall
Register
C7h
USB function
DSTALL
USB Device
Stall Register
BFh
-
EP4
HSTAL
L
EP4
DSTAL
L
EP4H
SK
EP3
HSTAL
L
EP3
DSTAL
L
EP3H
SK
00H
00H
00H
EP2
HSTAL
L
EP2
DSTAL
L
EP2H
SK
EP1
HSTA
LL
EP1
DSTA
LL
EP1H
SK
EP0
HSTA
LL
EP0
DSTA
LL
EP0H
SK
00H
00H
USB Handshake
B1h
00H
Status Register
USB Interrupt
UIER1
Enable
B2h
EP4IE EP3IE EP2IE EP1IE EP0IE
00H
Register 1
USB Interrupt
RSUM
SUSI
RSTI
UIER2
Enable
B3h
USBIE
CFGIE SOFIE
00H
IE
E
E
Register 2
USB Interrupt
UIFR1
Flag
B4h
EP4IF EP3IF EP2IF EP1IF EP0IF
00H
Register 1
USB Interrupt
RSUM
SUSI
RSTI
UIFR2
Flag
B5h
USBIF
CFGIF SOFIF
00H
IF
F
F
Register 2
USB Endpoint
RDYS
EP4R
EP3T
EP2R
EP1T
EP0
EPDRDY
Data
B6h
2AH
W
DY
DY
DY
DY
TRDY
Ready Register
USB Endpoint 0
EP0CNT
Data Counter
B7h
EP0CNT[3:0]
00H
Register
USB Endpoint 1
EP1CNT
Data Counter
A1h
EP1CNT[3:0]
00H
Register
USB Endpoint 2
EP2CNT
Data Counter
A2h
EP2CNT[3:0]
00H
Register
USB Endpoint 3
EP3CNT
Data Counter
A3h
EP3CNT[6:0]
00H
Register
USB Endpoint 4
EP4CNT
Data Counter
A4h
EP4CNT[6:0]
00H
Register
USB Endpoint 0
EP0DATA
A7h
EP0DATA[7:0]
00H
Data Register
EP1DATA
USB Endpoint 1
9Eh
EP1DATA[7:0]
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 115 -
HSKSTAT
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
EP2DATA
EP3DATA
EP4DATA
Data Register
USB Endpoint 2
Data Register
USB Endpoint 3
Data Register
USB Endpoint 4
Data Register
9Fh
EP2DATA[7:0]
00H
93h
EP3DATA[7:0]
00H
94h
EP4DATA[7:0]
00H
19.6 USB 控制 1 寄存器( UCTRL1 )
符号: UCTRL1
7
6
5
4
-
3
EXT_P
HY
2
PD_
LDO33
1
UDC_
EN
地址: FEh
0
Reset
USB_
20H
CTRL_EN
EXT_PHY: 外部 PHY 使能.
当该位被设置,内部 PHY 将禁止和所有的数字信号切换到外部的外部连接外部 PHY.
PD_LDO33: 3.3V LDO 停止位.
0 =正常.
1 =停止.
UDC_EN: UDC 使能.
0 = UDC 块复位.
1 = 使能.
USB_CTRL_EN: USB 控制块使能.
0 = 复位.
1 = 使能.
19.7 USB 控制 2 寄存器( UCTRL2 )
符号: UCTRL2
7
6
5
-
4
RWKU
PEN
3
RWKU
P
2
PUR2_
FW_CTRL
1
PUR_
SW
0
PUR_
SW
地址: FFh
Reset
02H
RWKUP_EN: 远程唤醒功能使能的旗标.
这使能功能由 HOST 来设定使用设置功能命令功能设置和由主机清除使用明确的特殊命令
0 = 禁止.
1 =使能..
RWKUP_EN: 远程唤醒信号.
写此位 1 产生 1 个脉冲通知 USB_IF 和 UDC 做远程唤醒程序
RUP2_FW_CTRL: 上拉电阻 2 固件控制使能位.
0 =按照硬件上拉电路.
1 =由 RUP2_SW (UCTRL2 位 1)控制。
RUP2_SW: 上拉电阻 2 开关控制位.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 116 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
0 = 打开.
1 = 关闭.
RUP1_SW: 上拉电阻 2 开关控制位.
0 =打开.
1 =关闭.
19.8 USB 状态寄存器( USTAT )
符号: USTAT
7
6
5
SPEE
PLL_FS[1:0]
D
4
ALT_V
AL
3
INTF_
VAL
2
CFG_
VAL
1
EP0_
DTYPE
地址: F6h
0
Reset
SET
00H
UP
SPEED: USB 速度状态.
0 =低速.
1 =全速
PLL_FS[1:0]: PLL 输入参考时钟状态:
00: 6MHz (外部晶振).
01: 12MHz (外部晶振).
10: 24MHz (外部晶振).
ALT_VALL: 当前替代的值
INTF_VAL: 当前接口值.
CFG_VAL: 目前的配置值.
EP0_DTYPE: EP0 数据类型指标。此位是用来表示 EP0 接收 pkt 是 IN kpt 或 OUT kpt.
0 = OUT 数据.
1 = IN 数据.
SETUP: 设置 pkt 指标。此位是用来表示 EP0 接收 pkt 是 SETUP 命令.
0 =数据 pkt.
1 = 设置 pkt.
19.9 USB 器件地址寄存器( DEVADR )
符号: DEVADR
7
6
-
5
4
3
DEVADR[6:0]
2
1
0
地址: C4h
Reset
00H
DEVADR[6:0] 由主机设置的器件地址.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 117 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
19.10 USB 帧数目寄存器( FRMNUMH, FRMNUML )
符号: FRMNUMH
7
6
5
-
符号: FRMNUML
7
6
5
4
3
2
4
3
FRMNUM[7:0]
1
0
FRMNUM[10:8]
2
1
0
地址: C5h
Reset
00H
地址: C6h
Reset
00H
19.11 USB 主机暂停寄存器( HSTALL )
符号: HSTALL
7
6
5
4
EP4H
STALL
-
3
EP3H
STALL
2
EP2H
STALL
1
EP1HS
TALL
0
EP0
HSTALL
地址: C7h
Reset
00H
EP4HSTALL: EP4 暂停位设置由主机使用设置功能命令.
EP3HSTALL: EP3 暂停位设置由主机使用设置功能命令
EP2HSTALL: EP2 暂停位设置由主机使用设置功能命令.
EP1HSTALL: EP1 暂停位设置由主机使用设置功能命令.
EP0HSTALL: EP0 暂停位设置由主机使用设置功能命令.
19.12 USB 器件暂停寄存器( DSTALL )
符号: DSTALL
7
6
5
-
4
EP4D
STALL
3
EP3D
STALL
2
EP2D
STALL
1
EP1D
STALL
地址: BFh
0
Reset
EP0D
00H
STALL
EP4DSTALL: 当 EP4 有任何错误时, EP4 暂停位由软件来设置.
0 =端点 4 器件工作.
1 =端点 4 器件暂停.
EP3DSTALL: 当 EP3 有任何错误时, EP3 暂停位由软件来设置.
0 =端点 3 器件工作.
1 =端点 3 器件暂停.
EP2DSTALL: 当 EP2 有任何错误时, EP2 暂停位由软件来设置.
0 =端点 2 器件工作.
1 =端点 2 器件暂停.
EP1DSTALL: 当 EP1 有任何错误时, EP1 暂停位由软件来设置.
0 =端点 1 器件工作.
1 =端点 1 器件暂停.
EP0DSTALL: 当 EP0 有任何错误时, EP0 暂停位由软件来设置.
0=端点 0 器件工作.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 118 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
1=端点 0 器件暂停.
19.13 USB 握手状态寄存器( HSKSTAT )
符号: HSKSTAT
7
6
5
-
4
EP4H
SK
3
EP3H
SK
2
EP2H
SK
1
EP1H
SK
地址: B1h
0
Reset
EP0H
80H
SK
EP4HSK USB 端点 4 握手状态.
如果最后握手数据包是暂停,数据的错误数据包,在 USB 总线或 NACK 超时时间此位将自
动设置为 '1'。如果最后的握手数据包是 ACK,将自动清除该位。您可以检查此旗标来知道
通信状态。
EP3HSK USB 端点 3 握手状态.
如果最后握手数据包是暂停,数据的错误数据包,在 USB 总线或 NACK 超时时间此位将自
动设置为 '1'。如果最后的握手数据包是 ACK,将自动清除该位。您可以检查此旗标来知道
通信状态。
EP2HSK: USB 端点 2 握手状态.
如果最后握手数据包是暂停,数据的错误数据包,在 USB 总线或 NACK 超时时间此位将自
动设置为 '1'。如果最后的握手数据包是 ACK,将自动清除该位。您可以检查此旗标来知道
通信状态。
EP1HSK: USB 端点 1 握手状态.
如果最后握手数据包是暂停,数据的错误数据包,在 USB 总线或 NACK 超时时间此位将自
动设置为 '1'。如果最后的握手数据包是 ACK,将自动清除该位。您可以检查此旗标来知道
通信状态。
EP0HSK: USB 端点 0 握手状态.
如果最后握手数据包是暂停,数据的错误数据包,在 USB 总线或 NACK 超时时间此位将自
动设置为 '1'。如果最后的握手数据包是 ACK,将自动清除该位。您可以检查此旗标来知道
通信状态。
19.14 USB 中断使能寄存器 1 ( UIER1 )
符号: UIER1
7
6
-
5
4
EP4IE
3
EP3IE
2
EP2IE
1
EP1IE
地址: B2h
0
Reset
EP0IE
00H
EP4IE: 端点 4 中断使能位.
0 =禁止.
1 = 使能. 当一个 USB 端点 4 数据已通过 MCU 接收到数据包,这位使能局部中断去作为设
置.
EP3IE: 端点 3 中断使能位.
0 =禁止.
1 = 使能. This bit enables a local interrupt to be set when a USB Endpoint 3 data packet
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 119 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
has been sent by the MCU.
EP2IE: 端点 2 中断使能位.
0 =禁止.
1 = 使能. This bit enables a local interrupt to be set when a USB Endpoint 2 data packet
has been received by the MCU.
EP1IE: 端点 1 中断使能位.
0 =禁止.
1 = 使能. This bit enables a local interrupt to be set when the USB host has read the
endpoint 1 register.
EP0IE: 端点 0 中断使能位.
0 =禁止.
1 = 使能. This bit enables a local interrupt to be set when the USB Endpoint 0 received the
class / vender command by the MCU.
19.15 USB 中断使能寄存器 2( UIER2 )
符号: UIER2
7
6
RSUMIE USBIE
5
4
-
3
CFGIE
2
SOFIE
1
SUSIE
地址: B3h
0
Reset
RSTIE
00H
RSUMIE: 恢复中断使能.
0 = 禁止
1 = 使能
USBIE: 所有 USB 中断除了恢复使能位外.
0 = 禁止
1 = 使能
CFGIE: 配置更改中断使能位.
0 = 禁止
1 = 使能
SOFIE: SOF (开始的帧) 中断使能位.
0 = 禁止
1 = 使能
SUSIE: 暂停中断使能位.
0 = 禁止
1 = 使能
RSTIE: USB 重置中断使能位.
0 = 禁止
1 = 使能
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 120 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
19.16 USB 中断旗标寄存器 1( UIFR1 )
符号: UIFR1
7
6
-
5
4
EP4IF
3
EP3IF
2
EP2IF
1
EP1IF
地址: B4h
0
Reset
EP0IF
00H
EP4IF: 端点 4 中断旗标.
如果设置,此位表示当一个 USB 端点 4 数据已由 MCU 收到了数据包。这位由固件清除.
EP3IF: 端点 3 中断旗标.
如果设置,此位表示当一个 USB 端点 3 数据已由 MCU 传送了数据包。这位由固件清除
EP2IF: 端点 2 中断旗标.
如果设置,此位表示当一个 USB 端点 2 数据已由 MCU 收到了数据包。这位由固件清除.
EP1IF: 端点 1 中断旗标.
如果设置,此位表示当一个 USB 主机已经读到 端点 1 寄存器。这位由固件清除
EP0IF: 端点 0 中断旗标.
当 MCU 接收 Class / Vender 命令到端点 0 时,该位将会被设置。这位由固件清除
注: 当写"0",这些位将会被清除.
当写"1",这些位不会有任何改变
19.17 USB 中断旗标寄存器 2( UIFR2 )
符号: UIFR2
7
6
RSUMIF USBIF
5
4
-
3
CFGIF
2
SOFIF
1
SUSIF
地址: B5h
0
Reset
RSTIF
00H
RSUMIF: 恢复中断旗标.
USBIF: 所有 USB 中断除了恢复使能位外。
CFGIF: 配置更改中断旗标.
SOFIF: SOF(开始的帧) 中断旗标.
SUSIF: 暂停中断旗标.
RSTIF: USB 重置中断旗标.
注: 当写"0",这些位将会被清除.
当写"1",这些位不会有任何改变
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 121 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
19.18 USB 端点数据就绪寄存器( EPDRDY )
符号: EPDRDY
7
6
RDYSW
5
4
EP4RDY
-
3
EP3TDY
2
EP2RDY
1
EP1TDY
0
EP0TRDY
地址: B6h
Reset
2AH
RDYSW: EPDRDY 写功能开关.
0 = EPDRDY 只可以写"0"
1 = EPDRDY 只可以写"1"
EP4RDY: EP4 接收数据 FIFO 准备好了。
0: SIE 写 EP4 FIFO.
1: MCU 可以读取 EP4 FIFO 数据.
EP3TDY: EP3 传输数据 FIFO 准备好了.
0: SIE 读取 EP3 FIFO。
1: MCU 可以写入 EP3 FIFO 数据.
EP2RDY: EP2 接收数据 FIFO 准备好了.
0: SIE 写 EP2 FIFO
1: MCU 可以读取 EP2 FIFO 数据.
EP1TDY: EP1 传输数据 FIFO 准备好了.
0: SIE 读取 EP1 FIFO。
1: MCU 可以写入 EP1 FIFO 数据.
EP0TDRY: 通过 EP0 传输 / 接收数据 FIFO 准备好了.
0: SIE 写入/读取 EP0 FIFO
1: MCU 可以写入/读取 EP0 FIFO.
19.19 USB 端点 0 数据计数器寄存器( EP0CNT )
符号: EP0CNT
7
6
5
4
3
-
2
1
EP0CNT[3:0]
0
地址: B7h
Reset
00H
EP0CNT[3:0]: 端点 0 接收 FIFO 寄存器 (EP0DATA) 由 SIE 写的后, EP0CNT 自动由 1 递增。当它达到最
大计数时,EP0CNT 将数到 8 H。MCU 读取 EP0DATA 寄存器后, EP0CNT 会自动减 1。如
果 EP0CNT = 00h,端点 0 FIFO 为空。
当端点 0 发送邮箱 (EP0DATA) 数据端口是由 MCU 写入,指针自动由 1 递增。当它达到最
大计数时,EP1CNT 将数到 8 H。
19.20 USB 端点 1 数据计数器寄存器( EP1CNT )
符号: EP1CNT
7
6
5
-
4
3
2
1
EP1CNT[3:0]
0
地址: A1h
Reset
00H
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 122 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
EP1CNT[3:0]: 当端点 1 发送邮箱 (EP1DATA) 数据端口是由 MCU 写入时, 此寄存器决定哪个端点 1 的地址
发送寄存器被访问。端点 1 发送邮箱 数据端口是由 MCU 写入之后,指针自动由 1 递增。当
它达到最大计数, EP1CNT 将数到 8 H
19.21 USB 端点 2 数据计数器寄存器( EP2CNT )
符号: EP2CNT
7
6
5
4
3
-
2
1
EP2CNT[3:0]
0
地址: A2h
Reset
00H
EP2CNT[3:0]: 端点 2 接收 FIFO 寄存器 (EP2DATA) 由 SIE 写的之后, EP2CNT 自动由 1 递增。当它达到
最大计数, MCU 读取 EP2DATA 寄存器后, EP2CNT 会自动减 1。如果 EP2CNT = 00h,端
点 2 FIFO 为空.
19.22 USB 端点 3 数据计数器寄存器( EP3CNT )
符号: EP3CNT
7
6
-
5
4
3
EP3CNT[6:0]
2
1
0
地址: A3h
Reset
00H
EP3CNT[6:0]: 端点 3 器件写入数据计数器寄存器.
当端点 3 发送 FIFO (EP3DATA) 数据端口是由 MCU 写入时, 此寄存器决定哪个端点 3 的地
址发送寄存器被访问。端点 3 发送 FIFO 数据端口是由 MCU 写入之后,EP3CNT 自动由 1 递
增。当它达到最大计数, EP3CNT 将数到 40 H。
19.23 USB 端点 4 数据计数器寄存器( EP4CNT )
符号: EP4CNT
7
6
-
5
4
3
EP4CNT[6:0]
2
1
0
地址: A4h
Reset
00H
EP4CNT[6:0]: 端点 4 接收 FIFO 寄存器 (EP4DATA) 由 SIE 写的之后, EP4CNT 自动由 1 递增。当它达到
最大计数, EP4CNT 将数到 40 H , MCU 读取 EP4DATA 寄存器后, EP4CNT 会自动减 1。如
果 EP4CNT = 00h,端点 4 FIFO 为空.
19.24 USB 端点 0 数据寄存器( EP0DATA )
符号: EP0DATA
7
6
5
4
3
EP0DATA[7:0]
2
1
0
地址: A7h
Reset
00H
EP0DATA[7:0]: 端点 0 传输/接收寄存器.
该寄存器是负责从 USB 主机存储 USB 标准命令,或描述符的内容由 MCU 来写入和等待
SIE 获取它们。当 USB 主机将 8 字节标准命令发送到端点 0 FIFO 时,中断 (UIFR1 位 0)
将会被产生通知 MCU。当 MCU 需要发送描述符通过端点 0 的时候,MCU 必须写入描述符
到这寄存器.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 123 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
19.25 USB 端点 1 数据寄存器( EP1DATA )
符号: EP1DATA
7
6
5
4
3
EP1DATA[7:0]
2
1
0
地址: 9Eh
Reset
00H
EP1DATA[7:0]: 端点 1 传输 FIFO 数据寄存器
此端口用于读取或写入到传输邮箱寄存器中的一个。寄存器正在访问是由端点 1 FIFO 指针
寄存器来选择的。八个传输寄存器由 MCU 写入并且从端点 1 通过 USB 中断传输来读取。
它们可以用于从 MCU 向 USB 主机传递信息。信息的格式和内容是由使用者定义。如果使
能了,USB 主机可以读取来自寄存器所生成一个局部中断。
注: 这些寄存器 只能在USB 操作期间被写.
19.26 USB 端点 2 数据寄存器( EP2DATA )
符号: EP2DATA
7
6
5
4
3
EP2DATA[7:0]
2
1
0
地址: 9Fh
Reset
00H
EP2DATA[7:0]: 端点 2 收到 FIFO 数据寄存器.
这一寄存器是使用于由 MCU 读取于来自 USB 接收 FIFO 的数据。FIFO 的数据是由 USB 主
机来写入并使用中断传递到端点 2, 端点 2 数据 FIFO 是先进先出(first – in – first – out)
注: 这些寄存器 只能在USB 操作期间做读取.
19.27 USB 端点 3 数据寄存器( EP3DATA )
符号: EP3DATA
7
6
5
4
3
EP3DATA[7:0]
2
1
0
地址: 93h
Reset
00H
EP3DATA[7:0]: 端点 3 传输 FIFO 数据寄存器
这一寄存器是使用于由 MCU 写入数据到传输的 FIFO。FIFO 是由 USB 主机来读取并使用
端点 3 来做批量传递, 端点 3 数据 FIFO 是先进先出(first – in – first – out).
注: 这些寄存器 只能在USB 操作期间被写.
19.28 USB 端点 4 数据寄存器( EP4DATA )
符号: EP4DATA
7
6
5
4
3
EP4DATA[7:0]
2
1
0
地址: 94h
Reset
00H
EP4DATA[7:0]: 终结 4 点收到 FIFO 数据寄存器.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 124 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
这一寄存器是使用于由 MCU 所读取来自 USB 接收 FIFO 的数据。FIFO 是由 USB 主机来写
入并使用批量传递到端点 4, 端点 4 数据 FIFO 是先进先出(first – in – first – out)。
注: 这些寄存器 只能在USB 操作期间做读取
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 125 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
20. 条码( Barcode )
条码模块特点:

ADC 值由 DMA 直接存储到 SRAM.

ADC 将转换为条码原始数据后用于条形码解码.

条码的原始数据滤波器.

条码原始数据边坡率设置.
符号
BCCTRL
ADDR2ML
ADDR2MH
LNGDATAL
LNGDATAH
RDATA
FDATA
描述
地址
BarCode Control
Register
Start address to
SRAM Low Byte
Register
Start address to
SRAM High Byte
Register
Length of Data
Low Byte Register
Length of Data
High Byte
Register
Rising of Data
Register
Falling of Data
Register
Bit 7
Bit 5
Bit 4
Barcode
BarcodeINF[1:0
Bcc_en[1:0]
]
CAh
Bit 6
CBh
Bit 3
Bit 2
RAWBIT
NUM
Bit 1
ADCDS[1:0]
Bit 0
重置值
bcdidv
01H
ADDR2M[7:0]
CEh
-
00H
ADDR2M[12:8]
EFh
LNGDATA[7:0]
DAh
-
00H
00H
LNGDATA[12:8]
00H
C1h
RDATA[7:0]
19H
C2h
FDATA[7:0]
18H
20.1 条码控制寄存器( BCCTRL )
符号: BCCTRL
7
6
Bcc_en[1:0]
5
4
BarcodeINF[1:0]
3
RAWB
ITNUM
2
1
ADCDS[1:0]
0
地址: CAh
Reset
bcdidv
01H
Bcc_en 条码控制模式
[1:0] 如果 ADC 对 DAM 抵达 SRAM 的地址=6K, 硬件将自动停止"写行动"并且当条码模式使能时,
此位将被清为 0.
00 =禁止条码控制器
01 =使能 ADC 值存储到 SRAM 功能,直接将 ADC 值写入到 SRAM.
10 =使能条码解码器。[解码 ADC 数据 (MSB) 的 8 位]
分析/计数条码原始数据然后将结果写入到 SRAM.
结果的数据格式如下所示:
b7 : 数据转换
b[6:0]: 长度
ex: 1000_0111 means 7 successive “1”.
1000_1000 means 8 successive “1”.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 126 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
1000_0000 means 128 successive “1”
[ ※大于 128 将继续增加])
11 =使能条码解码器. [解码 ADC 数据 (MSB) 的 8 位]
分析/计数条码原始数据然后将结果写入到 SRAM.
结果的数据格式如下所示:
b7 : 数据转换
b[6:0]: 长度
ex: 1000_0111 means 7 successive “1”.
1000_1000 means 8 successive “1”.
1000_0000 means greater then 128 successive “1”
[※不会增加超过 128] )
BarcodeINF[1:0] 条码输入噪声滤波器
00 = 1 连续相同值识别为有效的数据.
01 = 2 续相同值识别为有效的数据.
10 = 3 续相同值识别为有效的数据.
11 = 4 续相同值识别为有效的数据.
RAWBITNUM 原始数据位数
0 = 10 bit; 硬件写入原始数据 10 位到 SRAM.
1 = 8 bit; 硬件写入原始数据 8 位到 SRAM.
ADCDS ADC 的数据选择
[1:0] 00 =与先前第 1 个 ADC 的数据做比较.
01 =与先前第 2 个 ADC 的数据做比较.
10 =与先前第 3 个 ADC 的数据做比较.
11 =与先前第 4 个 ADC 的数据做比较.
bcdidv 条码解码器的初始数字值
bcdidv = 1 系统复位后
20.2 起始地址到 SRAM 寄存器( ADDR2ML, ADDR2MH )
符号: ADDR2ML
7
6
符号: ADDR2MH
7
6
-
5
5
1
0
地址: CBh
Reset
00H
2
1
ADDR2M[12:8]
0
地址: CEh
Reset
00H
4
3
ADDR2M[7:0]
4
3
2
ADDR2M: 数据的起始地址写入到 SRAM;
[12:0] 当条码控制器将数据写入 SRAM 时, 此寄存器的内容将不会更新。数据可以写入到任意的
SRAM 地址。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 127 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
20.3 数据寄存器的长度( LNGDATAL, LNGDATAH )
条码的原始数据长度时,完成数据写入 SRAM。(只读)
符号: LNGDATAL
7
6
5
Mnemonic: LNGDATAH
7
6
5
-
1
0
地址: EFh
Reset
00H
2
1
LNGDATA[12:8]
0
地址: DAh
Reset
00H
4
3
LNGDATA[7:0]
4
3
2
20.4 上升的数据寄存器 ( RDATA )
符号: RDATA
7
6
5
4
3
RDATA[7:0]
2
1
0
地址: C1h
Reset
00H
4
3
FDATA[7:0]
2
1
0
地址: C2h
Reset
00H
RDATA[7:0] 上升的边坡率的数据
20.5 下降的数据寄存器( FDATA )
符号: FDATA
7
6
5
FDATA[7:0] 下降的边坡率的数据
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 128 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
21. 在系统编程(Internal ISP)
SM59A16U1 可通过内部硬件电路产生闪存控制讯号.用户利用闪存控制寄存器,闪存地址寄存器和闪存数据寄存器在不需
要将SM59A16U1 移出系统的情况下实现ISP功能. SM59A16U1 提供了可以实现闪存编程/芯片擦除/页擦除/保护功能的
闪存控制讯号.用户需要去设计和使用任何SM59A16U1 可以输入数据的接口,然后利用ISP服务程序去实现闪存的编程/芯
片擦除/页擦除/保护功能.
21.1 ISP 服务程序
ISP服务程序是由用户自行开发并放置于ISP服务程序区的固件. 用户可依需求决定ISP服务程序的大小. 另外用户需将ISP
服务程序刻录至SM59A16U1 芯片中才可使用ISP功能.
由于ISP服务程序是由用户自行开发,它需包括闪存数据寄存器的刻录及SM59A16U1 芯片与上位机的通讯协议. 举例来
说, 用户使用SM59A16U1 芯片上之UART接口与上位机作数据之传送及接收,则SM59A16U1 芯片上之ISP服务程序内
需有波特率设定,为避免数据传输错误需有数据总合检查或同位检查或其它错误检查机制.
于正常动作模式或空闲模式可启动 ISP服务程序,于停止模式则不行.
21.2 锁定位(N)
锁定位N有两个功能:一是配置服务程序的大小,另一个则是通过闪存擦除功能锁定ISP服务程序的空间.
ISP服务程序地址位从$F000 to $FFFF. 可被分为N*256字节(N=0-16). 当N为0时没有ISP功能.所有的64KB字节闪存都被
用来做程序存储.当N为1时,ISP服务程序占用256字节,剩余的63.75K 字节闪存可被用做程序存储.ISP服务程序的最大空
间为4K字节(当N为16时). 在这样的配置下,可用的程序存储空间为60K 字节.
在N定下来后,SM59A16U1 会从上往下(从最顶端到地址$FFFF)保存ISP服务程序空间.ISP服务程序的开始地址位于
$Fx00 (x为任意数字,以N为准). 请参考章节3.1有关ISP服务程序与程序内存之关系图. 如表 21-1所示
锁定位N功能不同于闪存保护功能,闪存擦除功能可以擦除除ISP服务程序空间外的所有闪存记忆体.如闪存没有被保
护,ISP服务程序的内容一直可被读.如闪存被保护,所有的闪存程序空间包括ISP服务程序空间不能被读.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
表 21-1: ISP code area.
ISP service program address
No ISP service program
256 bytes (0xFF00h ~ 0xFFFFh)
512 bytes (0xFE00h ~ 0xFFFFh)
768 bytes (0xFD00h ~ 0xFFFFh)
1.0 K bytes (0xFC00h ~ 0xFFFFh)
1.25 K bytes (0xFB00h ~ 0xFFFFh)
1.5 K bytes (0xFA00h ~ 0xFFFFh)
1.75 K bytes (0xF900h ~ 0xFFFFh)
2.0 K bytes (0xF800h ~ 0xFFFFh)
2.25 K bytes (0xF700h ~ 0xFFFFh)
2.5 K bytes (0xF600h ~ 0xFFFFh)
2.75 K bytes (0xF500h ~ 0xFFFFh)
3.0 K bytes (0xF400h ~ 0xFFFFh)
3.25 K bytes (0xF300h ~ 0xFFFFh)
3.5 K bytes (0xF200h ~ 0xFFFFh)
3.75 K bytes (0xF100h ~ 0xFFFFh)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 129 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
16
4.0 K bytes (0xF000h ~ 0xFFFFh)
ISP 服务程序配置于N*256 字节 (N= 0 ~ 16)
21.3 对 ISP 服务程序编程
在锁定位N被设置并ISP服务程序被编程后,ISP服务程序记忆体被自动的保护(锁定).锁定位N有它自己的编程/擦除时序.这
不同于闪存记忆体的编程/擦除时序.因此,被锁定的ISP服务程序不可被闪存擦除功能所擦除.如客户需要擦除锁定的ISP服
务程序,他只可以通过烧写器实现.当SM59A16U1 在系统时,客户不可改变ISP服务程序.
21.4 启动 ISP 服务程序
要启动ISP服务程序就是要在ISP服务程序的开始地址装载程序计数(PC)并执行它.有四种实现的方法:
(1) 空复位.用首地址为空($0000=#0FFH)的硬件复位会在 ISP 服务程序的开始地址装载 PC。硬件复位包括
MAX810 (复位电源) 和外部 pad 复位。硬件复位后,硬件复位后会发出约 256us 的频闪(strobe)。
(2) 执行跳转指令可以装载到 PC 的 ISP 服务程序的起始地址。
(3) 进入到 ISP 服务程序的硬件设置。用户可以通过设置 P3.4 为低"来强制 SM59A16U1 进入到 ISP 服务程序。
硬件复位包括 MAX810 (复位电源) 和外部 pad 复位。硬件复位后,硬件会发出通知。在应用系统设计时,
在复位期间,用户应该很小心的去设置 P3.4, 以防止 SM59A16U1 进入到 ISP 服务程序。
(4) 进入到的 ISP 服务程序的硬件设置,在硬件复位期间,RXD0 将会被检测到两个时钟信号。硬件复位包括
MAX810 (复位电源) 和外部 pad 复位。硬件复位后,硬件会发出 2 个时钟信号检测。
(5) 通过 USB 设定进入到 ISP 服务程序,USB 安装程序命令 (Endpoint 0)会在硬件重置期间内收到序列数
据: 0x40、 0x20、 0x5A、 0xA5、 0x69、 0x96,0x02,0x00。硬件复位包括内部 (复位电源) 和外部
pad 复位
在频闪(storbe)窗口中,硬件将检测到P3.4的状态,如果他们能满足上述条件之一,芯片会自动切换到 ISP 模式。ISP 服
务程序执行完后,用户需要复位 SM59A16U1,通过硬件复位或WDT 或跳到地址 0000 元去重新启动的固件程序。
为了用户的不同应用情况,这里有8种不同的进入机制.这个进入方法可以在烧路器或ISP中选取.
首地址为空例如$0000 = 0xFF. 且由内部重置信号触发.
首地址为空例如$0000 = 0xFF. 且由外部重置信号触发.
P3.4=0. 且由内部重置信号触发.
P3.4=0. 且由外部重置信号触发.
RXD0 收到 0x55 数据 (波特率是 57600 bps)。及由内部触发复位信号.
RXD0 收到 0x55 数据 (波特率是 57600 bps)。及由 PAD 触发复位信号.
USB 端点 0 收到序列数据: 0x40、 0x20、 0x5A、 0xA5、 0x69、 0x96,0x02,0x00。由内部触发复位
信号.
(8) USB 端点 0 收到序列数据: 0x40、 0x20、 0x5A、 0xA5、 0x69、 0x96,0x02,0x00。由内部触发复位
信号
(1)
(2)
(3)
(4)
(5)
(6)
(7)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 130 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
21.5 ISP 寄存器– TAKEY, IFCON, ISPFAH, ISPFAL, ISPFD and ISPFC
符号
TAKEY
IFCON
ISPFAH
ISPFAL
ISPFD
ISPFC
描述
地址
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
ISP function
F7h
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TAKEY [7:0]
8Fh
ITS
CDPR
F32K
F16K
重置值
00H
ALEC.
1
ALEC.
0
EMEN
ISPE
00H
E1h
ISPFAH [7:0]
FFH
E2h
ISPFAL [7:0]
FFH
E3h
ISPFD [7:0]
FFH
E4h
EMF1
EMF2
EMF3
EMF4
-
ISPF[2:0]
00H
21.6 时间访问关键登寄存器 ( TAKEY )
符号: TAKEY
7
地址: 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
21.7 Interface Control Register( IFCON )
符号: IFCON
7
6
ITS
CDPR
5
F32K
4
F16K
3
ALEC[1]
2
ALEC[0]
1
EMEN
0
ISPE
地址: 8FH
Reset
00H
位 0(ISPE) of IFCON 是 ISP 使能位,用户可通过设置 ISPE 位为 1 使能 SM59A16U1 的全部 ISP 功能,通过设置
ISPE 为 0 来禁止全部 ISP 功能.ISPE 的作用像一个加密匙.用户可禁止所有的 ISP 功能以保护软件程序不被意外
的擦除.ISP 寄存器 ISPFAH,ISPFAL,ISPFD,与 ISPFC 默认为只读.软件必须将 ISPE 位设为 1 以使上述 4 个寄存
器为可写.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 131 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
21.8 ISP 闪存地址寄存器 ( ISPFAH, ISPFAL )
符号: ISPFAH
7
6
ISPFAH7 ISPFAH6
5
ISPFAH5
4
ISPFAH4
3
ISPFAH3
2
ISPFAH2
1
ISPFAH1
地址: E1H
0
Reset
ISPFAH0 FFH
3
ISPFAL3
2
ISPFAL2
1
ISPFAL1
地址: E2H
0
Reset
ISPFAL0
FFH
ISPFAH [5:0]: 使用 ISP 功能之地址高字节
符号: ISPFAL
7
6
ISPFAL7 ISPFAL6
5
ISPFAL5
4
ISPFAL4
ISPFAL [7:0]: 使用 ISP 功能之地址低字节
ISPFAH 与 ISPFAL 提供了 16 位闪存记忆体地址用做 ISP 功能.这个闪存记忆体地址不应该包括 ISP 服务程序空
间地址.若 ISPFAH & ISPFAL 寄存器控制的闪存记忆体地址覆盖了 ISP 服务程序空间的地址.这个闪存程序/页擦
除等 ISP 功能的执行将会无效.
21.9 ISP 闪存数据寄存器 ( ISPFD )
符号: 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 位数据寄存器.
21.10 ISP 闪存控制寄存器 ( ISPFC )
符号: ISPFC
7
6
EMF1
EMF2
5
EMF3
4
EMF4
3
-
2
ISPF[2]
1
ISPF[1]
地址: E4H
0
Reset
ISPF[0]
00H
EMF1: 进入机制 (1) 标志位, 由复位信号清除. (仅读)
EMF2: 进入机制 (2) 标志位, 由复位信号清除. (仅读)
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
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 132 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
闪存一页有 128 字节
可设定功能选择位如晶振输入输出脚可配置为一般 I/O (于 1.2 节描述)、内部复位时间选
择(于 1.4.1 节描述)、时钟源来源选择 (于 1.5 节描述)、复位脚可配置为一般 I/O(于第 5
章描述)、看门狗功能启动位(于第 10 章描述)、或 ISP 进入机制选择(于第 21 章描述)。
只能读取功能选择位于芯片被加密后.
选择的 ISP 功能在软件对 ISPFC 寄存器写入数据时将会执行一次.
要实现字节编程/页擦除 ISP 功能,用户需要在开始时指定闪存地址.在实现页擦除功能时,SM59A16U1 将除
ISPFAH 与 ISPFAL 寄存器中显示地址所在的整页.
范例. 闪存地址: $XYMN
将对地址$XY00 to $XYFF 执行页抹除
要实现芯片擦除 ISP 功能,SM59A16U1 将擦除除 ISP 服务程序外的所有闪存程序记忆体. 要实现芯片保护 ISP 功
能,SM59A16U1 内容将被读为#00H.
范例:将对地址$1005H 执行字节写,写入#22H
MOV TAKEY, #55h
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
;ISPE 可写入属性
ORL IFCON, #01H
;使能 SM39R08A3 ISP 功能
MOV ISPFAH, #10H
; 设定闪存高字节地址,10H
MOV ISPFAL, #05H
; 设定闪存低字节地址, 05H
MOV ISPFD, #22H
; 设定将写入闪存之资料,资料= 22H
MOV ISPFC, #00H
; 开始将写入闪存之资料#22H 写入地址$1005H
MOV TAKEY, #0AAh
MOV TAKEY, #5Ah
; ISPE 可写入属性
ANL IFCON, #0FEH
;禁止 SM39R08A3 ISP 功能
22. 運算放大器/比较器
SM59A16U1 集成了运算放大器(OPA)/比较器(Comparator)模块在芯片上。此模块支持运算放大器和比较器模式单独地
根据用户的配置。运算放大器模式使能时,双运算放大器可能适用于单个或两级放大器的网络,并可能作为前端信号处
理应用和内部路由到特定的 ADC 通道中。比较器模式使能时,内部的参考电压是可用在比较器终端机上进行配置。如图
22-1中所示。
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 133 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Green : Analog
Dx
OPx_CALI[2:0]
PDx
HY_ONx
OPx_MINUS
OPx_PLUS
CxPOSPAD (SFR)
VBG(Bandgap)
1/2 VDD
CxPOSVBG (SFR)
CxPOSVDDD 2(SFR)
Blue : Digital
x : 0,1,2
-
OPxO
OPx
+
MUX
level shifter
CMPxO
(SFR)
CmpxOutEN(SFR)
图 22-1: 比较器模式运作
如果运算放大器和比较器模式两者在同一模块被使能,则 OPA 模式具有更高的优先级。
比较器的中断向量是 93 h。OPA/ Comparator SFR 显示如下所示:
Addr
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
符号
描述
Comparator
OpCmp Pin
Op0E
Cmp0 C0PosVB C0PosP
Cmp1E
OpPin
F6h
Op1En
Select
n
En
G
AD
n
OpCmp Pin
C1Pos
OpPin2
CEh
Select 2
Vddd2
Cmp0CO Comparator_
Hys0E Cmp0
CMF0MS CMF0M
FEh
CMF0
N
0 control
n
o
1
S0
Cmp1CO Comparator_
Hys1E Cmp1
CMF1MS CMF1M
FFh
CMF1
N
1 control
n
o
1
S0
Cmp2CO Comparator_
Hys2E Cmp2
CMF2MS CMF2M
CFh
CMF2
N
2 control
n
o
1
S0
Bit 1
Bit 0
重置值
C1PosV
BG
C0Pos
Vddd2
C1PosP
AD
00h
-
00h
-
-
00h
-
-
00h
-
-
00h
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 134 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
22.1 運算放大器/比较器引脚选择( OpPin )
符号: OpPin
7
6
Op0En
Cmp0En
5
C0PosVBG
4
C0PosPAD
3
Op1En
2
Cmp1En
1
C1PosVBG
地址: F6h
0
Reset
C1PosPAD
00H
Op0En Op0 使能功能.
0 = Op0 电路禁止.
1 = Op0 电路使能,并自动将多功能之 I/O P2.5/P2.6/P2.7 切换到 Op0 相应的信号
Cmp0En : 比较器 0 使能位.
1: 比较器 0 电路使能,并自动将多功能之 I/O P2.5/P2.6/P2.7 切换到比较器 0 相应
的信号.
C0PosVBG : 非反向输入端参考内部固定电压(1.2V±10%)使能位
1: 使能
C0PosPAD: 非反向输入端电压参考外部输入脚电压使能位
1: 使能
Op1En: Op1 使能功能.
0 = Op1 电路禁止.
1 = Op1 电路使能,并自动将多功能之 I/O P2.2/P2.3/P2.4 切换到 Op1 相应的信号.
Cmp1_En : 比较器 1 使能位.
1: 比较器 1 电路使能,并自动将多功能之 I/O P2.2/P2.3/P2.4 切换到比较器 1 相应
的信号.
C1PosVBG: 非反向输入端参考内部固定电压(1.2V±10%)使能位
1: 使能
C1PosPAD: 非反向输入端电压参考外部输入脚电压使能位
1: 使能
OpxEn
0
0
0
0
0
0
0
0
0
1
1
CmpxOut、Cmpx_En、CxPosVBG 及 CxPosPad 设定参考表:
CxPos
CxPos
CxPos
CmpxEn
OP/Comparator
positive input source
VBG
Pad
Vddd2
0
X
X
X
GPIO
N/A
1
0
0
0
Not Allowed
N/A
Reference 1/2 Vdd
1
0
0
1
Comparator
Voltage
Positive pin input
1
0
1
0
Comparator
voltage
1
0
1
1
Not Allowed
N/A
Internal Reference
1
1
0
0
Comparator
Voltage
1
1
0
1
Not Allowed
N/A
1
1
1
0
Not Allowed
N/A
1
1
1
1
Not Allowed
N/A
X
0
0
0
Not Allowed
N/A
Reference 1/2 Vdd
X
0
0
1
OP
Voltage
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 135 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
1
X
0
1
0
OP
1
X
0
1
1
OP
1
X
1
0
0
OP
1
X
1
0
1
Not Allowed
1
X
1
1
0
OP
1
X
1
1
1
Not Allowed
Positive pin input
voltage
OPxPIn output
1/2 Vdd Voltage
Internal Reference
Voltage
N/A
OPxPIn ouput
Internal Reference
Voltage
N/A
22.2 運算放大器/比较器引脚选择 2 ( OpPin2 )
7
Mnemonic: OpPin2
6
5
-
4
3
2
C1PosVddd2
Address: CEh
1
0
Reset
C0PosVddd2
00H
C1PosVddd2: 使能 Comparator_1 正级输入源,如 Vdd 划分 2.( 1/2 Vdd )
0 =禁止正级输入源,如 Vdd 划分 2.
1 =使能正级输入源,如 Vdd 划分 2.
C0PosVddd2: 使能 Comparator_0 正级输入源,如 Vdd 划分 2.( 1/2 Vdd )
0 =禁止正级输入源,如 Vdd 划分 2.
1 =使能正级输入源,如 Vdd 划分 22.
22.3 Comparator 0 控制( Cmp0CON )
符号: Cmp0CON
7
6
Hys0En Cmp0o
5
CMF0MS1
4
CMF0MS0
3
CMF0
2
Cmp0OutEN
1
-
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: 无动作
CMF0: 比较器 0 旗标位
此位依 CMF0MS[1:0]之选择模式条件符合时被置高.此位需由软件清零.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 136 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
Cmp0OutEN: Comparator_0 输出使能.
0 = Comparator_0 将无法输出至外部引脚.
1 = Comparator_0 将输出至外部引脚
22.4 Comparator 1 控制( Cmp1CON )
7
Hys1En
符号: Cmp1CON
6
5
Cmp1o CMF1MS1
4
CMF1MS0
3
CMF1
2
Cmp1OutEN
1
-
地址:FFh
0
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]之选择模式条件符合时被置高.此位需由软件清零.
Cmp1OutEN: Comparator_1 输出使能.
0 = Comparator_1 将无法输出至外部引脚.
1 = Comparator_1 将输出至外部引脚
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 137 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
工作环境
描述
Symbol
Min.
Typ.
Max.
Unit.
Operating temperature
-40
25
85
℃
VDD
Supply voltage
2.2
-
5.5
V
Vref
Internal reference voltage
1.1
1.2
1.3
V
TA
Remarks
Ambient temperature under bias
DC 电气特性
TA = -40℃ to 85℃, Vcc = 5.0V
Symbol
Parameter
Valid
VIL1
Input Low-voltage
VIL2
Input Low-voltage
VIH1
Input High-voltage
VIH2
Input High-voltage
Port 0,1,2,3,4
RESET
XTAL1
Port 0,1,2,3,4
RESET
XTAL1
Vhys
Hysteresis voltage
RESET
VOL
Output Low-voltage
Output High-voltage
VOH1
using Strong Pull-up(1)
Output High-voltage
VOH2
using Weak Pull-up(2)
IIL
ITL
ILI
RRST
CIO
ICC
Logic 0 Input Current
Logical Transition
Current
Input Leakage Current
Reset Pull-down
Resistor
Pin Capacitance
Power Supply Current
Min
Typical
Max
Units
0.3Vdd
V
0.2Vdd
V
0.7Vdd
V
0.8Vdd
V
0.6
Port 0,1,2,3,4
Conditions
V
0.4
V
IOL= 5.5mA
Port 0,1,2,3,4
2.6V
V
IOH= -4.3mA
Port 0,1,2,3,4
2.6V
V
IOH= -100uA
Port 0,1,2,3,4
-75
uA
Vin= 0.45V
Port 0,1,2,3,4
-650
uA
Vin= 2.0V
Port 0,1,2,3,4
±10
uA
0.45V<Vin<Vcc
300
kΩ
10
pF
RES
50
-
16
25
mA
-
10
15
mA
-
9
14
mA
-
3
9
uA
VDD
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
(3) To Be Defined
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 138 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
TA = -40℃ to 85℃, VCC = 3.0V
Symbol
Parameter
Valid
VIL1
Input Low-voltage
VIL2
Input Low-voltage
VIH1
Input High-voltage
VIH2
Input High-voltage
Port 0,1,2,3,4
RESET
XTAL1
Port 0,1,2,3,4
RESET
XTAL1
Vhys
Hysteresis voltage
RESET
VOL
Output Low-voltage
Port 0,1,2,3,4
VOH1
VOH2
IIL
ITL
ILI
RRST
CIO
ICC
Output High-voltage
(1)
using Strong Pull-up
Output High-voltage
using Weak Pull-up(2)
Logic 0 Input Current
Logical Transition
Current
Input Leakage Current
Reset Pull-down
Resistor
Pin Capacitance
Min
Typical
Max
Units
0.3Vdd
V
0.2Vdd
V
0.7Vdd
V
0.8Vdd
V
0.6
Conditions
V
0.4
V
IOL= 3.6mA
Port 0,1,2,3,4
2.6V
V
IOH= -3.0mA
Port 0,1,2,3,4
2.6V
V
IOH= -60uA
Port 0,1,2,3,4
-75
uA
Vin= 0.45V
Port 0,1,2,3,4
-650
uA
Vin= 2.0V
Port 0,1,2,3,4
±10
uA
0.45V<Vin<Vdd
300
kΩ
10
pF
N/A
mA
N/A
mA
N/A
uA
Power Supply Current
RES
50
VDD
Freq= 1MHz, Ta= 25℃
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
(3) To Be Defined
SYMBOL
PARAMETER
Maximum sourced
current
Maximum sink
current
An I/O pin
Total I/O pins
An I/O pin
Total I/O pins
Tj
Max. Junction
Temperature
Absolute Maximum Ratings
MAX
N/A
150
N/A
150
150
UNIT
mA
mA
mA
mA
℃
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 139 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
OPA 电气特性
Parameters
Supply voltage/Operating voltage
Operating current (single Op)
CMRR
PSRR
Input offset voltage
Gain bandwidth product
Phase marge
Slew rate(V/us)
Min
2.5
60
60
-
MAX. load
-
Output source current
Output sink current
-
Typ
5
500
55
0.03
10K Ohm
100 pF
500
500
Max
5.5
200
-
Units
V
uA
dB
dB
mV
KHz
V/us
-
uA
uA
Comparator 电气特性
Ta=25℃
描述
Symbol
IOP
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
-
+/- 20
-
mV
Hysteresis
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 140 -
SM59A16U1
内嵌 64KB
具有 ISP 功能的 Flash
和 6K+256B RAM 的 8 位控制器
LVR (Low Voltage Reset) 电气特性
Reset Function
LVRE
LVRLPE
LVR detect voltage range
Min
Typical
VIL=1.52V
VIL=1.60V
VIH=0.92V
VIH=1.0V
Max
VIL=1.68V
VIH=1.08V
LVI (Low Voltage Interrupt) 电气特性
LVIS[1:0] = 00
LVIS[1:0] = 01
LVIS[1:0] = 10
LVIS[1:0] = 11
LVI detect voltage range
Min
Typical
VIL=1.66V
VIL=1.75V
VIH=1.86V
(VIH=1.95V)
VIL=2.61V
VIL=2.75V
VIH=2.81V
VIH=2.95V
VIL=3.18V
VIL=3.35V
VIH=3.38V
VIH=3.55V
VIL=3.99V
VIL=4.20V
VIH=4.19V
VIH=4.40V
Max
VIL=1.83V
(VIH=2.03V)
VIL=2.88V
(VIH=3.08V
VIL=3.51V
VIH=3.71V
VIL=4.41V
VIH=4.61V
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M072
Ver A SM59A16U1 04/12/2013
- 141 -