SH79F3283
带12位ADC的增强型8051微控制器
1. 特性
基于8051指令流水线结构的8位单片机
Flash ROM:32K字节
RAM:内部256字节,外部1280字节,LCD RAM 28字节
类EEPROM:1024字节
工作电压:
fOSC = 32.768kHz - 16MHz,VDD = 2.0V - 5.5V
振荡器(代码选项):
- 晶体谐振器:32.768kHz
- 晶体谐振器:2MHz - 16MHz
- 陶瓷谐振器:2MHz - 16MHz
- 内部RC振荡器:12MHz(±2%)/128K
30/42/46个CMOS双向I/O管脚
2个可选择的开漏极I/O口(32脚封装无此IO口)
I/O内建上拉电阻
4个16位定时器/计数器:T2,T3,T4和T5
一个12位PWM定时器
一个8位PWM定时器(32脚封装无此功能)
中断源:
- 定时器2,3,4,5
- 外部中断0,1,2,3(32脚无外部中断0,1)
- 外部中断4:8输入
- ADC,EUART,SCM,LPD
- PWM,SPI(32脚封装无SPI功能)
2个增强型EUART(32脚封装只有一个UART0)
SPI接口(主从模式)(32脚封装无SPI功能)
内建蜂鸣器
9通道12位模数转换器(ADC),内建比较功能
LED驱动器:
- 3-8 X 8段(1/3 - 1/8占空比)
LCD驱动器:
- 8 X 24段(1/8占空比,1/4偏置)
- 6 X 26段(1/6占空比,1/4或1/3偏置)
- 5 X 27段(1/5占空比,1/3偏置)
- 4 X 28段(1/4占空比,1/3偏置)
内建低电压复位功能(LVR)(代码选项)
- LVR电压1:4.1V
- LVR电压2:3.7V
- LVR电压1:2.8V
- LVR电压2:2.1V
内建CRC校验模块,校验空间大小可选
支持单线仿真和烧写
CPU机器周期:1个振荡周期
看门狗定时器(WDT)
预热计数器
支持省电运行模式:
- 空闲模式
- 掉电模式
Flash型
封装:TQFP48/LQFP44/LQFP32
2. 概述
SH79F3283是一种高速高效率8051可兼容单片机。在同样振荡频率下,较之传统的8051芯片它有着运行更快速的优越特性。
SH79F3283保留了标准8051芯片的大部分特性。这些特性包括内置256字节RAM,UART和外置中断INT0,INT1,INT2和
INT3。此外,SH79F3283还集成了外部1280字节RAM,可兼容8052芯片的16位定时器/计数器(Timer2)。该单片机还包括适
合于程序存储的32K字节Flash块。
SH79F3283不仅集成了如EUART/SPI等标准通讯模块,此外还集成了LCD驱动器,具有内建比较功能的ADC,PWM定时
器等模块。
此外,SH79F3283内建有CRC模块。
为了达到高可靠性和低功耗,SH79F3283内建看门狗定时器,低电压复位功能及系统时钟监控功能。此外SH79F3283还提
供了2种低功耗省电模式。
1
V2.0
SH79F3283
3. 方框图
VDD
Reset circuit
Power
RST
Pipelined 8051 architecture
Watch Dog
32K Bytes
Flash ROM
Port 5
Configuration I/Os
P5.0~P5.5
Internal 256 Bytes
External 1280Bytes
(Exclude System
Register)
Port 4
Configuration I/Os
P4.0~ P4.7
Port 3
Configuration I/Os
Timer2 (16bit)
Timer3 (16bit)
Timer4 (16bit)
Timer5(16bit)
P3.0~ P3.7
Port 2
Configuration I/Os
P2.0 ~ P2.7
External Interrupt
Port 1
Configuration I/Os
P1.0 ~ P1.7
12-bit PWM
8 bit PWM
Port 0
Configuration I/Os
P0.0 ~ P0.7
Frequency Detect
EUART0/1
2 X COMPARATOR
SPI
Internal
Oscillator
oscillator fail
detector
12-bit ADC
XTAL1
COM1~8
Oscillator
LCD/LED Driver
XTAL2
XTALX1
SEG1~28
Oscillator X
CRC
Buzzer
Jtag ports
(for debug)
XTALX2
2
SH79F3283
4. 引脚配置
29
P3.4/COM5/LED_C5/SGE28/AN4
30
P3.5/COM6/LED_C6/SGE27/AN5
31
P3.2/COM3/LED_C3
32
P3.3/COM4/LED_C4
33
P3.1/COM2/LED_C2
34
P3.0/COM1/LED_C1
P1.2/SEG3/LED_S3/INT46/TDI
35
P1.1/SEG2/LED_S2/INT45/TMS
P1.3/SEG4/LED_S4/INT47/TCK
36
P1.0/SEG1/LED_S1/INT44/TDO/SWE
P1.5/SEG6/LED_S6
P1.4/SEG5/LED_S5
4.1 48引脚TQFP封装
28
27
26
25
LED_S7/SEG7/P1.6
37
24
P3.6/COM7/LED_C7/SGE26/AN6
LED_S8/SEG8/P1.7
38
23
P3.7/COM8/LED_C8/SGE25/AN7
P4.0/INT40/AN0
RXD0/SEG9/P2.0
39
22
TXD0/SEG10/P2.1
40
21
P4.1/INT41/AN1
MOSI/RXD1/SEG11/P2.2
41
20
P4.2/INT42/AN2
MISO/TXD1/SEG12/P2.3
42
SCK/SEG13/P2.4
43
SH79F3283U
19
P4.3/INT43/AN3
18
P4.4/AN8/AVREF
FLT/SS/SEG14/P2.5
44
17
P4.5/SEG24/PWM1
PWM01C/SEG15/P2.6
45
16
P4.6/SEG23
5
6
7
8
9
10
11
12
VDD
4
BUZ/T3/P5.3
3
RST/P5.2
P5.4/SEG20
2
XTAL2/P5.1
13
1
XTAL1/P5.0
48
XTALX1/INT3/P0.7
Vss
PWM0B/SEG18/P0.1
XTALX2/INT2/P0.6
P5.5/SEG21
T2/INT1/P0.5
P4.7/SEG22
14
T2EX/INT0/P0.4
15
PWM0A/T4/P0.3
46
47
PWM01A/SEG19/P0.2
PWM0C/SEG16/P2.7
PWM01B/SEG17/P0.0
TQFP48引脚配置图
注意:
引脚命名中,写在最外侧的引脚功能具有最高优先级,最内侧的引脚功能具有最低优先级(参见引脚配置图)。当一个引
脚被高优先级的功能占用时,即使低优先级功能被允许,也不能作为低优先级功能的引脚。只有当软件禁止引脚的高优先级功
能,相应引脚才能被释放作为低优先级端口使用。
3
SH79F3283
27
P3.2/COM3/LED_C3
28
P3.3/COM4/LED_C4
29
P3.0/COM1/LED_C1
30
P3.1/COM2/LED_C2
P1.1/SEG2/LED_S2/INT45/TMS
P1.0/SEG1/LED_S1/INT44/TDO/SWE
31
P1.3/SEG4/LED_S4/INT47/TCK
32
P1.2/SEG3/LED_S3/INT46/TDI
P1.5/SEG6/LED_S6
33
P1.4/SEG5/LED_S5
P1.6/SEG7/LED_S7
4.2 44引脚LQFP封装
26
25
24
23
LED_S8/SEG8/P1.7
34
22
RXD0/SEG9/P2.0
35
21
P3.4/COM5/LED_C5/SEG28/AN4
P3.5/COM6/LED_C6/SGE27/AN5
P3.6/COM7/LED_C7/SGE26/AN6
TXD0/SEG10/P2.1
36
20
MOSI/RXD1/SEG11/P2.2
37
19
P3.7/COM8/LED_C8/SGE25/AN7
MISO/TXD1/SEG12/P2.3
38
18
P4.0/INT40/AN0
SH79F3283P
14
P4.4/AN8/AVREF
PWM01B/SEG17/P0.0
43
13
P4.5/SEG24/PWM1
PWM0B/SEG18/P0.1
44
12
VDD
2
3
4
5
T2/INT1/P0.5
XTALX2/INT2/P0.6
1
6
7
8
9
10
11
RST/P5.2
42
BUZ/T3/P5.3
P4.3/INT43/AN3
PWM0C/SEG16/P2.7
XTAL2/P5.1
15
XTAL1/P5.0
41
Vss
P4.2/INT42/AN2
PWM01C/SEG15/P2.6
XTALX1/INT3/P0.7
P4.1/INT41/AN1
16
T2EX/INT0/P0.4
17
40
PWM0A/T4/P0.3
39
PWM01A/SEG19/P0.2
SCK/SEG13/P2.4
FLT/SS/SEG14/P2.5
LQFP44引脚配置图
注意:
引脚命名中,写在最外侧的引脚功能具有最高优先级,最内侧的引脚功能具有最低优先级(参见引脚配置图)。当一个引
脚被高优先级的功能占用时,即使低优先级功能被允许,也不能作为低优先级功能的引脚。只有当软件禁止引脚的高优先级功
能,相应引脚才能被释放作为低优先级端口使用。
4
SH79F3283
P1.0/SEG1/LED_S1/INT44/TDO/SWE
P3.0/COM1/LED_C1
P3.1/COM2/LED_C2
P3.2/COM3/LED_C3
P3.3/COM4/LED_C4
24
23
22
21
20
19
18
P3.4/COM5/LED_C5/SGE28/AN4
P1.2/SEG3/LED_S3/INT46/TDI
P1.1/SEG2/LED_S2/INT45/TMS
4.3 32引脚LQFP封装
17
TCK/INT47/LED_S4/SEG4/P1.3
25
16
P3.5/COM6/LED_C6/SGE27/AN5
LED_S5/SEG5/P1.4
26
15
P3.6/COM7/LED_C7/SGE26/AN6
RXD0/SEG9/P2.0
27
14
P3.7/COM8/LED_C8/SGE25/AN7
TXD0/SEG10/P2.1
28
FLT/SEG14/P2.5
29
4
5
6
7
8
VDD
3
BUZ/T3/P5.3
2
RST/P5.2
1
XTAL2/P5.1
32
XTAL1/P5.0
PWM0A/T4/P0.3
11
VSS
31
XTALX1/INT3/P0.7
30
12
XTALX2/INT2/P0.6
PWM01C/SEG15/P2.6
PWM01A/SEG19/P0.2
SH79F3283P
13
P4.0/INT40/AN0
P4.1/INT41/AN1
P4.2/INT42/AN2
10
P4.3/INT43/AN3
9
P4.4/AN8/AVREF
LQFP32引脚配置图
注意:
引脚命名中,写在最外侧的引脚功能具有最高优先级,最内侧的引脚功能具有最低优先级(参见引脚配置图)。当一个引
脚被高优先级的功能占用时,即使低优先级功能被允许,也不能作为低优先级功能的引脚。只有当软件禁止引脚的高优先级功
能,相应引脚才能被释放作为低优先级端口使用。
5
SH79F3283
Table 4.1 引脚功能
引脚编号
(TQFP48)
引脚编号
(LQFP44)
引脚编号
(LQFP32)
引脚命名
默认功能
1
1
31
PWM01A/SEG19/P0.2
P0.2
2
2
32
PWM0A/T4/P0.3
P0.3
*3
*3
-
T2EX/INT0/P0.4
P0.4
*4
*4
-
T2/INT1/P0.5
P0.5
5
5
1
XTALX2/INT2/P0.6
P0.6
6
6
2
XTALX1/INT3/P0.7
P0.7
7
7
3
VSS
----
8
8
4
XTAL1/P5.0
----
9
9
5
XTAL2/P5.1
————
---————
10
10
6
11
11
7
12
12
8
VDD
----
13
-
-
SEG20/P5.4
P5.4
14
-
-
SEG21/P5.5
P5.5
15
-
-
SEG22/P4.7
P4.7
16
-
-
SEG23/P4.6
P4.6
17
13
-
PWM1/SEG24/P4.5
P4.5
18
14
9
AVREF/AN8/P4.4
P4.4
19
15
10
AN3/INT43/P4.3
P4.3
20
16
11
AN2/INT42/P4.2
P4.2
21
17
12
AN1/INT41/P4.1
P4.1
22
18
13
AN0/INT40/P4.0
P4.0
23
19
14
AN7/SEG25/LED_C8/COM8/P3.7
P3.7
24
20
15
AN6/SEG26/LED_C7/COM7/P3.6
P3.6
25
21
16
AN5/SEG27/LED_C6/COM6/P3.5
P3.5
26
22
17
AN4/SEG28/LED_C5/COM5/P3.4
P3.4
27
23
18
LED_C4/COM4/P3.3
P3.3
28
24
19
LED_C3/COM3/P3.2
P3.2
29
25
20
LED_C2/COM2/P3.1
P3.1
30
26
21
LED_C1/COM1/P3.0
P3.0
31
27
22
INT44/LED_S1/SEG1/P1.0
P1.0
32
28
23
INT45/LED_S2/SEG2/P1.1
P1.1
33
29
24
INT46/LED_S3/SEG3/P1.2
P1.2
34
30
25
INT47/LED_S4/SEG4/P1.3
P1.3
35
31
26
LED_S5/SEG5/P1.4
P1.4
36
32
-
LED_S6/SEG6/P1.5
P1.5
RST/P5.2
RST
BUZ/T3/P5.3
P5.3
6
SH79F3283
续上表
引脚编号
(TQFP48)
引脚编号
(LQFP44)
引脚编号
(LQFP32)
引脚命名
默认功能
37
33
-
LED_S7/SEG7/P1.6
P1.6
38
34
-
LED_S8/SEG8/P1.7
P1.7
39
35
27
RXD0/SEG9/P2.0
P2.0
40
36
28
TXD0/SEG10/P2.1
P2.1
41
37
-
MOSI/RXD1/SEG11/P2.2
P2.2
42
38
-
MISO/TXD1/SEG12/P2.3
P2.3
43
39
-
SCK/SEG13/P2.4
P2.4
44
40
29
FLT/SS/SEG14/P2.5
P2.5
45
41
30
PWM01C/SEG15/P2.6
P2.6
46
42
-
PWM0C/SEG16/ P2.7
P2.7
47
43
-
PWM01B/SEG17/P0.0
P0.0
48
44
-
PWM0B/SEG18/P0.1
P0.1
*:该端口作为N-通道的开漏
7
SH79F3283
5. 引脚描述
引脚命名
类型
说明
I/O端口
P0.0 - P0.7
I/O
8位双向I/O端口
P1.0 - P1.7
I/O
8位双向I/O端口
P2.0 - P2.7
I/O
8位双向I/O端口
P3.0 - P3.7
I/O
8位双向I/O端口
P4.0 - P4.7
I/O
8位双向I/O端口
P5.0 - P5.5
I/O
6位双向I/O端口
定时器
定时器2外部输入/波特率时钟输出
T2
I/O
T3
I
T4
I/O
定时器4外部输入/比较输出
T2EX
I
定时器2重载/捕捉/方向控制
定时器3外部输入
PWM控制器
PWM0A/0B/0C
O
12位PWM0定时器输出引脚
PWM01A/01B/01C
O
12位PWM0定时器互补输出引脚
FLT
I
PWM0故障检测输入引脚
PWM1
O
8位PWM1定时器输出引脚
RXD0/1
I
EUART0/1数据输入引脚
TXD0/1
O
EUART0/1数据输出引脚
MOSI
I/O
SPI主输出从输入引脚
MISO
I/O
SPI主输入从输出引脚
SCK
I/O
SPI串行时钟引脚
———
I
SPI从设备选择引脚
AN0 - AN7
I
ADC输入通道
AVREF
I
ADC外部参考电压引脚
EUART
SPI
SS
ADC
LCD控制器
COM1 - COM8
O
LCD显示COM信号输出引脚
SEG1 - SEG28
O
LCD显示Segment信号输出引脚
LED_C1 - LED_C8
O
LED显示COM信号输出引脚
LED_S1 - LED_S8
O
LED显示Segment信号输出引脚
LED驱动器
8
SH79F3283
续上表
引脚命名
类型
说明
中断&复位&时钟&电源
INT0 - INT3
I
外部中断0 - 3
INT40 - INT47
I
外部中断40 - 47
I
该引脚上保持10µs以上的低电平,CPU将复位。由于有内建30kΩ上拉电阻
连接到VDD,所以仅接一个外部电容即可实现上电复位。
XTAL1
I
谐振器输入
XTAL2
O
谐振器输出
XTALX1
I
谐振器X输入
XTALX2
O
谐振器X输出
————
RST
VSS
P
接地
VDD
P
电源(2.0 - 5.5V)
BUZ
O
蜂鸣器输出
蜂鸣器
编程接口
TDO(P1.0)
O
调试接口:测试数据输出
TMS(P1.1)
I
调试接口:测试模式选择
TDI(P1.2)
I
调试接口:测试数据输入
TCK(P1.3)
I
调试接口:测试时钟输入
SWE(P1.0)
I/O
单线仿真接口
注意:
当P1.0-1.3作为调试接口时,原有功能被禁止
9
SH79F3283
6. SFR映像
SH79F3283内置256字节的直接寻址寄存器,包括通用数据存储器和特殊功能寄存器(SFR),SH79F3283的SFR有以下
几种:
CPU内核寄存器:
ACC,B,PSW,SP,DPL,DPH
CPU内核增强寄存器: AUXC,DPL1,DPH1,INSCON,XPAGE
电源时钟控制寄存器: PCON,SUSLO
Flash寄存器:
IB_OFFSET,IB_DATA,IB_CON1,IB_CON2,IB_CON3,IB_CON4,IB_CON5
数据页面控制寄存器: XPAGE
看门狗定时器寄存器: RSTSTAT
系统时钟控制寄存器: CLKCON,SCMCON
中断寄存器:
IEN0,IEN1,IENC,IPH0,IPL0,IPH1,IPL1,EXF0,EXF1,EXCON
I/O口寄存器:
P0,P1,P2,P3,P4,P5,P0CR,P1CR,P2CR,P3CR,P4CR,P5CR,P0PCR,P1PCR,
P2PCR,P3PCR,P4PCR,P5PCR,P0OS
定时器寄存器:
TCON,T2CON,T2MOD,TH2,TL2,RCAP2L,RCAP2H,T3CON,TH3,TL3,T4CON,
TH4,TL4,SWTHL,T5CON,TH5,TL5
EUART寄存器:
SCON,SBUF,SADEN,SADDR,PCON,SCON1,SBUF1,SADEN1,SADDR1,SBRTL,
SBRTH,BFINE
SPI寄存器:
SPCON,SPSTA,SPDAT
ADC寄存器:
ADCON,ADT,ADCH,ADDL,ADDH,ADCON1
LCD寄存器:
DISPCON,DISPCON1,DISPCLK0,P0SS,P1SS,P2SS,P3SS
LED寄存器:
DISPCON,DISPCLK0,P1SS,P3SS
BUZZER寄存器:
BUZCON
PWM寄存器:
PWMEN,PWMEN1,PWM0C,PWM0PL,PWM0PH,PWM0DL,PWM0DH,PWM1C,PWM1P,
PWM1D
LPD寄存器:
LPDCON
CRC寄存器:
CRCCON,CRCDL,CRCDH
10
SH79F3283
Table 6.1 C51核SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
ACC
E0H
累加器
00000000
ACC.7
ACC.6
ACC.5
ACC.4
ACC.3
ACC.2
ACC.1
ACC.0
B
F0H
B寄存器
00000000
B.7
B.6
B.5
B.4
B.3
B.2
B.1
B.0
AUXC
F1H
C寄存器
00000000
C.7
C.6
C.5
C.4
C.3
C.2
C.1
C.0
PSW
D0H
程序状态字
00000000
CY
AC
F0
RS1
RS0
OV
F1
P
SP
81H
堆栈指针
00000111
SP.7
SP.6
SP.5
SP.4
SP.3
SP.2
SP.1
SP.0
DPL
82H
数据指针低位字节
00000000
DPL0.7
DPL0.6
DPL0.5
DPL0.4
DPL0.3
DPL0.2
DPL0.1
DPL0.0
DPH
83H
数据指针高位字节
00000000
DPH0.7
DPH0.6
DPH0.5
DPH0.4
DPH0.3
DPH0.2
DPH0.1
DPH0.0
DPL1
84H
数据指针1低位字节
00000000
DPL1.7
DPL1.6
DPL1.5
DPL1.4
DPL1.3
DPL1.2
DPL1.1
DPL1.0
DPH1
85H
数据指针1高位字节
00000000
DPH1.7
DPH1.6
DPH1.5
DPH1.4
DPH1.3
DPH1.2
DPH1.1
DPH1.0
INSCON
86H
数据指针选择
-0--00-0
-
BKS0
-
-
DIV
MUL
-
DPS
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
Table 6.2 电源时钟控制SFRs
符号
地址
名称
PCON
87H
电源控制
000-0000
SMOD
SSTAT
SSTAT1
-
GF1
GF0
PD
IDL
SUSLO
8EH
电源控制保护字
00000000
SUSLO.7
SUSLO.6
SUSLO.5
SUSLO.4
SUSLO.3
SUSLO.2
SUSLO.1
SUSLO.0
11
SH79F3283
Table 6.3 Flash控制SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IB_OFF
SET
FBH
Bank0
可编程flash低位字节偏移
00000000
IB_OFF
SET.7
IB_OFF
SET.6
IB_OFF
SET.5
IB_OFF
SET.4
IB_OFF
SET.3
IB_OFF
SET.2
IB_OFF
SET.1
IB_OFF
SET.0
IB_DATA
FCH
Bank0
可编程flash数据寄存器
00000000
IB_DATA.7
IB_DATA.6
IB_DATA.5
IB_DATA.4
IB_DATA.3
IB_DATA.2
IB_DATA.1
IB_DATA.0
IB_CON1
F2H
Bank0
flash控制寄存器1
00000000
IB_CON1.7 IB_CON1.6 IB_CON1.5 IB_CON1.4 IB_CON1.3 IB_CON1.2 IB_CON1.1 IB_CON1.0
IB_CON2
F3H
Bank0
flash控制寄存器2
----0000
-
-
-
-
IB_CON2.3 IB_CON2.2 IB_CON2.1 IB_CON2.0
IB_CON3
F4H
Bank0
flash控制寄存器3
----0000
-
-
-
-
IB_CON3.3 IB_CON3.2 IB_CON3.1 IB_CON3.0
IB_CON4
F5H
Bank0
flash控制寄存器4
----0000
-
-
-
-
IB_CON4.3 IB_CON4.2 IB_CON4.1 IB_CON4.0
IB_CON5
F6H
Bank0
flash控制寄存器5
----0000
-
-
-
-
IB_CON5.3 IB_CON5.2 IB_CON5.1 IB_CON5.0
XPAGE
F7H
Bank0
编程用地址选择寄存器
-0000000
-
XPAGE.6
XPAGE.5
XPAGE.4
XPAGE.3
XPAGE.2
XPAGE.1
XPAGE.0
FLASHCON
A7H
Bank0
flash控制寄存器
-------0
-
-
-
-
-
-
-
FAC
Table 6.4 WDT SFR
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
RSTSTAT
B1H
Bank0
看门狗定时器控制寄存器
0-000000*
WDOF
-
PORF
LVRF
CLRF
WDT.2
WDT.1
WDT.0
注意:*表示不同情况的复位决定RSTSTAT寄存器中的复位值,详见WDT章节
Table 6.5 时钟控制SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
CLKCON
B2H
Bank0
系统时钟选择
111000--
32k_
SPDUP
CLKS1
CLKS0
SCMIF
HFON
FS
-
-
SCMCON
A1H
Bank0
SCM时钟选择
-----011
-
-
-
-
-
SCK2
SCK1
SCK0
12
SH79F3283
Table 6.6 中断 SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IEN0
A8H
Bank0
中断允许控制0
00000000
EA
EADC
ET2
ES
ECMP
EX1
ET5
EX0
IEN1
A9H
Bank0
中断允许控制1
00000000
ESCM_LPD
_CRC
ET4
EPWM
ET3_ES1
EX4
EX3
EX2
ESPI
IENC
BAH
Bank0
中断通道允许控制
00000000
EXS47
EXS46
EXS45
EXS44
EXS43
EXS42
EXS41
EXS40
IENC1
BBH
Bank0
中断通道允许控制1
-0000000
-
ECRC
ES1
ET3
ECMP1
ECMP2
ESCM
ELPD
IPH0
B4H
Bank0
中断优先权控制高位0
-0000000
-
PADCH
PT2H
PSH
PCMPH
PX1H
PT5H
PX0H
IPL0
B8H
Bank0
中断优先权控制低位0
-0000000
-
PADCL
PT2L
PSL
PCMPL
PX1L
PT5L
PX0L
IPH1
B5H
Bank0
中断优先权控制高位1
00000000
PSCMH
PT4H
PPWMH
PT3S1H
PX4H
PX3H
PX2H
PSPIH
IPL1
B9H
Bank0
中断优先权控制低位1
00000000
PSCML
PT4L
PPWML
PT3S1L
PX4L
PX3L
PX2L
PSPIL
EXF0
E8H
Bank0
外部中断寄存器0
00000000
IT4.1
IT4.0
IT3.1
IT3.0
IT2.1
IT2.0
IE3
IE2
EXF1
D8H
Bank0
外部中断寄存器1
00000000
IF47
IF46
IF45
IF44
IF43
IF42
IF41
IF40
EXCON
8BH
Bank0
外部中断采样控制
00000000
I1PS1
I1PS0
I1SN1
I1SN0
I0PS1
I0PS0
I0SN1
I0SN0
13
SH79F3283
Table 6.7 端口SFRs
符号
P0
P1
P2
P3
P4
P5
P0CR
P1CR
P2CR
P3CR
P4CR
P5CR
P0PCR
P1PCR
P2PCR
P3PCR
P4PCR
P5PCR
P0OS
地址
80H
Bank0
90H
Bank0
A0H
Bank0
B0H
Bank0
C0H
Bank0
80H
Bank1
E1H
Bank0
E2H
Bank0
E3H
Bank0
E4H
Bank0
E5H
Bank0
E1H
Bank1
E9H
Bank0
EAH
Bank0
EBH
Bank0
ECH
Bank0
EDH
Bank0
E9H
Bank1
EFH
Bank0
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
8位端口0
00000000
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
8位端口1
00000000
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
8位端口2
00000000
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
8位端口3
00000000
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
8位端口4
00000000
P4.7
P4.6
P4.5
P4.4
P4.3
P4.2
P4.1
P4.0
6位端口5
--000000
-
-
P5.5
P5.4
P5.3
P5.2
P5.1
P5.0
端口0输入/输出方向控制
00000000
P0CR.7
P0CR.6
P0CR.5
P0CR.4
P0CR.3
P0CR.2
P0CR.1
P0CR.0
端口1输入/输出方向控制
00000000
P1CR.7
P1CR.6
P1CR.5
P1CR.4
P1CR.3
P1CR.2
P1CR.1
P1CR.0
端口2输入/输出方向控制
00000000
P2CR.7
P2CR.6
P2CR.5
P2CR.4
P2CR.3
P2CR.2
P2CR.1
P2CR.0
端口3输入/输出方向控制
00000000
P3CR.7
P3CR.6
P3CR.5
P3CR.4
P3CR.3
P3CR.2
P3CR.1
P3CR.0
端口4输入/输出方向控制
00000000
P4CR.7
P4CR.6
P4CR.5
P4CR.4
P4CR.3
P4CR.2
P4CR.1
P4CR.0
端口5输入/输出方向控制
--000000
-
-
P5CR.5
P5CR.4
P5CR.3
P5CR.2
P5CR.1
P5CR.0
端口0内部上拉允许
00000000
P0PCR.7
P0PCR.6
P0PCR.5
P0PCR.4
P0PCR.3
P0PCR.2
P0PCR.1
P0PCR.0
端口1内部上拉允许
00000000
P1PCR.7
P1PCR.6
P1PCR.5
P1PCR.4
P1PCR.3
P1PCR.2
P1PCR.1
P1PCR.0
端口2内部上拉允许
00000000
P2PCR.7
P2PCR.6
P2PCR.5
P2PCR.4
P2PCR.3
P2PCR.2
P2PCR.1
P2PCR.0
端口3内部上拉允许
00000000
P3PCR.7
P3PCR.6
P3PCR.5
P3PCR.4
P3PCR.3
P3PCR.2
P3PCR.1
P3PCR.0
端口4内部上拉允许
00000000
P4PCR.7
P4PCR.6
P4PCR.5
P4PCR.4
P4PCR.3
P4PCR.2
P4PCR.1
P4PCR.0
端口5内部上拉允许
--000000
-
-
P5PCR.5
P5PCR.4
P5PCR.3
P5PCR.2
P5PCR.1
P5PCR.0
输出模式选择
--00----
-
-
P0OS.5
P0OS.4
-
-
-
-
14
SH79F3283
Table 6.8 定时器 SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
TCON
88H
Bank0
定时器/计数器控制寄存器
----0000
-
-
-
-
IE1
IT1
IE0
IT0
T2CON
C8H
Bank0
定时器/计数器2控制寄存器
00000000
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
--------
------------
C/T 2
CP/R L 2
T2MOD
C9H
Bank0
定时器/计数器2模式寄存器
0-----00
TCLKP2
-
-
-
-
-
T2OE
DCEN
RCAP2L
CAH
定时器/计数器2重载/截获低位字节
Bank0
00000000
RCAP2L.7
RCAP2L.6
RCAP2L.5
RCAP2L.4
RCAP2L.3
RCAP2L.2
RCAP2L.1
RCAP2L.0
RCAP2H
CBH
定时器/计数器2重载/截获高位字节
Bank0
00000000
RCAP2H.7
RCAP2H.6
RCAP2H.5
RCAP2H.4
RCAP2H.3
RCAP2H.2
RCAP2H.1
RCAP2H.0
TL2
CCH
Bank0
定时器/计数器2低位字节
00000000
TL2.7
TL2.6
TL2.5
TL2.4
TL2.3
TL2.2
TL2.1
TL2.0
TH2
CDH
Bank0
定时器/计数器2高位字节
00000000
TH2.7
TH2.6
TH2.5
TH2.4
TH2.3
TH2.2
TH2.1
TH2.0
T3CON
88H
Bank1
定时器/计数器3控制寄存器
0-00-000
TF3
-
T3PS.1
T3PS.0
-
TR3
T3CLKS.1
T3CLKS.0
SWTHL
89H
Bank1
定时器/计数器读数据切换控制
------00
-
-
-
-
-
-
T5HLCON
T3HLCON
TL3
8CH
Bank1
定时器/计数器3低位字节
00000000
TL3.7
TL3.6
TL3.5
TL3.4
TL3.3
TL3.2
TL3.1
TL3.0
TH3
8DH
Bank1
定时器/计数器3高位字节
00000000
TH3.7
TH3.6
TH3.5
TH3.4
TH3.3
TH3.2
TH3.1
TH3.0
T4CON
C8H
Bank1
定时器/计数器4控制寄存器
00000000
TF4
TC4
T4PS1
T4PS0
T4M1
T4M0
TR4
T4CLKS
TL4
CCH
Bank1
定时器/计数器4低位字节
00000000
TL4.7
TL4.6
TL4.5
TL4.4
TL4.3
TL4.2
TL4.1
TL4.0
TH4
CDH
Bank1
定时器/计数器4高位字节
00000000
TH4.7
TH4.6
TH4.5
TH4.4
TH4.3
TH4.2
TH4.1
TH4.0
T5CON
C0H
Bank1
定时器/计数器5控制寄存器
0-00--0-
TF5
-
T5PS1
T5PS0
-
-
TR5
-
TL5
CEH
Bank1
定时器/计数器5低位字节
00000000
TL5.7
TL5.6
TL5.5
TL5.4
TL5.3
TL5.2
TL5.1
TL5.0
TH5
CFH
Bank1
定时器/计数器5高位字节
00000000
TH5.7
TH5.6
TH5.5
TH5.4
TH5.3
TH5.2
TH5.1
TH5.0
15
SH79F3283
Table 6.9 EUART SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
SCON
98H
Bank0
EUART0串行控制
00000000
SM0/FE
SBUF
99H
Bank0
EUART0串行数据缓冲器
00000000
SBUF.7
SBUF.6
SADEN
9BH
Bank0
EUART0从属地址掩码
00000000
SADEN.7
SADDR
9AH
Bank0
EUART0从属地址
00000000
PCON
87H
Bank0
电源和串行控制
SCON1
98H
Bank1
SBUF1
第6位
第5位
第4位
第3位
第2位
第1位
第0位
REN
TB8
RB8
TI
RI
SBUF.5
SBUF.4
SBUF.3
SBUF.2
SBUF.1
SBUF.0
SADEN.6
SADEN.5
SADEN.4
SADEN.3
SADEN.2
SADEN.1
SADEN.0
SADDR.7
SADDR.6
SADDR.5
SADDR.4
SADDR.3
SADDR.2
SADDR.1
SADDR.0
00--0000
SMOD
SSTAT
-
-
GF1
GF0
PD
IDL
EUART1串行控制
00000000
SM10/FE1
SM11/
RXOV1
SM12/
TXCOL1
REN1
TB18
RB18
TI1
RI1
99H
Bank1
EUART1串行数据缓冲器
00000000
SBUF1.7
SBUF1.6
SBUF1.5
SBUF1.4
SBUF1.3
SBUF1.2
SBUF1.1
SBUF1.0
SADEN1
9AH
Bank1
EUART1从属地址掩码
00000000
SADEN1.7
SADEN1.6
SADEN1.5
SADEN1.4
SADEN1.3
SADEN1.2
SADEN1.1
SADEN1.0
SADDR1
9BH
Bank1
EUART1从属地址
00000000
SADDR1.7
SADDR1.6
SADDR1.5
SADDR1.4
SADDR1.3
SADDR1.2
SADDR1.1
SADDR1.0
SBRTH
9DH
Bank1
EUART1波特率发生器高位
00000000
SBRTEN
SBRT.14
SBRT.13
SBRT.12
SBRT.11
SBRT.10
SBRT.9
SBRT.8
SBRTL
9CH
Bank1
EUART1波特率发生器低位
00000000
SBRT.7
SBRT.6
SBRT.5
SBRT.4
SBRT.3
SBRT.2
SBRT.1
SBRT.0
BFINE
9EH
Bank1
EUART1波特率发生器微调
0000----
BFINE.7
BFINE.6
BFINE.5
BFINE.4
-
-
-
-
SM1/RXOV SM2/TXCOL
Table 6.10 SPI SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SPCON
A2H
Bank0
SPI控制寄存器
00000000
DIR
MSTR
CPHA
CPOL
SSDIS
SPR2
SPR1
SPR0
SPSTA
F8H
Bank0
SPI状态寄存器
00000---
SPEN
SPIF
MODF
WCOL
RXOV
-
-
-
SPDAT
A3H
Bank0
SPI数据寄存器
00000000
SPDAT7
SPDAT6
SPDAT5
SPDAT4
SPDAT3
SPDAT2
SPDAT1
SPDAT0
16
SH79F3283
Table 6.11 ADC SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
ADCON
93H
Bank0
ADC控制
00000000
ADON
ADCIF
EC
REFC
SCH2
SCH1
SCH0
GO/DON E
ADT
94H
Bank0
ADC时间配置
00000000
TADC2
TADC1
TADC0
CDIR
TS3
TS2
TS1
TS0
ADCH
95H
Bank0
ADC通道配置
00000000
CH7
CH6
CH5
CH4
CH3
CH2
CH1
CH0
ADDL
96H
Bank0
ADC数据低位字节
----0000
-
-
-
-
A3
A2
A1
A0
ADDH
97H
Bank0
ADC数据高位字节
00000000
A11
A10
A9
A8
A7
A6
A5
A4
ADCON1
92H
Bank0
ADC控制1
-----000
-
-
-
-
-
RESO
CH8
SCH3
----------------
Table 6.12 Buzzer SFR
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
BUZCON
BDH
Bank0
蜂鸣器输出控制
----0000
-
-
-
-
BCA2
BCA1
BCA0
BZEN
Table 6.13 LCD SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
DISPCON
ABH
Bank0
LCD控制寄存器
00000000
DISPSEL
LCDON
ELCC
DUTY0
VOL3
VOL2
VOL1
VOL0
DISPCON1
ADH
Bank0
LCD控制寄存器1
00000000
MODSW
DUTY2
DUTY1
RLCD
FCCTL1
FCCTL0
MOD1
MOD0
DISPCLK0
ACH
Bank0
LCD时钟控制寄存器0
------00
-
-
-
-
-
-
DCK1
DCK0
P0SS
B6H
Bank0
P0模式选择寄存器
00000000
P4S7
P4S6
P4S5
P5S5
P5S4
P0S2
P0S1
P0S0
P1SS
9CH
Bank0
P1模式选择寄存器
00000000
P1S7
P1S6
P1S5
P1S4
P1S3
P1S2
P1S1
P1S0
P2SS
9DH
Bank0
P2模式选择寄存器
00000000
P2S7
P2S6
P2S5
P2S4
P2S3
P2S2
P2S1
P2S0
P3SS
9EH
Bank0
P3模式选择寄存器
00000000
P3S7
P3S6
P3S5
P3S4
P3S3
P3S2
P3S1
P3S0
17
SH79F3283
Table 6.14 LED SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
DISPCON
ABH
Bank0
LED控制寄存器
00-0----
DISPSEL
LEDON
-
DUTY0
-
-
-
-
DISPCON1
ADH
Bank0
LED控制寄存器1
000-----
MODSW
DUTY2
DUTY1
-
-
-
-
-
DISPCLK0
ACH
Bank0
LED时钟控制寄存器0
------00
-
-
-
-
-
-
DCK1
DCK0
P1SS
9CH
Bank0
P1模式选择寄存器
00000000
P1S7
P1S6
P1S5
P1S4
P1S3
P1S2
P1S1
P1S0
P3SS
9EH
Bank0
P3模式选择寄存器
00000000
P3S7
P3S6
P3S5
P3S4
P3S3
P3S2
P3S1
P3S0
第5位
第4位
第3位
第2位
第1位
第0位
Table 6.15 PWM SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
PWMEN
CFH
Bank0
PWM0定时器允许
00000000
EPWM0
EFLT
PWMLO
E7H
Bank0
PWM0保护
00000000
PWMLO.7
PWMLO.6
PWMLO.5
PWMLO.4
PWMLO.3
PWMLO.2
PWMLO.1
PWMLO.0
PWM0C
D2H
Bank0
12位PWM0控制
00000000
PWM0IE
PWM0IF
TnCK02
FLTS
FLTC
PWM0S
TnCK01
TnCK00
PWM0PL
D3H
Bank0
12位PWM0周期控制低位
00000000
PP0.7
PP0.6
PP0.5
PP.4
PP0.3
PP0.2
PP0.1
PP0.0
PWM0PH
D4H
Bank0
12位PWM0周期控制高位
----0000
-
-
-
-
PP0.11
PP0.10
PP0.9
PP0.8
PWM0DL
D5H
Bank0
12位PWM0占空比控制低位
00000000
PD0.7
PD0.6
PD0.5
PD0.4
PD0.3
PD0.2
PD0.1
PD0.0
PWM0DH
D6H
Bank0
12位PWM0占空比控制高位
----0000
-
-
-
-
PD0.11
PD0.10
PD0.9
PD0.8
PWM0DT
D1H
Bank0
12位PWM0死区控制
00000000
DT0.7
DT0.6
DT0.5
DT0.4
DT0.3
DT0.2
DT0.1
DT0.0
PWM1C
D9H
Bank0
8位PWM1控制寄存器
0000-000
PWM1EN
PWM1S
TnCK11
TnCK10
PWM1IE
PWM1IF
PWM1OE
PWM1P
DAH
Bank0
8位PWM1周期寄存器
00000000
PP1.7
PP1.6
PP1.5
PP1.4
PP1.3
PP1.2
PP1.1
PP1.0
PWM1D
DBH
Bank0
8位PWM1占空比寄存器
00000000
PD1.7
PD1.6
PD1.5
PD1.4
PD1.3
PD1.2
PD1.1
PD1.0
18
PWM01COE PWM01BOE PWM01AOE PWM0COE PWM0BOE PWM0AOE
-
SH79F3283
Table 6.16 LPD SFR
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
LPDCON
B3H
Bank0
LPD控制
00000000
LPDEN
LPDF
LPDMD
LPDIF
LPDS3
LPDS2
LPDS1
LPDS0
Table 6.17 CRC SFRs
符号
地址
名称
POR/WDT/LVR
/PIN复位值
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
CRCCON
FDH
Bank0
CRC校验控制
00--0000
CRC_GO
CRCIF
-
-
CRCADR3
CRCADR2
CRCADR1
CRCADR0
CRCDL
F9H
Bank0
CRC校验结果低位
00000000
CRCD7
CRCD6
CRCD5
CRCD4
CRCD3
CRCD2
CRCD1
CRCD0
CRCDH
FAH
Bank0
CRC校验结果高位
00000000
CRCD15
CRCD14
CRCD13
CRCD12
CRCD11
CRCD10
CRCD9
CRCD8
注意:- :保留位。
19
SH79F3283
SFR映像图
Bank0
可位寻址
不可位寻址
0/8
1/9
2/A
3/B
4/C
5/D
F8H
SPSTA
F0H
B
CRCDL
CRCDH
AUXC
IB_CON1
E8H
E0H
EXF0
P0PCR
ACC
P0CR
D8H
EXF1
PWM1C
PWM1P
PWM1D
D0H
PSW
PWM0DT
PWM0C
C8H
T2CON
T2MOD
RCAP2L
6/E
7/F
IB_OFFSET
IB_DATA
CRCCON
IB_CON2
IB_CON3
IB_CON4
IB_CON5
XPAGE
F7H
P1PCR
P2PCR
P3PCR
P1CR
P2CR
P3CR
P4PCR
P0OS
EFH
P4CR
PWMLO
E7H
PWM0PL
PWM0PH
PWM0DL
RCAP2H
TL2
TH2
FFH
DFH
P4
B8H
IPL0
IPL1
B0H
P3
RSTSTAT
CLKCON
LPDCON
IPH0
IPH1
A8H
IEN0
IEN1
DISPCLK1
DISPCON
DISPCLK0
DISPCON1
A0H
P2
SCMCON
SPCON
SPDAT
ISPLO
ISPCON
98H
SCON
SBUF
SADDR
SADEN
P1SS
P2SS
P3SS
ADCON1
ADCON
ADT
ADCH
P1
88H
TCON
80H
IENC
IENC1
INVCON
D7H
PWMEN
C0H
90H
CMP1CON CMP2CON CMPCON0 CMPCON1
PWM0DH
INVCTL
INVCTH
BUZCON
EXCON
CFH
C7H
BFH
P0SS
B7H
AFH
ADDL
FLASHCON
A7H
9FH
ADDH
SUSLO
97H
8FH
P0
SP
DPL
DPH
DPL1
DPH1
INSCON
PCON
0/8
1/9
2/A
3/B
4/C
5/D
6/E
7/F
5/D
6/E
7/F
87H
Bank1
可位寻址
0/8
不可位寻址
1/9
2/A
3/B
4/C
F8H
F0H
FFH
B
E8H
E0H
ACC
AUXC
XPAGE
EFH
P5CR
E7H
D8H
DFH
D0H
PSW
C8H
T4CON
C0H
T5CON
B8H
IPL0
D7H
TL4
TL5
TH5
IPL1
IPH1
B7H
IEN1
AFH
A0H
98H
A7H
SCON1
SBUF1
SADDR1
SADEN1
SBRTL
SBRTH
BFINE
9FH
90H
88H
80H
CFH
BFH
IPH0
IEN0
TH4
C7H
B0H
A8H
F7H
P5PCR
97H
T3CON
SWTHL
TL3
TH3
SUSLO
8FH
P5
SP
DPL
DPH
DPL1
DPH1
INSCON
PCON
0/8
1/9
2/A
3/B
4/C
5/D
6/E
7/F
注意:未使用的SFR地址禁止读写。
20
87H
SH79F3283
7. 标准功能
7.1 CPU
7.1.1 CPU内核特殊功能寄存器
特性
CPU内核寄存器:ACC,B,PSW,SP,DPL,DPH
累加器
累加器ACC是一个常用的专用寄存器,指令系统中采用A作为累加器的助记符。
B寄存器
在乘除法指令中,会用到B寄存器。在其它指令中,B寄存器可作为暂存器来使用。
栈指针(SP)
栈指针SP是一个8位专用寄存器,在执行PUSH、各种子程序调用、中断响应等指令时,SP先加1,再将数据压栈;执行POP、
RET、RETI等指令时,数据退出堆栈后SP再减1。堆栈栈顶可以是片上内部RAM(00H-FFH)的任意地址,系统复位后,SP
初始化为07H,使得堆栈事实上由08H地址开始。
程序状态字(PSW)寄存器
程序状态字(PSW)寄存器包含了程序状态信息。
数据指针(DPTR)
数据指针DPTR是一个16位专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。它们既可以作为一个
16位寄存器DPTR来处理,也可以作为2个独立的8位寄存器DPH和DPL来处理。
Table 7.1 PSW寄存器
D0H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PSW
CY
AC
F0
RS1
RS0
OV
F1
P
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
7
CY
进位标志位
0:算术或逻辑运算中,没有进位或借位发生
1:算术或逻辑运算中,有进位或借位发生
6
AC
辅助进位标志位
0:算数逻辑运算中,没有辅助进位或借位发生
1:算数逻辑运算中,有辅助进位或借位发生
5
F0
F0标志位
用户自定义标志位
R0-R7寄存器页选择位
00:页0(映射到00H-07H)
01:页1(映射到08H-0FH)
10:页2(映射到10H-17H)
11:页3(映射到18H-1FH)
4-3
RS[1:0]
2
OV
溢出标志位
0:没有溢出发生
1:有溢出发生
1
F1
F1标志位
用户自定义标志位
0
P
奇偶校验位
0:累加器A中值为1的位数为偶数
1:累加器A中值为1的位数为奇数
21
SH79F3283
7.1.2 CPU增强内核特殊功能寄存器
扩展的'MUL'和'DIV'指令:16位*8位,16位/8位
双数据指针
CPU增强内核寄存器:AUXC,DPL1,DPH1,INSCON
SH79F3283扩展了'MUL'和'DIV'的指令,使用一个新寄存器-AUXC寄存器保存运算数据的高8位,以实现16位运算。在16
位乘除法指令中,会用到AUXC寄存器。在其它指令中,AUXC寄存器可作为暂存器来使用。
CPU在复位后进入标准模式,'MUL'和'DIV'的指令操作和标准8051指令操作一致。当INSCON寄存器的相应位置1后,'MUL'
和'DIV'指令的16位操作功能被打开。
操作
MUL
DIV
结果
B
高位字节
AUXC
---
INSCON.2 = 0;8位模式
(A)*(B)
A
低位字节
INSCON.2 = 1;16位模式
(AUXC A)*(B)
低位字节
中位字节
高位字节
INSCON.3 = 0;8位模式
(A)/(B)
商低位字节
余数
---
INSCON.3 = 1;16位模式
(AUXC A)/(B)
商低位字节
余数
商高位字节
双数据指针
使用双数据指针能加速数据存储移动。标准数据指针被命名为DPTR而新型数据指针命名为DPTR1。
数据指针DPTR1与DPTR类似,是一个16位专用寄存器,其高位字节寄存器用DPH1表示,低位字节寄存器用DPL1表示。
它们既可以作为一个16位寄存器DPTR1来处理,也可以作为2个独立的8位寄存器DPH1和DPL1来处理。
通过对INSCON寄存器中的DPS位置1或清0选择两个数据指针中的一个。所有读取或操作DPTR的相关指令将会选择最近一
次选择的数据指针。
7.1.3 寄存器
Table 7.2 数据指针选择寄存器
86H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
INSCON
-
BKS0
-
-
DIV
MUL
-
DPS
读/写
-
读/写
-
-
读/写
读/写
-
读/写
复位值
(POR/WDT/LVR/PIN)
-
0
-
-
0
0
-
0
位编号
位符号
说明
6
BKS0
3
DIV
16位/8位除法选择位
0:8位除法
1:16位除法
2
MUL
16位/8位乘法选择位
0:8位乘法
1:16位乘法
0
DPS
数据指针选择位
0:数据指针
1:数据指针1
特殊功能寄存器页选择位
0:选择特殊功能寄存器页0
1:选择特殊功能寄存器页1
22
SH79F3283
7.2 随机数据存储器(RAM)
7.2.1 特性
SH79F3283为数据存储提供了内部RAM和外部RAM。下列为存储器空间分配:
低位128字节的RAM(地址从00H到7FH)可直接或间接寻址。
高位128字节的RAM(地址从80H到FFH)只能间接寻址。
特殊功能寄存器(SFR,地址从80H到FFH)只能直接寻址。
外部RAM可通过MOVX指令间接访问。
高位128字节的RAM占用的地址空间和SFR相同,但在物理上与SFR的空间是分离的。当一个指令访问高于地址7FH的内部
位置时,CPU可以根据访问的指令类型来区分是访问高位128字节数据RAM还是访问SFR。
SH79F3283在外部数据空间额外提供了1280字节RAM,支持高级语言。SH79F3283还配置了28字节的LCD RAM(500H 51BH)。
51BH
0FFH
LCD RAM
0FFH
Upper
128 bytes
Internal
Ram
indirect accesses
500H
4FFH
80H
80H
0FFH
7FH
Lower
128 bytes
Internal
Ram
direct or indirect
accesses
Extenal
RAM
00H
SFR
Bank0
direct accesses
00H
SFR
Bank1
direct accesses
80H
内部和外部RAM配置
SH79F3283支持传统的访问外部RAM方法。使用MOVX A,@Ri或MOVX@Ri,A;来访问外部低256字节RAM;使用MOVX
A,@DPTR或MOVX@DPTR,A来访问外部1308字节RAM。
用户也能用XPAGE寄存器来访问外部RAM,仅用MOVXA,@Ri或MOVX@Ri,A指令即可。用户能用XPAGE来表示高于
256字节的RAM地址。
在Flash SSP模式下,XPAGE也能用作分段选择器(详见SSP章节)。
7.2.2 寄存器
Table 7.3 数据存储页寄存器(XPAGE)
F7H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
XPAGE
-
XPAGE.6
XPAGE.5
XPAGE.4
XPAGE.3
XPAGE.2
XPAGE.1
XPAGE.0
读/写
-
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
0
0
0
0
0
0
0
位编号
位符号
6-0
XPAGE[6:0]
说明
RAM页选择控制位
23
SH79F3283
7.3 Flash程序存储器
7.3.1 特性
Flash 存储器包括 32 X 1KB 区块,总共 32KB
在工作电压范围内都能进行编程和擦除操作
在线编程(ICP)操作支持写入、读取和擦除操作
支持整体/扇区擦除和编程
编程/擦除次数: 程序区:至少 10,000 次
类 EEPROM 区:至少 100,000 次
数据保存年限:至少 10 年
低功耗
FFFFH
Reserved
7FFFH
03FFH
EEPROM Like Data Block
0000H
0000H
Information Block
Program Memory Block
Program Memory Block
SH79F3283为存储程序代码内置32K可编程Flash(Program Memory Block),可以通过在线编程(ICP)模式和扇区自编
程(SSP)模式对Flash存储器操作。每个扇区1024字节。
SH79F3283还内置1024字节的类EEPROM存储区用于存放用户数据,每个扇区256字节,总共4个扇区。
Flash操作定义:
在线编程(ICP)模式:通过Flash编程器对Flash存储器进行擦、读、写操作。
扇区自编程(SSP)模式:用户程序代码运行在Program Memory中,对Flash存储器进行擦、读、写操作。
Flash存储器支持以下操作:
(1) 代码保护控制模式编程
SH79F3283的代码保护功能为用户代码提供了高性能的安全措施。每个分区有四种模式可用。
代码保护模式0:允许/禁止任何编程器的写入/读取操作(不包括整体擦除)。
代码保护模式1:允许/禁止在其他扇区中通过MOVC指令进行读取操作,或通过SSP模式进行擦除/写入操作。
代码保护模式2:SSP功能允许/禁止控制,选中后,芯片对code区域的SSP操作(擦除或者写入,不包括读取)是禁止的,
但是不会禁止芯片对类EEPROM的操作。
代码保护模式3:客户密码保护,可由客户自设密码,密码由6字节组成。如果将此功能开启,表示在烧写器或仿真器工具
对芯片做任何操作(读出,写入,擦除或者仿真)之前先输入这个密码,如果这个密码正确,则芯片允许烧写器或仿真器工具
进行相应的操作,反之则报错,无法执行相应操作。
用户必须使用下列方式才能完成代码保护控制模式的设定:
Flash编程器在ICP模式设置相应的保护位,以进入所需的保护模式。SSP模式不支持代码保护控制模式编程。
24
SH79F3283
(2) 整体擦除
无论代码保护控制模式的状态如何,整体擦除操作都将会擦除所有程序、代码选项和代码保护位,但是不会擦除类EEPROM
存储区。
用户必须使用下列方式才能完成整体擦除:
Flash编程器在ICP模式发出整体擦除指令,进行整体擦除。SSP模式不支持整体擦除。
(3) 扇区擦除
扇区擦除操作将会擦除所选扇区中内容。用户程序(SSP)和Flash编程器都能执行该操作。
若需用户程式执行该操作,必须禁止所选扇区的代码保护控制模式1和模式2。
若需Flash编程器执行该操作,必须禁止所选扇区的代码保护控制模式0;若代码保护模式3开启,还需输入正确的客户密码。
用户必须使用下列2种方式之一才能完成扇区擦除:
1. Flash编程器在ICP模式发出扇区擦除指令,进行扇区擦除。
2. 通过SSP功能发出扇区擦除指令,进行扇区擦除(详见在扇区自编程章节)。
(4) 类EEPROM存储区擦除
类EEPROM存储区擦除操作将会擦除类EEPROM存储区中的内容。用户程序(SSP)和Flash编程器都能执行该操作。
用户必须使用下列2种方式之一才能完成类EEPROM存储区擦除:
1. Flash编程器在ICP模式发出类EEPROM存储区擦除指令,进行类EEPROM存储区擦除。
2. 通过SSP功能发出类EEPROM存储区擦除指令,进行类EEPROM存储区擦除(详见在扇区自编程章节)。
(5) 写/读代码
读/写代码操作可以将代码从Flash存储器中读出或写入。用户程序(SSP)和Flash编程器都能执行该操作。
若需用户程式执行该操作,必须禁止所选扇区的代码保护控制模式1和模式2。不管安全位设置与否,用户程序都能读/写程
式自身所在扇区。
若需编程器执行该操作,必须禁止所选扇区的代码保护控制模式0;若代码保护模式3开启,还需输入正确的客户密码。
用户必须使用下列2种方式之一才能完成写/读代码:
1. Flash编程器在ICP模式发出写/读代码指令,进行写/读代码。
2. 通过SSP功能发出写/读代码指令,进行写/读代码。
(6) 写/读类EEPROM存储区
读/写类EEPROM存储区操作可将数据从类EEPROM存储区中读出/写入。用户程序(SSP)和Flash编程器都能执行该操作。
用户必须使用下列2种方式之一才能完成写/读类EEPROM存储区:
1. Flash编程器在ICP模式发出写/读类EEPROM存储区指令,进行写/读类EEPROM存储区。
2. 通过SSP功能发出写/读类EEPROM存储区指令,进行写/读类EEPROM存储区。
Flash存储器操作汇总
操作
ICP
SSP
代码保护
支持
不支持
扇区擦除
支持(无安全位)
支持(无安全位)
整体擦除
支持
不支持
类EEPROM存储区擦除
支持
支持
写/读代码
支持(无安全位)
支持(无安全位)
读/写类EEPROM存储区
支持
支持
25
SH79F3283
7.3.2 ICP模式下的Flash操作
ICP模式共有2种:单线模式和四线模式。ICP模式为通过Flash编程器对MCU进行编程,可以在MCU焊在用户板上以后编程。
ICP模式下,用户系统必须关机后Flash编程器才能通过ICP编程接口刷新Flash存储器。ICP编程接口包括6个引脚(VDD,GND,
TCK,TDI,TMS,TDO/SWE)。
SH79F3283提供2组JTAG引脚,单线模式引脚(VDD,GND,SWE)和四线模式引脚(VDD,GND,TCK,TDI,TMS,
TDO),编程器使用任意一组JTAG引脚都可以进入编程模式。只有将特定波形输入JTAG引脚后,CPU才能进入编程模式。如
需详细说明请参考Flash编程器用户指南。
在ICP模式中,通过JTAG接口编程器能完成所有Flash操作。因为编程信号非常敏感,所以使用编程器编程时用户需要先用
跳线将芯片的编程引脚从应用电路中分离出来,如下图所示。
四线模式:
Flash
Programmer
MCU
VDD
TMS
TCK
TDI
TDO
GND
To Application
Circuit
Jumper
单线模式:
Flash
Programmer
MCU
VDD
SWE
GND
To Application
Circuit
Jumper
当采用ICP模式进行操作时,建议按照如下步骤进行操作:
(1) 在开始编程前断开跳线(jumper),从应用电路中分离编程引脚;
(2) 将芯片编程引脚连接至编程器编程接口,开始编程;
(3) 编程结束后断开编程器接口,连接跳线恢复应用电路。
26
SH79F3283
7.4 扇区自编程(SSP)功能
SH79F3283支持SSP功能。如果所选扇区未被保护,用户代码可以对任何扇区执行编程操作。一旦该扇区被编程,则在该
扇区被擦除之前不能被再次编程。
SH79F3283内建一个复杂控制流程以避免误入SSP模式导致代码被误修改。为进入SSP模式,IB_CON2 - 5必须满足特定
条件。若IB_CON2 - 5不满足特定条件,则无法进入SSP模式。
7.4.1 寄存器
Table 7.4 编程用地址选择寄存器
对于程序存储区,一个扇区为1024字节。寄存器定义如下:
F7H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
XPAGE
-
XPAGE.6
XPAGE.5
XPAGE.4
XPAGE.3
XPAGE.2
XPAGE.1
XPAGE.0
读/写
-
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
0
0
0
0
0
0
0
位编号
位符号
6-2
XPAGE[6:2]
被编程的存储单元扇区号,0000代表扇区0,以此类推
说明
1-0
XPAGE[1:0]
被编程的存储单元高2位地址
Table 7.5 擦除/编程用扇区选择寄存器
对于类EEPROM存储区,一个扇区为256字节。寄存器定义如下:
F7H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
XPAGE
-
XPAGE.6
XPAGE.5
XPAGE.4
XPAGE.3
XPAGE.2
XPAGE.1
XPAGE.0
读/写
-
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
0
0
0
0
0
0
0
位编号
位符号
6-2
XPAGE[6:2]
说明
在擦除/编程扇区时无意义
1-0
XPAGE[1:0]
对类EEPROM扇区,00代表块0,依此类推
Table 7.6 编程用地址偏移寄存器
FBH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IB_OFFSET
IB_OFF
SET.7
IB_OFF
SET.6
IB_OFF
SET.5
IB_OFF
SET.4
IB_OFF
SET.3
IB_OFF
SET.2
IB_OFF
SET.1
IB_OFF
SET.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
7-0
位符号
说明
IB_OFFSET[7:0] 被编程的存储单元低8位地址
27
SH79F3283
Table 7.7 编程用数据寄存器
第7位
FCH,Bank0
IB_DATA
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IB_DATA.7 IB_DATA.6 IB_DATA.5 IB_DATA.4 IB_DATA.3 IB_DATA.2 IB_DATA.1 IB_DATA.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
第2位
第1位
第0位
位编号
位符号
7-0
IB_DATA[7:0]
说明
待编程数据
Table 7.8 SSP型选择寄存器
第7位
F2H,Bank0
IB_CON1
第6位
第5位
第4位
第3位
IB_CON1.7 IB_CON1.6 IB_CON1.5 IB_CON1.4 IB_CON1.3 IB_CON1.2 IB_CON1.1 IB_CON1.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
第2位
第1位
第0位
位编号
位符号
7-0
IB_CON1[7:0]
说明
SSP操作选择位
0xE6:扇区擦除
0x6E:存储单元编程
Table 7.9 SSP流程控制寄存器1
F3H,Bank0
第7位
第6位
第5位
第4位
IB_CON2
-
-
-
-
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
第2位
第1位
第0位
位编号
位符号
3-0
IB_CON2[3:0]
第3位
IB_CON2.3 IB_CON2.2 IB_CON2.1 IB_CON2.0
说明
必须为05H,否则Flash编程将会终止
Table 7.10 SSP流程控制寄存器2
F4H,Bank0
第7位
第6位
第5位
第4位
IB_CON3
-
-
-
-
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
位编号
位符号
3-0
IB_CON3[3:0]
第3位
IB_CON3.3 IB_CON3.2 IB_CON3.1 IB_CON3.0
说明
必须为0AH,否则Flash编程将会终止
28
SH79F3283
Table 7.11 SSP流程控制寄存器3
F5H,Bank0
第7位
第6位
第5位
第4位
IB_CON4
-
-
-
-
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
第2位
第1位
第0位
位编号
位符号
3-0
IB_CON4[3:0]
第3位
第2位
第1位
第0位
IB_CON4.3 IB_CON4.2 IB_CON4.1 IB_CON4.0
说明
必须为09H,否则Flash编程将会终止
Table 7.12 SSP流程控制寄存器4
F6H,Bank0
第7位
第6位
第5位
第4位
IB_CON5
-
-
-
-
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
位编号
位符号
3-0
IB_CON5[3:0]
第3位
IB_CON5.3 IB_CON5.2 IB_CON5.1 IB_CON5.0
说明
必须为06H,否则Flash编程将会终止
29
SH79F3283
7.4.2 Flash控制流程图
Set IB_OFFSET
Set XPAGE
Set IB_DATA
Set IB_CON1
S0
IB_CON2[3:0]≠5H
IB_CON2≠5H
Set IB_CON2[3:0]=5H
S1
IB_CON3≠AH
IB_CON2≠5H
Set IB_CON3=AH
ELSE
S2
IB_CON3≠AH
Set IB_CON4=9H
Reset
IB_CON1-5
IB_CON4≠9H
S3
Set IB_CON5=6H
S4
Sector Erase
IB_CON1=E6H
&IB_CON2[3:0]=5H
&IB_CON3=AH
&IB_CON4=9H
&IB_CON5=6H
IB_CON1=6EH
&IB_CON2[3:0]=5H
&IB_CON3=AH
&IB_CON4=9H
&IB_CON5=6H
Programming
30
SH79F3283
7.4.3 SSP编程注意事项
为确保顺利完成SSP编程,用户软件必须按以下步骤设置:
(1) 用于代码/数据编程:
1. 关闭中断;
2. 根据地址设置XPAGE,IB_OFFSET;
3. 按编程需要,设置IB_DATA;
4. 按照顺序设置IB_CON1 - 5;
5. 添加4个NOP指令;
6. 开始编程,CPU将进入IDLE模式;烧写完成后自动退出IDLE模式;
7. 如需继续写入数据,跳转至第2步;
8. XPAGE寄存器清0,恢复中断设置。
(2) 用于扇区擦除:
1. 关闭中断;
2. 按相应的扇区设置XPAGE;
3. 按照顺序设置IB_CON1 - 5;
4. 添加4个NOP指令;
5. 开始擦除,CPU将进入IDLE模式;擦除完成后自动退出IDLE模式;
6. 如需要继续擦除数据,跳转至第2步;
7. XPAGE寄存器清0,恢复中断设置。
(3) 读取:
使用“MOVC A,@A+DPTR”或者“MOVC A,@A+PC”指令。
(4) 对于类EEPROM区域
对于类EEPROM的操作类似于Flash的操作,即类似上述(1)/(2)/(3)部分的描述。区别在于:
1. 在对类EEPROM进行擦除、写或读之前,应首先将FLASHCON寄存器的最低位FAC位置1。
2. 类EEPROM的扇区为256字节,而不是1024字节
注意:
1. 系统时钟不得低于200kHz以确保FLASH的正常编程
2. 当不需对类EEPROM操作时,必须将FAC位清0
FLASHCON寄存器的描述如下:
Table 7.13 访问控制寄存器
A7H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
FLASHCON
-
-
-
-
-
-
-
FAC
读/写
-
-
-
-
-
-
-
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
-
-
-
0
位编号
位符号
7-1
-
0
FAC
说明
保留位
访问控制
0:MOVC指令或者SSP功能访问Main Block区域
1:MOVC指令或者SSP功能访问类EEPROM区域
31
SH79F3283
7.5 系统时钟和振荡器
7.5.1 特性
支持6种振荡器类型:32.768kHz晶体谐振器,晶体谐振器,陶瓷谐振器,内部16M/12M /8M/128K RC振荡器
4个振荡器引脚(XTAL1,XTAL2,XTALX1,XTALX2)从3种外部振荡器类型中产生1种或者2种时钟
内建16MHz/12MHz/8MHz/128KHz RC振荡器
内建32.768kHz加速电路
内建系统时钟分频器
7.5.2 时钟定义
SH79F3283几个内部时钟定义如下:
OSCCLK : 从 4 个 可 选 振 荡 器 类 型 中 ( 从 XTAL 输 入 的 32.768kHz 晶 体 谐 振 器 , 晶 体 谐 振 器 和 陶 瓷 谐 振 器 以 及 内 部
12M/8MHz128K RC振荡器)选中的那个振荡器的时钟。fOSC定义为OSCCLK的频率。tOSC定义为OSCCLK的周期。
OSCXCLK:从4个可选振荡器类型中(从XTALX输入的晶体谐振器和陶瓷谐振器以及内部12M/8M RC振荡器)选中的那
个振荡器的时钟。fOSCX定义为OSCXCLK的频率。tOSCX定义为OSCXCLK的周期。
注意:当代码选项OP_OSC不是0011,0110,1010,1101时(32.768kHz/128K振荡器没有被选中,详见代码选项章节),
OSCXCLK不存在。
WDTCLK:内部看门狗RC振荡器时钟。fWDT定义为WDTCLK的频率。tWDT定义为WDTCLK的周期。
OSCSCLK:系统时钟频率分频器的输入时钟。这个时钟可能为OSCCLK或者OSCXCLK。fOSCS定义为OSCSCLK的频率。
tOSCS定义为OSCSCLK的周期。
SYSCLK:系统时钟,系统频率分频器的输出时钟。这个时钟为CPU指令周期的时钟。fSYS定义为SYSCLK的频率。tSYS定
义为SYSCLK的周期。
7.5.3 概述
SH79F3283支持6种振荡器类型:32.768kHz晶体谐振器,晶体谐振器/陶瓷谐振器(2MHz-16MHz)和内部RC振荡器
(12MHz,128K)。振荡器类型的选择由代码选项OP_OSC决定(详见代码选项章节)。SH79F3283有4个振荡器引脚(XTAL1,
XTAL2,XTALX1,XTALX2),可以从3种外部振荡器类型中产生1种或者2种时钟。这些都是由代码选项OP_OSC决定(详见
代码选项章节)。由振荡器产生的基本时钟脉冲提供系统时钟支持CPU及片上外围设备。
32
SH79F3283
7.5.4 寄存器
Table 7.14 系统时钟控制寄存器
B2H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
CLKCON
32k_SPDUP
CLKS1
CLKS0
SCMIF
HFON
FS
-
-
读/写
读/写
读/写
读/写
读
读/写
读/写
-
-
复位值
(POR/WDT/LVR/PIN)
1
1
1
0
0
0
-
-
位编号
7
6-5
3
2
位符号
32k_SPDUP
CLKS[1:0]
说明
32.768kHz晶体谐振器加速模式控制位
0:32.768kHz振荡器常规模式,由软件清0。
1:32.768kHz振荡器加速模式,由软件或者硬件置1。
此位在系统发生任何形式的复位,如上电复位,看门狗复位等时,自动由硬件设
置1,用以加速32.768kHz振荡器起振,缩短32.768kHz振荡器的起振时间。
如果有需要,本位也可以由软件置1或者清0。比如进入掉电模式(Power-down
mode)前,可以将此位置1,掉电模式唤醒后再由软件清0。
应该注意的是关闭32.768kHz加速模式(此位清0),可以节省系统的耗电。只有
代码选项OP_OSC为1010或1101时(选择32.768kHz晶体振荡器,详见代码选项章
节),此控制位才有效。
系统时钟频率分频器
00:fSYS = fOSCS
01:fSYS = fOSCS/2
10:fSYS = fOSCS/4
11:fSYS = fOSCS/12
如果选择32.768kHz振荡器为OSCSCLK,此控制位无效。
HFON
OSCXCLK开关控制寄存器
0:关闭OSCXCLK
1:打开OSCXCLK
只有代码选项OP_OSC为0011,0110,1010,1101时(选择32.768kHz晶体振荡
器或128K内部RC振荡器,详见代码选项章节),此控制位才有效。
FS
频率选择位
0:选择32.768kHz/128kHz为OSCSCLK
1:选择OSCXCLK为OSCSCLK
只有代码选项OP_OSC为0011,0110,1010,1101时(选择32.768kHz晶体振荡
器或128K内部RC振荡器,详见代码选项章节),此控制位才有效。
注意:
1. 当代码选项 OP_OSC 为 0011 , 1010 时, OSCXCLK 为内建 12MHzRC ;当代码选项 OP_OSC 为 0110 或者 1101 时,
OSCXCLK为从XTALX输入的晶体谐振器或陶瓷谐振器;
2. 当代码选项OP_OSC为0011,0110,1010,1101,HFON和FS才有效;
3. 当OSCXCLK作为OSCSCLK时(也就是说,HFON = 1和FS = 1),HFON不能软件清0;
4. 当OSCSCLK从32.768kHz/128K切换到OSCXCLK时,假如当时OSCXCLK为关闭状态,则必须按以下步骤依次设置:
a. 设置HFON = 1,打开OSCXCLK
b. 至少等待振荡器预热时间(详见振荡器预热章节)
c. 设置FS = 1,选择OSCXCLK作为OSCSCLK
5. 当OSCSCLK从OSCXCLK切回到32.768kHz/128K时,则必须按以下步骤依次设置:
a. FS位清0,选择32.768kHz/128K作为OSCSCLK
b. 添加1个NOP指令
c. HFON位清0(降低功耗)
d.添加4个NOP指令
33
SH79F3283
7.5.5 振荡器类型
(1) OP_OSC = 0000,0001,0011,0100:内部16M/12M/8M/128K RC振荡器,XTAL和XTALX引脚与I/O共用
XTALX1
XTALX2
XTAL1
XTAL2
(2) OP_OSC = 1010,1011:从XTAL输入32.768kHz晶体谐振器,内部12M/8M RC振荡器可以使能,XTALX引脚与I/O共用
XTALX1
XTALX2
C1
XTAL1
32.768kHz
XTAL2
C2
(3) OP_OSC = 1101:从XTAL输入32.768kHz晶体谐振器,从XTALX输入2M - 12M晶体谐振器/陶瓷谐振器
C1
XTALX1
Crystal/
Ceramic
XTALX2
C2
XTAL1
C1
32.768kHz
XTAL2
C2
(4) OP_OSC = 1110:从XTAL输入2M - 12M晶体谐振器/陶瓷谐振器,XTALX引脚与I/O共用
XTALX1
XTALX2
C1
XTAL1
Crystal/
Ceramic
XTAL2
C2
(5) OP_OSC = 0110:内部128KHz RC振荡器,从XTAL输入2M - 12M晶体谐振器/陶瓷谐振器,XTALX引脚与I/O共用
XTALX1
XTALX2
C1
XTAL1
Crystal/
Ceramic
XTAL2
C2
34
SH79F3283
7.5.6 谐振器负载电容选择
陶瓷谐振器
频率
C1
C2
3.58MHz
-
-
4MHz
-
-
晶体谐振器
频率
C1
C2
32.768kHz
10 - 12pF
10 - 12pF
4MHz
8 - 22pF
8 - 22pF
12MHz
8 - 22pF
8 - 22pF
注意:
(1) 表中负载电容仅供参考!
(2) 以上电容值可通过谐振器基本的起振和运行测试,并非最优值。
(3) 请注意印制板上的杂散电容,用户应在超过应用电压和温度的条件下测试谐振器的性能。
在应用陶瓷谐振器/晶体谐振器之前,用户需向谐振器生产厂要求相关应用参数以获得最佳性能。
请登陆http://www.sinowealth.com以取得更多的推荐谐振器生产厂。
35
SH79F3283
7.6 系统时钟监控(SCM)
为了增强系统的可靠性,SH79F3283含有一个系统时钟监控(SCM)模块。如果系统时钟出现故障(例如:外部振荡器停
振等),内建SCM模块会将OSCSCLK自动切换到内部时钟,同时系统时钟监控标志位(SCMIF)被置1。当EA和ESCM位均被
置1时,SCM模块将会产生中断。如果外部振荡器恢复工作,SCM将会切换OSCSCLK到外部振荡器,然后SCMIF位自动清0。
设置SCMCON选择SCM时钟,SCM监测到外部时钟发生故障后,将OSCSCLK自动切换到内部SCM时钟。
SCM功能仅在使用外部时钟时有效,选择内部RC时钟时SCM无效。
注意:
SCMIF为只读寄存器,只能由硬件清0或者置1。
如果SCMIF清0,SCM将系统时钟自动切换到系统时钟出故障前的状态。
如果代码选项选择内部RC振荡器(详见代码选项章节)作为OSCSCLK,则系统时钟监控功能不可用。
Table 7.15 系统时钟控制寄存器
B2H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
CLKCON
-
-
-
SCMIF
-
-
-
-
读/写
-
-
-
只读
-
-
-
-
复位值
(POR/WDT/LVR/PIN)
-
-
-
0
-
-
-
-
位编号
位符号
4
SCMIF
说明
系统时钟监控标志位
0:表示系统时钟正常运行
1:表示系统时钟故障
Table 7.16 SCM时钟控制寄存器
A1H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SCMCON
-
-
-
-
-
SCK2
SCK1
SCK0
读/写
-
-
-
-
-
只读
只读
只读
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
-
0
1
1
位编号
2-0
位符号
SCk[2:0]
说明
SCM时钟选择位
000:2MHz
001:4MHz
010:6MHz
011:8MHz(默认)
100:12MHz
101-111:16MHz
36
SH79F3283
7.7 I/O端口
7.7.1 特性
46/42个双向I/O端口
I/O端口可与其它功能共享
SH79F3283提供46/42个位可编程双向I/O端口。端口数据在寄存器Px中。每个I/O口均有内部上拉电阻。端口控制寄存器
(PxCRy)控制端口是作为输入或者输出。当端口作为输入时,每个I/O端口带有由PxPCRy控制的内部上拉电阻(x = 0-5,y =
0-7)。
SH79F3283的有些I/O引脚能与选择功能共享。当所有功能都允许时,在CPU中存在优先权以避免功能冲突。(详见端口共
享章节)。
7.7.2 寄存器
Table 7.17 端口控制寄存器
E1H - E5H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P0CR (E1H, Bank0)
P0CR.7
P0CR.6
P0CR.5
P0CR.4
P0CR.3
P0CR.2
P0CR.1
P0CR.0
P1CR (E2H, Bank0)
P1CR.7
P1CR.6
P1CR.5
P1CR.4
P1CR.3
P1CR.2
P1CR.1
P1CR.0
P2CR (E3H, Bank0)
P2CR.7
P2CR.6
P2CR.5
P2CR.4
P2CR.3
P2CR.2
P2CR.1
P2CR.0
P3CR (E4H, Bank0)
P3CR.7
P3CR.6
P3CR.5
P3CR.4
P3CR.3
P3CR.2
P3CR.1
P3CR.0
P4CR (E5H, Bank0)
P4CR.7
P4CR.6
P4CR.5
P4CR.4
P4CR.3
P4CR.2
P4CR.1
P4CR.0
P5CR (E1H, Bank1)
-
-
P5CR.5
P5CR.4
P5CR.3
P5CR.2
P5CR.1
P5CR.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
PxCRy
x = 0-5, y = 0-7
说明
端口输入/输出控制寄存器
0:输入模式
1:输出模式
Table 7.18 端口上拉电阻控制寄存器
E9H - ECH
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P0PCR (E9H, Bank0)
P0PCR.7
P0PCR.6
P0PCR.5
P0PCR.4
P0PCR.3
P0PCR.2
P0PCR.1
P0PCR.0
P1PCR (EAH, Bank0)
P1PCR.7
P1PCR.6
P1PCR.5
P1PCR.4
P1PCR.3
P1PCR.2
P1PCR.1
P1PCR.0
P2PCR (EBH, Bank0)
P2PCR.7
P2PCR.6
P2PCR.5
P2PCR.4
P2PCR.3
P2PCR.2
P2PCR.1
P2PCR.0
P3PCR (ECH, Bank0)
P3PCR.7
P3PCR.6
P3PCR.5
P3PCR.4
P3PCR.3
P3PCR.2
P3PCR.1
P3PCR.0
P4PCR (EDH, Bank0)
P4PCR.7
P4PCR.6
P4PCR.5
P4PCR.4
P4PCR.3
P4PCR.2
P4PCR.1
P4PCR.0
P5PCR (E9H, Bank1)
-
-
P5PCR.5
P5PCR.4
P5PCR.3
P5PCR.2
P5PCR.1
P5PCR.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
PxPCRy
x = 0-5, y = 0-7
说明
输入端口内部上拉电阻控制
0:内部上拉电阻关闭
1:内部上拉电阻开启
37
SH79F3283
Table 7.19 端口数据寄存器
80H - C0H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P0 (80H, Bank0)
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
P1 (90H, Bank0)
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
P2 (A0H, Bank0)
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
P3 (B0H, Bank0)
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
P4 (C0H, Bank0)
P4.7
P4.6
P4.5
P4.4
P4.3
P4.2
P4.1
P4.0
P5 (80H, Bank1)
-
-
P5.5
P5.4
P5.3
P5.2
P5.1
P5.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
Px.y
x = 0-5, y = 0-7
说明
端口数据寄存器
Table 7.20 端口模式选择寄存器
EFH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P0OS
-
-
P0OS.5
P0OS.4
-
-
-
-
读/写
-
-
读/写
读/写
-
-
-
-
复位值
(POR/WDT/LVR/PIN)
-
-
0
0
-
-
-
-
位编号
位符号
5-4
P0OS.x
x = 5-4
说明
端口0输出模式选择
0:引脚输出模式为CMOS推挽输出
1:引脚输出模式为N沟道开漏输出
注意:P0.4,P0.5端口作为为N-通道的开漏I/O,但是此时端口电压不得超过VDD+0.3V。
38
SH79F3283
7.7.3 端口模块图
SFEN
PxPCRy
Output Mode
VDD
Input Mode
VDD
0 = ON
1 = OFF
(Pull-up)
PxCRy
I/O Pad
Write
Data Bus
Data
Register
Read Port Data Register
Read
Read Data Register/Pad Selection
0: From Pad
1: From data register
0 = OFF
1 = ON
Second
Function
Read Port Pad
注意:
(1) 输入端口读操作直接读引脚电平。
(2) 输出端口读操作的输入源有两种,一种是从端口数据寄存器读取,另一种是直接读引脚电平。
(3) 用读取指令来区分:读-改-写指令是读寄存器,而其它指令读引脚电平。
(4) 不管端口是否共用为其他功能,对端口写操作都是针对端口数据寄存器。
7.7.4 端口共用
46个双向I/O端口也能共享作为第二或第三种特殊功能。共享优先级按照外部最高内部最低的规则:
在引脚配置图中引脚最外边标注功能享有最高优先级,最里边标注功能享有最低优先级。这意味着一个引脚已经使用较高
优先级功能(如果被允许的话),就不能用作较低优先级功能,即使较低优先级功能被允许。只有较高优先级功能由硬件或软
件关闭后,相应的引脚才能用作较低优先级功能。上拉电阻也由相同规则控制。
当允许端口复用为其它功能时,用户可以修改PxCR﹑PxPCR(x = 0-5),但在复用的其它功能被禁止前,这些操作不会
影响端口状态。
当允许端口复用为其它功能时,任何对端口的读写操作只会影响到数据寄存器的值,端口引脚值保持不变,直到复用的其
它功能关闭。
PORT0:
- LCD Segment 17-19(P0.0-P0.2)
- PWM01B:PWM01B 输出(P0.0)
- PWM0B:PWM0B 输出(P0.1)
- PWM01A:PWM01A 输出(P0.2)
- PWM0A:PWM0A 输出(P0.3)
- INT0:外部中断0(P0.4)
- INT1:外部中断1(P0.5)
- INT2:外部中断2(P0.6)
- INT3:外部中断3(P0.7)
- T2:定时器2外部输入/波特率时钟输出(P0.5)
- T2EX:定时器2重载/捕捉/方向控制(P0.4)
- T4:定时器4外部输入/波特率时钟输出(P0.3)
39
SH79F3283
Table 7.21 PORT0共享列表
引脚编号
TQFP48 LQFP44 LQFP32
47
48
1
2
3
43
44
1
2
3
-
-
31
32
-
优先级
功能
允许位
1
PWM01B
2
SEG17
3
P0.0
1
PWM0B
PWMEN寄存器的EPWM0位置1和PWM0BOE位置1
2
SEG18
DISPCON寄存器的DISPSEL位清0及P0SS寄存器的P0S1位置1
3
P0.1
1
PWM01A
2
SEG19
3
P0.2
1
PWM0A
2
T4
3
P0.3
无上述情况
1
T2EX
在0,2,3方式下T2CON寄存器的EXEN2位置1或在方式1下T2CON寄
存器的DCEN位置1或在方式1下DCEN位清0及EXEN2位置1(自动拉高)
2
INT0
IEN0寄存器的EX0位置1,并且P0.4输入模式(上拉由软件设置)
3
P0.4
无上述情况
1
T2
2
INT1
IEN0寄存器中的EX1位置1,P0.5输入模式
3
P0.5
无上述情况
1
XTALX2
2
INT2
PWMEN寄存器的EPWM1位和PWM01BOE位置1
DISPCON寄存器的DISPSEL位清0及P0SS寄存器的P0S0位置1
无上述情况
无上述情况
PWMEN寄存器的EPWM0位置1和PWM01AOE位置1
DISPCON寄存器的DISPSEL位清0及P0SS寄存器的P0S2位置1
无上述情况
PWMEN寄存器的EPWM0位置1和PWM0AOE位置1
T4CON寄存器的TR4和T4CLKS位置1(自动上拉)或T4CON寄存器的
T4CLKS位清0且TC4位置1或方式2下TR4位置1
---- ----
4
5
6
4
5
6
-
1
2
---- ----
T2CON寄存器(自动上拉)的TR2位及C/T 2 位置1或C/T 2 位清0且
T2MOD寄存器的T2OE位置1
代码选项
IEN1寄存器的EX2位置1,P0.6输入模式
无上述情况
3
P0.6
1
XTALX1
2
INT3
IEN1寄存器的EX3位置1,P0.7输入模式
3
P0.7
无上述情况
代码选项
注意:当 P0OS = 30H 时,引脚3,4配置为开漏极端口。
40
SH79F3283
PORT1:
- LED Segment 1-8(P1.0-P1.7)
- LCD Segment 1-8(P1.0-P1.7)
- INT44-INT47(P1.0-P1.3):外部中断4输入
Table 7.22 PORT1共享列表
引脚编号
TQFP48 LQFP44 LQFP32
31-34
35-38
27-30
31-34
优先级
功能
1
INT44-47
IEN1 寄存器的 EX4 位和 IENC 寄存器的 EXS44-47 位置 1,P1.0-1.3
端口为输入模式
2
LED S1-4
P1SS 寄存器的相应位(P1S0-P1S3)置 1 且 DISPCON 寄存器的
DISPSEL 置 1
3
LCD SEG1-4
P1SS 寄存器的相应位(P1S0-P1S3)置 1 且 DISPCON 寄存器的
DISPSEL 清 0
4
P1.0-P1.3
无上述情况
1
LED S5-8
P1SS 寄存器的相应位(P1S4-P1S7)置 1 且 DISPCON 寄存器的
DISPSEL 置 1
2
LCD SEG5-8
P1SS 寄存器的相应位(P1S4-P1S7)置 1 且 DISPCON 寄存器的
DISPSEL 清 0
3
P1.4-P1.7
22-25
26
允许位
无上述情况
PORT2:
- RXD0:EUART数据输入(P2.0)
- TXD0:EUART数据输出(P2.1)
- MOSI:SPI主输出从属输入(P2.2)
- MISO:SPI主输入从属输出(P2.3)
- SCK:SPI串行时钟(P2.4)
- FLT:故障检测输入引脚(P2.5)
- LCD Segment 9-16(P2.0-P2.7)
———
- SS :SPI从属选择(P2.5)
- PWM0C:PWM0C 输出(P2.7)
- PWM01C:PWM01C 输出(P2.6)
Table 7.23 PORT2共享列表
引脚编号
TQFP48 LQFP44 LQFP32
39
40
41
35
36
37
27
28
-
优先级
功能
允许位
1
RXD0
SCON寄存器的REN位置1(自动上拉)
2
SEG9
DISPCON 寄存器的 DISPSEL 位清 0 且 P2SS 寄存器的 P2S0 位置 1
3
P2.0
以上情况都不符合
1
TXD0
对SBUF寄存器写操作
2
SEG10
3
P2.1
以上情况都不符合
1
MOSI
在从属模式下将SPSTA寄存器的SPEN位置1
(当SPEN,CPHA,SSDIS位在从属模式下都置为1时,自动上拉)
2
RXD1
SCON1 寄存器的 REN1 位置 1(自动上拉)
3
SEG11
DISPCON 寄存器的 DISPSEL 位清 0 且 P2SS 寄存器的 P2S2 位置 1
4
P2.2
DISPCON 寄存器的 DISPSEL 位清 0 且 P2SS 寄存器的 P2S1 位置 1
以上情况都不符合
41
SH79F3283
续上表
42
43
44
45
46
38
39
40
41
42
-
-
1
MISO
将SPSTA寄存器的SPEN位置1
(在主模式下将SPSTA寄存器的SPEN位置1时,自动上拉)
2
TXD1
对 SBUF1 寄存器写操作
3
SEG12
4
P2.3
以上情况都不符合
1
SCK
SPSTA寄存器的SPEN位置1
(当SPEN,CPHA,SSDIS位在从属模式下都置1时,自动上拉)
2
SEG13
3
P2.4
以上情况都不符合
1
FLT
PWMEN寄存器的EFLT位置1
2
29
30
-
———
SS
DISPCON 寄存器的 DISPSEL 位清 0 且 P2SS 寄存器的 P2S3 位置 1
DISPCON 寄存器的 DISPSEL 位清 0 且 P2SS 寄存器的 P2S4 位置 1
当SPSTA寄存器的SPEN = 1时,在SPI主模式下将SPCON寄存器
的SSDIS位清0,或者在SPI从模式下当SPCON寄存器的CPHA = 1
时将SPCON寄存器的SSDIS位清0,或者在SPI从模式下将SPCON
寄存器的CPHA位清0
(当 SPSTA 寄存器的 SPEN = 1 且 MSTR = 1 且 SSDIS = 0 时,
或当 SPEN = 1 且 MSTR = 0 时,自动上拉)
DISPCON 寄存器的 DISPSEL 位清 0 且 P2SS 寄存器的 P2S5 位置 1
3
SEG14
4
P2.5
1
PWM01C
2
SEG15
3
P2.6
1
PWM0C
PWMEN寄存器的EPWM1位置1和PWM0COE位置1
2
SEG16
DISPCON 寄存器的 DISPSEL 位清 0 且 P2SS 寄存器的 P2S7 位置 1
3
P2.7
以上情况都不符合
PWMEN寄存器的EPWM1位置1和PWM01COE位置1
DISPCON 寄存器的 DISPSEL 位清 0 且 P2SS 寄存器的 P2S6 位置 1
以上情况都不符合
以上情况都不符合
PORT3:
- LED COM1-COM8(P3.0-P3.7)
- LCD COM1-COM8(P3.0-P3.7)
- AN4-AN7:ADC输入通道(P3.4-P3.7)
Table 7.24 PORT3共享列表
引脚编号
TQFP48 LQFP44 LQFP32
23-26
27-30
19-22
23-26
14-17
18-21
优先级
功能
允许位
1
AN7-AN4
ADCH寄存器的CH7-CH4位和ADCON寄存器的ADON位都置1,并且
SCH[2:0]的相应位置1
2
LED_C8
-LED_C5
P3SS 寄存器的相应位 P3S7-P3S4 位置 1 且 DISPCON 寄存器的
DISPSEL 和 DUTY 位置 1
3
COM8-COM5
P3SS 寄存器的相应位 P3S7-P3S4 位置 1 且 DISPCON 寄存器的
DUTY[2:0]选择相应位,DISPSEL 位清 0
4
P3.7-P3.4
以上情况都不符合
1
LED_C4
-LED_C1
P3SS寄存器的相应位(P3S3-P3S0)置1且DISPCON寄存器的DISPSEL
置1和DUTY[2:0]选择相应位
2
COM4-COM1
P3SS 寄存器的相应位(P3S3-P3S0)置 1 且 DISPCON 寄存器的
DISPSEL 位清 0 和 DUTY[2:0]选择相应位
3
P3.3-P3.0
以上情况都不符合
42
SH79F3283
PORT4:
- INT40-INT43(P4.0-P4.3):外部中断输入
- AN0-AN3,AN8 (P4.0-P4.4):ADC输入通道
- LCD SEGMENT22-24(P4.5-P4.7)
- AVREF(P4.4):AD转换参考电压
- PWM1:PWM1输出(P4.5)
Table 7.25 PORT4共享列表
引脚编号
TQFP48 LQFP44 LQFP32
15-16
17
18
19
20
21
22
-
13
14
15
16
17
18
-
-
9
10
11
12
13
优先级
功能
允许位
1
SEG22-23
P0SS寄存器的相应位(P4S7-P4S6)置1且DISPCON寄存器的
DISPSEL清0
2
P4.6-P4.7
以上情况都不符合
1
PWM1
PWM1C寄存器的PWM1EN位和PWM1OE位置1
2
SEG24
P0SS 寄存器的相应位(P4S5)置 1 且 DISPCON 寄存器的
DISPSEL 清 0
3
P4.5
1
AVREF
2
AN8
ADCH寄存器的CH8和SCH[3:0]相应位置1
3
P4.4
以上情况都不符合
1
AN3
ADCH寄存器的CH3和SCH[3:0]相应位置1
2
INT43
3
P4.3
以上情况都不符合
1
AN2
ADCH寄存器的CH2和SCH[2:0]相应位置1
2
INT42
3
P4.2
以上情况都不符合
1
AN1
ADCH寄存器的CH1和SCH[3:0]相应位置1
2
INT41
以上情况都不符合
ADCON寄存器的REFC位置1
IEN1寄存器的EX4位和IENC寄存器的EXS43位置1,P4.3端口为输
入模式
IEN1寄存器的EX4位和IENC寄存器的EXS42位置1,P4.2端口为输
入模式
IEN1寄存器的EX4位和IENC寄存器的EXS41位置1,P4.1端口为输
入模式
3
P4.1
以上情况都不符合
1
AN0
ADCH寄存器的CH1-CH0和SCH[2:0]相应位置1
2
INT40
3
P4.0
IEN1寄存器的EX4位和IENC寄存器的EXS40位置1,P4.0端口为输
入模式
以上情况都不符合
43
SH79F3283
PORT5:
- XTAL1(P5.0):振荡器输入
- XTAL2(P5.1):振荡器输出
———
- RST(P5.2):系统复位
- PWM1(P5.3):PWM1输出
- BUZ(P5.3):蜂鸣器输出
- T3(P5.3):定时器3外部输入
- LCD SEGMENT20-21(P5.4-P5.5)
Table 7.26 PORT5共享列表
引脚编号
TQFP48 LQFP44 LQFP32
8
8
4
9
9
5
10
11
13
14
10
11
-
-
6
7
-
-
优先级
功能
1
XTAL1
2
P5.0
1
XTAL2
允许位
代码选项
以上情况都不符合
代码选项
2
P5.1
以上情况都不符合
1
———
RST
代码选项
2
P5.2
代码选项
1
BUZ
BUZCON寄存器中的BZEN位置1
2
T3
3
P5.3
1
SEG20
2
P5.4
1
SEG21
2
P5.5
T3CON寄存器的TR3位置1且T3CLKS[1:0] = 01(自动上拉)
以上情况都不符合
P0SS寄存器的相应位(P5S4)置1且DISPCON寄存器的DISPSEL和
DUTY位置1
以上情况都不符合
P0SS寄存器的相应位(P5S5)置1且DISPCON寄存器的DISPSEL和
DUTY位置1
以上情况都不符合
44
SH79F3283
7.8 定时器
7.8.1 特性
SH79F3283有4个定时器(定时器2,3,4,5)
定时器2兼容标准的8052,且有递增递减计数和可编程输出功能
定时器3是16位自动重载定时器,且可以工作在掉电模式
定时器4是16位自动重载定时器,且可以被选择作为波特率发生器
定时器5是16位自动重载定时器
7.8.2 定时器2
两个数据寄存器(TH2和TL2)串联后可作为一个16位寄存器来访问,由寄存器T2CON和T2MOD控制。设置IEN0寄存器中
的ET2位能允许定时器2中断。(详见中断章节)
———
定时器2的C/T2 选择系统时钟(定时器)或外部引脚T2(计数器)作为定时器时钟输入。通过所选的引脚设置TR2允许定
时器2/计数器2数据寄存器计数。
定时器2方式
定时器2有4种工作方式:捕获/重载,带递增或递减计数器的自动重载方式,波特率发生器和可编程时钟输出。RCLK,TCLK
和CP/RL2的组合能选择这些方式。
Table 7.27 定时器2方式选择
———
C/T2
X
X
X
T2OE
DCEN
TR2
0
0
0
X
0
1
1
1
1
CP/RL2 RCLK
1
0
0
X
0
X
1
X
0
1
X
1
X
1
1
X
1
X
X
X
0
方式
TCLK
X
0
0
0
1
X
0
1
X
X
0
0
0
X
1
0
X
1
X
X
X
X
0
16位捕获
1
16位自动重载定时器
2
波特率发生器
3
只用于可编程时钟
3
带波特率发生器的可编程时钟输出
不推荐使用
定时器2停止,T2EX通路仍旧允许
X
方式0:16位捕获
在捕获方式中,T2CON的EXEN2位有两个选项。
如果EXEN2 = 0,定时器2作为16位定时器或计数器,如果ET2被允许的话,定时器2能设置TF2溢出产生一个中断。
如果EXEN2 = 1,定时器2执行相同操作,但是在外部输入T2EX上的下降沿也能引起在TH2和TL2中的当前值分别被捕获到
RCAP2H和RCAP2L中,此外,在T2EX上的下降沿也能引起在T2CON中的EXF2被设置。如果ET2被允许,EXF2位也像TF2一
样也产生一个中断。
System
Clock
1/12
Increment Mode
=0
TCLKP2
C/T2
TL2
=1
T2
TH2
0:Switch Off
1:Switch On
TR2
TF2
Overflow flag
CP / RL2
&
+
EXEN2
RCAP2L
RCAP2H
0:Switch Off
1:Switch On
T2EX
EXF2
Block Diagram of 16 bit Capcture mode (Mode 0) of Timer2
45
External falling
edge flag
Interrupt
Request
SH79F3283
方式1:16位自动重载定时器
在16位自动重载方式下,定时器2可以被选为递增计数或递减计数。这个功能通过T2MOD中的DCEN位(递减计数允许)
选择。系统复位后,DCEN位复位值为0,定时器2默认递增计数。当设置DCEN时,定时器2递增计数或递减计数取决于T2EX
引脚上的电平。
当DCEN = 0,通过在T2CON中的EXEN2位选择两个选项。
如果EXEN2 = 0,定时器2递增到0FFFFH,在溢出后置起TF2位,同时定时器自动将用户软件写好的寄存器RCAP2H和
RCAP2L的16位值装入TH2和TL2寄存器。
如果EXEN2 = 1,溢出或在外部输入T2EX上的下降沿都能触发一个16位重载,置起EXF2位。如果ET2被使能,TF2和EXF2
位都能产生一个中断。
———
注意:当EXEN2 = 1,C/T2 = 1(选择T2引脚时钟),且定时器[TH2,TL2]设置为0FFFFH时,T2无外灌时钟,外部输入
T2EX上的下降沿会触发TF2和EXF2全部置位。
System
Clock
1/12
Increment Mode
=0
C/T2
TCLKP2
TL2
TH2
TF2
=1
T2
Overflow
Flag
0:Switch Off
1:Switch On
TR2
Interrupt
Request
+
RCAP2L
EXEN2
RCAP2H
+
0:Switch Off
1:Switch On
T2EX
External Falling
Edge flag
EXF2
The Block Diagram of Auto Relode Mode (Mode 1)of Timer2 (DCEN=0)
设置DCEN位允许定时器2递增计数或递减计数。当DCEN = 1时,T2EX引脚控制计数的方向,而EXEN2控制无效。
T2EX置1可使定时器2递增计数。定时器向0FFFFH溢出,然后设置TF2位。溢出也能分别引起RCAP2H和RCAP2L上的16
位值重载入定时器寄存器。
T2EX清0可使定时器2递减计数。当TH2和TL2的值等于RCAP2H和RCAP2L的值时,定时器溢出。置起TF2位,同时0FFFFH
重载入定时器寄存器。
无论定时器2溢出,EXF2位都被用作结果的第17位。在此工作方式下,EXF2不作为中断标志。
FFH
FFH
TL2
TH2
System
Clock
1/12
Interrupt
Request
=0
TCLKP2
C/T2
TF2
=1
T2
TR2
Overflow
Flag
0:Switch Off
1:Switch On
Toggle
T2EX
1.T2EX=1, Timer2 is up counter
2.T2EX=0, Timer2 is down counter
RCAP2L
RCAP2H
EXF2
The Block Diagram of Auto-Reload Mode ( Mode 1) of Timer2 (DCEN=1)
46
SH79F3283
方式2:波特率发生器
通过设置T2CON寄存器中的TCLK和/或RCLK选择定时器2作为波特率发生器。接收器和发送器的波特率可以不同,如果定
时器2作为接收器或发送器则定时器4相应的作为另一种的波特率发生器。
设置RCLK和/或TCLK使定时器2进入波特率发生器方式,该方式与自动重载入方式相似。
定时器2的溢出会使RCAP2H和RCAP2L寄存器中的值重载入定时器2计数器,但不会产生中断。
如果EXEN2被置1,在T2EX脚上的下降沿会置起EXF2,但不会引起重载。因此当定时器2作为波特率发生器时,T2EX可作
为一个额外的外部中断。
在EUART方式1和3中的波特率由定时器2的溢出率根据下列方程式决定。
1
BaudRate =
BaudRate =
2 × 16
×
fSYS
———
65536 − [RCAP2H, RCAP2L]
; C/T2 = 0
———
fT2
1
; C/T2 = 1
×
16 65536 − [RCAP2H, RCAP2L]
System
clock
1/2
Timer 1
Overflow
/2
TL2
TH 2
=0
SMOD
=1
1/12
=0
TCLKP 2
T2
=1
C/T2
=1
Receiver
CLK
/16
0: Switch Off
1: Switch On
TR2
RCLK
=0
=1
RCAP2L
TCLK
=0
RCAP2H
/16
Transiver
CLK
EXEN 2
T2 EX
0: Switch Off
1: Switch On
Timer 2 Interrupt
Request
EXF 2
The Block Diagram of Baund-Rate Generator (Mode2) of Timer2
47
SH79F3283
方式3:可编程时钟输出
———
T2(P0.5)可以编程输出50%的占空比时钟周期。清C/T2 位和置T2OE位,使定时器2作为时钟发生器。TR2位启动和中止
定时器。
在这种方式中,T2输出占空比为50%的时钟:
Clock Out Frequency =
fSYS
1
×
2 × 2 65536 − [RCAP2H, RCAP2L]
定时器2溢出不产生中断。所以定时器2可以同时以相同频率用作波特率发生器和时钟输出。
System
Clock
1/2
1/12
=0
TCLKP2
C/ T2
TL2
TH2
=1
TR2
0:Switch Off
1:Switch On
C/ T2
RCAP2L
RCAP2H
T2OE
0:Switch Off
1:Switch On
T2
/2
EXEN2
T2EX
0:Switch Off
1:Switch On
Timer2 Interrupt
Request
EXF2
The Block Diagram of Programmable Clock output ( Mode 3 ) of Timer2
注意:
(1) TF2 和 EXF2 都能引起定时器 2 的中断请求,两者有相同的向量地址。
(2) 当事件发生时或其它任何时间都能由软件设置 TF2 和 EXF2 为 1,只有软件以及硬件复位才能使之清 0。
(3) 当 EA = 1 且 ET2 = 1 时,设置 TF2 或 EXF2 为 1 能引起定时器 2 中断。
(4) 当定时器 2 作为波特率发生器时,写入 TH2/TL2,写入 RCAPH2/RCAPL2 会影响波特率的准确性,因此也会引起通信
出错。
48
SH79F3283
寄存器
Table 7.28 定时器2控制寄存器
第7位
C8H,Bank0
第6位
第5位
第4位
第3位
第2位
第1位
———
第0位
————
T2CON
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
C/T2
CP/RL2
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
7
TF2
定时器2溢出标志位
0:无溢出(必须由软件清0)
1:溢出(如果RCLK = 0和TCLK = 0,由硬件设1)
6
EXF2
T2EX引脚外部事件输入(下降沿)被检测到的标志位
0:无外部事件输入(必须由软件清0)
1:检测到外部输入(如果EXEN2 = 1,由硬件设1)
5
RCLK
EUART0接收时钟控制位
0:定时器4产生接收波特率
1:定时器2产生接收波特率
4
TCLK
EUART0发送时钟控制位
0:定时器4产生发送波特率
1:定时器2产生发送波特率
3
EXEN2
2
TR2
1
C/T2
0
CP/RL2
———
————
T2EX引脚上的外部事件输入(下降沿)用作重载/捕获触发器允许/禁止控制位
0:忽略T2EX引脚上的事件
1:当定时器2不做为EUART时钟(T2EX始终包括上拉电阻)时,检测到T2EX
引脚上一个下降沿,产生一个捕获或重载
定时器2开始/停止控制位
0:停止定时器2
1:开始定时器2
定时器2定时器/计数器方式选定位
0:定时器方式,T2引脚用作I/O端口
1:计数器方式,内部上拉电阻被打开
捕获/重载方式选定位
0:16位带重载功能的定时器/计数器
1:16位带捕获功能的定时器/计数器
49
SH79F3283
Table 7.29 定时器2模式控制寄存器
C9H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
T2MOD
TCLKP2
-
-
-
-
-
T2OE
DCEN
读/写
读/写
-
-
-
-
-
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
-
-
-
-
-
0
0
位编号
位符号
说明
7
TCLKP2
1
T2OE
定时器2输出允许位
0:设置P0.5/T2作为时钟输入或I/O端口
1:设置P0.5/T2作为时钟输出(波特率发生器方式)
0
DCEN
递减计数允许位
0:禁止定时器2作为递增/递减计数器,定时器2仅作为递增计数器
1:允许定时器2作为递增/递减计数器
分频选择控制位
0:系统时钟作为定时器2的时钟源
1:选择系统时钟的1/12作为定时器2的时钟源
Table 7.30 定时器2重载/捕获和数据寄存器
CAH-CDH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
RCAP2L
RCAP2L.7 RCAP2L.6 RCAP2L.5 RCAP2L.4 RCAP2L.3 RCAP2L.2 RCAP2L.1 RCAP2L.0
RCAP2H
RCAP2H.7 RCAP2H.6 RCAP2H.5 RCAP2H.4 RCAP2H.3 RCAP2H.2 RCAP2H.1 RCAP2H.0
TL2
TL2.7
TL2.6
TL2.5
TL2.4
TL2.3
TL2.2
TL2.1
TL2.0
TH2
TH2.7
TH2.6
TH2.5
TH2.4
TH2.3
TH2.2
TH2.1
TH2.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
7-0
7-0
位符号
RCAP2L.x
RCAP2H.x
TL2.x
TH2.x
说明
定时器2重载/捕获数据低位高位,x = 0 - 7
定时器2低位/高位计数器,x = 0 - 7
50
SH79F3283
7.8.3 定时器3
定时器3是16位自动重载定时器,通过两个数据寄存器TH3和TL3访问,由T3CON寄存器控制。IEN1寄存器的ET3位置1允
许定时器3中断(详见中断章节)。
定时器3只有一个工作方式:16位自动重载计数器/定时器,可以设置预分频比,并可以工作在CPU掉电模式。
定时器3有一个16位计数器/定时器寄存器(TH3,TL3)。当TH3和TL3被写时,用作定时器重载寄存器,当被读时,被用做
计数寄存器。TR3位置1使定时器3开始递增计数。定时器在0xFFFF到0x0000溢出并置TF3位为1。溢出同时,定时器重载寄存
器的16位数据被重新载入计数寄存器中,TH3写操作也导致重载寄存器的数据重新载入计数寄存器。
TH3和TL3读写操作遵循以下顺序:
写操作:先低位后高位
读操作:先高位后低位
T3PS[1:0]
Increment Mode
System Clock
T3
32.768kHz
Crystal
00
01
10
Prescaler
1,8,64,256
Interrupt
Request
16-bit Counter
TF3
Overflow
Flag
T3CLKS[1:0]
TR3
0:Switch Off
1:Switch On
TL3
TH3
The Block Diagram of Timer3
定时器3可以工作在掉电模式。
当OP_OSC[3:0](详见代码选项章节)选为1010,1101,0011或0110,T3CLKS[1:0]可以选为00,01或10。当OP_OSC[3:0]
不为1010,1101,0011或0110时,T3CLKS[1:0]可以选为00或01,10是无效值。
如果T3CLKS[1:0]为00,定时器3不能工作在掉电模式下。如果T3CLKS[1:0]为01,T3端口输入外部时钟,定时器3可以工
作在普通模式或掉电模式(在系统为高频时进入掉电模式)。当T3CLKS[1:0]为10并且OP_OSC[3:0]为1010,1101,0011或0110,
定时器3可以工作在普通模式或掉电模式。当T3CLKS[1:0]为10并且OP_OSC[3:0]不为1010,1101,0011或0110时,定时器3
不工作。详见下表:
OP_OSC[3:0]
1010,1101,0011或0110
不为1010,1101,0011或0110
T3CLKS[1:0]
工作在普通模式
工作在掉电模式
00
YES
NO
01
YES
YES
10
YES
YES
00
YES
NO
01
YES
YES
10
NO
NO
注意:
(1) 在读或写TH3和TL3时,要确保TR3 = 0。
(2) Timer3中断标志位由硬件清零,且Timer3的中断向量是和Uart1共用,若同时使用两者,请注意中断标志位的处理。
51
SH79F3283
寄存器
Table 7.31 定时器3控制寄存器
第7位
88H,Bank1
第6位
第5位
第4位
第3位
第2位
第1位
第0位
T3CON
TF3
-
T3PS.1
T3PS.0
-
TR3
读/写
读/写
-
读/写
读/写
-
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
-
0
0
-
0
0
0
第2位
第1位
第0位
位编号
位符号
7
TF3
5-4
T3PS[1:0]
2
TR3
1-0
T3CLKS.1 T3CLKS.0
说明
定时器3溢出标志位
0:无溢出(软件或者硬件清0,由OP_TF3控制)
1:溢出(硬件置1)
定时器3预分频比选择位
00:1/1
01:1/8
10:1/64
11:1/256
定时器3允许控制位
0:停止定时器3
1:开始定时器3
T3CLKS[1:0]
定时器3定时器/计数器方式选定位
00:系统时钟,T3引脚用作I/O端口
01:T3端口输入外部时钟,自动上拉
10:外部32.768kHz晶体谐振器或128k RC
11:保留
Table 7.32 定时器3重载/计数数据寄存器
8CH-8DH,Bank1
第7位
第6位
第5位
第4位
第3位
TL3
TL3.7
TL3.6
TL3.5
TL3.4
TL3.3
TL3.2
TL3.1
TL3.0
TH3
TH3.7
TH3.6
TH3.5
TH3.4
TH3.3
TH3.2
TH3.1
TH3.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
第1位
第0位
位编号
位符号
TL3.x
TH3.x
7-0
说明
定时器3低位高位计数器,x = 0 - 7
Table 7.33 定时器3重载/计数数据寄存器
89H,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
SWTHL
-
-
-
-
-
-
读/写
-
-
-
-
-
-
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
-
-
0
0
位编号
位符号
0
T3HLCON
说明
0:读TH3和TL3时,返回值为T3计数器值
1:读TH3和TL3时,返回值为T3重载寄存器值
52
T5HLCON T3HLCON
SH79F3283
7.8.4 定时器4
定时器4是16位自动重载定时器。两个数据寄存器TH4和TL4可作为一个16位寄存器来访问。由T4CON寄存器控制。IEN1
寄存器的ET4位置1允许定时器4中断(详见中断章节)。
当TH4和TL4被写时,用作定时器重载寄存器,当被读时,被用做计数寄存器。TR4位置1使定时器4开始递增计数。定时器
在0xFFFF到0x0000溢出并置TF4位为1。溢出同时,定时器重载寄存器的16位数据重新载入计数寄存器中,对TH4的写操作也
导致重载寄存器的数据重新载入计数寄存器。
TH4和TL4读写操作遵循以下顺序:
写操作:先低位后高位
读操作:先高位后低位
定时器4方式
定时器4有三种工作方式:16位自动重载定时器,串口波特率发生器和有T4边沿触发的16位自动重载定时器。这些方式通
过T4CON寄存器的T4M[1:0]设置。
方式0:16位自动重载定时器
定时器4在方式0为16位自动重载定时器。TH4寄存器存放16位计数器/定时器高8位,TL4存放低8位。当16位定时寄存器从
0xFFFF到0x0000递增,并溢出时,系统置定时器溢出标志TF4(T4CON.7)为1,16位寄存器的值被重新载入计数器,如果允
许定时器4中断则产生中断。
T4CON.0寄存器的T4CLKS位选择时钟源。当T4CLKS = 1时,定时器4的时钟源为外部时钟,预分频后,计数器数据寄存
器增加。当T4CLKS = 0,定时器4的时钟源为系统时钟。
T4CON.1寄存器的TR4位置1允许定时器4,且不清定时器4的计数器。在允许定时器4之前,将希望的初始值写入定时器重
载寄存器中。
在比较方式中,T4端口自动被硬件设为输出。定时器4从TH4和TL4预设值开始向0xFFFF计数,当计数器溢出时,T4端口
输出反转,同时定时器4中断标志位被置起。在比较方式中,定时器4必须工作在定时方式(T4CLKS = 0)。
System Clock
T4PS[1:0]
Increment Mode
=0
T4CLKS
Prescaler
1,8,64,256
=1
T4
Interrupt
Request
16 bit Counter
Overflow
Flag
0:Switch Off
1:Switch On
TR4
TF4
T4
TL4
TH4
T4CLKS=0
TC4=1
The Block Diagram of Mode 0 of Timer 4
方式1:波特率发生器
通过设置T4CON寄存器中的T4M[1:0]为01选择定时器4作为波特率发生器。如果将定时器2作为串口的接收或发送的波特
率,而定时器4作为另一波特率时,发送和接收的波特率可以是不同的。
该方式与自动重载方式相似。定时器4的溢出会引起软件将定时器4重载寄存器中的16位值载入定时器4的计数器中,但不会
产生中断。
EUART方式1和3的波特率由下列公式计算:
BaudRate =
2
SMOD
2 × 16
f
×
T4
/PRESCALER
65536 − [TH4, TL4]
上式中,TH4和TL4为定时器4重载寄存器。
53
SH79F3283
方式2:带边沿触发的16位自动重载定时器
定时器4在方式2为16位自动重载定时器。T4CON.0寄存器的T4CLKS位一直为0,定时器4只能选择系统时钟为时钟源,其
余设置与方式0一致。
方式2中,T4CON.1的TR4位置1,定时器4等待T4端口的触发信号(由T4M[1:0]控制上升/下降沿)开始计数,一个触发信
号使定时器4开始运行。当定时器4从0xFFFF到0x0000溢出时,TF4(T4CON.7)会被置起,如定时器4的中断使能,将产生定
时器4中断。T4CLKS位始终为0。定时器4的时钟为系统时钟。定时器重载寄存器的数据重载入TH4和TL4中,保持到下一个触
发信号。
在方式2下,当TR4位置1后,定时器4在来自T4口的有效信号(T4M[1:0]决定的上升或下降沿)触发下开始计数。当定时器
4在0xFFFF到0x0000溢出时置TF4位为1。溢出同时,定时器重载寄存器的16位数据被重新载入计数寄存器TH4和TL4中,定时
器4将保持状态并等待下一个触发沿。
在定时器4工作时同时有一个触发信号时,如果TC4 = 0,忽略此信号;如果TC4 = 1,定时器4被触发。
TR4置1不清定时器4的计数器,在允许定时器之前应该把希望的初始化值写入重载寄存器。
T4PS[1:0]
Increment Mode
System Clock
T4
Prescaler
1,8,64,256
control
M2_en
TC4
Interrupt
Request
16 bit Counter
TF4
Overflow
Flag
TR4
0:Switch Off
1:Switch On
TL4
TH4
+
The Block Diagram of Mode 2 of Timer 4
control
: M2_en set to 1 when T4 edge trig, M2_en set to 0 when counter overflow
注意:当定时器4用作计数器时,T4引脚的输入信号频率要小于系统时钟的一半。
54
SH79F3283
寄存器
Table 7.34 定时器4控制寄存器
C8H,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
T4CON
TF4
TC4
T4PS1
T4PS0
T4M1
T4M0
TR4
T4CLKS
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7
TF4
定时器4溢出标志位
0:无溢出(硬件清0)
1:溢出(硬件置1)
TC4
比较功能允许位
当T4M[1:0] = 00
0:禁止定时器4比较功能
1:允许定时器4比较功能
当T4M[1:0] = 10或11
0:定时器4不能被再触发
1:定时器4可以被再触发
6
说明
T4PS[1:0]
定时器4预分频比选择位
00:1/1
01:1/8
10:1/64
11:1/256
3-2
T4M[1:0]
定时器4方式选择位
00:Mode0,16位自动重载定时器
01:Mode1,EUART波特率发生器
10:Mode2,T4端口上升沿触发(只用系统时钟,T4CLKS无效)
11:Mode2,T4端口下降沿触发(只用系统时钟,T4CLKS无效)
1
TR4
0
T4CLKS
5-4
定时器4允许控制位
0:禁止定时器4
1:允许定时器4
定时器4时钟源选择位
0:系统时钟,T4端口作为I/O口
1:T4端口输入外部时钟,自动上拉
Table 7.35 定时器4重载/计数数据寄存器
CCH-CDH,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
TL4
TL4.7
TL4.6
TL4.5
TL4.4
TL4.3
TL4.2
TL4.1
TL4.0
TH4
TH4.7
TH4.6
TH4.5
TH4.4
TH4.3
TH4.2
TH4.1
TH4.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
7-0
位符号
TL4.x
TH4.x
说明
定时器4低位高位计数器,x = 0 - 7
55
SH79F3283
7.8.5 定时器5
定时器5是16位自动重载定时器。两个数据寄存器TH5和TL5可作为一个16位寄存器来访问。由T5CON寄存器控制。IEN0
寄存器的ET5位置1允许定时器5中断(详见中断章节)。
当TH5和TL5被写时,用作定时器重载寄存器,当被读时,被用做计数寄存器。TR5位置1使定时器5开始递增计数。定时器
在0xFFFF到0x0000溢出并置TF5位为1。溢出同时,定时器重载寄存器的16位数据重新载入计数寄存器中,对TH5的写操作也
导致重载寄存器的数据重新载入计数寄存器。
TH5和TL5读写操作遵循以下顺序:
写操作:先低位后高位
读操作:先高位后低位
定时器5方式
定时器5有一种工作方式:16位自动重载定时器。
16位自动重载定时器
定时器5在方式0为16位自动重载定时器。TH5寄存器存放16位计数器/定时器高8位,TL5存放低8位。当16位定时寄存器从
0xFFFF到0x0000递增,并溢出时,系统置定时器溢出标志TF5(T5CON.7)为1,16位寄存器的值被重新载入计数器,如果允
许定时器5中断则产生中断。
T5CON.1寄存器的TR5位置1允许定时器5,且不清定时器5的计数器。在允许定时器5之前,将希望的初始值写入定时器重
载寄存器中。
T5PS[1:0]
Increment Mode
System Clock
TR5
Prescaler
1,8,64,256
Interrupt
Request
16 bit Counter
TF5
Overflow
Flag
0:Switch Off
1:Switch On
TL5
TH5
The Block Diagram of Mode 0 of Timer 5
56
SH79F3283
寄存器
Table 7.36 定时器5控制寄存器
C0H,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
T5CON
TF5
-
T5PS1
T5PS0
-
-
TR5
-
读/写
读/写
-
读/写
读/写
-
-
读/写
-
复位值
(POR/WDT/LVR/PIN)
0
-
0
0
-
-
0
-
位编号
位符号
7
TF5
说明
定时器5溢出标志位
0:无溢出(硬件清0)
1:溢出(硬件置1)
5-4
T5PS[1:0]
1
TR5
定时器5预分频比选择位
00:1/1
01:1/8
10:1/64
11:1/256
定时器5允许控制位
0:禁止定时器5
1:允许定时器5
Table 7.37 定时器5重载/计数数据寄存器
CEH-CFH,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
TL5
TL5.7
TL5.6
TL5.5
TL5.4
TL5.3
TL5.2
TL5.1
TL5.0
TH5
TH5.7
TH5.6
TH5.5
TH5.4
TH5.3
TH5.2
TH5.1
TH5.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
第1位
第0位
位编号
位符号
TL5.x
7-0
说明
定时器5低位高位计数器,x = 0 - 7
TH5.x
Table 7.38 定时器5重载/计数数据寄存器
89H,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
SWTHL
-
-
-
-
-
-
读/写
-
-
-
-
-
-
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
-
-
0
0
位编号
位符号
1
T5HLCON
说明
0:读TH5和TL5时,返回值为T5计数器值
1:读TH5和TL5时,返回值为T5重载寄存器值
57
T5HLCON T3HLCON
SH79F3283
7.9 中断
7.9.1 特性
15个中断源
4层中断优先级
SH79F3283有15个中断源:5个外部中断(INT0,INT1,INT2,INT3,INT4),INT4共8个中断源(INT40-47共用一个向
量地址),4个定时器中断(定时器2,3,4和5),2个EUART中断,SPI中断,ADC中断,PWM中断,SCM中断和LPD中断。
7.9.2 中断允许
任何一个中断源均可通过对寄存器IEN0和IEN1中相应的位置1或清0,实现单独使能或禁止。IEN0寄存器中还包含了一个全
局使能位EA,它是所有中断的总开关。一般在复位后,所有中断允许位设置为0,所有中断被禁止。
7.9.3 寄存器
Table 7.39 初级中断允许寄存器
A8H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IEN0
EA
EADC
ET2
ES0
-
EX1
ET5
EX0
读/写
读/写
读/写
读/写
读/写
-
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
-
0
0
0
位编号
位符号
说明
7
EA
所有中断允许位
0:禁止所有中断
1:允许所有中断
6
EADC
ADC中断允许位
0:禁止ADC中断
1:允许ADC中断
5
ET2
定时器2溢出中断允许位
0:禁止定时器2溢出中断
1:允许定时器2溢出中断
4
ES0
EUART0中断允许位
0:禁止EUART0中断
1:允许EUART0中断
2
EX1
外部中断1允许位(32脚无此中断)
0:禁止外部中断1
1:允许外部中断1
1
ET5
定时器5溢出中断允许位
0:禁止定时器5溢出中断
1:允许定时器5溢出中断
0
EX0
外部中断0允许位(32脚无此中断)
0:禁止外部中断0
1:允许外部中断0
注意:ECMP为比较器1/2的总允许控制位。打开比较器1/2中断,ECMP和ECMP1/2必须同时置1。
58
SH79F3283
Table 7.40 次级中断允许寄存器
A9H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IEN1
ESCM_LPD
_CRC
ET4
EPWM
ET3_ES1
EX4
EX3
EX2
ESPI
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
7
ESCM_LPD_CRC
6
ET4
5
EPWM
4
ET3_ES1
3
EX4
外部中断4允许位
0:禁止外部中断4中断
1:允许外部中断4中断
2
EX3
外部中断3允许位
0:禁止外部中断3中断
1:允许外部中断3中断
1
EX2
外部中断2允许位
0:禁止外部中断2
1:允许外部中断2
0
ESPI
SPI中断允许位(32脚无SPI中断)
0:禁止SPI中断
1:允许SPI中断
SCM/LPD/CRC中断允许位
0:禁止SCM/LPD/CRC中断
1:允许SCM/LPD/CRC中断
定时器4中断允许位
0:禁止定时器4溢出中断
1:允许定时器4溢出中断
PWM中断允许位
0:禁止PWM中断
1:允许PWM中断
定时器3/EUART1中断允许位(32脚无EUART1中断)
0:禁止定时器3/EUART1溢出中断
1:允许定时器3/EUART1溢出中断
注意:
(1) 打开外部中断0/1/2/3/4时,相应的端口必须设置为输入状态。
(2) EPWM为PWM0/1中断的总允许控制位,打开PWM定时器中断,EPWM位和PWM控制寄存器中的PWMIE,中断允许位
必须同时置1。
59
SH79F3283
Table 7.41 中断通道允许寄存器
BAH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IENC
EXS47
EXS46
EXS45
EXS44
EXS43
EXS42
EXS41
EXS40
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
EXS4x
(x = 7-0)
说明
外部中断4选择寄存器(x = 7-0)
0:禁止外部中断4x
1:允许外部中断4x
Table 7.42 中断通道允许寄存器1
BBH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IENC1
-
ECRC
ES1
ET3
-
-
ESCM
ELPD
读/写
-
读/写
读/写
读/写
-
-
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
0
0
0
-
-
0
0
位编号
位符号
说明
6
ECRC
5
ES1
EUART1中断允许位
0:禁止EUART1中断
1:允许EUART1中断
4
ET3
定时器3中断允许位
0:禁止定时器3溢出中断
1:允许定时器3溢出中断
1
ESCM
SCM中断允许位
0:禁止SCM中断
1:允许SCM中断
0
ELPD
LPD中断允许位
0:禁止LPD中断
1:允许LPD中断
CRC中断允许位
0:禁止CRC中断
1:允许CRC中断
60
SH79F3283
7.9.4 中断标志
每个中断源都有自己的中断标志,当产生中断时,硬件会置起相应的标志位,在中断摘要表中会列出中断标志位。
外部中断源产生外部中断INT0/1/2/3时,如果中断为边沿触发,CPU在响应中断后,各中断标志位IEx(x = 0-3)被硬件清0;
如果中断是低电平触发,外部中断源引脚电平直接控制中断标志,而不是由片上硬件控制。
外部中断INT4产生中断时,EXF1寄存器中的IF4x标志位(x = 0-7)置1,由于INT4x共用一个中断向量地址,所以标志位
需要用户软件清除。但是如果INT4为电平触发时,标志位不能被用户软件清0,只受INT4x中断源引脚所接信号电平直接控制。
T2CON寄存器的TF2或EXF2标志位置1时,产生定时器2产生中断,CPU在响应中断后,标志位都不会被硬件自动清0。事
实上,中断服务程序必须决定是由TF2或是EXF2产生中断,标志必须由软件清0。
定时器3的计数器溢出时,T3CON寄存器的TF3中断标志位置1,产生定时器3中断,CPU在响应中断后,标志被硬件自动
清0。
定时器4的计数器溢出时,T4CON寄存器的TF4中断标志位置1,产生定时器4中断,CPU在响应中断后,标志被硬件自动
清0。
定时器5的计数器溢出时,T5CON寄存器的TF5中断标志位置1,产生定时器5中断,CPU在响应中断后,标志被硬件自动
清0。
SCON/SCON1寄存器的标志RI或TI被置1时,产生EUARTx(x = 0,1)产生中断,CPU在响应中断后,标志不会被硬件
自动清0。事实上,中断服务程序必须判断是收中断还是发中断,标志必须由软件清0。
当ADCON寄存器的ADCIF标志位被置1时,产生ADC中断。如果中断产生,ADCDH/ADCDL中的结果是有效的。如果ADC
模块的连续比较功能被打开,在每次转换中,如果转换结果小于比较值时,ADCIF标志位为0;如果转换结果大于比较值时,ADCIF
标志位置1,ADCIF中断标志必须由软件清除。
SPSTA寄存器的SPIF标志位或MODF标志位置1时,产生SPI中断,标志必须由软件清0。
CLKCON寄存器的SCMIF标志位置1时,产生SCM中断,标志必须由硬件清0。
LPDCON寄存器的LPDF标志位置1时,产生LPD中断,标志被硬件自动清0。通过设置LPDMD位,可选择当VDD电压高于
或低于LPD设置检测电压时产生LPD中断。
PWMxC(x = 0,1)寄存器的PWMxIF标志位置1时,产生PWM中断,标志必须由软件清0。
CRCCON寄存器的CRCIF标志位置1时,产生CRC中断,标志必须由软件清0。
Table 7.43 定时器/计数器控制寄存器(x = 0, 1)(32脚无外部中断0,1)
88H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
TCON
-
-
-
-
IE1
IT1
IE0
IT0
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
位编号
位符号
说明
1, 3
IEx
(x = 0, 1)
外部中断x请求标志位
0:无中断挂起
1:中断挂起
0, 2
ITx
(x = 0, 1)
外部中断x触发方式选择位
0:低电平触发
1:下降沿触发
61
SH79F3283
Table 7.44 外部中断标志寄存器
E8H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
EXF0
IT4.1
IT4.0
IT3.1
IT3.0
IT2.1
IT2.0
IE3
IE2
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
IT4[1:0]
外部中断4触发模式位
00:低电平触发
01:下降沿触发
10:上升沿触发
11:双沿触发
IT4[1:0]控制外部中断4各中断源采用同一触发方式
IT3[1:0]
外部中断3触发模式位
00:低电平触发
01:下降沿触发
10:上升沿触发
11:双沿触发
3-2
IT2[1:0]
外部中断2触发模式位
00:低电平触发
01:下降沿触发
10:上升沿触发
11:双沿触发
1
IE3
外部中断3请求标志位
0:无中断挂起
1:中断挂起
0
IE2
外部中断2请求标志位
0:无中断挂起
1:中断挂起
7-6
5-4
Table 7.45 外部中断4标志寄存器
D8H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
EXF1
IF47
IF46
IF45
IF44
IF43
IF42
IF41
IF40
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
IF4x
(x = 7-0)
说明
外部中断4请求标志
0:无中断请求
1:有中断请求
IF4x要由软件清0
62
SH79F3283
7.9.5 中断向量
当一个中断产生时,程序计数器内容被压栈,相应的中断向量地址被载入程序计数器。中断向量的地址在中断汇总表中详
细列出。
7.9.6 中断优先级
每个中断源都可被单独设置为4个中断优先级之一,分别通过清0或置1 IPL0,IPH0,IPL1,IPH1中相应位来实现。中断优
先级服务程序描述如下:
响应一个中断服务程序时,可响应更高优先级的中断,但不能响应同优先级或低优先级的另一个中断。
响应最高级中断服务程序时,不响应其它任何中断。如果不同中断优先级的中断源同时申请中断时,响应较高优先级的中
断申请。
如果同优先级的中断源在指令周期开始时同时申请中断,那么内部查询序列确定中断请求响应顺序。
中断优先级
优先位
中断优先级
IPHx
IPLx
0
0
等级0(最低优先级)
0
1
等级1
1
0
等级2
1
1
等级3(最高优先级)
Table 7.46 中断优先级控制寄存器
B8H,B4H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IPL0
-
PADCL
PT2L
PS0L
-
PX1L
PT5L
PX0L
IPH0
-
PADCH
PT2H
PS0H
-
PX1H
PT5H
PX0H
读/写
-
读/写
读/写
读/写
-
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
0
0
0
-
0
0
0
B9H,B5H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
IPL1
PSCML
PT4L
PPWML
PT3S1L
PX4L
PX3L
PX2L
PSPIL
IPH1
PSCMH
PT4H
PPWMH
PT3S1H
PX4H
PX3H
PX2H
PSPIH
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
PxxxL/H
说明
相应中断源xxx优先级选择
63
SH79F3283
7.9.7 中断处理
中断标志在每个机器周期都会被采样获取。所有中断都在时钟的上升沿被采样。如果一个标志被置起,那么CPU捕获到后
中断系统调用一个长转移指令(LCALL)调用其中断服务程序,但由硬件产生的LCALL会被下列任何条件阻止:
同级或更高级的优先级中断在运行中。
当前的周期不是执行中指令的最后一个周期。换言之,正在执行的指令完成前,任何中断请求都得不到响应。
正在执行的是一条RETI或者访问专用寄存器IEN0\1或是IPL\H的指令。换言之,在RETI或者读写IEN0\1或是IPL\H之后,不
会马上响应中断请求,而至少在执行一条其它指令之后才会响应。
注意:因为更改优先级通常需要2条指令,在此期间,建议关闭相应的中断以避免在修改优先级过程中产生中断。如果当模
块状态改变而中断标志不再有效时,将不会响应此中断。每一个轮询周期只查询有效的中断请求。
轮询周期/LCALL次序如下图所示:
C1
C2
Interrupt
Polled
C3
C3~Cn
Interrupt
Signal
Generated
Interrupt
Pending
Cn~Cn+7
Long Call to
Interrupt Vector Service
Cn+8
Interrupt
service
Interrupt
Latched
中断响应时间
由硬件产生的LCALL把程序计数器中的内容压入堆栈(但不保存PSW),然后将相应中断源的向量地址(参照中断向量表)
存入程序计数器。
中断服务程序从指定地址开始,到RETI指令结束。RETI指令通知处理器中断服务程序结束,然后把堆栈顶部两字节弹出,
重载入程序计数器中,执行完中断服务程序后程序回到原来停止的地方。RET指令也可以返回到原来地址继续执行,但是中断
优先级控制系统仍然认为一个同一优先级的中断被响应,这种情况下,当同一优先级或低优先级中断将不会被响应。
7.9.8 中断响应时间
如果检测出一个中断,这个中断的请求标志位就会在被检测后的每个机器周期被置起。内部电路会保持这个值直到下一个
机器周期,CPU会在第三个机器周期产生中断。如果响应有效且条件允许,在下一个指令执行的时候硬件LCALL指令将调用请
求中断的服务程序,否则中断被挂起。LCALL指令调用程序需要7个机器周期。因而,从外部中断请求到开始执行中断程序至少
需要3+7个完整的机器周期。
当请求因前述的的三个情况受阻时,中断响应时间会加长。如果同级或更高优先级的中断正在执行,额外的等待时间取决
于正执行的中断服务程序的长度。
如果正在执行的指令还没有进行到最后一个周期,假如正在执行RETI指令,则完成正在执行的RETI指令,需要8个周期,
加上为完成下一条指令所需的最长时间20个机器周期(如果该指令是16位操作数的DIV,MUL指令),若系统中只有一个中断
源,再加上LCALL调用指令7个机器周期,则最长的响应时间是2+8+20+7个机器周期。
所以,中断响应时间一般大于10个机器周期小于37个机器周期。
64
SH79F3283
7.9.9 外部中断输入
SH79F3283有5个外部中断输入。外部中断0-3分别有一个独立的中断源,外部中断4有8个中断源共享一个中断矢量地址。
外部中断0/1可以通过设置TCON寄存器的IT1,IT0位来选择是电平触发或是边沿触发。当ITx = 0(x = 0,1)时,外部中断INTx
(x = 0,1)引脚为低电平触发;当ITx(x = 0,1)= 1,外部中断INTx(x = 0,1)为沿触发,在这个模式中,一个采样周期
内INTx(x = 0,1)引脚上连续采样为高电平,而下个周期开始,连续采样SN个周期为低电平(SN为Sample Num),TCON
寄存器的中断请求标志位置1,发出一个中断请求。由于外部中断引脚每个周期采样一次,输入高或低电平应当保持至少SN个
周期以确保能够被正确采样到。
如果外部中断为下降沿触发,外部中断源应当将中断脚至少保持SN个周期高电平,然后至少保持SN个周期低电平。这样就
确保了边沿能够被检测到以使IEx置1。当调用中断服务程序后,CPU自动将IEx清0。
如果外部中断为低电平触发,外部中断源必须一直保持请求有效,直到产生所请求的中断为止,此过程需要SN个采样周期。
如果中断服务完成后而外部中断仍旧维持,则会产生下一次中断。当中断为电平触发时不必清除中断标志IEx(x = 0,1,2,3),
因为中断只与输入口电平有关。
中断采样时钟分频比和连续采样次数均可以设置EXCON寄存器进行调节,满足不同中断响应要求。
HALT和STOP模式下,分频比和采样次数设置无效。
外部中断2-4除了具有更多的中断触发方式外,与外部中断0,1操作类似。
当SH79F3283进入空闲或是掉电模式,中断会唤醒处理器继续工作,详见电源管理章节。
IxPS[1:0],x=0,1
System Clock
Prescaler
1,4,16,64
IxSN[1:0],x=0,1
Sampling Num
1,2,3,4
Interrupt
Request
INTi
Sampling
PxCR
x=0,2,3,4
00
01
10
11
IEi
Flag
0
1
ITi[1:0], i=2-4
ITi[1:0], i=0-1
The Block Diagram of INTi
注意:外部中断0-3的中断标志位在执行中断服务程序时被自动硬件清0,但外部中断4标志位IF40-43必须要软件清0。
SN Sampling Cyle
(SN=1,2,3,4)
High-Level Threshold
Low-Level Threshold
> SN Sampling Cycle
(SN=1,2,3,4)
Low-Level Threshold
>2*SN Sampling Cycle
(SN=1,2,3,4)
外部中断检测
65
SH79F3283
Table7.47 外部中断采样次数控制寄存器
8BH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
EXCON
I1PS1
I1PS0
I1SN1
I1SN0
I0PS1
I0PS0
I0SN1
I0SN0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
7-6
5-4
3-2
1-0
位符号
说明
I1PS[1:0]
外部中断INT4采样时钟预分频比选择位
00:1/1
01:1/4
10:1/16
11:1/64
I1SN[1:0]
外部中断INT4连续采样次数选择位
00:1
01:2
10:3
11:4
I0PS[1:0]
外部中断INT0,1,2,3采样时钟预分频比选择位
00:1/1
01:1/4
10:1/16
11:1/64
I0SN[1:0]
外部中断INT0,1,2,3连续采样次数选择位
00:1
01:2
10:3
11:4
注意:若I0SN[1:0] = 11,则外部中断0,1,2,3(下降沿触发),连续采样4次低电平才会产生中断标志。
66
SH79F3283
7.9.10 中断汇总
中断源
向量地址
允许位
标志位
轮询优先级
中断号(C51)
Reset
0000H
-
-
0(最高级)
-
INT0
0003H
EX0
IE0
1
0
Timer5
000BH
ET5
TF5
2
1
INT1
0013H
EX1
IE1
3
2
EUART0
0023H
ES0
RI+TI
5
4
Timer2
002BH
ET2
TF2+EXF2
6
5
ADC
0033H
EADC
ADCIF
7
6
SPI
003BH
ESPI
SPIF
8
7
INT2
0043H
EX2
IE2
9
8
INT3
004BH
EX3
IE3
10
9
INT4
0053H
EX4+IENC
IF43-40
11
10
Timer3/EUART1
005BH
ET3+ET3_ES1
TF3
12
11
PWM
0063H
EPWM
PWM0/1IF
13
12
Timer4
006BH
ET4
TF4
14
13
SCM/LPD/CRC
0073H
ESCM/ELPD/ECRC+
ESCM_LPD_CRC
SCMIF/LPDF/
CRCIF
15(最低级)
14
67
SH79F3283
8. 增强功能
8.1 LCD驱动器
传统电阻型/快速充电LCD模式
LCD驱动器包含一个控制器,一个占空比发生器及4/8个COM输出引脚和24个Segment输出引脚。由P0SS、P1SS、P2SS、
P3SS寄存器控制,Segment口和COM1-COM8脚还可以当作I/O口使用,LCD COM1-COM8脚还可以与LED共用。28字节的LCD
显示数据RAM存储区的地址为500H-51BH,如果需要,它们可以作为数据存储器使用。
MCU提供传统电阻型LCD显示方式,支持对比度调节,支持1/4占空比1/3偏置电压,1/5占空比1/3偏置电压,1/6占空比1/3
偏置电压,1/6占空比1/4偏置电压和1/8占空比和1/4偏置电压驱动方式。在LCD驱动前,DISPSEL(DISPCON.7)必须被清0。
当DISPCON寄存器的ELCC位置1时LCD驱动电压VLCD由对比度控制位决定,当ELCC位清0时,VLCD等于VDD。当MCU进入省
电模式后,若32.768kHz振荡器/128kHzRC工作,则LCD工作。在上电复位、引脚复位、低电压复位或看门狗复位期间,LCD
被关闭。当LCD被关闭时,Common和Segment都输出低电平。
传统电阻型LCD显示模式有以下特性:
- LCD时钟及帧频计算如下;
代码选项选择双时钟且低频为32.768K crystal时(OP_OSC为1010,1011或1101),LCD/LED的时钟源为32.768K crystal,
固定帧频64Hz,DISPCLK0寄存器无效;选择不同的占空比,帧频略有差异;
代码选项选择其余时钟时(包括高频单时钟),LCD/LED的时钟源为128K RC,设置DISPCLK0寄存器DCK[1:0],选择1/4,
1/3,1/2,1/1分频比,对应的LCD/LED帧频为256/4Hz,256/3Hz,256/2Hz,256/1Hz,选择不同的占空比,帧频略有差异;
代码选项选择高频单时钟时(OP_OSC为0000,0001或1110),STOP模式下,LCD/LED时钟关闭;代码选项选择双时钟
(OP_OSC为0011,0100,0110,1010,1011或1101),且工作在高频时钟,进stop模式,LCD/LED时钟继续工作;代码选
项选择双时钟(OP_OSC为0011,0100,0110,1010,1011或1101),且工作在低频时钟,进stop模式,LCD/LED时钟关闭;
IDLE模式下,LCD/LED时钟保持工作。
- 由DISPCON寄存器的DUTY[2:0]位选择1/4占空比1/3偏置,1/5占空比1/3偏置电压,1/6占空比1/3偏置电压,1/6占空比1/4
偏置电压或1/8占空比1/4偏置驱动方式;
- 由DISPCON寄存器的VOL[3:0]位控制16级对比度调节;
- 1/3偏置可选LCD偏置电阻(RLCD)偏20K/75K/300K,1/4偏置为15K/56K/225K,偏置电阻总和为60K/225K/900K。
由DISPCON1寄存器的MOD[1:0]位控制,可选择为传统电阻型LCD,也可选择为另一种即快速充电模式(Fast Charge
Mode)以降低功耗。
选择20k偏置电阻可以得到较好的显示效果,但电流相对会大一些,不适合低功耗的应用。若选择75/300k偏置电阻,虽然
可以达到较低的功耗,但LCD显示效果会变得差一些。
因此,SH79F3283提供了兼顾低功耗和显示效果的显示模式:快速充电模式。设置MOD[1:0] = 10可以选择此种显示方式,
在显示数据刷新时刻选择20k偏置电阻,提供较大的驱动电流,在数据保持期间选择75k/300k偏置电阻,提供较小的驱动电流。
由DISPCON1寄存器的FCCTL[1:0]位选择充电时间为LCD com周期的1/8、1/16、1/32或1/64。
68
SH79F3283
one frame
COM4
V3
COM1
V2
COM3
V1
0
V3
COM2
COM2
V2
V1
COM1
0
V3
COM3
V2
V1
0
V3
COM4
V2
V1
0
SEGn+1
V3
SEGn
V2
SEGn
V1
0
V
V2
SEGn+1
V1
0
V3
V
V1
COM4 - SEGn
0
-V1
-V2
-V3
LCD波形(1/4占空比,1/3偏置)
69
SH79F3283
COM8
VDD
V3
COM7
COM1 V2
COM6
V1
0
COM5
VDD
COM4
COM3
V3
COM2
COM2
COM1
V2
V1
0
VDD
V3
COM3
V2
V1
0
VDD
V3
COM4
V2
V1
SEGn
0
VDD
V3
SEGn
V2
V1
0
VDD
V3
V2
V1
COM1- SEGn 0
- V1
- V2
- V3
- VDD
LCD波形(1/8占空比,1/4偏置)
70
SH79F3283
8.1.1 寄存器
Table 8.1 LCD控制寄存器
ABH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
DISPCON
DISPSEL
LCDON
ELCC
DUTY0
VOL3
VOL2
VOL1
VOL0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7
DISPSEL
6
LCDON
5
ELCC
LCD对比度控制使能位
0:关闭LCD对比度控制
1:打开LCD对比度控制
4
DUTY0
LCD占空比选择位(与DUTY[2:1]组合控制)
请参看DUTY[2:1]描述
3-0
VOL[3:0]
说明
LCD,LED选择控制位
0:选择LCD驱动器,LED驱动器无效
1:选择LED驱动器,LCD驱动器无效
LCD使能控制位
0:禁止LCD驱动器
1:允许LCD驱动器
LCD对比度控制位
0000:VLCD = 0.531VDD
0001:VLCD = 0.563VDD
0010:VLCD = 0.594VDD
0011:VLCD = 0.625VDD
0100:VLCD = 0.656VDD
0101:VLCD = 0.688VDD
0110:VLCD = 0.719VDD
0111:VLCD = 0.750VDD
1000:VLCD = 0.781VDD
1001:VLCD = 0.813VDD
1010:VLCD = 0.844VDD
1011:VLCD = 0.875VDD
1100:VLCD = 0.906VDD
1101:VLCD = 0.938VDD
1110:VLCD = 0.969VDD
1111:VLCD = 1.000VDD
注意:SH79F3283兼有LCD驱动和LED驱动,不可同时有效,若DISPSEL = 1,LCD驱动无效,若DISPSEL = 0,LED驱
动无效。
71
SH79F3283
Table 8.2 LCD控制寄存器1
ADH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
DISPCON1
MODSW
DUTY2
DUTY1
RLCD
FCCTL1
FCCTL2
MOD1
MOD0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7
MODSW
6-5
DUTY[2:1]
4
RLCD
3-2
1-0
FCCTL[1:0]
MOD[1:0]
说明
LCD/LED共享总选择位
0:P0SS控制位有效
1:所有LCD/LED共享端口设置为IO
LCD占空比选择位(与DUTY0组合控制)
000:1/4占空比,1/3偏置(4 COM X 28 SEG)
COM口:COM1-4
SEG口:SEG1-28
001:1/8占空比,1/4偏置(8 COM X 24 SEG)
COM口:COM1-8
SEG口:SEG1-24
010:1/4占空比,1/3偏置(4 COM X 28 SEG)
COM口:COM5-8共享为COM1-4
SEG口:SEG1-24,COM1-4共享为SEG25-28
011:1/5占空比,1/3偏置(5 COM X 27 SEG)
COM口:COM1-5
SEG口:SEG1-24,COM6-8共享为SEG25-27
100:1/6占空比,1/3偏置(6 COM X 26 SEG)
COM口:COM1-6
SEG口:SEG1-24,COM7-8共享为SEG25-SEG26
101:1/6占空比,1/4偏置(6 COM X 26 SEG)
COM口:COM1-6
SEG口:SEG1-24,COM7-8共享为SEG25-SEG26
其他:1/4占空比,1/3偏置(4 COM X 28 SEG)
COM口:COM1-4
SEG口:SEG1-28
LCD偏置电阻选择控制位
0:LCD偏置电阻为225k
1:LCD偏置电阻总和为900k
充电时间控制位
00:1/8 LCD com周期
01:1/16 LCD com周期
10:1/32 LCD com周期
11:1/64 LCD com周期
驱动模式选择位
00:传统电阻型模式,偏置电阻总和为225k/900k
01:传统电阻型模式,偏置电阻总和为60k
10:快速充电模式,偏置电阻总和自动在60k和225k/900k之间切换
注意:MODSW = 1时,可以设置代码选项OP_MODSW调整当前LCD扫描的counter是否保留数据。OP_MODSW = 0,则
LCD继续扫描;当OP_MODSW = 1时,LCD停止扫描,保留当前COM口数据,MODSW = 0后,继续扫描。
72
SH79F3283
Table 8.3 LCD时钟控制寄存器
ACH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
DISPCLK0
-
-
-
-
-
-
DCK1
DCK0
读/写
-
-
-
-
-
-
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
-
-
0
0
位编号
1-0
位符号
DCK[1:0]
说明
LCD时钟分频选择位
00:1/4分频
01:1/3分频
10:1/2分频
11:1/1分频
注意:此寄存器仅在LCD时钟为128K RC时有效。
注意:
(1) 代码选项选择双时钟且低频为32.768K crystal时(OP_OSC = 1010,1011,1101),LCD/LED的时钟选择为32.768K
crystal,固定帧频64Hz,DISPCLK0寄存器无效;选择不同的占空比,帧频略有差异;
(2) 代码选项选择其余时钟时(包括高频单时钟),LCD/LED的时钟选择为128K RC,设置DISPCLK0寄存器DCK[1:0],选
择1/4,1/3,1/2,1/1分频比,对应的LCD/LED帧频为256/4Hz,256/3Hz,256/2Hz,256/1Hz,选择不同的占空比,帧频略有
差异。
Table 8.4 Px模式选择寄存器
B6H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P0SS
P4S7
P4S6
P4S5
P5S5
P5S4
P0S2
P0S1
P0S0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
7-5
P4S[7:5]
P4口模式选择位
0:P4.5-P4.7作为I/O
1:P4.5-P4.7作为Segment(SEG22-24)
4-3
P5S[5:4]
P5口模式选择位
0:P5.4-P5.5作为I/O
1:P5.4-P5.5作为Segment(SEG20 - SEG21)
2-0
P0S[2:0]
P0口模式选择位
0:P0.0-P0.2作为I/O
1:P0.0-P0.2作为Segment(SEG17 - SEG19)
73
SH79F3283
Table 8.5 P1模式选择寄存器
9CH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P1SS
P1S7
P1S6
P1S5
P1S4
P1S3
P1S2
P1S1
P1S0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
P1S[7:0]
说明
P1口模式选择位(x = 0-7)
0:P1.0-P1.7作为I/O
1:P1.0-P1.7作为Segment(SEG1 - SEG8)
Table 8.6 P2模式选择寄存器
9DH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P2SS
P2S7
P2S6
P2S5
P2S4
P2S3
P2S2
P2S1
P2S0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
P2S[7:0]
说明
P2口模式选择位
0:P2.0-P2.7作为I/O
1:P2.0-P2.7作为Segment(SEG9 - SEG16)
Table 8.7 P3模式选择寄存器
9EH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P3SS
P3S7
P3S6
P3S5
P3S4
P3S3
P3S2
P3S1
P3S0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
P3S[7:0]
说明
P3口模式选择位
0:P3.0-P3.7作为I/O
1:P3.0-P3.7作为Common(COM1 - COM8)或segment(SEG25-SEG28)
74
SH79F3283
8.1.2 LCD RAM配置
LCD 1/4占空比,1/3偏置(COM1 - 4,SEG1 - 28)
地址
7
-
6
-
5
-
4
-
3
COM4
2
COM3
1
COM2
0
COM1
500H
-
-
-
-
SEG1
SEG1
SEG1
SEG1
501H
-
-
-
-
SEG2
SEG2
SEG2
SEG2
502H
-
-
-
-
SEG3
SEG3
SEG3
SEG3
503H
-
-
-
-
SEG4
SEG4
SEG4
SEG4
504H
-
-
-
-
SEG5
SEG5
SEG5
SEG5
505H
-
-
-
-
SEG6
SEG6
SEG6
SEG6
506H
-
-
-
-
SEG7
SEG7
SEG7
SEG7
507H
-
-
-
-
SEG8
SEG8
SEG8
SEG8
508H
-
-
-
-
SEG9
SEG9
SEG9
SEG9
509H
-
-
-
-
SEG10
SEG10
SEG10
SEG10
50AH
-
-
-
-
SEG11
SEG11
SEG11
SEG11
50BH
-
-
-
-
SEG12
SEG12
SEG12
SEG12
50CH
-
-
-
-
SEG13
SEG13
SEG13
SEG13
50DH
-
-
-
-
SEG14
SEG14
SEG14
SEG14
50EH
-
-
-
-
SEG15
SEG15
SEG15
SEG15
50FH
-
-
-
-
SEG16
SEG16
SEG16
SEG16
510H
-
-
-
-
SEG17
SEG17
SEG17
SEG17
511H
-
-
-
-
SEG18
SEG18
SEG18
SEG18
512H
-
-
-
-
SEG19
SEG19
SEG19
SEG19
513H
-
-
-
-
SEG20
SEG20
SEG20
SEG20
514H
-
-
-
-
SEG21
SEG21
SEG21
SEG21
515H
-
-
-
-
SEG22
SEG22
SEG22
SEG22
516H
-
-
-
-
SEG23
SEG23
SEG23
SEG23
517H
-
-
-
-
SEG24
SEG24
SEG24
SEG24
518H
-
-
-
-
SEG25
SEG25
SEG25
SEG25
519H
-
-
-
-
SEG26
SEG26
SEG26
SEG26
51AH
-
-
-
-
SEG27
SEG27
SEG27
SEG27
51BH
-
-
-
-
SEG28
SEG28
SEG28
SEG28
75
SH79F3283
LCD 1/8占空比,1/4偏置(COM1 - 8,SEG1 - 24)
地址
7
COM8
6
COM7
5
COM6
4
COM5
3
COM4
2
COM3
1
COM2
0
COM1
500H
SEG1
SEG1
SEG1
SEG1
SEG1
SEG1
SEG1
SEG1
501H
SEG2
SEG2
SEG2
SEG2
SEG2
SEG2
SEG2
SEG2
502H
SEG3
SEG3
SEG3
SEG3
SEG3
SEG3
SEG3
SEG3
503H
SEG4
SEG4
SEG4
SEG4
SEG4
SEG4
SEG4
SEG4
504H
SEG5
SEG5
SEG5
SEG5
SEG5
SEG5
SEG5
SEG5
505H
SEG6
SEG6
SEG6
SEG6
SEG6
SEG6
SEG6
SEG6
506H
SEG7
SEG7
SEG7
SEG7
SEG7
SEG7
SEG7
SEG7
507H
SEG8
SEG8
SEG8
SEG8
SEG8
SEG8
SEG8
SEG8
508H
SEG9
SEG9
SEG9
SEG9
SEG9
SEG9
SEG9
SEG9
509H
SEG10
SEG10
SEG10
SEG10
SEG10
SEG10
SEG10
SEG10
50AH
SEG11
SEG11
SEG11
SEG11
SEG11
SEG11
SEG11
SEG11
50BH
SEG12
SEG12
SEG12
SEG12
SEG12
SEG12
SEG12
SEG12
50CH
SEG13
SEG13
SEG13
SEG13
SEG13
SEG13
SEG13
SEG13
50DH
SEG14
SEG14
SEG14
SEG14
SEG14
SEG14
SEG14
SEG14
50EH
SEG15
SEG15
SEG15
SEG15
SEG15
SEG15
SEG15
SEG15
50FH
SEG16
SEG16
SEG16
SEG16
SEG16
SEG16
SEG16
SEG16
510H
SEG17
SEG17
SEG17
SEG17
SEG17
SEG17
SEG17
SEG17
511H
SEG18
SEG18
SEG18
SEG18
SEG18
SEG18
SEG18
SEG18
512H
SEG19
SEG19
SEG19
SEG19
SEG19
SEG19
SEG19
SEG19
513H
SEG20
SEG20
SEG20
SEG20
SEG20
SEG20
SEG20
SEG20
514H
SEG21
SEG21
SEG21
SEG21
SEG21
SEG21
SEG21
SEG21
515H
SEG22
SEG22
SEG22
SEG22
SEG22
SEG22
SEG22
SEG22
516H
SEG23
SEG23
SEG23
SEG23
SEG23
SEG23
SEG23
SEG23
517H
SEG24
SEG24
SEG24
SEG24
SEG24
SEG24
SEG24
SEG24
76
SH79F3283
LCD 1/5占空比,1/3偏置(COM1 - 5,SEG1 - 27)
地址
7
-
6
-
5
-
4
COM5
3
COM4
2
COM3
1
COM2
0
COM1
500H
501H
-
-
-
SEG1
SEG2
SEG1
SEG2
SEG1
SEG2
SEG1
SEG2
SEG1
SEG2
502H
-
-
-
SEG3
SEG3
SEG3
SEG3
SEG3
503H
-
-
-
SEG4
SEG4
SEG4
SEG4
SEG4
504H
-
-
-
SEG5
SEG5
SEG5
SEG5
SEG5
505H
-
-
-
SEG6
SEG6
SEG6
SEG6
SEG6
506H
-
-
-
SEG7
SEG7
SEG7
SEG7
SEG7
507H
-
-
-
SEG8
SEG8
SEG8
SEG8
SEG8
508H
-
-
-
SEG9
SEG9
SEG9
SEG9
SEG9
509H
-
-
-
SEG10
SEG10
SEG10
SEG10
SEG10
50AH
-
-
-
SEG11
SEG11
SEG11
SEG11
SEG11
50BH
-
-
-
SEG12
SEG12
SEG12
SEG12
SEG12
50CH
-
-
-
SEG13
SEG13
SEG13
SEG13
SEG13
50DH
-
-
-
SEG14
SEG14
SEG14
SEG14
SEG14
50EH
-
-
-
SEG15
SEG15
SEG15
SEG15
SEG15
50FH
-
-
-
SEG16
SEG16
SEG16
SEG16
SEG16
510H
-
-
-
SEG17
SEG17
SEG17
SEG17
SEG17
511H
-
-
-
SEG18
SEG18
SEG18
SEG18
SEG18
512H
-
-
-
SEG19
SEG19
SEG19
SEG19
SEG19
513H
-
-
-
SEG20
SEG20
SEG20
SEG20
SEG20
514H
-
-
-
SEG21
SEG21
SEG21
SEG21
SEG21
515H
-
-
-
SEG22
SEG22
SEG22
SEG22
SEG22
516H
-
-
-
SEG23
SEG23
SEG23
SEG23
SEG23
517H
-
-
-
SEG24
SEG24
SEG24
SEG24
SEG24
518H
-
-
-
SEG25
SEG25
SEG25
SEG25
SEG25
519H
-
-
-
SEG26
SEG26
SEG26
SEG26
SEG26
51AH
-
-
-
SEG27
SEG27
SEG27
SEG27
SEG27
77
SH79F3283
LCD 1/6占空比,1/3或1/4偏置(COM1 - 6,SEG1 - 26)
地址
7
-
6
-
5
COM6
4
COM5
3
COM4
2
COM3
1
COM2
0
COM1
500H
-
-
SEG1
SEG1
SEG1
SEG1
SEG1
SEG1
501H
-
-
SEG2
SEG2
SEG2
SEG2
SEG2
SEG2
502H
-
-
SEG3
SEG3
SEG3
SEG3
SEG3
SEG3
503H
-
-
SEG4
SEG4
SEG4
SEG4
SEG4
SEG4
504H
-
-
SEG5
SEG5
SEG5
SEG5
SEG5
SEG5
505H
-
-
SEG6
SEG6
SEG6
SEG6
SEG6
SEG6
506H
-
-
SEG7
SEG7
SEG7
SEG7
SEG7
SEG7
507H
-
-
SEG8
SEG8
SEG8
SEG8
SEG8
SEG8
508H
-
-
SEG9
SEG9
SEG9
SEG9
SEG9
SEG9
509H
-
-
SEG10
SEG10
SEG10
SEG10
SEG10
SEG10
50AH
-
-
SEG11
SEG11
SEG11
SEG11
SEG11
SEG11
50BH
-
-
SEG12
SEG12
SEG12
SEG12
SEG12
SEG12
50CH
-
-
SEG13
SEG13
SEG13
SEG13
SEG13
SEG13
50DH
-
-
SEG14
SEG14
SEG14
SEG14
SEG14
SEG14
50EH
-
-
SEG15
SEG15
SEG15
SEG15
SEG15
SEG15
50FH
-
-
SEG16
SEG16
SEG16
SEG16
SEG16
SEG16
510H
-
-
SEG17
SEG17
SEG17
SEG17
SEG17
SEG17
511H
-
-
SEG18
SEG18
SEG18
SEG18
SEG18
SEG18
512H
-
-
SEG19
SEG19
SEG19
SEG19
SEG19
SEG19
513H
-
-
SEG20
SEG20
SEG20
SEG20
SEG20
SEG20
514H
-
-
SEG21
SEG21
SEG21
SEG21
SEG21
SEG21
515H
-
-
SEG22
SEG22
SEG22
SEG22
SEG22
SEG22
516H
-
-
SEG23
SEG23
SEG23
SEG23
SEG23
SEG23
517H
-
-
SEG24
SEG24
SEG24
SEG24
SEG24
SEG24
518H
-
-
SEG25
SEG25
SEG25
SEG25
SEG25
SEG25
519H
-
-
SEG26
SEG26
SEG26
SEG26
SEG26
SEG26
78
SH79F3283
8.2 LED驱动器
LED驱动器包含一个控制器,一个占空比发生器及3-8个COM输出引脚和8个Segment输出引脚。支持1/3-1/8占空比电压驱
动方式,占空比1/3-1/8可调。通过DISPSEL位对驱动模式进行选择。控制器由显示数据RAM存储区和一个占空比发生器组成。
LED SEG1-SEG8脚还可以当作I/O口使用。当DISPSEL位置1时,LED功能有效,LCD功能无效。P0SS和P2SS寄存器设
置无效,P1SS寄存器和P3SS寄存器分别用于控制LED_SEG1-8,LED_C1-LED_C8和I/O端口模式的选择。
在使用LED驱动前,DISPSEL必须被置1。
COM口集成大电流SINK能力,当OP_P37-P34 = 0和OP_P33-P.0 = 1时,打开P3(COM口)大电流SINK能力。(见代码
选项)
在上电复位、引脚复位、低电压复位或看门狗复位期间,LED被关闭。
8.2.1 寄存器
Table 8.8 LED控制寄存器
ABH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
DISPCON
DISPSEL
LEDON
-
DUTY0
-
-
-
-
读/写
读/写
读/写
-
读/写
-
-
-
-
复位值
(POR/WDT/LVR/PIN)
0
0
-
0
-
-
-
-
位编号
位符号
7
DISPSEL
6
LEDON
4
DUTY0
DUTY[2:1]
说明
LCD,LED选择控制位
0:选择LCD驱动器,LED驱动器无效
1:选择LED驱动器,LCD驱动器无效
LED使能控制位
0:禁止LED驱动器
1:允许LED驱动器
LED占空比选择位(与DUTY[2:1] 组合控制)
000:1/4占空比
001:1/8占空比
010:1/3占空比
011:1/5占空比
100:1/6占空比
101:1/7占空比
其他:1/4占空比
注意:SH79F3283兼有LCD驱动和LED驱动,不可同时有效,若DISPSEL = 1,LCD驱动无效,若DISPSEL = 0,LED驱动无
效。
79
SH79F3283
Table 8.9 LED控制寄存器1
ADH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
DISPCON1
MODSW
DUTY2
DUTY1
-
-
-
-
-
读/写
读/写
读/写
读/写
-
-
-
-
-
复位值
(POR/WDT/LVR/PIN)
0
0
0
-
-
-
-
-
位编号
6-5
7
位符号
DUTY0
DUTY[2:1]
MODSW
说明
LED占空比选择位(与DUTY0组合控制)
000:1/4占空比
001:1/8占空比
010:1/3占空比
011:1/5占空比
100:1/6占空比
101:1/7占空比
其他:1/4占空比
LCD/LED共享总选择位
0:P0SS控制位有效
1:所有LCD/LED共享端口设置为IO
注意: MODSW = 1 时,可以设置代码选项 OP_MODSW 调整当前 LCD 扫描的
counter是否保留数据。OP_MODSW = 0,则LCD继续扫描;当OP_MODSW = 1时,
LCD停止扫描,保留当前COM口数据,MODSW = 0后,继续扫描。
Table 8.10 LED时钟控制寄存器
ACH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
DISPCLK0
-
-
-
-
-
-
DCK0.1
DCK0.0
读/写
-
-
-
-
-
-
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
-
-
0
0
位编号
1-0
位符号
DCK[1:0]
说明
LED时钟分频选择位
00:1/4分频
01:1/3分频
10:1/2分频
11:1/1分频
注意:此寄存器仅在LED时钟为128K RC时有效。
注意:
(1) 代码选项选择双时钟且低频为32.768K crystal时(OP_OSC = 1010,1011,1101),LCD/LED的时钟选择为32.768K
crystal,固定帧频64Hz,DISPCLK0寄存器无效;选择不同的占空比,帧频略有差异;
(2) 代码选项选择其余时钟时(包括高频单时钟),LCD/LED的时钟选择为128K RC,设置DISPCLK0寄存器DCK[1:0],选
择1/4,1/3,1/2,1/1分频比,对应的LCD/LED帧频为256/4Hz,256/3Hz,256/2Hz,256/1Hz,选择不同的占空比,帧频略有
差异。
80
SH79F3283
Table 8.11 P1模式选择寄存器
9CH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P1SS
P1S7
P1S6
P1S5
P1S4
P1S3
P1S2
P1S1
P1S0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
P1S[7:0]
说明
P1口模式选择位(x = 0-7)
0:P1.0-P1.7作为I/O
1:P1.0-P1.7作为Segment(LED_S1 - LED_S8)
Table 8.12 P3模式选择寄存器
9EH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
P3SS
P3S7
P3S6
P3S5
P3S4
P3S3
P3S2
P3S1
P3S0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
P3S[7:0]
说明
P3口模式选择位(x = 0-7)
0:P3.0-P3.7作为I/O
1:P3.0-P3.7作为COM(LED_C1 - LED_C8)
8.2.2 LED RAM配置
LED 1/3占空比(LED_C1 - 3,LED_S1 - 8)
地址
7
6
5
4
3
2
1
0
500H
COM1
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
501H
COM2
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
502H
COM3
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
LED 1/4占空比(LED_C1 - 4,LED_S1 - 8)
地址
7
6
5
4
3
2
1
0
500H
COM1
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
501H
COM2
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
502H
COM3
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
503H
COM4
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
LED 1/5占空比(LED_C1 - 5,LED_S1 - 8)
地址
7
6
5
4
3
2
1
0
500H
COM1
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
501H
COM2
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
502H
COM3
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
503H
COM4
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
504H
COM5
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
81
SH79F3283
LED 1/6占空比(LED_C1 - 6,LED_S1 - 8)
地址
7
6
5
4
3
2
1
0
500H
COM1
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
501H
COM2
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
502H
COM3
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
503H
COM4
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
504H
COM5
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
505H
COM6
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
LED 1/7占空比(LED_C1 -7,LED_S1 - 8)
地址
7
6
5
4
3
2
1
0
500H
COM1
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
501H
COM2
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
502H
COM3
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
503H
COM4
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
504H
COM5
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
505H
COM6
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
506H
COM7
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
3
2
1
0
LED 1/8占空比(LED_C1 - 8,LED_S1 - 8)
地址
7
6
5
4
500H
COM1
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
501H
COM2
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
502H
COM3
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
503H
COM4
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
504H
COM5
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
505H
COM6
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
506H
COM7
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
507H
COM8
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
LED波形
1/8 DUTY
1/4 DUTY
VDD
tol
COM1
COM1
VDD
tol
GND
GND
VDD
COM2
VDD
COM2
GND
GND
VDD
VDD
SEG1
SEG1
GND
GND
VDD
VDD
SEG2
GND
VDD
SEG1&
COM1
SELECT
GND
UNSELECT
SEG2
GND
VDD
SEG1&
COM1
SELECT
注意:tOL为LED Common信号间的重叠时间,取值范围:20µs-40µs。
82
UNSELECT
GND
SH79F3283
8.3 12bit脉冲宽度调制(PWM0)
8.3.1 特性
3路带死区控制的互补输出
提供每个PWM周期溢出中断
输出极性可选择
提供出错侦测功能可紧急关闭PWM输出
提供保护寄存器可使重要寄存器免受干扰出错
32脚封装无PWM0B,PWM01B,PWM0C引脚
SH79F3283集成了一个12位PWM模块。PWM模块可以产生周期和占空比分别可调整的脉宽调制波形。
如果EFLT置位,PWM输出能由FLT引脚的输入信号变化自动关闭。
PWM定时器也为PWM0提供1个中断源,在每个PWM周期都会产生中断。这样用户可以实现每个PWM周期中更改下一次循
环的周期或占空比。
8.3.2 PWM允许寄存器
Table 8.13 PWM定时器允许寄存器
CFH
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWMEN
EPWM0
EFLT
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
PWM01COE PWM01BOE PWM01AOE PWM0COE PWM0BOE PWM0AOE
位编号
位符号
说明
7
EPWM0
6
EFLT
5-3
PWM01COE
PWM01BOE
PWM01AOE
12位PWM输出端口PWM01x使能位(PWM0下桥)
0:PWM01x(x = A,B,C)输出禁止,用作I/O功能
1:PWM0模块使能,PWM01x输出允许
2-0
PWM0COE
PWM0BOE
PWM0AOE
12位PWM输出端口PWM0x使能位(PWM0上桥)
0:PWM0x(x = A,B,C)输出禁止,用作I/O功能
1:PWM0模块使能,PWM0x输出允许
12位PWM0输出使能位
0:PWM0输出禁止,用作I/O功能
1:PWM0输出允许
FLT引脚配置位
———
0:普通I/O端口或SS引脚
1:PWM故障检测输入引脚
当PWMEN清0后,PWM输出立即关闭。
FLT端口主要用于检测异常信号,快速关闭PWM输出。FLT探测到故障后,由硬件执行使PWM输出关闭,所以当故障发生
后,它可以快速响应,使得PWM输出无效以保护连接PWM的大功率器件。FLT引脚没有内建上拉电阻。
如果EFLT位清0,则表示FLT端口对PWM定时器输出控制无效。
83
SH79F3283
8.3.3 PWM保护寄存器
PWM保护寄存器用来控制对PWM允许寄存器、PWM控制寄存器、PWM周期寄存器、PWM占空比寄存器和PWM死区时间
控制寄存器的更改。只有当保护寄存器中的数据为55h时,才允许修改这些寄存器内容,否则不能修改。
这个寄存器能增强SH79F3283的抗干扰能力。
Table 8.14 PWM保护寄存器
第7位
E7H
PWMLO
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWMLO.7 PWMLO.6 PWMLO.5 PWMLO.4 PWMLO.3 PWMLO.2 PWMLO.1 PWMLO.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
PWMLO[7:0]
说明
PWM锁定位
只有当PWMLO = 0x55,才能允许修改其他PWM寄存器
84
SH79F3283
8.3.4 12位PWM定时器
SH79F3283包含一个12位PWM模块。PWM模块可以产生周期和占空比分别可调整的脉宽调制波形。PWMC寄存器用于控
制PWM模块的时钟,PWMPH/L寄存器用于控制PWM输出波形的周期,PWMDH/L寄存器用于控制PWM模块输出波形的占空比。
在PWM输出允许期间可以修改这三个寄存器,但在下一个PWM周期修改才会起作用。
Table 8.15 12位PWM控制寄存器
D2H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWM0C
PWM0IE
PWM0IF
TnCK02
FLTS
FLTC
PWM0S
TnCK01
TnCK00
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
7
PWM0IE
PWM0中断允许位(当IEN1寄存器中的EPWM位置1)
0:禁止PWM0中断
1:允许PWM0中断
6
PWM0IF
PWM0中断标志位
0:软件清0
1:硬件置1,PWM0周期计数器溢出
5
TnCK02
12位PWM时钟源选择位(与TnCK0[1:0]配合控制)
参见TnCK0[1:0]描述
4
FLTS
FLT状态位
0:PWM正常状态,软件清0
1:PWM输出关闭,硬件置1
3
FLTC
FLT引脚配置位
0:FLT为低电平时,PWM输出关闭
1:FLT为高电平时,PWM输出关闭
2
PWM0S
1-0
TnCK0[1:0]
PWM0输出模式
0:高电平驱动,PWM占空比期间输出高电平,占空比溢出后输出低电平
1:低电平驱动,PWM占空比期间输出低电平,占空比溢出后输出高电平
12位PWM时钟源选择位(与TnCK02配合控制)
000:振荡器时钟/2
001:振荡器时钟/4
010:振荡器时钟/8
011:振荡器时钟/16
100:振荡器时钟/1
101:振荡器时钟/32
110:振荡器时钟/64
111:振荡器时钟/256
注意:当OP_OSC取0000,0011或1010时,PWM时钟采用内部RC;当OP_OSC
取1110时,PWM时钟为XTAL端的晶振或陶瓷谐振器;当OP_OSC取0110或1101
时,PWM时钟为XTLAX端晶振或陶瓷谐振器。
注意:
(1) PWM输出关闭时,PWM0x和PWM01x(x = A,B,C)输出固定低电平(PWM0S = 0)或高电平(PWM0S = 1)。
(2) 一旦检测到FLT引脚的高/低电平,内部状态会保持,PWM输出会关闭。
(3) 当FLT输入信号有效期间,FLTS位无法清除。只有当FLT输入信号消失后,才能清除FLTS状态位。
85
SH79F3283
Table 8.16 PWM周期控制寄存器低位(PWM0PL)
D3H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWM0PL
PP0.7
PP0.6
PP0.5
PP0.4
PP0.3
PP0.2
PP0.1
PP0.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
PP0[7:0]
说明
12位PWM周期低8位寄存器
Table 8.17 PWM周期控制寄存器高位(PWM0PH)
D4H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWM0PH
-
-
-
-
PP0.11
PP0.10
PP0.9
PP0.8
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
位编号
位符号
3-0
PP0[11:8]
说明
12位PWM周期高4位寄存器
PWM输出周期 = [PP0.11,PP0.0] X PWM时钟。
当[PP0.11,PP0.0] = 000H,如果PWM0S = 0,不管PWM占空比为多少,PWM0x(x = A,B,C)输出低电平。
当[PP0.11,PP0.0] = 000H,如果PWM0S = 1,不管PWM占空比为多少,PWM0x(x = A,B,C)输出高电平。
Table 8.18 PWM占空比控制寄存器低位(PWM0DL)
D5H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWM0DL
PD0.7
PD0.6
PD0.5
PD0.4
PD0.3
PD0.2
PD0.1
PD0.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
PD0[7:0]
说明
12位PWM占空比低8位寄存器
Table 8.19 PWM占空比控制寄存器高位(PWM0DH)
D6H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWM0DH
-
-
-
-
PD0.11
PD0.10
PD0.9
PD0.8
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
位编号
位符号
3-0
PD0[11:8]
说明
12位PWM占空比高4位寄存器
PWM输出占空比 = [PD0.11,PD0.0] X PWM时钟
当[PP0.11,PP0.0] ≤ [PD0.11,PD0.0],如果PWM0S = 0,PWM0x(x = A,B,C)输出高电平。
当[PP0.11,PP0.0] ≤ [PD0.11,PD0.0],如果PWM0S = 1,PWM0x(x = A,B,C)输出低电平。
86
SH79F3283
编程注意事项:
(1) 设置PWMLO寄存器内容为0x55;选择PWM模块时钟源。
(2) 通过写适当的值到PWM周期控制寄存器(PWMP)或PWM占空比寄存器(PWMD)设置PWM周期/占空比,先设置低
位,再设置高位。注意,即使高位数值不变,也要重写一次,否则,低位的修改无效。
(3) 通过设置PWM控制寄存器(PWMC)的PWM0S位选择PWM输出模式(高电平有效或低电平有效)。
(4) 通过设置PWM控制寄存器(PWMC)中的EPWM0、EPWM0x(x = A,B,C)或EPWM01x(x = A,B,C)位为“1”
来允许PWM端口输出。
(5) 如果PWM周期或者占空比需要改变,操作流程如同步骤2或者步骤3说明。修改后的重载计数器的值在下一个周期开始有效。
(6) 为避免干扰,设置PWMLO寄存器中的数据不等于0x55。
01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 01 02 03 04 05 06 07 08
PWM0 clock tPWM
Write [PPn.11, PPn.0] = 0DH
Write [PDn.11, PDn.0] = 07H
PWM0 output
(PWMnS = 0)
Duty cycle
= 06H x tPWM
Duty cycle
= 06H x tPWM
Duty cycle
= 07H x tPWM
Period cycle = 0DH x tPWM
Period cycle = 0FH x tPWM
PWM0输出周期或占空比更改示例
8.3.5 PWM01x(x = A,B,C)
如下图所示,一般的,当没有插入死区时间时,PWM01x(x = A,B,C)输出波形与PWM0x(x = A,B,C)输出波形
互补。当PWM控制寄存器中EPWM01x(x = A,B,C)位置1时,PWM01x(x = A,B,C)的输出波形硬件自动产生。
PWM0x output
(PWM0S = 0)
x=A,B,C
PWM01x output
(PWM0S = 0)
x=A,B,C
PWM0和PWM01引脚输出波形
注意:
(1) 尽管PWM0x(x = A,B,C)被禁止,但是如果PWM01x(x = A,B,C)被允许,则它们仍然会有输出信号。
(2) 如果EFLT置位,当FLT端口有效时,PWM01x(x = A,B,C)和PWM0x(x = A,B,C)都输出低(PWM0S = 0)
或者都输出高(PWM0S = 1)。
87
SH79F3283
8.3.6 死区时间
SH79F3283 PWM提供死区时间控制功能。
当PWM0S = 0时,死区时间产生如下图所示。
PWM int
PWM int
period
PWM0S=0
duty cycle
PWM0x
x=A,B,C
PWM01x
x=A,B,C
dead time
dead time
dead time
Reload
PWM Enable
Reload
当PWM0S = 1时,死区时间产生如下图所示。
period
PWM int
PWM int
PWM0S=1
duty cycle
PWM0x
x=A,B,C
PWM01x
x=A,B,C
dead time
dead time
dead time
Reload
PWM Enable
Reload
通过写PWM0死区时间控制寄存器,在PWM0x(x = A,B,C)和PWM01x(x = A,B,C)之间产生死区时间。
PWM01与PWM0周期相同。
注意:
(1) 死区时间必须在PWM输出允许前置位,否则,死区时间不会改变。所以为了修改死区时间,先禁止PWM输出(PWMLO
= #55h),然后改变死区时间,允许PWM输出。最后,为保证PWM相关寄存器不受干扰影响而改变,修改PWMLO寄存器内
容不等于55h。
(2) 为了产生死区时间,请确保(PWM0x周期 - PWM0x占空比) > 2*PWM01x的死区时间。否则,PWM01x当PWM0S = 1
时输出高电平,当PWM0S = 0时输出低电平。
(3) PWMDT寄存器用于控制死区时间,它的时基为系统时钟,而周期和占空比的时基由TnCK2-0控制,最小为2个系统时钟。
(4) 每次重新开启PWM前,须先将死区控制寄存器清0,然后再重新设置此寄存器。
Table 8.20 PWM0死区时间控制寄存器
D1H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWM0DT
DT0.7
DT0.6
DT0.5
DT0.4
DT0.3
DT0.2
DT0.1
DT0.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
DT0[7:0]
说明
12位PWM0死区时间控制
死区时间为(DT0.7 - DT0.0)X tOSC
88
SH79F3283
8.4 8bit脉冲宽度调制模块(PWM1)
8.4.1 特性
8位分辨率PWM模块,提供预分频功能
提供每个PWM周期溢出中断
输出极性可选择,带输出独立允许位,允许位为0时可做通用定时器使用
32脚封装无此功能
SH79F3283内建1个8位PWM模块。PWM模块可以产生周期和占空比分别可以调整的脉宽调制波形。寄存器PWM1C用于
控制PWM模块的时钟源和引脚选择输出,寄存器PWM1P用于设置PWM模块的周期,寄存器PWM1D用于设置PWM模块的占空
比。
8.4.2 寄存器
Table 8.21 PWM1控制寄存器
D9H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PWM1C
PWM1EN
PWM1S
TnCK11
TnCK10
-
PWM1IE
PWM1IF
PWM1OE
读/写
读/写
读/写
读/写
读/写
-
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
-
0
0
0
位编号
位符号
7
PWM1EN
6
PWM1S
说明
PWM1模块使能控制位
0:关闭PWM1模块
1:打开PWM1模块
PWM1输出模式
0:高电平有效,PWM1占空比有效期间输出高电平,其余时间输出低电平
1:低电平有效,PWM1占空比有效期间输出低电平,其余时间输出高电平
PWM1时钟选择位
00:系统时钟/1
01:系统时钟/8
10:系统时钟/64
11:系统时钟/256
5-4
TnCK1[1:0]
2
PWM1IE
PWM1中断允许位(只有当IEN1中的EPWM位也为1时,功能才有效)
0:禁止PWM1周期溢出中断
1:允许PWM1周期溢出中断
1
PWM1IF
PWM1中断标志位
0:PWM1周期计数器没有溢出
1:PWM1周期计数器溢出,由硬件置1
PWM1OE
PWM1输出控制位
0:PWM1输出禁止,用作I/O功能
注意:如果此位为0而PWM1EN = 1,则整个PWM1模块仍然正常运行,只是波
形输出被禁止,PWM1模块可以做一个定时器来使用。
1:PWM1输出允许
注意:如果此位设为1而PWM1EN位为0,则PWM1输出非选电平(选为高电平
有效则出低电平,低电平有效则出高电平)
0
89
SH79F3283
Table 8.22 PWM1周期控制寄存器
DAH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
PWM1P
PWM1P.7
PWM1P.6
PWM1P.5
PWM1P.4
PWM1P.3
PWM1P.2
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
第1位
第0位
位编号
位符号
7-0
PWM1P[7:0]
第1位
第0位
PWM1P.1 PWM1P.0
说明
PWM1输出周期 = PWM1P * PWM时钟
当PWM1P = 00H时,如果PWM1S = 0,PWM1引脚输出低
当PWM1P = 00H时,如果PWM1S = 1,PWM1引脚输出高
Table 8.23 PWM1占空比控制寄存器
第7位
DBH,Bank0
PWM1D
第6位
第5位
第4位
第3位
第2位
PWM1D.7 PWM1D.6 PWM1D.5 PWM1D.4 PWM1D.3 PWM1D.2 PWM1D.1 PWM1D.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
7-0
位符号
PWM1D[7:0]
说明
PWM1占空比控制,控制PWM波形占空比的输出时间
特殊情况:
1. 当PWM1P ≤ PWM1D时
如果PWM1S = 0,则PWM1引脚输出高电平
如果PWM1S = 1,则PWM1引脚输出低电平
2. 当PWM1D = 00H时
如果PWM1S = 0,则PWM1引脚输出低电平
如果PWM1S = 1,则PWM1引脚输出高电平
注意事项:
(1) PWM1EN位控制PWM1模块打开。
(2) PWM1OE位能选择 P4.5端口是作为I/O端口还是PWM1输出端口。
(3) 在IEN1寄存器中的EPWM位能允许/禁止PWM1中断。
(4) 如果PWM1EN置1,PWM1模块打开,但PWM1OE = 0,PWM1输出关闭,此时PWM1模块可以用作一个8bit timer,此时如
果中断控制寄存器IEN1的EPWM位置1,PWM1中断照样发生。
90
SH79F3283
01
02
03
04
05
7D 7E
7F
80
EF
F0
01
02
03
04
PWM1 clock tPWM
PWM1 output
(PWM1S=0)
PWM1 output
(PWM1S=1)
PWM1P = F0H
PWM1D = 7FH
PWM1 output duty cycle = 7FH x tPWM
PWM1 output period cycle = F0H x tPWM
PWM1输出范例
01 02 03 04 05 06 07 08 09 0A 0B0C0D 0E 0F 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 01 02 03 04 05 06 07 08
PWM1 clock t PWM
Write PWM1P = 0DH
Write PWM1D = 07H
PWM1 output
(PWM1S=0)
Duty cycle
= 06H x tPWM
Duty cycle
= 06H x tPWM
Period cycle = 0FH x tPWM
Period cycle = 0DH x tPWM
PWM1输出周期或者占空比改变范例
91
Duty cycle
= 07H x tPWM
SH79F3283
8.5 增强型通用异步收发器(EUART)
8.5.1 特性
SH79F3283带有2个EUART(EUART0/1),兼容传统8051(32脚封装无EUART1功能)
EUART0波特率可选择为系统时钟分频或定时器4/2的溢出率,EUART1自带一个波特率发生器
增强功能包括帧出错检测及自动地址识别
EUART有四种工作方式
8.5.2 EUART0
EUART0有4种工作方式。在通信之前用户必须先初始化SCON,选择方式和波特率。如果使用方式1或方式3应先初始化定
时器2或定时器4。
在所有四种方式中,任何将SBUF作为目标寄存器的写操作都会启动发送。在方式0中由条件RI = 0和REN = 1初始化接收。
这会在TXD引脚上产生一个时钟信号,然后在RXD引脚上移8位数据。在其他方式中由输入的起始位初始化接收(如果REN = 1)。
通过发送起始位,外部发送器开始通信。
EUART方式列表
SM0
SM1
方式
类型
波特率
帧长度
起始位
停止位
第9位
0
0
0
同步
fSYS/(4或12)
8位
无
无
无
0
1
1
异步
定时器4或2的溢出率/(16或32)
10位
1
1
无
1
0
2
异步
fSYS/(32或64)
11位
1
1
0,1
1
1
3
异步
定时器4或2的溢出率/(16或32)
11位
1
1
0,1
方式0:同步,半双工通讯
方式0支持与外部设备的同步通信。在RXD引脚上收发串行数据。TXD引脚用作发送移位时钟。SH79F3283提供TXD引脚
上的移位时钟。因此这个方式是串行通信的半双工方式。在这个方式中,每帧收发8位,低位先接收或发送。
通过置SM2位(SCON.5)为0或1,波特率固定为系统时钟的1/12或1/4。当SM2位为0时,串行端口以系统时钟的1/12运行。
当置1时,串行端口以系统时钟的1/4运行。与标准8051唯一不同的是,SH79F3283在方式0中有可变波特率。
功能块框图如下图所示。数据通过RXD引脚进入和移出串行端口。移位时钟由TXD引脚输出,用来移位进出SH79F3283的
数据。
Transmit Shift Register
Internal
Data Bus
System Clock
PARIN
Write to
SBUF
SOUT
RXD
LOAD
CLOCK
÷ 12
÷4
TX START
TX SHIFT
TX CLOCK
0
SM2
TI
SERIAL
CONTROLLER
1
Serial Port Interrupt
RI
RX CLOCK
SHIFT
CLOCK
TXD
LOAD SBUF
RI
RX START
REN
RX SHIFT
Read SBUF
CLOCK
PAROUT
RXD
SIN
Receive Shift Register
92
SBUF
SBUF
SH79F3283
任何将SBUF作为目标寄存器的写操作都会启动发送。下一个系统时钟Tx控制块开始发送。数据转换发生在移位时钟的下降
沿,移位寄存器的内容逐次从左往右移位,空位置0。当移位寄存器中的所有8位都发送后,Tx控制模块停止发送操作,然后在
下一个系统时钟的上升沿将TI置1(SCON.1)。
Write to SBUF
RxD
D0
D1
D2
D3
D5
D4
D6
D7
TxD
TI
Send Timing of Mode 0
REN(SCON.4)置1和RI(SCON.0)清0初始化接收。下一个系统时钟启动接收,在移位时钟的上升沿锁存数据,接收转
换寄存器的内容逐次向左移位。当所有8位都接收到接收移位寄存器中后,Rx控制块停止接收,然后在下一个系统时钟的上升沿
上RI置1,直到被软件清0才允许接收。
RxD
D0
D2
D1
D3
D4
D5
D6
D7
TxD
RI
Receive Timing of Mode 0
方式1:8位EUART,可变波特率,异步全双工
方式1提供10位全双工异步通信,10位由一个起始位(逻辑0),8个数据位(低位为第一位),和一个停止位(逻辑1)组
成。在接收时,这8个数据位存储在SBUF中而停止位储存在RB8(SCON.2)中。方式1中的波特率是可变的,串行收发波特率
可被设置为定时器4溢出率的1/16或1/32,或定时器2溢出率的1/16(详见波特率章节)。功能块框图如下图所示:
Timer 4 Overflow
Transmit Shift Register
Timer 2 Overflow
STOP
TB8
Internal
Data Bus
÷2
D8
PARIN
SOUT
TXD
START
Write to SBUF
LOAD
SMOD
0
TCLK
1
0
CLOCK
TX START
1
÷ 16
TX SHIFT
TX CLOCK
TI
RCLK
0
SERIAL
CONTROLLER
1
÷ 16
Serial Port Interrupt
RI
RX CLOCK
LOAD SBUF
SAMPLE
1-TO-0
DETECTOR
RX START
Read SBUF
RX SHIFT
CLOCK
PAROUT
RXD
BIT
DETECTOR
SIN
D8
Receive Shift Register
93
SBUF
RB8
Internal
Data Bus
SH79F3283
任何将SBUF作为目标寄存器的写操作都会启动发送,实际上发送是从16分频计数器中的下一次跳变之后的系统时钟开始
的,因此位时间与16分频计数器是同步的,与对SBUF的写操作不同步。起始位首先在TxD引脚上移出,然后是8位数据位。在
发送移位寄存器中的所有8位数据都发送完后,停止位在TxD引脚上移出,在停止位发出的同时Tl标志置1。
Write to SBUF
TxD
Start
D0
D1
D2
D3
D4
D5
D6
D7
Stop
Shift CLK
TI
Send Timing of Mode 1
只有REN位置1时才允许接收。当RXD引脚检测到下降沿时串行口开始接收串行数据。为此,CPU对RxD不断采样,采样速
率为波特率的16倍。当检测下降沿时,16分频计数器立即复位,这有助于16分频计数器与RxD引脚上的串行数据位同步。16分
频计数器把每一位的时间分为16个状态,在第7、8、9状态时,位检测器对RxD端的电平进行采样。为抑制噪声,在这3个状态
采样中至少有2次采样值一致数据才被接收。如果所接收的第一位不是0,说明这位不是一帧数据的起始位,该位被忽略,接收
电路被复位,等待RxD引脚上另一个下降沿的到来。若起始位有效,则移入移位寄存器,并接着移入其它位到移位寄存器。8个
数据位和1个停止位移入之后,移位寄存器的内容被分别装入SBUF和RB8中,RI置1,但必须满足下列条件:
1. RI = 0
2. SM2 = 0或者接收的停止位 = 1
如果这些条件被满足,那么停止位装入RB8,8个数据位装入SBUF,RI被置1。否则接收的帧会丢失。这时,接收器将重新
去探测RxD端是否另一个下降沿。用户必须用软件清除RI,然后才能再次接收。
RxD
Start
D0
D1
D2
D3
D4
D5
Bit Sample
Shift CLK
RI
Receive Timing of Mode 1
94
D6
D7
Stop
SH79F3283
方式2:9位EUART,固定波特率,异步全双工
这个方式使用异步全双工通信中的11位。一帧由一个起始位(逻辑0),8个数据位(低位为第一位),一个可编程的第9
数据位和一个停止位(逻辑1)组成。方式2支持多机通信和硬件地址识别(详见多机通讯章节)。在数据传送时,第9数据位(SCON
中的TB8)可以写0或1,例如,可写入PSW中的奇偶位P,或用作多机通信中的数据/地址标志位。当接收到数据时,第9数据位
进入RB8而停止位不保存。PCON中的SMOD位选择波特率为系统工作频率的1/32或1/64。功能块框图如下所示。
Transmit Shift Register
System Clock
TB8
D8
STOP
÷
Internal
Data Bus
2
PARIN
START
Write to SBUF
SOUT
TXD
LOAD
CLOCK
SMOD
0
1
TX START
÷ 32
TX SHIFT
TX CLOCK
TI
SERIAL
CONTROLLER
÷ 32
Serial Port Interrupt
RI
RX CLOCK
LOAD SBUF
SAMPLE
1-TO-0
DETECTOR
Read SBUF
RX SHIFT
RX START
CLOCK
PAROUT
BIT
DETECTOR
RXD
SIN
Internal
Data Bus
SBUF
RB8
D8
Receive Shift Register
任何将SBUF作为目标寄存器的写操作都会启动发送,同时也将TB8载入到发送移位寄存器的第9位中。实际上发送是从16
分频计数器中的下一次跳变之后的系统时钟开始的,因此位时间与16分频计数器是同步的,与对SBUF的写操作不同步。起始位
首先在TxD引脚上移出,然后是第9位数据。在发送转换寄存器中的所有9位数据都发送完后,停止位在TxD引脚上移出,在停止
位开始发送时Tl标志置1。
Write to SBUF
TxD
Start
D0
D1
D2
D3
D4
D5
Shift CLK
TI
Send Timing of Mode 2
95
D6
D7
D8
Stop
SH79F3283
只有REN位置1时才允许接收。当RxD引脚检测到下降沿时串行口开始接收串行数据。为此,CPU对RxD不断采样,采样速
率为波特率的16倍。当检测下降沿时,16分频计数器立即复位。这有助于16分频计数器与RxD引脚上的串行数据位同步。16分
频计数器把每一位的时间分为16个状态,在第7、8、9状态时,位检测器对RXD端的电平进行采样。为抑制噪声,在这3个状态
采样中至少有2次采样值一致数据才被接收。如果所接收的第一位不是0,说明这位不是一帧数据的起始位,该位被忽略,接收
电路被复位,等待RxD引脚上另一个下降沿的到来。若起始位有效,则移入移位寄存器,并接着移入其它位到移位寄存器。9个
数据位和1个停止位移入之后,移位寄存器的内容被分别装入SBUF和RB8中,RI置1,但必须满足下列条件:
1. RI = 0
2. SM2 = 0或者接收的第9位 = 1,且接收的字节符合实际从机地址。
如果这些条件被满足,那么第9位移入RB8,8位数据移入SBUF,RI被置1。否则接收的数据帧会丢失。
在停止位的当中,接收器回到寻找RxD引脚上的另一个下降沿。用户必须用软件清除RI,然后才能再次接收。
RxD
Start
D0
D1
D2
D3
D4
D5
D6
D7
D8
Stop
Bit Sample
Shift CLK
RI
Receive Timing of Mode 2
方式3:9位EUART,可变波特率,异步全双工
方式3使用方式2的传输协议以及方式1的波特率产生方式。
Timer 4 Overflow
Transmit Shift Register
Timer 2 Overflow
STOP
TB8
Internal
Data Bus
÷2
D8
PARIN
SOUT
TXD
START
Write to SBUF
LOAD
SMOD
0
TCLK
1
0
CLOCK
TX START
1
÷ 16
TX SHIFT
TX CLOCK
TI
RCLK
0
SERIAL
CONTROLLER
1
÷ 16
Serial Port Interrupt
RI
RX CLOCK
LOAD SBUF
SAMPLE
1-TO-0
DETECTOR
RX START
Read SBUF
RX SHIFT
CLOCK
PAROUT
RXD
BIT
DETECTOR
SIN
D8
Receive Shift Register
96
SBUF
RB8
Internal
Data Bus
SH79F3283
波特率产生
在方式0中,波特率可编程为系统时钟的1/12或1/4,由SM2位决定。当SM2为0时,串行端口在系统时钟的1/12下运行。当
SM2为1时,串行端口在系统时钟的1/4下运行。
在方式1和方式3中,波特率可选择来至定时器4或定时器2的溢出率。
分别置TCLK(T2CON.4)和RCLK(T2CON.5)位为1来选择定时器2作为TX和RX的波特时钟源(详见定时器章节)。无
论TCLK还是RCLK为逻辑1,定时器2都为波特率发生器方式。如果TCLK和RCLK为逻辑0,定时器4作为Tx和Rx的波特时钟源。
方式1和方式3波特率公式如下所示,其中[RCAP2H,RCAP2L]是定时器2的16位自动重载寄存器,SMOD为EUART的波特
率二倍频器(PCON.7),[TH4,TL4]是定时器4的16位自动重载寄存器。
1
f SYS
,用定时器2作为波特率发生器,定时器2时钟源为系统时钟
×
2 × 16 65536 − [RCAP 2 H, RCAP 2 L]
1
fT 2
,用定时器2作为波特率发生器,定时器2时钟源为时钟源为T2引脚输入时钟
BaudRate = ×
16 65536 − [RCAP 2 H, RCAP 2 L]
BaudRate =
BaudRate =
2 SMOD
f /PRESCALER ,用定时器4作为波特率发生器,定时器4工作在方式1
× T4
2 × 16 65536 − [TH 4, TL 4]
在方式2中,波特率固定为系统时钟的1/32或1/64,由SMOD位(PCON.7)决定。当SMOD位为0时,EUART以系统时钟
的1/64运行。当SMOD位为1时,EUART以系统时钟的1/32运行。
BaudRate = 2SMOD × (
fSYS
)
64
多机通讯
软件地址识别
方式2和方式3有一个专门的适用于多机通讯的功能。在这两个方式下,接收的是9位数据,第9位移入RB8中,然后再来一
位停止位。EUART可以这样来设定:当接收到停止位时,只有在RB8 = 1的条件下,串行口中断才会有效(请求标志RI置1)。
可以通过将SCON寄存器的SM2位置1使EUART具有这个功能。
在多机通讯系统中,以如下所述来利用这一功能。当主机要发送一数据块给几个从机中的一个时,它先送出一地址字节,
以辨认目标从机。地址字节与数据字节可用第9数据位来区别,地址字节的第9位为1,数据字节的第9位为0。
如果从机SM2为1,则不会响应数据字节中断。地址字节可以中断所有从机,这样,每一个从机都检查所接收到的地址字节,
以判别自己是不是目标从机。被寻到的从机清0 SM2位,并准备接收即将到来的数据字节,当接收完毕时,从机再一次将SM2
置1。没有被寻址的从机,则维持它们的SM2位为1,忽略到来的数据字节,继续做自己的事情。
注意:在方式0中,SM2用来选择波特率加倍。在方式1中,SM2用来检测停止位是否有效,如果SM2 = 1,接收中断不会
响应直到接收到一个有效的停止位。
自动(硬件)地址识别
在方式2和方式3中,SM2置1将使EUART在如下状态下运行:当1个停止位被接收时,如果载入RB8的第9数据位为1(地址
字节)并且接收到的数据字节符合EUART的从机地址,EUART产生一个中断。接着,从机应该将SM2清零,以接收后续的数据
字节。
在9位方式下要求第9位为1以表明该字节是地址而非数据。当主机要发送一组数据给几个从机中的一个时,必须先发送目标
从机的地址。所有从机在等待接收地址字节时,为了确保仅在接收地址字节时产生中断,SM2位必须置1。自动地址识别的特点
是只有地址匹配的从机才能产生中断,地址比较通过硬件完成而不是软件。
中断产生后,地址相匹配的从机清零SM2,继续接收数据字节。地址不匹配的从机不受影响,将继续等待接收和它匹配的
地址字节。一旦全部信息接收完毕,地址匹配的从机应该再次把SM2置1,忽略所有传送的非地址字节,直到接收到下一个地址
字节。
使用自动地址识别功能时,主机可以通过调用给定的从机地址选择与一个或多个从机通信。使用广播地址可以联系所有的
从机。有两个特殊功能寄存器用来定义从机地址(SADDR)和地址屏蔽(SADEN)。从机地址是一个8位的字节,存于SADDR
寄存器中。SADEN用于定义SADDR内位的有效与否,如果SADEN中某一位为0,则SADDR中相应位的被忽略,如果SADEN
中某一位置1,则SADDR中相应位的将用于得到给定的从机地址。这可以使用户在不改变SADDR寄存器中的从机地址的情况下
灵活地寻址多个从机。使用给定地址可以识别多个从机而排除其他的从机。
97
SH79F3283
从机1
从机2
SADDR
10100100
10100111
SADEN(为0的位被忽略)
11111010
11111001
实际从机地址
10100x0x
10100xx1
广播地址(SADDR或SADEN)
1111111x
11111111
从机1和从机2给定地址的最低位是不同的。从机1忽略了最低位,而从机2的最低位是1。因此只与从机1通讯时,主机必须
发送最低位为0的地址(10100000)。类似地,从机1的第1位为0,从机2的第1位被忽略。因此,只与从机2通讯时,主机必须
发送第1位为1的地址(10100011)。如果主机希望同时与两从机通讯,则第0位为1,第1位为0,第2位被两从机都忽略,此时
有两个不同的地址用于选定两个从机(1010 0001和1010 0101)。
主机可以通过广播地址与所有从机同时通讯。这个地址等于SADDR和SADEN的逻辑或,结果中的0表示该位被忽略。多数
情况下,广播地址为0xFFh,该地址可被所有从机应答。
系统复位后,SADDR和SADEN两个寄存器初始化为0,这两个结果设定了给定地址和广播地址为XXXXXXXX(所有位都被
忽略)。这有效地去除了多处机通讯的特性,禁止了自动寻址方式。这样的EUART将对任何地址都产生应答,兼容了不支持自
动地址识别的8051控制器。用户可以按照上面提到的方法实现软件识别地址的多机通讯。
帧出错检测
当寄存器PCON中的SSTAT位为逻辑1时,帧出错检测功能才有效。3个错误标志位被置1后,只能通过软件清零,尽管后续
接收的帧没有任何错误也不会自动清零。
注意:SSTAT位必须为逻辑1是访问状态位(FE,RXOV和TXCOL),SSTAT位为逻辑0时是访问方式选择位(SM0,SM1
和SM2)。
发送冲突
如果在一个发送正在进行时,用户软件写数据到SBUF寄存器时,发送冲突位(SCON寄存器中的TXCOL位)置1。如果发
生了冲突,新数据会被忽略,不能被写入发送缓冲器。
接收溢出
如果在接收缓冲器中的数据未被读取之前,RI清0。又有新的数据存入接收缓冲器,那么接收溢出位(SCON寄存器中的RXOV
位)置1。如果发生了接收溢出,接收缓冲器中原来的数据将丢失。
帧出错
如果检测到一个无效(低)停止位,那么帧出错位(寄存器SCON中的FE)置1。
暂停检测
当连续检测到11个位都为低电平位时,则认为检测到一个暂停。由于暂停条件同样满足帧错误条件,因此检测到暂停时也
会报告帧错误。一旦检测到暂停条件,UART将进入空闲状态并一直保持,直至接收到有效停止位(RXD引脚上出现上升沿)。
98
SH79F3283
8.5.3 EUART1
EUART1的控制和工作方式与EUART0类似,不同之处是EUART1自带一个波特率发生器,它实质上就是一个15位递增计
数器。(32脚封装无此功能)
另外,EUART1的自带波特率发生器具有波特率微调功能,通过设置寄存器BFINE调整。
Fsys
Overflow
15-bit timer
From 7FFFH to
0000H
To
EUART1
SBRTEN=1
SBRTH[14:8], SBRTL7:0]
Baudrate Generator for EUART
由图得到,波特率发生器的溢出率为 SBRToverflowrate =
Fsys
, SBRT = [ SBRTH , SBRTL]
32768 − SBRT
因此,EUART1在各模式下的波特率计算公式如下。
方式0:
EUART1的工作方式与EUART0相同,波特率可编程为系统时钟的1/12或1/4,由SM2位决定。当SM2为0时,串行端口在系
统时钟的1/12下运行。当SM2为1时,串行端口在系统时钟的1/4下运行。
方式1和方式3:
EUART1的工作方式与EUART0类似,波特率可微调,精度为一个系统时钟,公式如下:
BaudRate =
Fsys
16 × (32768 - SBRT ) + BFINE
例如:Fsys = 8MHz,需要得到115200Hz的波特率,SBRT和BFINE值计算方法如下:
8000000/16/115200 = 4.34
SBRT = 32768 – 4 = 32764
由BaudRate计算公式:115200 = 8000000/(16×4 + BFINE)
得到:BFINE = 5.4 ≈ 5
此微调方式计算出的实际波特率为115942,误差为0.64%;以往方式计算出的波特率误差为8.5%。
方式2:
EUART1的工作方式与EUART0相同,波特率固定为系统时钟的1/32或1/64,由SMOD位(PCON.7)中决定。当SMOD位
为0时,EUART以系统时钟的1/64运行。当SMOD位为1时,EUART以系统时钟的1/32运行。
BaudRate = 2 SMOD × (
FSYS
)
64
注意:Uart1的中断向量是和Timer3共用,且Timer3中断标志位由硬件清零,若同时使用两者,请注意中断标志位的处理。
99
SH79F3283
8.5.4 寄存器
Table 8.24 EUART0控制及状态寄存器
98H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SCON
SM0
/FE
SM1
/RXOV
SM2
/TXCOL
REN
TB8
RB8
TI
RI
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-6
SM[0:1]
7
FE
6
RXOV
说明
EUART0串行方式控制位,SSTAT = 0
00:方式0,同步方式,固定波特率
01:方式1,8位异步方式,可变波特率
10:方式2,9位异步方式,固定波特率
11:方式3,9位异步方式,可变波特率
EUART0帧出错标志位,当FE位被读时,SSTAT位必须被设置为1
0:无帧出错,由软件清除
1:发生帧出错,由硬件置1
EUART0接收完毕标志位,当RXOV位被读时,SSTAT位必须被设置为1
0:无接收完毕,由软件清除
1:接收完毕,由硬件置1
EUART0多处理机通讯允许位(第9位“1”校验器),SSTAT = 0
0:在方式0下,波特率是系统时钟的1/12
在方式1下,禁止停止位确认检验,停止位将置RI为1产生中断
在方式2和3下,任何字节都会置RI为1产生中断
1:在方式0下,波特率是系统时钟的1/4
在方式1下,允许停止位确认检验,只有有效的停止位(1)才能置RI为1产生中断
在方式2和3下,只有寻址字节(第9位 = 1)能置RI为1产生中断
5
SM2
5
TXCOL
4
REN
EUART0接收器允许位
0:接收禁止
1:接收允许
3
TB8
在EUART0的方式2和3下发送的第9位,由软件置1或清0
2
RB8
在EUART0的方式1,2和3下接收的第9位
在方式0下,不使用RB8
在方式1下,如果接收中断发生,RB8的停止位会收到信号
在方式2和3下,由第9位接收
1
TI
EUART0的传送中断标志位
0:由软件清0
1:由硬件置1,在方式0下的第8位最后,或在其它方式下的停止位开始
0
RI
EUART0的接收中断标志位
0:由软件清0
1:由硬件置1,在方式0下的第8位最后,或在其它方式下的停止位开始
EUART0发送冲突标志位,当TXCOL位被读时,SSTAT位必须被设置为1
0:无发送冲突,由软件清0
1:有发送冲突,由硬件置1
100
SH79F3283
Table 8.25 EUART0数据寄存器
99H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SBUF
SBUF.7
SBUF.6
SBUF.5
SBUF.4
SBUF.3
SBUF.2
SBUF.1
SBUF.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
SBUF[7:0]
说明
SFR访问两个寄存器:一个移位寄存器和一个接收锁存寄存器
SBUF的写入将发送字节到移位寄存器中,然后开始传输
SBUF的读取返回接收锁存器中的内容
Table 8.26 电源控制寄存器
87H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PCON
SMOD
SSTAT
SSTAT1
-
GF1
GF0
PD
IDL
读/写
读/写
读/写
读/写
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
-
0
0
0
0
位编号
位符号
说明
7
SMOD
波特率加倍器
在方式1和3中,SMOD = 1,若使用定时器4作为波特率发生器,
波特率加倍(仅适用EUAT0)
在方式2中,SMOD = 1,波特率加倍(EUART0和EUART1都适用)
6
SSTAT
SCON[7:5]功能选择位
0:SCON[7:5]工作方式作为SM0,SM1,SM2
1:SCON[7:5]工作方式作为FE,RXOV,TXCOL
5
SSTAT1
SCON1[7:5]功能选择位
0:SCON1[7:5]工作方式作为SM10,SM11,SM12
1:SCON1[7:5]工作方式作为FE1,RXOV1,TXCOL1
3-0
-
Other:参见“电源管理”章节
Table 8.27 EUART从属地址及地址掩码寄存器
9AH-9BH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SADDR
SADDR.7
SADDR.6
SADDR.5
SADDR.4
SADDR.3
SADDR.2
SADDR.1
SADDR.0
SADEN
SADEN.7
SADEN.6
SADEN.5
SADEN.4
SADEN.3
SADEN.2
SADEN.1
SADEN.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
7-0
SADDR[7:0]
EUART从机地址
SADDR寄存器用于定义EUART从机地址
7-0
SADEN[7:0]
SFR SADEN是一个位屏蔽寄存器,决定检验SADDR的哪些位对应接收地址
0:在SADDR中的相应位被忽略
1:SADDR中的相应位被检验是否对应接收地址
101
SH79F3283
Table 8.28 EUART1控制及状态寄存器
98H,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SCON1
SM10
/FE1
SM11
/RXOV1
SM12
/TXCOL1
REN1
TB18
RB18
TI1
RI1
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-6
SM1[0:1]
7
FE1
6
RXOV1
说明
EUART1串行方式控制位,SSTAT1= 0
00:方式0,同步方式,固定波特率
01:方式1,8位异步方式,可变波特率
10:方式2,9位异步方式,固定波特率
11:方式3,9位异步方式,可变波特率
EUART1帧出错标志位,当FE1位被读时,SSTAT1位必须被设置为1
0:无帧出错,由软件清除
1:发生帧出错,由硬件置1
EUART1接收完毕标志位,当RXOV1位被读时,SSTAT1位必须被设置为1
0:无接收完毕,由软件清除
1:接收完毕,由硬件置1
EUART1多处理机通讯允许位(第9位“1”校验器),SSTAT1 = 0
0:在方式0下,波特率是系统时钟的1/12
在方式1下,禁止停止位确认检验,停止位将置RI为1产生中断
在方式2和3下,任何字节都会置RI1为1产生中断
1:在方式0下,波特率是系统时钟的1/4
在方式1下,允许停止位确认检验,只有有效的停止位(1)才能置RI1为1产生中断
在方式2和3下,只有寻址字节(第9位 = 1)能置RI1为1产生中断
5
SM12
5
TXCOL1
4
REN1
EUART1接收器允许位
0:接收禁止
1:接收允许
3
TB18
在EUART1的方式2和3下发送的第9位,由软件置1或清0
2
RB18
在EUART1的方式1,2和3下接收的第9位
在方式0下,不使用RB18
在方式1下,如果接收中断发生,RB18的停止位会收到信号
在方式2和3下,由第9位接收
1
TI1
EUART1的传送中断标志位
0:由软件清0
1:由硬件置1,在方式0下的第8位最后,或在其它方式下的停止位开始
0
RI1
EUART1的接收中断标志位
0:由软件清0
1:由硬件置1,在方式0下的第8位最后,或在其它方式下的停止位开始
EUART1发送冲突标志位,当TXCOL1位被读时,SSTAT1位必须被设置为1
0:无发送冲突,由软件清0
1:有发送冲突,由硬件置1
102
SH79F3283
Table 8.29 EUART1数据寄存器
99H,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SBUF1
SBUF1.7
SBUF1.6
SBUF1.5
SBUF1.4
SBUF1.3
SBUF1.2
SBUF1.1
SBUF1.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
第1位
第0位
位编号
7-0
位符号
SBUF1[7:0]
说明
SFR访问两个寄存器:一个移位寄存器和一个接收锁存寄存器
SBUF1的写入将发送字节到移位寄存器中,然后开始传输
SBUF1的读取返回接收锁存器中的内容
Table 8.30 EUART1从属地址及地址掩码寄存器
第7位
9AH-9BH,Bank1
第6位
第5位
第4位
第3位
第2位
SADDR1
SADDR1.7 SADDR1.6 SADDR1.5 SADDR1.4 SADDR1.3 SADDR1.2 SADDR1.1 SADDR1.0
SADEN1
SADEN1.7 SADEN1.6 SADEN1.5 SADEN1.4 SADEN1.3 SADEN1.2 SADEN1.1 SADEN1.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
7-0
SADDR1[7:0]
EUART1从机地址
SADDR1寄存器用于定义EUART1从机地址
7-0
SADEN1[7:0]
SFR SADEN1是一个位屏蔽寄存器,决定检验SADDR1的哪些位对应接收地址
0:在SADDR1中的相应位被忽略
1:SADDR1中的相应位被检验是否对应接收地址
Table 8.31 EUART1波特率发生器寄存器
9DH-9CH,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SBRTH
SBRTEN
SBRT.14
SBRT.13
SBRT.12
SBRT.11
SBRT.10
SBRT.9
SBRT.8
SBRTL
SBRT.7
SBRT.6
SBRT.5
SBRT.4
SBRT.3
SBRT.2
SBRT.1
SBRT.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7
SBRTEN
6-0
7-0
SBRT[14:0]
说明
EUART1波特率发生器使能控制位
0:关闭(默认)
1:打开
EUART波特率发生器计数器高7位和低8位寄存器
Table 8.32 EUART1波特率发生器微调寄存器
9EH,Bank1
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
BFINE
BFINE.7
BFINE.6
BFINE.5
BFINE.4
-
-
-
-
读/写
读/写
读/写
读/写
读/写
-
-
-
-
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
-
-
-
-
位编号
位符号
7-4
BFINE[7:4]
说明
EUART波特率发生器微调数据寄存器
103
SH79F3283
8.6 串行外部设备接口(SPI)
8.6.1 特性
全双工,三线同步传输
主从机操作
6个可编程主时钟频率
极性相位可编程的串行时钟
带MCU中断的主模式故障出错标志
写入冲突标志保护
可选择LSB或MSB传输
32脚封装SPI功能
串行外部设备接口(SPI)是一种高速串行通信接口,允许MCU与外围设备(包括其它MCU)进行全双工,同步串行通讯。
下图所示即为典型的由一个主设备和若干从属外部设备组成的SPI总线网络,主设备通过3条线连接所有从设备,主设备控
———
制连接从属设备SS引脚的4个并行端口来选中其中一个从属设备进行通讯。
VDD
MISO
MOSI
SCK
SS
Master
Port0.0
Port0.1
Port0.2
Slave
Slave
Slave
SS
SCK
MOSI
MISO
SS
SCK
MOSI
MISO
SS
SCK
MOSI
MISO
SS
SCK
MOSI
MISO
Port0.3
Slave
8.6.2 信号描述
主输出从输入(MOSI)
该路信号连接主设备和一个从设备。数据通过MOSI从主设备串行传送到从设备,主设备输出,从设备输入。
主输入从输出(MISO)
该路信号连接从设备和主设备。数据通过MISO从从设备串行传送到主设备,从设备输出,主设备输入。当SPI配置为从设
———
备并未被选中(SS引脚为高电平),从设备的MISO引脚处于高阻状态。
SPI串行时钟(SCK)
———
SCK信号用作控制MOSI和MISO线上输入输出数据的同步移动。每8时钟周期线上传送一个字节。如果从设备未被选中(SS
引脚为高电平),SCK信号被此从设备忽略。
———
从设备选择引脚(SS)
———
每个从属外围设备由一个从选择引脚(SS引脚)选择,当引脚信号为低电平时,表明该从设备被选中。主设备可以通过软
———
件控制连接于从设备SS引脚的端口电平选择每个从设备,很明显,只有一个主设备可以驱动通讯网络。为了防止MISO总线冲突,
———
同一时间只允许一个从设备与主设备通讯。在主设备模式中,SS引脚状态关联SPI状态寄存器SPSTA中MODF标志位以防止多
个主设备驱动MOSI和SCK。
———
下列情况,SS引脚可以作为普通端口或其它功能使用:
(1) 设备作为主设备,SPI控制寄存器SPCON寄存器的SSDIS位置1。这种配置仅仅存在于通讯网络中只有一个主设备的情
况,因此,SPI状态寄存器SPSTA中MODF标志位不会被置1。
(2) 设备配置为从设备,SPI控制寄存器SPCON的CPHA位和SSDIS位置1。这种配置情况存在于只有一个主设备一个从设
———
备的通讯网络中,因此,设备总是被选中的,主设备也不需要控制从设备的SS引脚选择其作为通讯目标。
———
注意:当CPHA = ‘0’时,SS引脚电平被拉低表示启动发送。
104
SH79F3283
8.6.3 波特率
在主模式下,SPI的波特率有六种可选择的频率,分别是内部时钟的4,8,16,32,64或128分频,可以通过设定SPCON
寄存器的SPR[2:0]位进行选择。
8.6.4 功能描述
下图所示是SPI模块的详细结构。
Internal Bus
FCLK PERIPH
SPDAT
Transmit Register
/4
/8
/16
/32
/64
/128
Clock
Divider
7
MSTR
5
4
3
2
1
0
Recieve Register
7
Clock Select
DIR
6
CPHA
CPOL
6
5
4
3
2
1
Pin
Control
Logic
0
M
S
Clock Logic
SSDIS
SPR2
SPR1
MOSI
MISO
SCK
SS
SPR0
8-bit Bus
Recieve Data Register
SPI
Control
SPI Interrupt Request
1-bit Signal
SPSTA
SPEN
SPIF
MODF WCOL RXOV
SPI模块框图
105
-
-
-
SH79F3283
8.6.5 工作模式
SPI可配置为主模式或从属模式中的一种。SPI模块的配置和初始化通过设置SPCON寄存器(串行外围设备控制寄存器)和
SPSTA(串行外围设备状态寄存器)来完成。配置完成后,通过设置SPCON,SPSTA,SPDAT(串行外围设备数据寄存器)
来完成数据传送。
在SPI通讯期间,数据同步地被串行的移进移出。串行时钟线(SCK)使两条串行数据线(MOSI和MISO)上数据的移动和
———
采样保持同步。从设备选择线(SS)可以独立地选择SPI从属设备;如果从设备没有被选中,则不能参与SPI总线上的活动。
当SPI主设备通过MOSI线传送数据到从设备时,从设备通过MISO线发送数据到主设备作为响应,这就实现了在同一时钟下
数据发送和接收的同步全双工传输。发送移位寄存器和接收移位寄存器使用相同的特殊功能器地址,对SPI数据寄存器SPDAT
进行写操作将写入发送移位寄存器,对SPDAT寄存器进行读操作将获得接收移位寄存器的数据。
8-bit Shift Register
SPI
Clock Generator
MISO
MISO
MOSI
MOSI
SCK
SCK
SS
8-bit Shift Register
VDD
SS
Master MCU
Slave MCU
VSS
全双工主从互联图
主模式
(1) 模式启动
SPI主设备控制SPI总线上所有数据传送的启动。当SPCON寄存器中的MSTR位置1时,SPI在主模式下运行,只有一个主设
备可以启动传送。
(2) 发送
在SPI主模式下,写一个字节数据到SPI数据寄存器SPDAT,数据将会写入发送移位缓冲器。如果发送移位寄存器已经存在
一个数据,那么主SPI产生一个WCOL信号以表明写入太快。但是在发送移位寄存器中的数据不会受到影响,发送也不会中断。
另外如果发送移位寄存器为空,那么主设备立即按照SCK上的SPI时钟频率串行地移出发送移位寄存器中的数据到MOSI线上。
当传送完毕,SPSTA寄存器中的SPIF位被置1。如果SPI中断被允许,当SPIF位置1时,也会产生一个中断。
(3) 接收
当主设备通过MOSI线传送数据给从设备时,相对应的从设备同时也通过MISO线将其发送移位寄存器的内容传送给主设备
的接收移位寄存器,实现全双工操作。因此,SPIF标志位置1即表示传送完成也表示接收数据完毕。从设备接收的数据按照MSB
或LSB优先的传送方向存入主设备的接收移位寄存器。当一个字节的数据完全被移入接收寄存器时,处理器可以通过读SPDAT
寄存器获得该数据。如果发生超限(SPIF标志未被清0,就试图开始下一次传送),RXOV位置1,表示发生数据超限,此时接
收移位寄存器保持原有数据并且SPIF位置1,这样直到SPIF位被清0,SPI主设备将不会接收任何数据。
从模式
(1) 模式启动
———
当SPCON寄存器中的MSTR位清0,SPI在从模式下运行。在数据传送之前,从设备的SS引脚必须被置低,而且必须保持低
电平直到一个字节数据传送完毕。
(2) 发送与接收
从属模式下,按照主设备控制的SCK信号,数据通过MOSI引脚移入,MISO引脚移出。一个位计数器记录SCK的边沿数,
当接收移位寄存器移入8位数据(一个字节)同时发送移位寄存器移出8位数据(一个字节),SPIF标志位被置1。数据可以通过
读取SPDAT寄存器获得。如果SPI中断被允许,当SPIF置1时,也会产生一个中断。
为防止超限,SPI从设备在向接收移位寄存器移入数据之前也必须软件清零SPIF标志位,否则RXOV位置1,表示发生数据
超限。此时接收移位寄存器保持原有数据并且SPIF位置1,这样SPI从设备将不会接收任何数据直到SPIF清0。
SPI从设备不能启动数据传送,所以SPI从设备必须在主设备开始一次新的数据传送之前将要传送的数据写入发送移位寄存
器。如果从设备在第一次开始发送之前未写入数据,从设备将传送“0x00”字节给主设备。如果写SPDAT操作发生在传送过程中,
那么SPI从设备的WCOL标志位置1,即如果传送移位寄存器已经含有数据,SPI从设备的WCOL位置1,表示写SPDAT冲突。但
是移位寄存器的数据不受影响,传送也不会被中断。
106
SH79F3283
8.6.6 传送形式
通过软件设置SPCON寄存器的CPOL位和CPHA位,用户可以选择SPI时钟极性和相位的四种组合方式。CPOL位定义时钟
的极性,即空闲时的电平状态,它对SPI传输格式影响不大。CPHA位定义时钟的相位,即定义允许数据采样移位的时钟边沿。
在主从通讯的两个设备中,时钟极性相位的设置应一致。
1
SCK Cycle Number
8
2
3
4
5
6
7
bit6
bit5
bit4
bit3
bit2
bit1
LSB
bit6
bit5
bit4
bit3
bit2
bit1
LSB
SPEN (Internal)
SCK (CPOL=0)
SCK (CPOL=1)
MOSI (from Master)
MISO (from Slave)
MSB
MSB
SS (to Slave)
Capture Point
数据传送形式(CPHA = 0)
———
如果CPHA = 0,SCK的第一个沿捕获数据,从设备必须在SCK的第一个沿之前将数据准备好,因此,SS引脚的下降沿从
———
设备开始发送数据。SS引脚在每次传送完一个字节之后必须被拉高,在发送下一个字节之前重新设置为低电平,因此当CPHA =
0,SSDIS不起作用。
SCK Cycle Number
1
2
3
4
5
6
7
8
SPEN (Internal)
SCK (CPOL=0)
SCK (CPOL=1)
MOSI (from Master)
MSB
bit6
bit5
bit4
bit3
bit2
bit1
MISO (from Slave)
MSB
bit6
bit5
bit4
bit3
bit2
bit1
LSB
LSB
SS (to Slave)
Capture Point
数据发送形式(CPHA = 1)
如果CPHA = 1,主设备在SCK的第一个沿将数据输出到MOSI线上,从设备把SCK的第一个沿作为开始发送信号。用户必
———
须在第一个SCK的第二个沿之前完成写SPDAT的操作。SS引脚在每个字节数据的传送过程始终保持低电平。这种数据传输形式
是一个主设备一个从设备之间通信的首选形式。
MISO/MOSI
Byte1
Byte2
Byte3
Master SS
Slave SS
(CPHA = 0)
Slave SS
(CPHA = 1)
CPHA/SS时序
注意:当 SPI 用作从设备模式,且 SPCON 寄存器的 CPOL 位清 0,P2.4/SCK 端口必须设置为输入模式,并在 SPEN 位
置 1 前打开上拉电阻。
107
SH79F3283
8.6.7 出错检测
SPSTA寄存器中的标志位表示在SPI通讯中的出错情况:
(1) 模式故障(MODF)
———
SPI主模式下的模式故障出错表明SS引脚上的电平状态与实际的设备模式不一致。SPSTA寄存器中MODF位置1后,表明系
统控制存在多主设备冲突的问题。这种情况下,SPI系统受到如下影响:
产生 SPI 接收/错误 CPU 中断请求;
SPSTA 寄存器的 SPEN 位清 0,SPI 被禁止;
SPCON 寄存器的 MSTR 位清 0。
———
———
当SPCON寄存器的SS引脚禁止位(SSDIS)清0,SS引脚信号为低时,MODF标志位置1。然而,对于只有一个主设备的
———
系统来说,主设备的SS引脚被拉低,那决不是另外一个主设备试图驱动网络。这种情况下,为防止MODF置1,可使SPCON寄
———
存器中的SSDIS位置1,SS引脚作为普通I/O口或是其它功能引脚。
重新启动串行通信时,用户必须将MODF位软件清0,将SPCON寄存器中的MSTR位和SPSTA寄存器的SPEN位置1,重新
启动主模式。
(2) 写冲突(WCOL)
在发送数据序列期间写入SPDAT寄存器会引起的写冲突,SPSTA寄存器中的WCOL位置1。WCOL位置1不会引起中断,发
送也不会中止。WCOL位需由软件清0。
(3) 超限情况(RXOV)
主设备或从设备尚未清除SPIF位,主或从设备又试图发送几个数据字节时,超限情况发生。在这种情况下,接收移位寄存
器保持原有数据,SPIF置1,同样SPI设备直到SPIF被清除后才会再接收数据。在SPIF位被清除之前继续调用中断,发送也不会
中止。RXOV位置1不会引起中断,RXOV位需由软件清0。
8.6.8 中断
两种SPI状态标志SPIF & MODF能产生一个CPU中断请求。
串行外围设备数据发送标志,SPIF:完成一个字节发送后由硬件置1。
———
模式故障标志,MODF:该位被置1表示SS引脚上的电平与SPI模式不一致的。SSDIS位为0并且MODF置1将产生SPI接收
器/出错CPU中断请求。当SSDIS置1时,无MODF中断请求产生。
SPIF
SPI Transmitter
CPU Interrupt Request
MODF
SPI Receiver/Error
CPU Interrupt Request
SSDIS
SPI中断请求的产生
108
SPI
CPU Interrupt Request
SH79F3283
8.6.9 寄存器
Table 8.33 SPI控制寄存器
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SPCON
DIR
MSTR
CPHA
CPOL
SSDIS
SPR2
SPR1
SPR0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
A2H,Bank0
位编号
位符号
说明
7
DIR
6
MSTR
SP设备选择位
0:配置SPI作为从属设备
1:配置SPI作为主设备
5
CPHA
时钟相位控制位
0:SCK周期的第一沿采集数据
1:SCK周期的第二沿采集数据
4
CPOL
时钟极性控制位
0:在Idle状态下SCK处于低电平
1:在Idle状态下SCK处于高电平
传送方向选择位
0:MSB优先发送
1:LSB优先发送
———
SS引脚控制位
———
0:在主和从属模式下,打开SS引脚
3
2-0
SSDIS
SPR[2:0]
———
1:在主和从属模式下,关闭SS引脚
如果SSDIS置1,不产生MODF中断请求。
在从属模式下,如果CPHA = 0,该位不起作用。
串行外部设备时钟速率选择位
000:fSYS/4
001:fSYS/8
010:fSYS/16
011:fSYS/32
100:fSYS/64
其他:fSYS/128
109
SH79F3283
Table 8.34 SPI状态寄存器
F8H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
SPSTA
SPEN
SPIF
MODF
WCOL
RXOV
-
-
-
读/写
读/写
读/写
读/写
读/写
读/写
-
-
-
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
-
-
-
位编号
位符号
7
SPEN
SPI控制位
0:关闭SPI
1:打开SPI接口
6
SPIF
串行外部设备数据传送标志位
0:由软件清0
1:表明已完成数据传输,由硬件置1
5
MODF
第0位
说明
模式故障位
0:由软件清0
———
1:表明SS引脚电平与SPI模式不一致,由硬件置1
4
WCOL
写入冲突标志位
0:由软件清0,表明已处理写入冲突
1:由硬件置1,表明检测到一个冲突
3
RXOV
接收超限位
0:表明已处理接收超限,由软件清0
1:表明已检测到接收超限,由硬件置1
Table 8.35 SPI数据寄存器
A3H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SPDAT
SPDAT7
SPDAT6
SPDAT5
SPDAT4
SPDAT3
SPDAT2
SPDAT1
SPDAT0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
SPDAT[7:0]
说明
写入SPDAT的数据被放置到发送移位寄存器中。
读取SPDAT时将获得接收移位换寄存器的数据。
注意:当关闭SPI功能后,读取SPI数据寄存器SPDAT的数据无效。
110
SH79F3283
8.7 模/数转换器(ADC)
8.7.1 特性
12位分辨率
内建基准电压
可选外接或内建基准电压
9模拟通道输入
SH79F3283包含一个单端型、12位逐次逼近型模/数转换器(ADC)。ADC内建的基准电压VREF直接与VDD相连,用户也可
—---—-----—
以选择AVREF端口输入基准电压。10个ADC通道都可以输入独立的模拟信号,但是每次只能使用一个通道。GO/DONE信号控
制开始转换,提示转换结束。当转换完成时,更新ADC数据寄存器,设置ADCON寄存器中的ADCIF位,并产生一个中断(如果
ADC中断被允许)。
ADC模块整合数字比较功能可以比较ADC中的模拟输入的值与数字值。如果允许数字比较功能(在ADCON寄存器中的EC
位置1),并且ADC模块使能(在ADCON寄存器中的ADON位置1),只有当相应的模拟输入的数字值大于或等于寄存器中的比
————
————
较值(ADDH/L)时,才会产生ADC中断。当GO/DONE置1时,数字比较功能会持续工作,直到GO/DONE清0。这一点与模数
转换工作方式不同。
带数字比较功能的ADC模块能在Idle模式下工作,并且ADC中断能够唤醒Idle模式。但是,在掉电模式下,ADC模块被禁止。
8.7.2 ADC模块图
SCH3 - SCH0
CH8 - CH0
REFC
VDD
0
1
AVREF
Input reference
voltage
0000
AN0
0001
AN1
0010
AN2
0011
AN3
0100
AN4
0101
ADC
AN5
Input voltage
0110
AN6
0111
AN7
1000
11xx
AD转换器模块图
111
AN8
1.25V
Reference
SH79F3283
8.7.3 寄存器
Table 8.36 ADC控制寄存器
93H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
ADCON
ADON
ADCIF
EC
REFC
SCH2
SCH1
SCH0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
GO/DONE
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
—---—-----—
位编号
位符号
7
ADON
ADC控制位
0:关闭ADC模块
1:打开ADC模块
6
ADCIF
ADC标志中断标志
0:无ADC中断,由软件清0
1:由硬件置1,表示已完成AD转换、模拟输入大于ADDATH/L(EC = 1,CDIR = 0)
或模拟输入小于ADDATH/L(EC = 1,CDIR = 1)
5
EC
4
REFC
3-1
0
SCH[2:0]
—---—------—
GO/DONE
说明
比较功能允许位
0:关闭比较功能
1:打开比较功能
基准电压选择位
0:选择内部VDD为基准电压
1:选择外部AVREF端口输入为基准电压
ADC通道选择位(与SCH3配合使用)
0000:ADC通道AN0
0001:ADC通道AN1
0010:ADC通道AN2
0011:ADC通道AN3
0100:ADC通道AN4
0101:ADC通道AN5
0110:ADC通道AN6
0111:ADC通道AN7
1000:ADC通道AN8
11xx:内部1.2V基准
ADC状态标志位
0:当完成AD转换时,该位由硬件自动清0。如在转换期间清0该位会中止当前的
转换。如果允许数字比较功能,该位只能软件清0,不能硬件清0
1:设置开始AD转换或者启动数字比较功能
注意:
(1) 当选择外部AVREF端口输入为基准电压时(REFC = 1),P4.4作为VREF输入。
(2) ADON置1后,请延时10us后,再设置GO/DONE = 1,以保障AD转换正常。
112
SH79F3283
Table 8.37 ADC辅助控制寄存器
92H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
ADCON1
-
-
-
-
-
RESO
CH8
SCH3
读/写
-
-
-
-
-
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
-
0
0
0
位编号
位符号
2
RESO
1
ADC分辨率选择位
0:分辨率为12bit,ADDH为高八位,ADDL[3:0]为低四位
1:分辨率为10bit,ADDH为高八位,ADDL[1:0]为低两位
信道配置位
0:P4.4作为I/O端口
1:P4.4作为ADC输入口
注意:若REFC = 1,P4.4作为AVREF端口,此控制位无效
CH8
0
说明
ADC通道选择补充位(与SCH[2:0]配合)
1000:ADC通道AN8
11xx:内部1.2V基准
注意:建立时间 < 12us
SCH3
Table 8.38 ADC定时控制寄存器
94H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
ADT
TADC2
TADC1
TADC0
CDIR
TS3
TS2
TS1
TS0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
ADC时钟周期选择位
000:ADC时钟周期tAD = 2 tSYS
001:ADC时钟周期tAD = 4 tSYS
010:ADC时钟周期tAD = 6 tSYS
011:ADC时钟周期tAD = 8 tSYS
100:ADC时钟周期tAD = 12 tSYS
101:ADC时钟周期tAD = 16 tSYS
110:ADC时钟周期tAD = 24 tSYS
111:ADC时钟周期tAD = 32 tSYS
7-5
TADC[2:0]
4
CDIR
ADC比较方向选择位(比较功能打开有效)
0:模拟输入大于ADDATH/L值,ADCIF置1
1:模拟输入小于ADDATH/L值,ADCIF置1
3-0
TS[3:0]
采样时间选择位
2 tAD ≤ 采样时间 = (TS[3:0]+1) * tAD ≤ 15 tAD
注意:
(1) 请确保ADC时钟周期tAD ≧ 1µs;
(2) 即使TS[3:0] = 0000,最小采样时间为2tAD; 即使TS[3:0] = 1111,最大采样时间为15tAD;
(3) 在设置TS[3:0]前,请估算连接到ADC输入引脚的串联电阻;
(4) 选择2*tAD为采样时间时,请确保连接到ADC输入引脚的串联电阻小于10kΩ;
(5) 全部转换时间 = 12tAD + 采样时间。
113
SH79F3283
举例说明:
系统时钟 (SYSCLK) TADC[2:0]
32.768kHz
4MHz
12MHz
tAD
采样时间
TS[3:0]
转换时间
000
30.5 *2=61µs
0000
2*61=122µs
12*61+122=854µs
000
30.5 *2=61µs
0111
8*61=488µs
12*61+488=1220µs
000
30.5 *2=61µs
1111
15*61=915µs
12*61+915=1647µs
111
30.5 *32=976µs
0000
2*976=1952µs
12*976+1952=13664µs
111
30.5 *32=976µs
0111
8*976=7808µs
12*976+7808=19520µs
111
30.5 *32=976µs
1111
15*976=14640µs
12*976+14640=26352µs
000
0.25 *2=0.5µs
-
(tAD < 1µs,不推荐)
001
0.25 *4=1µs
0000
2*1=2µs
12*1+2=14µs
001
0.25 *4=1µs
0111
8*1=8µs
12*1+8=20µs
001
0.25 *4=1µs
1111
15*1=15µs
12*1+15=27µs
111
0.25 *32=8µs
0000
2*8=16µs
12*8+16=112µs
111
0.25 *32=8µs
0111
8*8=64µs
12*8+64=160µs
1111
-
111
0.25 *32=8µs
000
0.083*2=0.166µs
100
0.083*12=1µs
100
0.083*12=1µs
100
0.083*12=1µs
1111
15*1=15µs
12*1+15=27µs
111
0.083*32=2.7µs
0000
2*2.7=5.4µs
12*2.7+5.4=37.8µs
111
0.083*32=2.7µs
0111
8*2.7=21.6µs
12*2.7+21.6=54µs
0.083*32=2.7µs
1111
15*2.7=40.5µs
12*2.7+40.5=72.9µs
111
15*8=120µs
12*8+120=216µs
-
(tAD < 1µs,不推荐)
0000
2*1=2µs
12*1+2=14µs
0111
8*1=8µs
12*1+8=20µs
-
Table 8.39 ADC通道设置寄存器
95H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
ADCH
CH7
CH6
CH5
CH4
CH3
CH2
CH1
CH0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
说明
7-0
CH[7:0]
信道配置位
0:P4.0-P4.3,P3.4-P3.7作为I/O端口
1:P4.0-P4.3,P3.4-P3.7作为ADC输入口
114
SH79F3283
Table 8.40 AD转换数据寄存器(比较值寄存器)
96H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
ADDL
-
-
-
-
A3
A2
A1
A0
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
97H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
ADDH
A11
A10
A9
A8
A7
A6
A5
A4
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
3-0
7-0
位符号
A11-A0
说明
ADC数据寄存器
采样模拟电压的数字值。当完成转换后,这个值会更新。
如果ADC数字比较功能使能(EC = 1),这个值将与模拟输入进行比较。
注意:
RESO = 0时,分辨率为12位,[A11:A4]作为数据高8位,[A3:A0]作为数据低4位;
RESO = 1时,分辨率为10位,[A11:A4]作为数据高8位,[A1:A0]作为数据低2位。
启动ADC转换步骤:
(1) 选择模拟输入通道以及基准电压
(2) 使能ADC模块
(3) 延时10us
————
(4) GO/DONE置1开始ADC转换
————
(5) 等待GO/DONE = 0或者ADCIF = 1,如果ADC中断使能,则ADC中断将会产生,用户需要软件清0 ADCIF
(6) 从ADDH/ADDL获得转换数据
(7) 重复步骤4-5开始另一次转换
启动数字比较功能步骤:
(1) 选择模拟输入通道以及基准电压
(2) 写入ADDH/ADDL,设置比较值
(3) EC置1使能数字比较功能
(4) 使能ADC模块
(5) 延时10us
————
(6) GO/DONE置1开始数字比较功能
(7) 如果模拟输入的值比设置的比较值大,ADIF会被置1。如果ADC中断使能,则ADC中断将会产生,用户需要软件清0 ADCIF
————
(8) 数字比较功能会持续工作,直到GO/DONE清0
115
SH79F3283
8.8 蜂鸣器
8.8.1 特性
为音频发生器输出方波信号
有8种频率可供选择输出或者禁止输出
8.8.2 寄存器
Table 8.41 蜂鸣器控制寄存器
BDH,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
BUZCON
-
-
-
-
BCA2
BCA1
BCA0
BZEN
读/写
-
-
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
0
0
0
0
位编号
位符号
3-1
BCA[2:0]
0
BZEN
说明
蜂鸣器输出载波频率控制位
000:系统时钟/8192
001:系统时钟/4096
010:系统时钟/2048
011:系统时钟/1024
100:系统时钟/512
101:系统时钟/32
110:系统时钟/16
111:系统时钟/8
蜂鸣器输出使能控制位
0:P5.3作为I/O口
1:P5.3作为蜂鸣器输出口
116
SH79F3283
8.9 低电压检测(LPD)
8.9.1 特性
低电压检测并产生中断
可选的LPD检测电压
LPD去抖动时间TLPD为30-60µs
低电压检测(LPD)功能用来监测电源电压,如果电压低于指定值时产生内部标志。LPD功能用来通知CPU电源是否被切
断或电池是否用尽,因此在电压低于最小工作电压之前,软件可以采取一些保护措施。
LPD中断可以唤醒Power-down模式。
8.9.2 寄存器
Table 8.42 低电压检测控制寄存器
B3H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
LPDCON
LPDEN
LPDF
LPDMD
LPDIF
LPDS3
LPDS2
LPDS1
LPDS0
读/写
读/写
读
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7
LPDEN
6
LPDF
5
LPDMD
4
LPDIF
3-0
LPDS[3:0]
说明
LPD允许位
0:禁止低电压检测
1:允许低电压检测
LPD状态标志位(只读状态位)
0:无LPD发生,由硬件清0
1:LPD发生,由硬件置1
LPD模式选择控制位
0:当VDD电压小于设定的LPD检测电压时,LPDF标志置1
1:当VDD电压大于设定的LPD检测电压时,LPDF标志置1
LPD中断标志查询位
0:无LPD发生,由软件清0
1:LPD发生
LPD电压设置位
0000:2.4V
0001:2.55V
0010:2.7V
0011:2.85V
0100:3.00V
0101:3.15V
0110:3.30V
0111:3.45V
1000:3.60V
1001:3.75V
1010:3.90V
1011:4.05V
1100:4.20V
1101:4.35V
1110:4.50V
1111:4.65V
117
SH79F3283
8.10 低电压复位(LVR)
8.10.1 特性
通过代码选项选择,LVR 设定电压 VLVR 可为 2.1V、2.8V、3.7V 或 4.1V
LVR 去抖动时间 TLVR 为 30-60µs
当供电电压低于设定电压 VLVR 时,将产生内部复位
低电压复位(LVR)功能是为了监测供电电压,当供电电压低于设定电压VLVR时,MCU将产生内部复位。LVR去抖动时间
TLVR大约为30µs-60µs。
LVR功能打开后,具有以下特性(t表示电压低于设定电压VLVR的时间):
当VDD ≤ VLVR且t ≥ TLVR时产生系统复位。
当VDD > VLVR或VDD < VLVR,但t < TLVR时不会产生系统复位。
通过代码选项,可以选择LVR功能的打开与关闭。
在交流电或大容量电池应用中,接通大负载后容易导致MCU供电暂时低于定义的工作电压。低电压复位可以应用于此,保
护系统在低于设定电压下产生有效复位。
118
SH79F3283
8.11 看门狗定时器(WDT),程序超范围溢出(OVL)复位及其它复位状态
8.11.1 特性
看门狗可以工作在掉电模式下
程序超范围溢出后硬件自动检测,并产生 OVL 复位
看门狗溢出频率可选
程序超范围溢出复位
SH79F3283为进一步增强CPU运行可靠性,内建程式超范围溢出检测电路,一旦检测到程式计数器的值超出ROM最大值,
或者发现指令操作码(不检测操作数)为8051指令集中不存在的A5H,便认为程式跑飞,产生CPU复位信号,同时将WDOF标
志位置1。为应用这个特性,用户应该将未使用的Flash ROM用0xA5填满。
看门狗
看门狗定时器(WDT)是一个递减计数器,独立内建RC振荡器作为时钟源,因此可以通过代码选项在掉电模式下仍会持续
运行。当定时器溢出时,将芯片复位。通过代码选项可以打开或关闭该功能。
WDT控制位(第2 - 0位)用来选择不同的溢出时间。定时器溢出后,WDT溢出标志(WDOF)将由硬件自动置1。通过读
或写RSTSTAT寄存器,看门狗定时器在溢出前重新开始计数。
其它一些复位标志列举如下:
119
SH79F3283
8.11.2 寄存器
Table 8.43 复位状态寄存器
B1H,Bank0
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
RSTSTAT
WDOF
-
PORF
LVRF
CLRF
WDT.2
WDT.1
WDT.0
读/写
读/写
-
读/写
读/写
读/写
读/写
读/写
读/写
复位值 (POR)
0
-
1
0
0
0
0
0
复位值 (WDT)
1
-
u
u
u
0
0
0
复位值 (LVR)
u
-
u
1
u
0
0
0
复位值 (PIN)
u
-
u
u
1
0
0
0
位编号
7
5
4
3
2-0
位符号
说明
WDOF
看门狗溢出或程式超范围溢出标志位
看门狗溢出时由硬件置1,可由软件或上电复位清0
0:未发生WDT溢出或程式超范围溢出
1:发生WDT溢出或程式超范围溢出
PORF
上电复位标志位
上电复位后硬件置1,只能由软件清0
0:没有发生上电复位
1:发生过上电复位
LVRF
低压复位标志位
低压复位后置1,可由软件或上电复位清0
0:没有发生低压复位
1:发生过低压复位
CLRF
Reset引脚复位标志位
引脚复位后置1,由软件或上电复位清0
0:没有发生引脚复位
1:发生过引脚复位
WDT[2:0]
WDT溢出周期控制位
000:溢出周期最小值 = 4096ms
001:溢出周期最小值 = 1024ms
010:溢出周期最小值 = 256ms
011:溢出周期最小值 = 128ms
100:溢出周期最小值 = 64ms
101:溢出周期最小值 = 16ms
110:溢出周期最小值 = 4ms
111:溢出周期最小值 = 1ms
注意:应用中如果看门狗打开,程序清看门狗的最大间隔时间不能大于以上所列
最小值
120
SH79F3283
8.12 CRC校验模块
8.12.1 特性
FLASH 内容 CRC 校验,可设置校验 Flash ROM 范围和初始值
CRC 生成多项式采用 CRC-CCITT 标准:X16+X12+X5+1,高位优先
2 种模式:高速 CRC 模式和普通 CRC 模式
为提高系统可靠性,SH79F3283内建1个CRC校验模块,可用来实时生成code的CRC校验码,采用的生成多项式采用
CRC-CCITT标准:X16+X12+X5+1。用户可利用此校验码和理论值比较,监测Flash内容是否有变化。CRC理论值可存放在所选
ROM范围的最后两个Byte(不参与CRC校验),或其他位置(比如类EEPROM区,序列号区,用户识别码区等)。
设置CRCADR[3:0]控制位可以选择校验空间大小,设置CRC_GO位启动CRC模块,校验完成后,CRC_GO自动清0,并置
起CRCIF标志,如果中断允许位ESCM_LPD_CRC和ECRC都为1,则CPU产生CRC中断,程序响应中断后此标志位被硬件自动
清0。
普通CRC模式:在CPU运行程序指令过程中,利用一些特殊指令的执行间隙,进行CRC校验,不会影响CPU的指令执行时
间,但校验时间较长,且不可控。
高速CRC模式:为提高CRC的校验时间,可以打开CRC模块,让CPU进入IDLE模式,将执行高速CRC模式,校验时间较
短,CRC中断可唤醒IDLE模式。
注意:掉电(Power-Down)模式下,且CRC模块处于运行状态,会导致CRC校验结果不正确;请确保CRC运行结束前,
系统不进掉电(Power-Down)模式。
8.12.2 寄存器
Table 8.44 CRC控制寄存器
FDH,Bank0
第7位
第6位
第5位
第4位
CRCCON
CRC_GO
CRCIF
-
-
读/写
读/写
读/写
-
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
-
-
0
0
0
0
位编号
位符号
7
CRC_GO
6
3-0
CRCIF
CRCADR[3:0]
第3位
第2位
第1位
第0位
CRCADR3 CRCADR2 CRCADR1 CRCADR0
说明
CRC启动控制位
0:关闭CRC模块
1:启动CRC模块,CRC校验完成后自动清0
CRC完成中断请求标志位
0:未启动或启动后未完成
1:CRC校验完成,向CPU请求中断,如果中断允许位ESCM_LPD_CRC和ECRC
都为1,则CPU响应中断,程序响应中断后此标志位软件清0
CRC校验范围设置位
0000:校验地址范围为0000 - 07FDH(2K-2Byte)
0001:校验地址范围为0000 - 0FFDH(4K-2Byte)
……
1110:校验地址范围为0000 - 77FDH(30K-2Byte)
1111:校验地址范围为0000 - 7FFDH(32K-2Byte)
121
SH79F3283
Table 8.45 CRC校验结果寄存器
87H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
CRCDL (F9H, Bank0)
CRCD7
CRCD6
CRCD5
CRCD4
CRCD3
CRCD2
CRCD1
CRCD0
CRCDH (FAH, Bank0)
CRCD15
CRCD14
CRCD13
CRCD12
CRCD11
CRCD10
CRCD9
CRCD8
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
CRCD[15:0]
说明
CRC校验结果寄存器
启动CRC模块前,此寄存器值作为CRC校验初值,校验完成后,校验结果存储于此
寄存器中,覆盖之前的数据。
注意:
(1) CRC启动之前,需要对CRC结果寄存器赋初始值。
(2) CRC_GO 置为 1 启动 CRC 校验,在校验过程中,不允许对 CRCADR[3:0] 重新设置,也不允许对 CRC 结果寄存器
CRCDL/CRCDH有修改动作。
(3) 所选择的CRC校验范围的最后2个byte,不参与CRC校验,可以存放CRC理论值。
122
SH79F3283
8.13 电源管理
8.13.1 特性
空闲模式和掉电模式两种省电模式
发生中断和复位可退出空闲(Idle)、掉电(Power-Down)模式
为减少功耗,SH79F3283提供两种低功耗省电模式:空闲(Idle)模式和掉电(Power-Down)模式,这两种模式都由PCON
和SUSLO两个寄存器控制。
8.13.2 空闲模式(Idle)
空闲模式能够降低系统功耗,在此模式下,程序中止运行,CPU时钟停止,但外部设备时钟继续运行。空闲模式下,CPU
在确定的状态下停止,并在进入空闲模式前所有CPU的状态都被保存,如PC,PSW,SFR,RAM等。
两条连续指令:先设置SUSLO寄存器为0x55,随即将PCON寄存器中的IDL位置1,使SH79F3283进入空闲模式。如果不满
足上述的两条连续指令,CPU在下一个机器周期清0 SUSLO寄存器或IDL位,CPU也不会进入空闲模式。
IDL位置1是CPU进入空闲模式之前执行的最后一条指令。
两种方式可以退出空闲模式:
(1) 中断产生。恢复CPU时钟,硬件清除SUSLO寄存器和PCON寄存器的IDL位。然后执行中断服务程序,随后跳转到进入
空闲模式指令之后的指令。
(2) 复位信号产生后(复位引脚上出现低电平,WDT复位,LVR复位)。CPU恢复时钟,SUSLO寄存器和在PCON寄存器
中的IDL位被硬件清0,最后SH79F3283复位,程序从地址位0000H开始执行。此时,RAM保持不变而SFR的值根据不同功能模
块改变。
8.13.3 掉电模式(Power-Down)
掉电模式可以使SH79F3283进入功耗非常低的状态。当单时钟信号输入时(OP_OSC[3:0]取0000,1110),掉电模式将停
止CPU和外围设备的所有时钟信号。当双时钟信号输入时(OP_OSC[3:0]取0011,0110,1010或1101),若系统时钟取32.768kHz
晶振或128kHzRC时,掉电模式将停止CPU和外围设备的所有时钟信号;如果高频振荡器被用作系统时钟,当进入掉电模式时,
用于LCD(或LED)和定时器3的32.768kHz晶振或128kHzRC时钟打开。在掉电模式下,如果通过代码选项使能WDT,WDT模
块将继续工作。在进入掉电模式前所有CPU的状态都被保存,如PC,PSW,SFR,RAM等。
两条连续指令:先设置SUSLO寄存器为0x55,随即将PCON寄存器中的PD位置1,使SH79F3283进入掉电模式。如果不满
足上述的两条连续指令CPU在下一个机器周期清除SUSLO寄存器或的PD位,CPU也不会进入掉电模式。
PD位置1是CPU进入掉电模式之前执行的最后一条指令。
注意:如果同时设置IDL位和PD位,SH79F3283进入掉电模式。退出掉电模式后,CPU也不会掉电进入空闲模式,从掉电
模式退出后硬件清0 IDL及PD位。
有三种方式可以退出掉电模式:
(1) 有效外部中断(如INT0,INT1,INT2,INT3和INT4)和LPD中断使SH79F3283退出掉电模式。在中断发生后振荡器启
动,在预热计时结束之后CPU时钟和外部设备时钟恢复,SUSLO寄存器和PCON寄存器中的PD位会被硬件清除,然后继续运行
中断服务程序。在完成中断服务程序之后,跳转到进入掉电模式之后的指令继续运行。
(2) 当32.768kHz晶振或128kHzRC作为时钟时,定时器3中断可使SH79F3283退出掉电模式。在预热计时后会恢复CPU时
钟及外部设备,SUSLO寄存器和PCON寄存器中的PD位将由硬件清0。然后继续运行中断服务程序。当完成中断服务子程序后,
跳转到进入掉电模式之后的指令继续运行。
(3) 复位信号(复位引脚上出现低电平,WDT复位如果被允许,LVR复位如果被允许)。在预热计时之后会恢复CPU时钟,
SUSLO寄存器和PCON寄存器中的PD位会被硬件清除,最后SH79F3283会被复位,程序会从0000H地址位开始运行。RAM将
保持不变,而根据不同功能模块SFR的值可能改变。
注意:如要进入这两种低功耗模式,必须在置位PCON中的IDL/PD位后增加3个空操作指令(NOP)。
123
SH79F3283
8.13.4 寄存器
Table 8.46 电源控制寄存器
87H
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
PCON
SMOD
SSTAT
SSTAT1
-
GF1
GF0
PD
IDL
读/写
读/写
读/写
读/写
-
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
-
0
0
0
0
位编号
位符号
说明
7
SMOD
UART波特率加倍器
6
SSTAT
SCON[7:5]功能选择位
5
SSTAT1
SCON1[7:5]功能选择位
3-2
GF[1:0]
用于软件的通用标志
1
PD
掉电模式控制位
0:当一个中断或复位产生时由硬件清0
1:由软件置1激活掉电模式
0
IDL
空闲模式控制位
0:当一个中断或复位产生时由硬件清0
1:由软件置1激活空闲模式
Table 8.47 省电模式控制寄存器
8EH
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
SUSLO
SUSLO.7
SUSLO.6
SUSLO.5
SUSLO.4
SUSLO.3
SUSLO.2
SUSLO.1
SUSLO.0
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
读/写
复位值
(POR/WDT/LVR/PIN)
0
0
0
0
0
0
0
0
位编号
位符号
7-0
SUSLO[7:0]
说明
此寄存器用来控制CPU进入省电模式(空闲或掉电)。只有像下面的连续指令才能
使CPU进入省电模式,否则在下个周期中SUSLO,IDL或PD位将被硬件清0。
程序举例:
IDLE_MODE:
MOV
ORL
NOP
NOP
NOP
SUSLO, #55H
PCON, #01H
POWERDOWN_MODE:
MOV
SUSLO, #55H
ORL
PCON, #02H
NOP
NOP
NOP
124
SH79F3283
8.14 预热计数器
8.14.1 特性
内建电源预热计数器消除电源的上电的不稳定状态
内建振荡器预热计数器消除振荡器起振时的不稳定状态
SH79F3283内建有电源上电预热计数器,主要是用来消除上电电压建立时的不稳定态,同时完成内部一些初始化序列,如
读取内部客户代码选项等。
SH79F3283内建振荡器预热计数器,它能消除振荡器在下列情况下起振时的不稳定状态:上电复位,引脚复位,从低功耗
模式中唤醒,看门狗复位和LVR复位。
上电后,SH79F3283会先经过电源上电预热计数过程,等待溢出后再进行振荡器的预热计数过程过程,溢出后开始运行程
式。
电源上电预热计数时间
上电复位/
看门狗复位
看门狗复位
掉电模式下中断唤醒
(唤醒掉电模式)
引脚复位/低电压复位
(不包含掉电模式)
电源上电
振荡器上电
电源上电
振荡器上电
电源上电
振荡器上电
电源上电
振荡器上电
预热计数时间 预热计数时间 预热计数时间 预热计数时间 预热计数时间 预热计数时间 预热计数时间 预热计数时间
有
11ms
≈1ms
无
≈1ms
有
≈500us
有
振荡器上电预热计数时间
代码选项:
OP_WMT
振荡器类型
00
01
10
11
陶振/晶振
217 X Tosc
214 X Tosc
211 X Tosc
28 X Tosc
32kHz晶振
213 X Tosc
内部RC
27 X Tosc
125
SH79F3283
8.15 代码选项
OP_WDT:
0:允许看门狗复位(默认)
1:禁止看门狗复位
OP_WDTPD:
0:掉电模式下禁止看门狗工作(默认)
1:掉电模式下允许看门狗工作
OP_RST:
0:P5.2允许引脚复位(默认)
1:P5.2作为普通I/O
OP_WMT:(不适用于32k晶体振荡器和内建RC)
00:最长预热时间(默认)
01:长预热时间
10:短预热时间
11:最短预热时间
OP_OSC:
0000:内部12MHz RC振荡器作为振荡器1,振荡器2关闭
0001:内部8MHz RC振荡器作为振荡器1,振荡器2关闭
0010:内部16MHz RC振荡器作为振荡器1,振荡器2关闭
0011:内部128KHz RC振荡器作为振荡器1,12MHz内部RC作为振荡器2
0100:内部128KHz RC振荡器作为振荡器1,8MHz内部RC作为振荡器2
0110:内部128KHz RC振荡器作为振荡器1,2M-16MHz晶体/陶瓷谐振器作为振荡器2
1010:32.768kHz晶体谐振器作为振荡器1,12MHz内部RC作为振荡器2
1011:32.768kHz晶体谐振器作为振荡器1,8MHz内部RC作为振荡器2
1101:32.768kHz晶体谐振器作为振荡器1,2M-16MHz晶体/陶瓷谐振器作为振荡器2
1110:2M-16MHz晶体/陶瓷谐振器作为振荡器1,振荡器2关闭
其他:内部12MHz RC振荡器作为振荡器1,振荡器2关闭
OP_LVREN:
0:禁止低电压复位功能(默认)
1:允许低电压复位功能
OP_LVRLE:
00:低电压复位设定电压为4.1V(默认)
01:低电压复位设定电压为3.7V
10:低电压复位设定电压为2.8V
11:低电压复位设定电压为2.1V
OP_SCM:
0:在预热期间禁止时钟单元检测功能(默认)
1:在预热期间允许时钟单元检测功能
OP_OSCDRIVE:
011:8M - 16M crystal(默认)
001:4M crystal
111:12M ceramic
101:8M ceramic
110:4M ceramic
100:2M ceramic
126
SH79F3283
OP_P1DRIVE:
0:Port 1 drive电流能力保持不变(默认)
1:Port 1 drive电流能力加大
OP_PORTDRIVE:(不适用于P3)
0:除P3外所有PORT口(包括P1)drive电流能力保持不变(默认)
1:除P3外所有PORT口(包括P1)drive电流能力加大
OP_P33-P30:
0:Port3[3:0]的sink电流能力保持不变
1:Port3[3:0]的sink电流能力加大(默认)
OP_P37-P34:
0:Port3[7:4]的sink电流能力保持不变(默认)
1:Port3[7:4]的sink电流能力加大
OP_MODSW:
0:MODSW设置为1时,LCD/LED扫描计数器继续计数
1:MODSW设置为1时,LCD/LED扫描计数器暂停计数,保留当前的com值,再次打开LCD/LED时,从当前COM口继续扫
描
OP_OSCRFB:
00:设置OSC反馈电阻2M
01:设置OSC反馈电阻1M
10:设置OSC反馈电阻500K
10:设置OSC反馈电阻300K
127
SH79F3283
9. 指令集
算术操作指令
指令
功能描述
代码
字节
周期
ADD A, Rn
累加器加寄存器
0x28-0x2F
1
1
ADD A, direct
累加器加直接寻址字节
0x25
2
2
ADD A, @Ri
累加器加内部RAM
0x26-0x27
1
2
ADD A, #data
累加器加立即数
0x24
2
2
ADDC A, Rn
累加器加寄存器和进位位
0x38-0x3F
1
1
ADDC A, direct
累加器加直接寻址字节和进位位
0x35
2
2
ADDC A, @Ri
累加器加内部RAM和进位位
0x36-0x37
1
2
ADDC A, #data
累加器加立即数和进位位
0x34
2
2
SUBB A, Rn
累加器减寄存器和借位位
0x98-0x9F
1
1
SUBB A, direct
累加器减直接寻址字节和借位位
0x95
2
2
SUBB A, @Ri
累加器减内部RAM和借位位
0x96-0x97
1
2
SUBB A, #data
累加器减立即数和借位位
0x94
2
2
INC A
累加器加1
0x04
1
1
INC Rn
寄存器加1
0x08-0x0F
1
2
INC direct
直接寻址字节加1
0x05
2
3
INC @Ri
内部RAM加1
0x06-0x07
1
3
DEC A
累加器减1
0x14
1
1
DEC Rn
寄存器减1
0x18-0x1F
1
2
DEC direct
直接寻址字节减1
0x15
2
3
DEC @Ri
内部RAM减1
0x16-0x17
1
3
INC DPTR
数据指针加1
0xA3
1
4
累加器乘寄存器B
0xA4
1
累加器除以寄存器B
0x84
1
十进制调整
0xD4
1
MUL AB
DIV AB
DA A
8X8
16 X 8
8/8
16 / 8
128
11
20
11
20
1
SH79F3283
逻辑操作指令
指令
功能描述
代码
字节
周期
ANL A, Rn
累加器与寄存器
0x58-0x5F
1
1
ANL A, direct
累加器与直接寻址字节
0x55
2
2
ANL A, @Ri
累加器与内部RAM
0x56-0x57
1
2
ANL A, #data
累加器与立即数
0x54
2
2
ANL direct, A
直接寻址字节与累加器
0x52
2
3
ANL direct, #data
直接寻址字节与立即数
0x53
3
3
ORL A, Rn
累加器或寄存器
0x48-0x4F
1
1
ORL A, direct
累加器或直接寻址字节
0x45
2
2
ORL A, @Ri
累加器或内部RAM
0x46-0x47
1
2
ORL A, #data
累加器或立即数
0x44
2
2
ORL direct, A
直接寻址字节或累加器
0x42
2
3
ORL direct, #data
直接寻址字节或立即数
0x43
3
3
XRL A, Rn
累加器异或寄存器
0x68-0x6F
1
1
XRL A, direct
累加器异或直接寻址字节
0x65
2
2
XRL A, @Ri
累加器异或内部RAM
0x66-0x67
1
2
XRL A, #data
累加器异或立即数
0x64
2
2
XRL direct, A
直接寻址字节异或累加器
0x62
2
3
XRL direct, #data
直接寻址字节异或立即数
0x63
3
3
CLR A
累加器清零
0xE4
1
1
CPL A
累加器取反
0xF4
1
1
RL A
累加器左环移位
0x23
1
1
RLC A
累加器连进位标志左环移位
0x33
1
1
RR A
累加器右环移位
0x03
1
1
RRC A
累加器连进位标志右环移位
0x13
1
1
SWAP A
累加器高4位与低4位交换
0xC4
1
4
129
SH79F3283
数据传送指令
指令
功能描述
代码
字节
周期
MOV A, Rn
寄存器送累加器
0xE8-0xEF
1
1
MOV A, direct
直接寻址字节送累加器
0xE5
2
2
MOV A, @Ri
内部RAM送累加器
0xE6-0xE7
1
2
MOV A, #data
立即数送累加器
0x74
2
2
MOV Rn, A
累加器送寄存器
0xF8-0xFF
1
2
MOV Rn, direct
直接寻址字节送寄存器
0xA8-0xAF
2
3
MOV Rn, #data
立即数送寄存器
0x78-0x7F
2
2
MOV direct, A
累加器送直接寻址字节
0xF5
2
2
MOV direct, Rn
寄存器送直接寻址字节
0x88-0x8F
2
2
MOV direct1, direct2
直接寻址字节送直接寻址字节
0x85
3
3
MOV direct, @Ri
内部RAM送直接寻址字节
0x86-0x87
2
3
MOV direct, #data
立即数送直接寻址字节
0x75
3
3
MOV @Ri, A
累加器送内部RAM
0xF6-0xF7
1
2
MOV @Ri, direct
直接寻址字节送内部RAM
0xA6-0xA7
2
3
MOV @Ri, #data
立即数送内部RAM
0x76-0x77
2
2
MOV DPTR, #data16
16位立即数送数据指针
0x90
3
3
MOVC A, @A+DPTR
程序代码送累加器(相对数据指针)
0x93
1
7
MOVC A, @A+PC
程序代码送累加器(相对程序计数器)
0x83
1
8
MOVX A, @Ri
外部RAM送累加器(8位地址)
0xE2-0xE3
1
5
MOVX A, @DPTR
外部RAM送累加器(16位地址)
0xE0
1
6
MOVX @Ri, A
累加器送外部RAM(8位地址)
0xF2-F3
1
4
MOVX @DPTR, A
累加器送外部RAM(16位地址)
0xF0
1
5
PUSH direct
直接寻址字节压入栈顶
0xC0
2
5
POP direct
栈顶弹至直接寻址字节
0xD0
2
4
XCH A, Rn
累加器与寄存器交换
0xC8-0xCF
1
3
XCH A, direct
累加器与直接寻址字节交换
0xC5
2
4
XCH A, @Ri
累加器与内部RAM交换
0xC6-0xC7
1
4
XCHD A, @Ri
累加器低4位与内部RAM低4位交换
0xD6-0xD7
1
4
130
SH79F3283
控制程序转移指令
指令
功能描述
代码
字节
周期
ACALL addr11
2KB内绝对调用
0x11-0xF1
2
7
LCALL addr16
64KB内长调用
0x12
3
7
RET
子程序返回
0x22
1
8
RETI
中断返回
0x32
1
8
AJMP addr11
2KB内绝对转移
0x01-0xE1
2
4
LJMP addr16
64KB内长转移
0x02
3
5
SJMP rel
相对短转移
0x80
2
4
JMP @A+DPTR
相对长转移
0x73
1
6
JZ rel
(发生转移)
(不发生转移)
累加器为零转移
0x60
2
3
5
JNZ rel
(发生转移)
(不发生转移)
累加器为非零转移
0x70
2
3
5
JC rel
(发生转移)
(不发生转移)
C置位转移
0x40
2
2
4
JNC rel
(发生转移)
(不发生转移)
C清零转移
0x50
2
2
4
JB bit, rel
(发生转移)
(不发生转移)
直接寻址位置位转移
0x20
3
4
6
JNB bit, rel
(发生转移)
(不发生转移)
直接寻址位清零转移
0x30
3
4
6
JBC bit, rel
(发生转移)
(不发生转移)
直接寻址位置位转移并清该位
0x10
3
4
6
CJNE A, direct, rel (不发生转移)
(发生转移)
累加器与直接寻址字节不等转移
0xB5
3
4
6
CJNE A, #data, rel (不发生转移)
(发生转移)
累加器与立即数不等转移
0xB4
3
4
6
CJNE Rn, #data, rel (不发生转移)
(发生转移)
寄存器与立即数不等转移
0xB8-0xBF
3
4
6
CJNE @Ri, #data, rel (不发生转移)
(发生转移)
内部RAM与立即数不等转移
0xB6-0xB7
3
4
6
DJNZ Rn, rel
(发生转移)
寄存器减1不为零转移
0xD8-0xDF
2
3
5
DJNZ direct, rel (不发生转移)
(发生转移)
直接寻址字节减1不为零转移
0xD5
3
4
6
NOP
空操作
0
1
1
(不发生转移)
131
SH79F3283
位操作指令
指令
功能描述
代码
字节
周期
CLR C
C清零
0xC3
1
1
CLR bit
直接寻址位清零
0xC2
2
3
SETB C
C置位
0xD3
1
1
SETB bit
直接寻址位置位
0xD2
2
3
CPL C
C取反
0xB3
1
1
CPL bit
直接寻址位取反
0xB2
2
3
ANL C, bit
C逻辑与直接寻址位
0x82
2
2
ANL C, /bit
C逻辑与直接寻址位的反
0xB0
2
2
ORL C, bit
C逻辑或直接寻址位
0x72
2
2
ORL C, /bit
C逻辑或直接寻址位的反
0xA0
2
2
MOV C, bit
直接寻址位送C
0xA2
2
2
MOV bit, C
C送直接寻址位
0x92
2
3
132
SH79F3283
10. 电气特性
极限参数*
*注释
直流供电电压. . . . . . . . . . . . . . . . . . . . . . . . -0.3V to +6.0V
输入/输出电压. . . . . . . . . . . . . . . . .GND-0.3V to VDD+0.3V
工作环境温度. . . . . . . . . . . . . . . . . . . . . . . . -40°C to +85°C
存储温度 . . . . . . . . . .. . . . . . . . . . . . . . . . .-55°C to +125°C
Flash存储器写/擦除操作. . . . . . . . . . . . . . . . . 0°C to +85°C
如 果 器 件 的 工 作 条 件 超 过 左 列“ 极 限 参 数 ” 的 范 围 ,将
造 成 器 件 永 久 性 破 坏 。只 有 当 器 件 工 作 在 说 明 书 所 规 定
的 范 围 内 时 功 能 才 能 得 到 保 障 。器 件 在 极 限 参 数 列 举 的
条件下工作将会影响到器件工作的可靠性。
直流电气特性1(VDD = 2.0V - 5.5V,GND = 0V,TA = +25°C,除非另有说明)
参数
工作电压
符号
VDD
IOP
最小值 典型值∗ 最大值
2.0
-
5.0
5
5.5
单位
V
10
ISB1
-
-
25
3
35
5
mA
µA
fOSC = 32.768kHz,高频振荡器关闭,VDD = 5.0V
所有输出引脚无负载(所有数字输入引脚不浮动);
CPU打开(执行NOP指令);
LVR关闭,WDT关闭,关闭其它所有功能
mA
fOSC = 12MHz,VDD = 5.0V,
所有输出引脚无负载CPU关闭(空闲模式);
所有数字输入引脚不浮动
LVR打开,WDT关闭,LCD打开(不包括LCD面板)
关闭其它所有功能
µA
fOSC = 32.768kHz,VDD = 5.0V,高频振荡器关闭
所有输出引脚无负载CPU关闭(空闲模式);
所有数字输入引脚不浮动
LVR打开,WDT关闭,CRC关闭,LCD关闭,
关闭其它所有功能
µA
所有振荡器关闭,VDD = 5.0V
所有输出引脚无负载(所有数字输入引脚不浮动);
CPU停止(掉电模式);
LCD关闭,WDT关闭,LVR打开,CRC关闭,
关闭其它所有功能
待机电流(空闲模式)
ISB2
ISB3
-
-
15
2
25
6
32.768kHz或2MHz ≤ fOSC ≤ 16MHz
fOSC = 12MHz,VDD = 5.0V
所有输出引脚无负载(所有数字输入引脚不浮动);
CPU打开(执行NOP指令);WDT打开,关闭其
它所有功能
工作电流
IOP2
条件
待机电流(掉电模式)
ISB4
-
4
15
µA
fOSC = 32.768kHz,高频振荡器关闭,VDD = 5.0V
所有输出引脚无负载(所有数字输入引脚不浮动);
CPU关闭(掉电模式);
LCD关闭,WDT关闭,LVR打开,CRC关闭,
关闭其它所有功能
WDT电流
IWDT
-
1
3
µA
所有输出引脚无负载,VDD = 5.0V,WDT打开
LCD电流
ILCD
-
6
7
µA
传统电阻型LCD模式,VDD = 5V
300kΩ LCD偏置电阻,contrast[3:0] = 1111
LPD电流
ILPD
-
-
1
µA
VDD = 2.0 - 5.5V
133
SH79F3283
续上表
参数
符号
输入低电压1
VIL1
输入高电压1
最小值 典型值∗ 最大值
GND
单位
条件
-
0.3 X VDD
V
I/O端口
VIH1 0.7 X VDD
-
VDD
V
I/O端口
输入低电压2
VIL2
-
0.2 X VDD
V
输入高电压2
VIH2 0.8 X VDD
-
VDD
V
RST ,T2,T3,T4,INT0/1/2/3/4,T2EX,RXD0,
RXD1,FLT,VDD = 2.4 - 5.5V
——-------——
GND
RST ,T2,T3,T4,INT0/1/2/3/4,T2EX,RXD0,
RXD1,FLT,VDD = 2.4 - 5.5V
——-------——
输入漏电流
IIL
-1
-
1
µA
输入口,VIN = VDD或者GND
输出漏电流
IOL
-1
-
1
µA
开漏输出,VDD = 5.0V
VOUT = VDD或者GND
复位引脚上拉电阻
RRPH
-
30
-
kΩ
VDD = 5.0V,VIN = GND
上拉电阻
RPH
-
30
-
kΩ
VDD = 5.0V,VIN = GND
输出高电压1
VOH1 VDD - 0.7
-
-
V
I/O端口(P0,P2-P5),IOH = -10mA,VDD = 5.0V
代码选项为所有Port口drive电流能力保持不变
输出高电压2
VOH2 VDD - 0.7
-
-
V
I/O端口(P0,P2-P5),IOH = -18mA,VDD = 5.0V
代码选项为所有Port口drive电流能力加大
输出高电压3
VOH3 VDD - 0.7
-
-
V
I/O端口(P1),IOH = -10mA,VDD = 5.0V
代码选项为Port1口drive电流能力保持不变
输出高电压4
VOH4 VDD - 0.7
-
-
V
I/O端口(P1),IOH = -18mA,VDD = 5.0V
代码选项为Port1口drive电流能力加大
输出低电压1
VOL1
-
-
GND + 0.6
V
I/O端口(P0,P1,P2,P4,P5),
IOL = 15mA,VDD = 5.0V
输出低电压2
VOL2
-
-
GND + 0.6
V
I/O端口(P3),IOL = 15mA,VDD = 5.0V
代码选项为Port3口sink电流能力保持不变
大驱动口灌电流能力
IOL
120
140
-
mA
I/O端口(P3),VDD = 5.0V,VOL = GND + 1.5V
代码选项为Port3口sink电流能力加大
LCD输出电阻
RON
-
5
-
kΩ
SEG1 - 28,COM1 - 8,VDD = 3.6V - 5.0V
V1,V2,V3电压偏差低于0.2V
注意:
(1) “∗”表示典型值下的数据是在5.0V,25°C下测得的,除非另有说明。
(2) 流过VDD的最大电流值在5.0V,25°C下须小于150mA。
(3) 流过GND的最大电流值在5.0V,25°C下须小于200mA。
134
SH79F3283
5V模/数转换器电气特性
符号
最小值
典型值
最大值
单位
供电电压
参数
VAD
2.5
3
5.5
V
条件
精度
NR
-
12
-
bit
A/D输入电压
VAIN
GND
-
VREF
V
A/D输入电阻*
RAIN
2
-
-
MΩ
模拟电压源推荐阻抗
ZAIN
-
-
10
kΩ
A/D转换电流
IAD
-
1
3
mA
ADC模块打开,VDD = 5.0V
A/D输入电流
IADIN
-
-
10
µA
VDD = 5.0V
微分非线性误差
DLE
-
-
±1
LSB
fOSC = 12MHz,VDD = 5.0V
积分非线性误差
ILE
-
-
±2
LSB
fOSC = 12MHz,VDD = 5.0V
满刻度误差
EF
-
±1
±8
LSB
fOSC = 12MHz,VDD = 5.0V
偏移量误差
EZ
-
±0.5
±8
LSB
fOSC = 12MHz,VDD = 5.0V
总绝对误差
EAD
-
-
±8
LSB
fOSC = 12MHz,VDD = 5.0V
总转换时间**
TCON
16
-
-
tAD
12 bit精度,VDD = 5.0V,tAD = 1µs
内部参考电压
VADREF
1.225
1.25
1.275
V
±2%,TA = +25°C,CMP共用
GND ≤ VAIN ≤ VREF
VIN = 5.0V
注意:
(1) “∗”表示ADC输入电阻就是直流条件下ADC自身的输入电阻。
(2) “∗∗”建议与ADC连接的信号源内阻小于10kΩ。
交流电气特性(VDD = 2.0V - 5.5V,GND = 0V,TA = +25°C,fOSC = 12MHz,除非另有说明。)
参数
符号
最小值
TOSC
TOSC
复位脉冲宽度
WDT RC频率
振荡器起振时间
频率稳定性(RC)
典型值
最大值
-
-
1
s
-
1
2
ms
tRESET
10
-
-
µs
fWDT
-
2
3
kHz
-
-
±1
%
RC振荡器:
|F - 12MHz|/12MHz
(VDD = 2.0 - 5.0V,TA = +25°C)
-
-
±2
%
RC振荡器:
|F - 12MHz|/12MHz
(VDD = 2.0 - 5.0V,TA = -40°C至+85°C)
-
-
±2
%
RC振荡器:
|F - 128kHz|/128kHz
(VDD = 2.0 - 5.0V,TA = 25°C)
| ∆ F|/
F
135
单位
条件
fOSC= 32.768kHz
fOSC = 12MHz
SH79F3283
低电压复位电气特性(VDD = 2.0V - 5.5V,GND = 0V,TA = +25°C,除非另有说明。)
参数
符号
最小值
典型值
最大值
单位
LVR设定电压1
VLVR1
4.0
4.1
4.2
V
LVR使能
VDD = 2.0V - 5.5V
LVR设定电压2
VLVR2
3.6
3.7
3.8
V
LVR使能
VDD = 2.0V - 5.5V
LVR设定电压3
VLVR3
2.7
2.8
2.9
V
LVR使能
VDD = 2.0V - 5.5V
LVR设定电压4
VLVR4
2.0
2.1
2.2
V
LVR使能
VDD = 2.0V - 5.5V
LVR电压检测迟滞窗口
VSMTLV
-
50
-
mV
TLVR
-
60
-
µs
符号
最小值
典型值
最大值
单位
F12M
-
12
-
MHz
CL
-
12.5
-
pF
符号
最小值
典型值
最大值
单位
F32k
-
32768
-
Hz
CL
-
12.5
-
pF
LVR低电压复位宽度
条件
12MHz 晶体振荡器特性
参数
频率
匹配电容
条件
32.768kHz 晶体振荡器特性
参数
频率
匹配电容
136
条件
SH79F3283
11. 订购信息
产品编号
封装
SH79F3283P/032PR
LQFP32
SH79F3283P/044PR
LQFP44
SH79F3283U/048UR
TQFP48
137
SH79F3283
12. 封装信息
单位: 英寸/毫米
TQFP48外形尺寸
HD
D
37
36
12
25
E
1
e
24
A
A2
c
b
A1
13
HE
48
See Detail F
L
L1
DETAIL F
符号
英寸单位尺寸
MIN
MAX
毫米单位尺寸
MIN
MAX
A
---
0.047
---
1.2
A1
0.002
0.006
0.05
0.15
A2
0.035
0.041
0.9
1.05
D
0.270
0.281
6.85
7.15
E
0.270
0.281
6.85
7.15
HD
0.346
0.362
8.8
9.2
HE
0.346
0.362
8.8
9.2
b
0.007
0.010
0.19
0.26
e
0.020 TYP
c
0.004
0.008
0.500 TYP
0.090
0.200
L
0.018
0.030
0.45
0.75
L1
0.033
0.045
0.85
1.15
θ
0°
10°
0°
10°
138
SH79F3283
单位: 英寸/毫米
LQFP 44外形尺寸 (BODY SIZE: 10*10)
HD
D
34
33
11
23
E
1
e
GD
22
c
b
~
~
12
HE
44
A
A2
GD
q
y
L1
A1
See Detail F
D
L
DETAIL F
Seating Plane
符号
英寸单位尺寸
毫米单位尺寸
MIN
MAX
MIN
MAX
A
0.057
0.065
1.45
1.65
A1
0.000
0.001
0.01
0.21
A2
0.051
0.059
1.3
1.5
D
0.388
0.400
9.85
10.15
E
0.388
0.400
9.85
10.15
HD
0.465
0.48
11.8
12.2
HE
0.465
0.48
11.8
12.2
b
0.010
0.017
0.25
0.44
e
0.031 TYP
0.8 TYP
c
0.005 TYP
0.127 TYP
L
0.017
0.028
0.42
0.78
L1
0.037
0.045
0.95
1.15
θ
0°
10°
0°
10°
139
SH79F3283
单位: 英寸/毫米
LQFP32封装尺寸
HD
D
25
24
8
17
E
1
HE
32
e
b 16
See Detail F
符号
A
θ
L
L1
A1
A2
c
9
DETAIL F
英寸单位尺寸
毫米单位尺寸
MIN
MAX
MIN
MAX
A
0.057
0.065
1.45
1.65
A1
0.000
0.008
0.01
0.21
A2
0.051
0.059
1.30
1.50
D
0.268
0.281
6.80
7.15
E
0.268
0.281
6.80
7.15
HD
0.346
0.362
8.80
9.20
HE
0.346
0.362
8.80
9.20
b
0.010
0.017
0.25
0.44
e
0.031 TYP
0.8 TYP
c
0.005 TYP
0.127 TYP
L
0.016
0.031
0.40
0.78
L1
0.035
0.043
0.90
1.10
θ
0°
10°
0°
10°
140
SH79F3283
13. 规格更改记录
版本
记录
日期
2.0
1. 更新封装信息
2. 修改SCM处SCMCON笔误
3. 中断汇总处加入EUART1
2015年6月
1.0
初始版本
2015年2月
141
SH79F3283
目录
1.
特性 .......................................................................................................................................................................................................... 1
2.
概述 .......................................................................................................................................................................................................... 1
3.
方框图 ....................................................................................................................................................................................................... 2
4.
引脚配置 ................................................................................................................................................................................................... 3
4.1 48引脚TQFP封装 ................................................................................................................................................................................................................ 3
4.2 44引脚LQFP封装 ................................................................................................................................................................................................................ 4
4.3 32引脚LQFP封装 ................................................................................................................................................................................................................ 5
5.
引脚描述 ................................................................................................................................................................................................... 8
6.
SFR映像 ................................................................................................................................................................................................. 10
7.
标准功能 ................................................................................................................................................................................................. 21
7.1 CPU..................................................................................................................................................................................................................................... 21
7.1.1 CPU内核特殊功能寄存器 ........................................................................................................................................................................................ 21
7.1.2 CPU增强内核特殊功能寄存器 ................................................................................................................................................................................ 22
7.1.3 寄存器......................................................................................................................................................................................................................... 22
7.2 随机数据存储器(RAM) ............................................................................................................................................................................................... 23
7.2.1 特性............................................................................................................................................................................................................................. 23
7.2.2 寄存器......................................................................................................................................................................................................................... 23
7.3 FLASH程序存储器 ............................................................................................................................................................................................................. 24
7.3.1 特性............................................................................................................................................................................................................................. 24
7.3.2 ICP模式下的Flash操作 ............................................................................................................................................................................................. 26
7.4 扇区自编程(SSP)功能 ................................................................................................................................................................................................. 27
7.4.1 寄存器......................................................................................................................................................................................................................... 27
7.4.2 Flash控制流程图 ....................................................................................................................................................................................................... 30
7.4.3 SSP编程注意事项 ...................................................................................................................................................................................................... 31
7.5 系统时钟和振荡器 ............................................................................................................................................................................................................ 32
7.5.1 特性............................................................................................................................................................................................................................. 32
7.5.2 时钟定义..................................................................................................................................................................................................................... 32
7.5.3 概述............................................................................................................................................................................................................................. 32
7.5.4 寄存器......................................................................................................................................................................................................................... 33
7.5.5 振荡器类型 ................................................................................................................................................................................................................ 34
7.5.6 谐振器负载电容选择 ................................................................................................................................................................................................ 35
7.6 系统时钟监控(SCM).................................................................................................................................................................................................... 36
7.7 I/O端口 ............................................................................................................................................................................................................................... 37
7.7.1 特性............................................................................................................................................................................................................................. 37
7.7.2 寄存器......................................................................................................................................................................................................................... 37
7.7.3 端口模块图 ................................................................................................................................................................................................................ 39
7.7.4 端口共用..................................................................................................................................................................................................................... 39
7.8 定时器 ................................................................................................................................................................................................................................ 45
7.8.1 特性............................................................................................................................................................................................................................. 45
7.8.2 定时器2....................................................................................................................................................................................................................... 45
7.8.3 定时器3....................................................................................................................................................................................................................... 51
7.8.4 定时器4....................................................................................................................................................................................................................... 53
7.8.5 定时器5....................................................................................................................................................................................................................... 56
7.9 中断 .................................................................................................................................................................................................................................... 58
7.9.1 特性............................................................................................................................................................................................................................. 58
7.9.2 中断允许..................................................................................................................................................................................................................... 58
7.9.3 寄存器......................................................................................................................................................................................................................... 58
7.9.4 中断标志..................................................................................................................................................................................................................... 61
7.9.5 中断向量..................................................................................................................................................................................................................... 63
7.9.6 中断优先级 ................................................................................................................................................................................................................ 63
7.9.7 中断处理..................................................................................................................................................................................................................... 64
7.9.8 中断响应时间 ............................................................................................................................................................................................................ 64
7.9.9 外部中断输入 ............................................................................................................................................................................................................ 65
7.9.10 中断汇总................................................................................................................................................................................................................... 67
8.
增强功能 ................................................................................................................................................................................................. 68
8.1 LCD驱动器 ........................................................................................................................................................................................................................ 68
8.1.1 寄存器......................................................................................................................................................................................................................... 71
8.1.2 LCD RAM配置 ........................................................................................................................................................................................................... 75
8.2 LED驱动器 ........................................................................................................................................................................................................................ 79
8.2.1 寄存器......................................................................................................................................................................................................................... 79
8.2.2 LED RAM配置 ............................................................................................................................................................................................................ 81
142
SH79F3283
8.3 12BIT脉冲宽度调制(PWM0) ....................................................................................................................................................................................... 83
8.3.1 特性............................................................................................................................................................................................................................. 83
8.3.2 PWM允许寄存器 ....................................................................................................................................................................................................... 83
8.3.3 PWM保护寄存器 ....................................................................................................................................................................................................... 84
8.3.4 12位PWM定时器 ....................................................................................................................................................................................................... 85
8.3.5 PWM01x(x = A,B,C) ....................................................................................................................................................................................... 87
8.3.6 死区时间..................................................................................................................................................................................................................... 88
8.4 8BIT脉冲宽度调制模块(PWM1) ................................................................................................................................................................................. 89
8.4.1 特性............................................................................................................................................................................................................................. 89
8.4.2 寄存器......................................................................................................................................................................................................................... 89
8.5 增强型通用异步收发器(EUART) .............................................................................................................................................................................. 92
8.5.1 特性............................................................................................................................................................................................................................. 92
8.5.2 EUART0 ...................................................................................................................................................................................................................... 92
8.5.3 EUART1 ...................................................................................................................................................................................................................... 99
8.5.4 寄存器....................................................................................................................................................................................................................... 100
8.6 串行外部设备接口(SPI) ............................................................................................................................................................................................ 104
8.6.1 特性........................................................................................................................................................................................................................... 104
8.6.2 信号描述................................................................................................................................................................................................................... 104
8.6.3 波特率....................................................................................................................................................................................................................... 105
8.6.4 功能描述................................................................................................................................................................................................................... 105
8.6.5 工作模式................................................................................................................................................................................................................... 106
8.6.6 传送形式................................................................................................................................................................................................................... 107
8.6.7 出错检测................................................................................................................................................................................................................... 108
8.6.8 中断........................................................................................................................................................................................................................... 108
8.6.9 寄存器....................................................................................................................................................................................................................... 109
8.7 模/数转换器(ADC)..................................................................................................................................................................................................... 111
8.7.1 特性........................................................................................................................................................................................................................... 111
8.7.2 ADC模块图 .............................................................................................................................................................................................................. 111
8.7.3 寄存器....................................................................................................................................................................................................................... 112
8.8 蜂鸣器 .............................................................................................................................................................................................................................. 116
8.8.1 特性........................................................................................................................................................................................................................... 116
8.8.2 寄存器....................................................................................................................................................................................................................... 116
8.9 低电压检测(LPD)....................................................................................................................................................................................................... 117
8.9.1 特性........................................................................................................................................................................................................................... 117
8.9.2 寄存器....................................................................................................................................................................................................................... 117
8.10 低电压复位(LVR) .................................................................................................................................................................................................... 118
8.10.1 特性......................................................................................................................................................................................................................... 118
8.11 看门狗定时器(WDT),程序超范围溢出(OVL)复位及其它复位状态 .......................................................................................................... 119
8.11.1 特性......................................................................................................................................................................................................................... 119
8.11.2 寄存器..................................................................................................................................................................................................................... 120
8.12 CRC校验模块 ................................................................................................................................................................................................................ 121
8.12.1 特性......................................................................................................................................................................................................................... 121
8.12.2 寄存器..................................................................................................................................................................................................................... 121
8.13 电源管理 ........................................................................................................................................................................................................................ 123
8.13.1 特性......................................................................................................................................................................................................................... 123
8.13.2 空闲模式(Idle) .................................................................................................................................................................................................. 123
8.13.3 掉电模式(Power-Down) ................................................................................................................................................................................... 123
8.13.4 寄存器..................................................................................................................................................................................................................... 124
8.14 预热计数器 .................................................................................................................................................................................................................... 125
8.14.1 特性......................................................................................................................................................................................................................... 125
8.15 代码选项 ........................................................................................................................................................................................................................ 126
9.
指令集 ................................................................................................................................................................................................... 128
10.
电气特性 ........................................................................................................................................................................................... 133
11.
订购信息 ........................................................................................................................................................................................... 137
12.
封装信息 ........................................................................................................................................................................................... 138
13.
规格更改记录 .................................................................................................................................................................................... 141
143