ETC STK6033

STK6033
基于8051的8位
微控制器
具有ISP编程功能
及16K flash的程序
存储器空间
V1 July 21, 2008
Table of Contents
特点 ...............................................................................................................................................................................5
订货信息 .......................................................................................................................................................................6
功能模块图表 ...............................................................................................................................................................7
管脚信息 .......................................................................................................................................................................8
4.1
管脚图表(QFP44 封装)..................................................................................................................................8
4.2
管脚图表(LQFP48 封装) ..............................................................................................................................9
4.3
管脚图表(PLCC44) .....................................................................................................................................10
4.4
管脚图表(DIP40).........................................................................................................................................11
4.5
管脚描述........................................................................................................................................................12
5
削弱电磁干扰.............................................................................................................................................................14
5.1
退耦................................................................................................................................................................14
5.2
禁止ALE输出.................................................................................................................................................14
6
中央处理器单元(CPU)..............................................................................................................................................15
6.1
指令系统及寻址方式。 ...............................................................................................................................15
6.2
CPU时钟及芯片配置寄存器(SFR CHIPCON).........................................................................................15
6.3
指令周期 .......................................................................................................................................................16
6.4
程序状态字寄存器 .......................................................................................................................................17
7
存储器结构 .................................................................................................................................................................18
7.1
程序存储器 ...................................................................................................................................................19
7.1.1
程序存储器空间..............................................................................................................................19
7.1.2
片内程序存储器与片外程序存储器的比较.................................................................................19
7.1.3
16K FLASH 存 储 器 的 ISP .............................................................................................................19
7.1.4
ROM代码保护 .....................................................................................................................................19
7.2
主要数据存储器RAM及特殊功能寄存器(SFR) .......................................................................................20
7.2.1
主程序存储器RAM的低 128 个字节............................................................................................20
7.3
AUX存储器 ...................................................................................................................................................21
7.3.1
AUX存储器空间..................................................................................................................................21
7.3.2
片内AUX存储器 .............................................................................................................................21
7.3.3
双数据指针(数据指针 0 及数据指针 1)及DPTR选择寄存器(SFR DPS)................................21
7.3.4
调节访问外部AUX存储器的机器周期及时钟控制特殊功能寄存器...........................................22
8
特殊功能寄存器..........................................................................................................................................................24
8.1
特殊功能寄存器总述 ...................................................................................................................................24
8.2
与每个功能模块相关的特殊功能寄存器 ...................................................................................................26
9
P1,P2,P3 及P4 口................................................................................................................................................28
9.1
概述 ...............................................................................................................................................................28
9.2
Port 0 ............................................................................................................................................................28
9.3
Port 1, Port 2, and Port 3.........................................................................................................................28
9.4
Port 4 ............................................................................................................................................................29
9.5
MOVX指令与Port 0, Port 2, P3.6, P3.7 ..................................................................................................29
9.6
端口引脚复用功能 .......................................................................................................................................29
10 定时/计数器 0,定时/计数器 1 ................................................................................................................................30
10.1
整体概述: ...................................................................................................................................................30
10.2
模式选择寄存器, SFR TMOD ( 地址为SFR中 89H ).............................................................................30
10.3
Timer 0/1 控制寄存器 (SFR TCON 的地址为 88H) ............................................................................31
10.4
时钟控制寄存器,SFR CKCON, 地址为SFR中的 8EH(hex) .......................................................32
10.5
工作模式 .......................................................................................................................................................33
10.5.1
模式 0 (13 位定时/计数器)...........................................................................................................33
10.5.2
模式 1 (16 位定时/计数器)...........................................................................................................34
1
2
3
4
11
12
13
14
15
16
17
18
19
20
10.5.3
模式 2 (8 位定时/计数器可自动装载初值).................................................................................34
10.5.4
模式 3 (TIMER0 分为两个 8 位计数器) ......................................................................................35
TIMER 2.....................................................................................................................................................................36
11.1
概述及其工作模式 .......................................................................................................................................36
11.2
与Timer 2 相关的特殊功能寄存器 ............................................................................................................36
11.2.1
时钟控制寄存器(SFR CKCON) ...................................................................................................36
11.2.2
TIMER 2 控制寄存器(SFR T2CON)...........................................................................................37
11.3
16 位定时/计数器及 16 位具捕获功能的定时/计数器。.........................................................................39
11.4
自动装载初值模式 .......................................................................................................................................40
11.5 波特率发生器模式...........................................................................................................................................40
复位 ............................................................................................................................................................................41
12.1
复位源............................................................................................................................................................41
12.2
快速上升的电源完成的上电复位(POR) ....................................................................................................41
12.3
RESET脚的高电平脉冲触发的异步复位 .................................................................................................42
12.4
低电压检测复位 ...........................................................................................................................................42
12.5
看门狗溢出复位 ...........................................................................................................................................42
晶振 ............................................................................................................................................................................43
13.1
晶振单元........................................................................................................................................................43
13.2
R, C1 及C2 的值 ..........................................................................................................................................43
中断 ............................................................................................................................................................................44
14.1
概述 ...............................................................................................................................................................44
14.2
中断允许寄存器 ...........................................................................................................................................44
14.3
中断优先级寄存器 SFR IP ........................................................................................................................45
14.4
中断向量 .......................................................................................................................................................46
中断体系的全框 ........................................................................................................................................................47
节电模式......................................................................................................................................................................48
16.1
空闲模式 .......................................................................................................................................................48
16.2
停机模式........................................................................................................................................................49
16.3
省电模式下外部管脚的状态.........................................................................................................................50
16.4
省电模式的概述 ...........................................................................................................................................50
UART .........................................................................................................................................................................51
17.1
概述 ...............................................................................................................................................................51
17.2
串行口的启动................................................................................................................................................51
17.3
串行口控制/状态寄存器(SFR SCON0).....................................................................................................51
17.4
操作模式的选择 ...........................................................................................................................................52
17.5
波特率 ...........................................................................................................................................................53
17.6
使用Timer 1 产生波特率 ............................................................................................................................53
17.7
使用Timer 2 产生波特率 ............................................................................................................................53
看门狗定时器..............................................................................................................................................................55
18.1
功能模块图表 ...............................................................................................................................................55
18.2
看门狗定时器控制寄存器 ..............................................................................................................................55
PWM(脉冲宽度调节器)输出....................................................................................................................................57
19.1
P1 功能选择寄存器(SFR P1_OPT) ..........................................................................................................57
19.2
脉冲宽度寄存器 0 ~ 4 (PWM0D ~ PWM4D) Table 40 脉冲宽度寄存器(地址 D2 ~ D6 hex,读/
写)
57
模拟数字转换器(ADC).............................................................................................................................................58
20.1
ADC功能描述...............................................................................................................................................58
20.2
ADC处于空闲模式或停机模式...................................................................................................................58
20.3
ADC SFRs及它们的复位值 .......................................................................................................................58
20.3.1
P4_OPT 特殊功能寄存器.............................................................................................................58
20.3.2
ADCSEL特殊功能寄存器..............................................................................................................59
20.3.3
ADCVAL REGISTERS .................................................................................................................60
21
22
23
24
25
26
27
28
29
30
31
32
33
20.4
ADC特性.......................................................................................................................................................60
在应用可程编.............................................................................................................................................................61
21.1 在应用可程编......................................................................................................................................................61
21.2 在应用可程编相关的 SFR ................................................................................................................................62
21.3 SFR IAP允许寄存器 ...........................................................................................................................................62
21.4 SFR IAP_ADRL 和 SFR IAP_ADRH .............................................................................................................62
21.5 编程提醒..............................................................................................................................................................63
管脚电路....................................................................................................................................................................64
22.1
P0 (P0.0 ~ P0.7)电路(双向I/O口)..............................................................................................................64
22.2
P1 (P1.0 ~ P1.7), P2 (P2.0 ~ P2.7), P3 (P3.0 ~ P3.7)电路(双向I/O口, 弱上拉电阻) ......................64
22.3
ALE与PSEN (输出).....................................................................................................................................64
22.4
EA (输入) ......................................................................................................................................................64
22.5
RST (输入)....................................................................................................................................................65
22.6
XTAL1, XTAL2.............................................................................................................................................65
22.7
P4 (P4.0 / ADC0, P4.1 / ADC1, P4.2 / ADC2, P4.3 / ADC3)....................................................................65
芯片工作的极限范围 ..................................................................................................................................................66
直流/交流特性 ...........................................................................................................................................................67
外部程序存储器读周期时序....................................................................................................................................69
STRETCH=0 情况下外部AUX存储器读/写时序 ..................................................................................................70
STRETCH=1 情况下外部AUX存储器读/写时序 ....................................................................................................71
STRETCH=2 情况下外部AUX存储器读/写时序....................................................................................................72
PLCC44 封装的轮廓构图........................................................................................................................................73
QFP44 封装的轮廓构图 ..........................................................................................................................................74
LQFP48 封装的轮廓构图 ........................................................................................................................................75
DIP40 封装的轮廓构图 ..............................................................................................................................................76
指令设置 ....................................................................................................................................................................77
33.1
寻址模式 .......................................................................................................................................................77
33.2
80C51 指令系统...........................................................................................................................................78
33.3
指令系统的描述 ...........................................................................................................................................79
Syntek Semiconductors
STK6033
特点
1
80C51中央处理器单元(CPU);
–
多重CPU时钟选择(XTAL1, XTAL1 x 2, or XTAL1 / 3);
–
符合工业标准的80C51指令;
–
正常模式,空闲模式,停机模式;
16K 片内flash程序存储器:
–
具有硬件ISP功能(在系统可编程);
–
程序代码保护。
主数据存储器RAM:256个字节(高128 + 低128字节)片内静态存储器(SRAM);
Aux辅助存储器(AUX RAM):320个字节的静态存储器(SRAM);
可调节MOVX指令执行的机器周期;
SFRs(特殊功能寄存器):51 SFRs;
定时/计数器:Timer 0, Timer 1, and Timer 2;
片内看门狗定时器;
全双工UART;
5个 8-bits I/O口: Port 0, Port 1, Port 2, Port 3及Port 4
片内上电复位及低电压检测复位;
中断:6个中断源,2个中断优先级,6个中断向量地址;
可通过 软件允许或禁止ALE输出脉冲来减弱电磁干扰(EMI);
6通道10位模数转换器(ADC);
5通道8位脉宽调节器(PWM);
CPU正常工作的时钟范围:2 to 30 MHz;
CPU正常工作的温度范围:-40 to +85°C;
CPU正常工作的电压范围: 4.5 to 5.5 V;
ESD:>= 4 KV (HBM);
闩锁效应:100 mA;
16K flash存储器能力:
–
数据保持:室温下10年;
–
读/写次数:> 20K;
4种可用的封装类型:PLCC44, QFP44, LQFP48, DIP40。
5
Syntek Semiconductors
2
STK6033
订货信息
Table 1
订货信息
类型码
封装
外型制造
STK6033APLG
PLCC44 (Green-pass) 请联系Syntek
STK6033AQPG
QFP44 (Green-pass)
STK6033ALQG
LQFP48 (Green-pass) 请联系Syntek
STK6033ADIG
DIP40 (Green-pass)
请联系Syntek
请联系Syntek
6
Syntek Semiconductors
3
STK6033
功能模块图表
Fig.1 功能模块图表
7
Syntek Semiconductors
4
4.1
STK6033
管脚信息
管脚图表(QFP44封装)
8
Syntek Semiconductors
4.2
STK6033
管脚图表(LQFP48封装)
9
Syntek Semiconductors
4.3
STK6033
管脚图表(PLCC44)
10
4.4
管脚图表(DIP40)
11
Syntek Semiconductors
4.5
STK6033
管脚描述
Table 2
QFP44封装的管脚描述
为了避免上电时引发的闩锁效应:VSS − 0.5 V < 在任何时刻所有脚的电压< VDD + 0.5 V .
标志
管脚
类型
P1.5, P1.6, P1.7
1~3
I/O
P1口的5,6,7位,.
I
它们是纯粹的I/O脚。
外部复位输入脚,高电平时起作用。
I/O
当晶振工作时,加在该脚上的一个持续8个XTAL1周期的高电平将复位
STK6033
P3口的第0位,或者作为UART数据的接收脚,或作为ISP时的时钟信号。
RST
P3.0 / RXD / SCL
4
5
描述
P4.3 / ADC3
6
I/O
P4口的第3位,或作为10位ADC的第3个通道输入。
P3.1 / TXD / SDA
7
I/O
P3口的第1位,或作为UART数据的发送脚,或作为ISP时的数据信号。
8
I/O
P3口的第2位,或作为外部中断0的输入
9
I/O
P3口的第3位,或作为外部中断1的输入
P3.4 / T0
10
I/O
P3口的第4位,或作为TIME0的输入
P3.5 / T1
11
I/O
P3口的第5位,或作为TIME1的输入
12
I/O
P3口的第6位,或作为外部AUX数据存储器的写使能信号。
当该脚被选中做为外部AUX RAM的写使能信号时,P3.6不能做其他功能使用
13
I/O
P3口的第7位,或作为外部AUX数据存储器的读使能信号。
当该脚被选中做为外部AUX RAM的读使能信号时,P3.7不能做其他功能使用
XTAL2
14
O
晶振脚2:构成晶振的震荡放大器的输出端,当使用外部震荡时钟时,该脚应该
XTAL1
15
I
悬空。
晶振脚1:构成晶振的震荡放大器的输入端,当使用外部震荡时钟时,该脚作为
VSS
16
I
输入端接收时钟信号。
接地脚
P4.0 / ADC0
17
I/O
P4口的第0位,或作为10位ADC的第0个通道输入。
P2.0/A8~
P2.7/A15
18~25
I/O
P2口,或做为地址的高8位(8~15)当从外部ROM取指令时或读/写外部AUX数
据存储器时。
P2口是一个8位的具有内部上拉功能的双向I/O口。当给P2口写入全“1”时,它
被内部的上拉PMOS拉高,这时可以用来输入。
当访问外部程序存储器时或当使用16位寻址方式(MOVX @DPTR)读/写外部
AUX数据存储器时,P2口作为地址的高8位(A8 ~ A15)。在此应用中,它使用
内部强上拉电阻产生“1”。
26
O
程序使能允许信号。
该脚为外部程序存储器的读使能信号。当CPU执行外部程序存储器中的指令时,
有效一次。
每个指令周期
关于外部程序存储器的时序请参考Fig.12。
12
Syntek Semiconductors
标志
ALE
STK6033
管脚
类型
27
O
描述
地址锁存允许
当访问外部程序存储器或AUX数据存储器时,该脚的输出脉冲用来锁存低位字
节的地址。ALE的输出脉冲固定为1/4的晶振频率,可以被用来作为外部的时
钟。
请注意,当执行一个延伸的MOVX指令时,CPU将产生两个ALE脉冲。切记。
ALE输出脉冲可以被置高特殊功能寄存器CHIPCON的第3位(ALEDIS)来废除。
当该位被置高时,该脚被微弱拉高。
复位后ALE无效状态停止。
当CPU访问外部存储器时,置高ALEDIS位无效。
P4.1 / ADC1
28
I/O
P4口的第1位,或作为10位ADC的第1个通道输入。
EA
29
I
外部访问允许。CPU在上电复位时检查该输入脚。
当EA=0时,CPU从外部程序存储器(片外)取指令。
当EA=1时,CPU从内部程序存储器(片内)取指令。
P0.0/AD0~
P0.7/AD7
30~37
VDD
38
P4.2 / ADC2
39
I/O
P4口的第2位,或作为10位ADC的第2个通道输入。
P1.0/PWM0/T2
40
I/O
P1口的第0位,或作为PWM0输出,或Timer 2的T2输入。
I/O
P0口,或做为地址的 0~7或数据0~7当从外部ROM取指令时或读/写外部AUX
数据存储器时。
P0 口是一个 8 位开漏型双向 I/O 口。当给 P0 口写入“1”时,它做为高
阻抗输入。
当访问外部程序存储器时或读/写外部AUX数据存储器时,P0口既可以作为地址
的低位,也可以做为数据总线。在此应用中,它使用内部强上拉电阻产生“1”。
电源供给脚
P1.1/PWM1/T2EX
41
I/O
P1口的第1位,或作为PWM1输出,或Timer 2的T2EX输入。
P1.2/PWM2,
P1.3/PWM3,
P1.4/PWM4
42,
43,
44
I/O
P1口的第2,3,4位,或作为脉冲宽度调节PWM2,3,4的输出。
13
Syntek Semiconductors
5
STK6033
削弱电磁干扰
以下两种方式推荐用来削弱芯片电磁干扰:退耦及禁止ALE输出。
5.1
退耦
STK6033设计中最需要关注的问题是削弱电磁干扰。例如,内部的时钟走线仔细的布置及内部加的退耦电容。然而,在实
际的应用中,还是建议在VDD及VSS脚之间加上退耦电容,该体系的线路尽可能的短。推荐使用陶制的电容器(100 nF)。
5.2
禁止ALE输出
当实际应用时不需要外接程序存储器或临时不需要外接程序存储器时,可以通过置位CHIPCON.3= 1(bit 3 of SFR
CHIPCON at SFR address BF hex)来禁止ALE输出(pulses at a frequency of
)。
当禁止后,ALE脉冲不会产生。ALE脚会被内部微弱的拉高,使外部的地址锁存信号一直处于稳定的状态。但是MOVX 指
令依然会产生ALE锁存信号(当访问外部数据存储器时)。
另外,即使在访问内部存储器时,(EA = 1),当地址超过内部存储器的地址范围时,ALE同样会产生锁存信号。同样在访
问外部存储器时(EA = 0) ,不管特殊功能寄存器CHIPCON的第3位怎么设,ALE照样会产生锁存信号。
关于SFR CHIPCON的详细介绍,请参照Table 3及Table 4。
14
Syntek Semiconductors
6
6.1
STK6033
中央处理器单元(CPU)
指令系统及寻址方式。
STK6033的指令系统及寻址方式和工业上标准的80C51完全兼容。用户使用的传统80C51指令代码可以直接移植到
STK6033上。然而,由于不同的CPU指令时钟及时序不同,涉及到具体时间的地方还是要在循环次数上做些修改。
关于指令系统的详细介绍,请参照Chapter 31,指令系统。
6.2
CPU时钟及芯片配置寄存器(SFR CHIPCON)
STK6033可以通过修改芯片配置寄存器(SFR CHIPCON)的第1位及第2位工作在不同时钟频率下,见图Fig.5。
XTAL1
CPU时钟控制
CPUCLK CLKRATE
CPU CLK
3分频
CPU CLK
0
0
CPU CLK= XTAL1
0
1
CPU CLK= XTAL1 / 3.
1
1
CPU CLK= XTAL1 / 3.
1
0
CPU CLK= XTAL1 X 2.
X2
CPUCLK
CPURATE
Note: The default after power-on-reset is CUP CLK= XTAL1
Fig.5
CPU时钟
芯片配置寄存器(SFR CHIPCON,处于SFR地址为BF hex处) 控制以下功能:
1:
允许或禁止访问片内AUX程序存储器。
2:
允许或禁止ALE输出。
3:
选择CPU的时钟。
4:
允许或禁止低电压复位。
Table 3
芯片配置寄存器
芯片配置寄存器(SFR CHIPCON), 位与SFR中BF hex 处,可读可写。
位地址
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位标志
x
x
x
XRAMEN
ALEDIS
CPUCLK
CLKRATE
LVR
复位值
x
x
x
1
0
0
0
0
15
Syntek Semiconductors
Table 4
STK6033
芯片配置寄存器(CHIPCON)的详细描述
标志位
XRAMEN
位地址
功能
Bits 5, 6, 7
未使用。
CHIPCON.4
允许或禁止访问片内AUX数据存储器
XRAMEN= 1允许读/写的方式访问片内AUX存储器。
XRAMEN= 0禁止读/写的方式访问片内AUX存储器。
ALEDIS
禁止ALE输出
CHIPCON.3
当ALEDIS= 1时,禁止ALE,意味着ALE无输出信号以及EMI可被减弱。
当ALEDIS= 0时,ALE输出正常。
CPUCLK
CHIPCON.2
CLKRATE
CHIPCON.1
LVR
CHIPCON.0
这两位用来选择CPU时钟频率。CPU时钟频率可以固定在XTAL1, XTAL1 /3,
或XTAL1 x 2。
详情请参照Fig.5。
允许低电压复位功能。
LVR= 0 允许低电压复位功能。
LVR= 1 禁止低电压复位功能。
6.3
指令周期
下图为系统时钟(CPU CLK),指令周期,CPU周期,与ALE的关系。
简单的指令可以在一个指令周期内执行,它包含4个CPU时钟。
1
2
3
4
5
6
7
8
C3
C4
9
CPU时钟
指令
周期
n+1
C1
C2
n+2
C3
C4
C1
C2
Cpu周期
ALE
Fig.6
16
单指令周期的CPU时序图
C1
Syntek Semiconductors
STK6033
程序状态字寄存器
6.4
CPU当前的状态反射到特殊功能寄存器中地址为D0H(hex)处的程序状态字寄存器(PSW)中
Table 5
程序状态字寄存器
程序状态字寄存器(SFR PSW), 位于SFR中的D0H
位地址
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位标志
CY
AC
F0
RS1
RS0
OV
F1
P
Table 6
位标志
CY
程序状态字寄存器(PSW)的描述
位地址
PSW.7
功能
进位标志。
该标志位接收来自累加器第7位的进位。当最后一条算术结果产生进位(加法)或借
位(减法)时,该位被置高。否则在其他算术运算时该位一直为低电平。
AC
PSW.6
辅助进位标志。
辅助进位标志位接收来自累加器第3位的进位。当最后一条算术结果产生半进位
(加法)或半借位(减法)时,该位被置高。否则在其他算术运算时该位一直为低电
平。
F0
PSW.5
RS1, RS0
PSW.4,
PSW.3
通用标志位。
该位没有被使用可以做为普通标志状态位。
寄存器模块选择控制位。
RS1, RS0 = 00 选择寄存器模块0,地址00h ~ 07h。
RS1, RS0 = 01 选择寄存器模块1,地址08h ~ 0Fh。
RS1, RS0 = 10 选择寄存器模块2,地址10h ~ 17h。
OV
PSW.2
RS1, RS0 = 11 选择寄存器模块3,地址18h ~ 1Fh。
溢出标志位。
当最后一条算术结果产生进位(加法)或借位(减法)或溢出(乘法或除法)时,该位被
置高。否则在其他算术运算时该位一直为低电平。
F1
P
PSW.1
通用标志位。
PSW.0
该位没有被使用可以做为普通标志状态位。
奇偶标志位。
在每个指令周期时统计累加器中“1“的个数,并由硬件自动置高或低。
有奇数个“1”时,P=1;偶数个“1”时,P=0。
17
Syntek Semiconductors
7
STK6033
存储器结构
STK6033有4个片内存储器模块,它们如下:
1: 16384字节flash程序存储器;
2: 256字节主数据存储器;
3: 320字节AUX存储器;
4: 51字节特殊功能寄存器。
下图为STK6033全部可用的存储器空间:
(1)
65535
(2)
虚线所示的存储器没有在片内。
65535
该图示中存储器中间的大小与它实际的空间大
小没有比例关系。
外部
AUX RAM
外部程序
存储器空
间
(片外)
(片外)
321
320
内部
AUX RAM
主RAM
255
128 bytes
SFR
128 bytes
51 bytes
(on-chip)
128
127
0
(片内)
0
(on-chip)
程序存储器
片内数据存储器
Fig.7
全部存储器空间
18
外部数据存储器
Syntek Semiconductors
7.1
7.1.1
STK6033
程序存储器
程序存储器空间
STK6033 CPU既可以在片内程序存储器取指令又可以在片外程序存储器区指令。
片内程序存储器地址的范围是从0000(hex)到3FFF(hex)。在片外程序存储器地址的范围是从0000(hex)到FFFF(hex)
7.1.2
片内程序存储器与片外程序存储器的比较
如果在CPU复位时 EA (外部取指使能)脚被拉高,STK6033将会执行指令片内存储器中的指令。
否则如果复位时EA脚被拉低,STK6033将会从片外存储器中取指令。
EA输入脚在复位时被锁存,复位之后不起任何做用。
复位后,CPU开始从ROM中0000H地址处取指令。
片外程序存储器通过Port 0及Port 2口访问。
7.1.3
16K FLASH 存 储 器 的 ISP
片内FLASH程序存储器具有ISP(在系统可编程)能力。关于ISP编程的部分参考另一份文件。
7.1.4
ROM代码保护
该16K flash存储器具有代码保护能力。
地址=16383
(3FFFh)
地址=16383
(3FFFh)
外部
内部
( EA= 1 )
(EA= 0 )
地址=0
地址=0
片外程序存储器
(可扩展的)
片内程序存储器
(在芯片内部)
Fig.8
19
程序存储器
Syntek Semiconductors
7.2
STK6033
主要数据存储器RAM及特殊功能寄存器(SFR)
STK6033有256个字节主要的内部数据存储器和51个字节的SFR。虽然主数据存储器与SFRs占用相同的地址空间,他们
却是物理上相互独立的两个模块。主数据存储器的高128字节从地址80H到FFH只能采用间接寻址的方式访问。主数据存
储器的低128字节从地址00H到7FH可以采用直接寻址或间接寻址方式访问。
SFRs占用的地址范围为80H到FFH且只能采用直接寻址方式访问。
主数据存储器
的低128个字节
7Fh
只能间接寻址
直接寻址
RAM
只能直接寻址
FF(hex)
高128位
字节
30h
2Fh
80(hex)
位寻址寄存器
20h
1Fh
18h
17h
10h
0Fh
08h
07h
00h
SFR
7F(hex)
直接寻址或间接
寻址
低128位
字节
模块 3
00(hex)
模块 2
主程序存储RAM
模块 1
模块 0
PSW SFR
7.2.1
选择模块
Bit 4
Bit 3
1
1
3
1
0
2
0
1
1
0
0
0
Fig.9
主程序存储区器及SFRs
主程序存储器RAM的低128个字节
该低128个字节被分配成如Fig.9所示。低32个字节构成4组8个寄存器组成的模块(R0 - R7)。程序状态寄存器(PSW)中的两
位来选择哪个模块被调用。接下来的16字节,从20(hex)到2F(hex),构成一个可以位寻址的存储器空间,位地址范围为
00(hex) ~ 07(hex)。
20
Syntek Semiconductors
7.3
7.3.1
STK6033
AUX存储器
AUX存储器空间
STK6033有64K字节,可以用MOVX指令访问的辅助存储器(AUX RAM)空间。AUX RAM在物理上被分成两块:片上模块
及片外模块。片上模块有320个字节,从地址0到地址319(十进制)。片外模块从地址320(十进制)到地址65535。
MOVX @Ri 指令(i=0或1),只能访问片内AUX RAM的低256字节。
MOVX@DTPR 指令可以访问整个AUX RAM空间。
AUX RAM地址空间320到65535被分配成外部AUX RAM且只能被MOVX @DPTR指令寻址。
外部AUX RAM可以用P0口做为低字节地址/数据线,P2口做为高字节地址线,P3.6做写使能信号,P3.7做读使能信号来
扩展。
65535
把CHIPCON的BIT4清零
可以禁止读写该模块。
外部扩展
320
319
0
片内
AUX存储器
Fig.10
7.3.2
AUX存储器空间
片内AUX存储器
片内AUX RAM中地址0到319的空间可以做为一般数据存储区被CPU执行MOVX指令寻址。可以把CHIPCON的BIT4清零禁
止读写该模块。关于SFR CHIPCON的详细描述请参考Table 3及Table 4。
当执行内部程序存储器中的MOVX指令时,访问内部AUX RAM(读/写)不会影响P0, P2, P3.6(写)及P3.7(读)的状态。
7.3.3
双数据指针(数据指针0及数据指针1)及DPTR选择寄存器(SFR DPS)
STK6033有两个数据指针,数据指针0及数据指针1,数据指针0为传统的8051执行MOVX指令时的数据指针。
数据指针1为可以快速移动一块数据的额外数据指针。在执行MOVX指令前,必须通过编程数据指针选择寄存器
(SFR DPS)选择一个数据指针。
关于特殊功能寄存器DPS的详细描述请参考Table 7。
21
Syntek Semiconductors
STK6033
数据指针0,数据指针1及DPTR选择寄存器
Table 7
地址
(Hex)
82
读/写
标志
描述
复位值
读/写
DPL0
数据指针0低8位(与传统80C51数据指针相同)
0000 0000
83
读/写
DPH0
数据指针0高8位(与传统80C51数据指针相同)
0000 0000
84
读/写
DPL1
数据指针1低8位(额外的数据指针),STK6033专有
0000 0000
85
读/写
DPH1
数据指针1高8位(额外的数据指针),STK6033专有
0000 0000
86
读/写
DPS
DPTR选择寄存器(DPS),STK6033专有
0000 0000
该DPS寄存器只有一位,称为SEL位。
当SEL=0时,访问DPTR的指令将使用SFR DPL0及SFR DPH0。
当SEL=1时,访问DPTR的指令将使用SFR DPL1及SFR DPH1。
特殊功能寄存器DPS的1到7位不能写入,而当读该7位时总是
返回0。
所有和DPTR有关系的指令均使用当前选中的DPTR寄存器,如要转换另一个数据指针,使用INCS DPS指令来更改SEL
位。使用DPTR的6条指令见下图表所示,在使用之前这些指令之前必须选择当前DPTR。
使用DPTR的指令
Table 8
指令
描述
INC DPTR
数据指针加1
MOV DPTR, #data16
装载16位立即数到DPTR
MOV A, @ A+DPTR
把与DPTR关联的字节装载入累加器 (ACC)
MOVX A, @DPTR
把AUX存储器中的字节装载入累加器 (ACC)
MOVX @DPTR, A
把累加器中的字节装载入AUX存储器
JMP @ A+DPTR
程序跳转至与DPTR关联的间接寻址地址处
7.3.4
调节访问外部AUX存储器的机器周期及时钟控制特殊功能寄存器
默认情况下(复位后),执行MOVX指令需要3个机器周期,然而用户的程序可以通过使用特殊功能寄存器CKCON的M2,
M1,M0位调节的更长或更短。
增加的额外机器周期会影响读/写使能的宽度及所有相关的时序。使用一个较大的延伸值会产生一个较长的读/写使能信
号,允许存储器使用更多的时间响应。
Table 9和Table 10为时钟控制寄存器的详细描述,Table 11为不同的M2,M1及M0值与延伸周期的关系的描述。
22
Syntek Semiconductors
Table 9
STK6033
时钟控制寄存器,SFR CKCON
时钟控制寄存器(SFR CKCON), 位于特殊功能寄存器中的8E(hex)
位寻址
Bit 7
位标志
Reserved
复位值
0
Bit 6
0
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
T2M
T1M
T0M
MD2
MD1
MD0
0
0
0
0
0
1
Table 10 CKCON寄存器的描述
位地址
位标志
T2M
功能
选择Timer 2计数频率。
CKCON.5
当T2M= 0,Timer 2的计数频率为CPU CLK / 12。
当T2M= 1,Timer 2的计数频率为CPU CLK / 4。
T1M
选择Timer 1计数频率。
CKCON.4
当T1M= 0,Timer 1的计数频率为CPU CLK / 12。
当T1M= 1,Timer 1的计数频率为CPU CLK / 4。
T0M
选择Timer 0计数频率。
CKCON.3
当T0M= 0,Timer 0的计数频率为CPU CLK / 12。
当T0M= 1,Timer 0的计数频率为CPU CLK / 4。
M2
CKCON.2
M1
CKCON.1
M0
CKCON.0
控制使用MOVX指令访问外部AUX存储器的机器周期。
Table 11 数据存储器延伸值
读/写使能宽度
(CPU CLK)
0
执行MOVX指令的
机器周期
2
2
使能宽度时间
@25 MHz
80 ns
0
1
3 (default)
4
160 ns
0
1
0
4
8
320 ns
0
1
1
5
12
480 ns
1
0
0
6
16
640 ns
1
0
1
7
20
800 ns
1
1
0
8
24
960 ns
1
1
1
9
28
1120 ns
MD2
MD1
MD0
0
0
0
假设XTAL1=CPU CLK。其它请参考Fig.5。
23
Syntek Semiconductors
STK6033
特殊功能寄存器
8
8.1
特殊功能寄存器总述
STK6033片上具有51字节的SFRs。
地址
(Hex)
80
读/写
标志
描述
复位值
读/写
P0
P0口输出锁存 (位寻址).
1111 1111
81
读/写
SP
堆栈指针
0000 0111
82
读/写
DPL0
数据指针0低8位(与传统80C51数据指针相同)
0000 0000
83
读/写
DPH0
数据指针0高8位(与传统80C51数据指针相同)
0000 0000
84
读/写
DPL1
数据指针1低8位(额外的数据指针),STK6033专有
0000 0000
85
读/写
DPH1
数据指针1高8位(额外的数据指针),STK6033专有
0000 0000
86
读/写
DPS
DPTR选择寄存器(DPS), STK6033专有
0000 0000
87
读/写
PCON
电源控制寄存器
0011 0000
88
读/写
TCON
Timer0/1控制寄存器(可位寻址)
0000 0000
89
读/写
TMOD
Timer0/1模式选择寄存器
0000 0000
8A
读/写
TL0
Timer0, 低8位
0000 0000
8B
读/写
TL1
Timer1, 低8位
0000 0000
8C
读/写
TH0
Timer0, 高8位
0000 0000
8D
读/写
TH1
Timer1, 高8位
0000 0000
读/写
CKCON
时钟控制寄存器,STK6033专有
0000 0001
该寄存器用于控制Timer 0, Timer 1及Timer 2的计数频率及执行
MOVX指令所需要的机器周期
8E
8F
未使用
90
读/写
P1
P1口输出锁存(可位寻址)
1111 1111
91, 92, 93, 94, 95, 96, 97未使用
98
读/写
SCON0
串行控制寄存器0(可位寻址)
0000 0000
99
读/写
SBUF0
串行收发缓冲器0
xxxx xxxx
P2口输出锁存(可位寻址)
1111 1111
中断允许寄存器(可位寻址)
0000 0000
P3口输出锁存(可位寻址)
1111 1111
中断优先级选择寄存器(可位寻址)
1000 0000
9A, 9B, 9C, 9D, 9E, 9F 未使用
A0
读/写
P2
A1, A2, A3, A4, A5, A6, A7未使用
A8
读/写
IE
A9, AA, AB, AC, AD, AE, AF未使用
B0
读/写
P3
B1, B2, B3, B4, B5, B6, B7未使用
B8
读/写
IP
B9, BA, BB, BC, BD, BE未使用
BF
读/写
CHIPCON
芯片配置寄存器
xxx1 0000
C0
读/写
P4
P4口输出锁存
1111 1111
C1, C2, C3, C4, C5, C6, C7未使用
C8
读/写
T2CON
Timer 2 控制寄存器(可位寻址)
0000 0000
C9
读/写
T2MOD
Timer 2 模式控制寄存器
0000 xxx1x
24
Syntek Semiconductors
STK6033
地址
(Hex)
CA
读/写
标志
读/写
RCAP2L
Timer 2装载/捕获寄存器,低8位
描述
复位值
0000 0000
CB
读/写
RCAP2H
Timer 2装载/捕获寄存器,高8位
0000 0000
CC
读/写
TL2
Timer 2,低8位
0000 0000
CD
读/写
TH2
Timer 2,高8位
0000 0000
CE, CF 未使用
读/写
PSW
程序状态寄存器(可位寻址)
0000 0000
读/写
P1_OPT
选择P1口功能,为普通I/O口或PWM输出
xxx0 0000
D2
读/写
PWM0D
脉冲宽度调制,通道0
1000 0000
D3
读/写
PWM1D
脉冲宽度调制,通道1
1000 0000
D4
读/写
PWM2D
脉冲宽度调制,通道2
1000 0000
D5
读/写
PWM3D
脉冲宽度调制,通道3
1000 0000
D6
读/写
PWM4D
脉冲宽度调制,通道4
1000 0000
xx11 1111
D0
D1
D7, D8 未使用.
D9
读/写
P4_OPT
选择P4口功能,为普通I/O口或ADC输入
DA
读/写
ADCSEL
配置P4.0 ~ P4.5口做为ADC输入脚
0x00 0000
DB
读
ADCVALH
做为10位ADC输出结果的缓冲寄存器 , 高8位
0000 0000
DC
读
ADCVALL
DD
DE
做为10位ADC输出结果的缓冲寄存器 , 低2位
xxxx xx00
1111 1111
P0_OPT
选择P0口功能,为普通I/O口或外部存储器地址/数据
P2_OPT
选择P2口功能,为普通I/O口或外部存储器地址
1111 1111
累加器(可位寻址)
0000 0000
DF 未使用
E0
读/写
ACC
E1
读/写
WDT
看门狗定时器控制寄存器
00xx x000
E2
读/写
ISPSLV
ISP控制寄存器
0000 0000
E3
ISPEN
读/写
读/写 IAPEN
ISP允许寄存器(写入93H(hex) 进入ISP模式)
0000 0000
E4
0000 xxxx
IAP允许寄存器
E5
读/写 IAP_ADRL
IAP操作时的地址 , 低8位
0000 0000
E6
读/写 IAP_ADRH
IAP操作时的地址 , 高8位
0000 0000
E7 ~EF 未使用
F0
读/写
B
0000 0000
B寄存器(可位寻址)
F1 ~ FF 未使用
25
Syntek Semiconductors
STK6033
与每个功能模块相关的特殊功能寄存器
8.2
Table 12 与每个功能模块相关的特殊功能寄存器
模块
CPU
Interrupt System
Ports
UART
Timer 0 / Time 1
Timer 2
Watchdog Timer
标志
地址
(Hex)
名字
复位值
ACC
累加器
E0
0000 0000
B
B寄存器
F0
0000 0000
SP
堆栈指针
81
0000 0111
DPL0
数据指针0,低8位
82
0000 0000
DPH0
数据指针0,高8位
83
0000 0000
DPL1
数据指针1,低8位
84
0000 0000
DPH1
数据指针1,高8位
85
0000 0000
DPS
数据指针选择寄存器
86
0000 0000
PCON
电源控制寄存器
87
0011 0000
PSW
程序状态寄存器
D0
0000 0000
CHIPCON
芯片配置寄存器
BF
xxx1 0000
CKCON
时钟控制寄存器
8E
0000 0001
IE
中断允许寄存器
A8
0000 0000
IP
中断优先级选择寄存器
B8
x000 0000
P0
P0口锁存器
80
1111 1111
P0_OPT
DD
1111 1111
P1
选择P0口功能,为普通I/O口或外部存储器地
址/数据
P1口锁存器
90
1111 1111
P1_OPT
选择P1口功能,为普通I/O口或PWM输出
D1
xxx0 0000
P2
P2口
A0
1111 1111
P2_OPT
DE
1111 1111
P3
选择P2口功能,为普通I/O口或外部存储器地
址
P3口锁存器
B0
1111 1111
P4
P4口锁存器
C0
xxxx 1111
P4_OPT
选择P4口功能,为普通I/O口或ADC输入
D9
xxxx 0000
SBUF0
串行收发缓冲器
99
xxxx xxxx
SCON0
串行控制寄存器
98
0000 0000
TCON
Timer 0/1 控制寄存器
88
0000 0000
TMOD
Timer 0/1 模式选择寄存器
89
0000 0000
TL0
Timer 0, 低8位
8A
0000 0000
TL1
Timer 1, 低8位
8B
0000 0000
TH0
Timer 0, 高8位
8C
0000 0000
TH1
Timer 1, 高8位
8D
0000 0000
CKCON
时钟控制寄存器
8E
0000 0001
T2CON
Timer 2 控制寄存器
C8
0000 0000
T2MOD
Timer 2 模式控制寄存器
C9
0000 xx1x
RCAP2L
Timer 2 装载/捕获寄存器,低8位
CA
0000 0000
RCAP2H
Timer 2 装载/捕获寄存器,高8位
CB
0000 0000
TL2
Timer 2, 低8位
CC
0000 0000
TH2
Timer 2, 高8位
CD
0000 0000
CKCON
时钟控制寄存器
8E
0000 0001
WDT
看门狗定时器控制寄存器
E1
00xx x000
26
Syntek Semiconductors
模块
PWM
ADC
ISP
IAP
STK6033
标志
P1_OTP
地址
(Hex)
名称
复位值
P1口作为PWM输出选择寄存器
D1
xxx0 0000
PWM0D
PWM0宽度
D2
1000 0000
PWM1D
PWM1宽度
D3
1000 0000
PWM2D
PWM2宽度
D4
1000 0000
PWM3D
PWM3宽度
D5
1000 0000
PWM4D
PWM4宽度
D6
1000 0000
P4_OPT
P4口功能选择寄存器
D9
xx00 0000
ADCSEL
选择需要转换的ADC通道
DA
0x00 0000
ADCVALH
ADC转换结果保存缓冲器 , 高8位
DB
0000 0000
ADCVALL
ADC转换结果保存缓冲器 , 低2位
DC
xxxx xx00
ISPSLV
ISP控制寄存器
E2
0000 0000
ISPEN
写入93H(hex)激活ISP模式
E3
0000 0000
IAPEN
IAP_ADRL
IAP允许寄存器
IAP操作时的地址 , 低8位
E4
E5
0000 xxxx
0000 0000
IAP_ADRH
IAP操作时的地址 , 高8位
E6
0000 0000
27
Syntek Semiconductors
9
9.1
STK6033
P1,P2,P3及P4口
概述
STK6033有5个8位端口(端口0 ~ 4)。P0口所有位均为推挽式输出结构。Port 1, Port 2, Port 3及Port 4口所有位均为推挽式
输出结构但是内部有一个较弱PMOS上拉电阻。
9.2
Port 0
Port0为推挽式输出结构。它有三个功能
1: P0口用做地址/数据总线使用时是一个真正的双向口。
2: 在 执行外部 ROM存储器 中的程 序时 (上电 复位时 EA=0), 它做 为低位 字节 的地址 (A0~A7)输出 及操 作码输 入
口。
3: 在读/写片外RAM(AUX)时,它做为低字节地址(A0~A7)总线/数据总线。
特殊功能寄存器P0_OPT必须正确设置来保证Port 0操作正确。
Output_enable
Data_out
P0口为推挽式输出结
构。输出驱动能力为
4mA (典型值).
Output
Input_enable
Data_in
Fig.11
9.3
Port 0 图表
Port 1, Port 2, and Port 3
Figure 12图示为Port 1, Port 2,及Port 3. 它们均为推挽式输出结构但是内部有一个较弱PMOS上拉电阻。
Port 1同时又可以做为5通道8位PWM的数据输入输出口。特殊功能寄存器P1_OPT必须正确设置来保证Port 1操作正确。
关于特殊功能寄存器P1_OPT的详情请参照19.1部分。
Port 2除了作为普通I/O口外,当访问外面程序存储器(A8~A15)及AUX存储器时它还可以做为高8位地址总线。
特殊功能寄存器P2_OPT必须正确设置来保证Port 2操作正确。
Port 3是一个多功能复用的I/O口。
.
VDD
Port 1, Port 2及Port 3的管脚为内部
有一个较弱PMOS上拉电阻的推挽式
输出结构。输出驱动能力为4mA (典
型值)。该上拉POMS的阻值等效于
一个30K电阻(典型值)。
Pull-up
Output_enable
Data_out
Output
Input_enable
Data_in
Fig.12
28
Port 1, Port 2及Port 3
Syntek Semiconductors
9.4
STK6033
Port 4
Port 4与10位ADC共享输入口。特殊功能寄存器P4_OPT必须正确设置来保证Port 4操作正确。
关于P4口的详细介绍请参照20.3.1部分。
当 用 做 ADC 输 入 时 , 必 须
控 制 P4_OTP 关 掉 弱 上 拉
PMOS。
9.5
MOVX指令与Port 0, Port 2, P3.6, P3.7
当执行来自内部的程序存储器的MOVX指令,访问内部的AUX RAM时不会影响Port0, Port 2, P3.6及P3.7。
9.6
端口引脚复用功能
一些端口引脚有复用功能。没有交替用做不同功能的端口引脚是真正的双向I/O口。
当给相关寄存器的标志位写入合适的值时,用做交替功能的端口引脚的对应功能将显露出来。
关于复用功能管脚的详细信息请参照Table 2。
29
Syntek Semiconductors
STK6033
10 定时/计数器0,定时/计数器1
10.1 整体概述:
这里有7个特殊功能寄存器(SFRS)与TIMER0,TIMER1相关,在下表TABLE13中列出。
TIMER0和TIMER1都可以单独配置成定时器或边沿计数器。
Table 13 与 TI M ER 0 及 T I M ER1相 关 的 SFRs.
初始
化值
(hex)
00
SFR名
在SFR中的地
址(hex)
TL0
8A
TH0
8C
TL1
8B
TH1
8D
TCON
88
TIMER0及TIMER1的控制寄存器
00
TMOD
89
TIMER0及TIMER1的工作模式选择寄存器
00
CKCON
8E
TIMER0及TIMER1的计数频率选择寄存器
01
描述
这两个SFR为TIMER0的低8位,及高8位
00
这两个SFR为TIMER1的低8位,及高8位
00
00
TIMER0及TIMER1可以用到的四种工作模式:
1: 模式0: 13位定时/计数器
2: 模式1: 16位定时/计数器
3: 模式2: 8位可自动装载初值的定时/计数器
4: 模式3: 两个8位定时/计数器(只有TIMER0可用模式3)
10.2
模式选择寄存器, SFR TMOD ( 地址为SFR中89H )
)
MSB
Gate C/T
M1
M0 Gate C/T
Timer 1
M1
LSB
M0
Timer 0
Table 14 Timer 0/1 模式选择寄存器
TIMER 0/1 模式选择寄存器(TMOD) , 位于SFR中89H
位地址
TMOD.7
TMOD.6
TMOD.5
TMOD.4
TMOD.3
TMOD.2
TMOD.1
TMOD.0
标志位
Gate
C/T
M1
M0
Gate
C/T
M1
M0
(Timer1)
(Timer1)
(Timer1)
(Timer1)
(Timer0)
(Timer0)
(Timer0)
(Timer 0)
30
Syntek Semiconductors
STK6033
Table 15 Timer 0/1 模式选择寄存器的描述
标志位
位地址
功能
GATE
TMOD.7
Timer 1的门控信号。
当被置为1时,Timer 1 只有在INT1脚为高且TR1控制位也为高电平时启动。
当该位被清0时,Timer 1在TR1置高电平时启动。
C/T
TMOD.6
Timer 1定时/计数功能选择位。
当被置为1时,TIMER1做为计数器。当被置为0时,TIMER1用做定时器。
M1, M0
GATE
TMOD.5
Timer 1模式选择
TMOD.4
1: (M1, M0) = 00
TIMER1工作于模式0。
2: (M1, M0) = 01
TIMER1工作于模式1。
3: (M1, M0) = 10
TIMER1工作于模式2。
TMOD.3
4: (M1, M0) = 11 TIMER1工作于模式3。(该模式下TIMER1处于停止状态)
Timer 0的门控信号。
当被置为1时,Timer 0 只有在INT0脚为高且TR0控制位也为高电平时启动。
当该位被清0时,Timer 0在TR0置高电平时启动。
C/T
TMOD.2
Timer 0定时/计数功能选择位。
当被置为1时,TIMER0做为计数器。当被置为0时,TIMER0用做定时器。
M1, M0
10.3
TMOD.1,
TMOD.0
Timer 0模式选择
1: (M1, M0) = 00
TIMER0工作于模式0。
2: (M1, M0) = 01
TIMER0工作于模式1。
3: (M1, M0) = 10
TIMER0工作于模式2。
4: (M1, M0) = 11
TIMER0工作于模式3。(该模式下TIMER1处于停止状态)
Timer 0/1 控制寄存器 (SFR TCON 的地址为88H)
Table 16 Timer 0/1 控制寄存器
TIMER 0/1 控制寄存器( TCON ),位于特殊功能寄存器的88H
位地址
TCON.7
TCON.6
TCON.5
TCON.4
TCON.3
TCON.2
TCON.1
TCON.0
标志位
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
31
Syntek Semiconductors
STK6033
Table 17 Timer 0/1 控制寄存器的描述
标志位
TF1
位地址
TCON.7
功能
Timer 1 溢出标志位
当定时/计数器1溢出时,硬件自动置TF1为高。
CPU响应中断程序后,TF1由硬件自动清0。也可以用软件清除该标志
TR1
TF0
TCON.6
Timer 1 启动控制位
TCON.5
置高置低将控制Timer 1的起和停。
Timer 0 溢出标志位
当定时/计数器0溢出时,硬件自动置TF0为高。
CPU响应中断程序后,TF0由硬件自动清0。也可以用软件清除该标志
TR0
IE1
TCON.4
Timer 0 启动控制位
TCON.3
置高置低将控制Timer 0的起和停。
外部中断1标志位。
当外部中断1发生时由硬件自动置位。
当中断程序结束后将自动清0。(即中断返回指令执行完毕)
IT1
IE0
TCON.2
Interrupt 1 中断类型选择。
TCON.1
用软件置位/复位来指定下降沿/低电平触发外部中断1。
外部中断0标志位。
当外部中断0发生时由硬件自动置位。
当中断程序结束后将自动清0。(即中断返回指令执行完毕)
IT0
TCON.0
Interrupt 0 中断类型选择。
用软件置位/复位来指定下降沿/低电平触发外部中断0。
10.4
时钟控制寄存器,SFR CKCON, 地址为SFR中的 8EH(hex)
关于时钟控制寄存器的描述请参照Table 9和Table 10.
32
Syntek Semiconductors
10.5
10.5.1
STK6033
工作模式
模式 0 (13位定时/计数器)
当处于模式0时,Timer 0与Timer1作为13位定时/计数器。 Fig.13 图示为Timer 0与Timer 1处于模式0时的
大致流程。
Fig.13
模式 0 (13位定时/计数器) 与 模式 1 (16位定时计数器)
在该模式下, Timer 0/Timer 1 寄存器配置成13位寄存器, 它占用了TH0(TH1)的全部8位及TL0(TL1)的低5位。其
中TL0(TL1)的高3位未被调用。当该13位寄存器计满发生溢出时,即所有位的“1”全部变为“0”时,定时器溢出中断
标志位TF1 (TF0)被置位为高。
该13位寄存器(计数)只有在满足下列情况下才可以被激活::
1. TR0 (TR1)=1,
2. Gate=0否则需满足INT1/(INT0)=1.
33
Syntek Semiconductors
10.5.2
STK6033
模式 1 (16位定时/计数器)
模式1的配置与工作情况与模式0大体相同, 除了该模式为16位定时/计数方式,而模式0为13位定时/计数方式.详情请参考
Fig.13.
10.5.3
模式 2 (8位定时/计数器可自动装载初值)
模式2把特殊功能寄存器TL0和TL1分别设定成两个可分别自动从特殊功能寄存器TH0及TH1装载初值的8位定时/计数器。
当TL1(TL0)中的8位数从全“1”变为全“0”时, 相应的标志位TF1(TF0)被置高并且把TH1(TH0)中的初值自动装载入
TL1(TL0)中.该自动装载过程不会影响TH1(TH0)中的值。TH1 (TH0)这两个寄存器的值仅仅在给它们赋值时被改变。
在插图Fig.13与Fig.14中, 模式0,模式1,模式2的控制信号(使能信号)全部相同。
Fig.14为TIMER0与TIMER1在模式2时的大致流程。
Fig.14 Timer 0, Timer 1工作在模式2时的流程.
34
Syntek Semiconductors
10.5.4
STK6033
模式 3 (TIMER0分为两个8位计数器)
当工作于模式3时, Timer 1停止计数且保持它当前的值。Timer 0被分成两个独立的计数器:TL0和TH0。
Timer 0工作与Mode 3时的大致流程如下图所示:
TL0使用Timer 0的状态位:C/T, GATE, TR0, INT0,及TF0。而TH0则做为一个定时器(计算机器周期) 并使用TIMER1的状态
位TR1及TF1。因此, TH0在该模式下控制TIMER1的中断。
Fig.15
35
Timer 0, Timer 1工作在模式3的大致流程
Syntek Semiconductors
11
STK6033
TIMER 2
概述及其工作模式
11.1
Timer 2为16位定时/计数器。它既可以做为定时/计数器也可以做为一个事件计数器,取决于特殊功能寄存器T2CON的
C/T2位(bit 1)
Timer 2 可以工作在以下模式:
1: 16位定时/计数器,
2: 16位具有捕获功能的定时/计数器,
3: 16位具有自动装载初值功能的定时/计数器,
4:
做为UART使用的波特率发生器。
Table 18 为Timer 2工作模式概述。.
Table 18 Timer 2工作模式
RCLK
TCLK
CP/RL2
工作模式
TR2
0
0
1
1
16位具有捕获功能的定时/计数器,
0
0
0
1
16位具有自动装载初值功能的定时/计数器,
1
X
X
1
做为UART使用的波特率发生器。
X
1
X
1
做为UART使用的波特率发生器。
X
X
X
0
关闭
X = don’t care
与Timer 2相关的特殊功能寄存器
11.2
与Timer 2相关联的7个特殊功能寄存器如下表Table 19所示。
Table 19
Timer 2 SFRs
地址
读/写
8E
R/W
CKCON
C8
R/W
T2CON
为Timer 0, Timer 1, 及Timer 2选择时钟频率, 并且可以设
定MOVX指令占用的机器周期
Timer 2控制寄存器(可位寻址)
寄存器名称
复位后的值
描述
0000 0000
0000 0000
C9
R/W
T2MOD
Timer 2模式控制寄存器
xxxx xx0x
CA
R/W
RCAP2L
Timer 2装载捕获寄存器,低8位字节
0000 0000
CB
R/W
RCAP2H
Timer 2装载捕获寄存器,高8位字节
0000 0000
CC
R/W
TL2
Timer 2, 低8位
0000 0000
CD
R/W
TH2
Timer 2, 高8位
0000 0000
11.2.1
时钟控制寄存器(SFR CKCON)
位于SFR地址中8EH(hex)的特殊功能寄存器CKCON的第5位T2M, 可以为16位TIMER2选择计数频率。
当T2M= 0, Timer 2的计数频率为(XTAL1 /12). 而当T2M= 1, Timer 2的计数频率变为(XTAL1 /4)。
当TIMER2做为波特率发生器时该位无效。
想了解关于SFR CKCON的详细情况, 请参考Table 9和Table 10。
36
Syntek Semiconductors
11.2.2
STK6033
TIMER 2 控制寄存器(SFR T2CON)
Table 20及Table 21 为SFR T2CON每一位的详细描述。.
Table 20 Timer 2 控制寄存器
Timer 2 控制寄存器( T2CON ),位于SFR中的C8H(hex)
位地址
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位变量
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
C/T2
CP/RL2
复位值
0
0
0
0
0
0
0
0
Table 21 . Timer 2控制寄存器的描述
位变量
TF2
位地址
T2CON.7
功能
Timer 2溢出标志位。
当Timer 2在计到FFFF(hex)后发生溢出时该位被置高,并且它只能被软件清除。.
只有在RCLK=1及TCLK=1的条件下,TF2才有可能置高。
如 果使能 信号 打开的 话, 可以强 行给 TF2写入 “1”强 迫它发生 中断。
EXF2
T2CON.6
Timer 2外部中断标志位。
当EXEN2=1且T2EX输入端的下降沿信号产生的捕获信号或装载信号将会把该位置
高。
如果允许TIMER2中断,EXF2 = 1 将使CPU响应TIMER2中断程序。
该位必须被软件清除。
RCLK
T2CON.5
接收时钟选择标志位。
当RCLK=1时,UART使用Timer 2的溢出脉冲做为在模式1和模式3时它的接收时钟。
当RCLK=0时,UART使用Timer 1的溢出脉冲做为它的接收时钟。
TCLK
T2CON.4
发送时钟选择标志位。
当TCLK=1时,UART使用Timer 2的溢出脉冲做为在模式1和模式3时它的发送时钟。
当TCLK=0时,UART使用Timer 1的溢出脉冲做为它的发送时钟。
EXEN2
T2CON.3
Timer 2外部中断允许标志位。
当TIMER2没有做为UART的波特率发生器时,EXEN2=1允许T2EX输入端的下降沿信号
产生捕获信号或装载信号。
当 EXEN2=0时Timer 2无视T2EX输入脚的任何变化。
37
Syntek Semiconductors
位变量
STK6033
位地址
功能
TR2
T2CON.2
控制Timer 2的启动及停止。
C/T2
T2CON.1
当TR2= 1时启动Timer 2。而当TR2=0时Timer 2停止计数。
选择Timer 2工作模式为定时模式或计数模式。
当 C/T2= 0时,TIMER2用做定时功能。Timer 2的定时频率为4 XTAL1或12 XTAL1,
这取决于特殊功能寄存器CKCON的第5位,适用于除了波特率发生器以外的任何模式。
在波特率发生器模式下,Timer 2的定时频率为2 XTAL1,不受特殊功能寄存器CKCON
第5位的影响。
当C/T2=1时,TIMER2用做外部事件计数功能。计算T2脚输入的的下降沿个数。
CP/RL2
T2CON.0
捕获/装载标志位。
当选择CP / RL2 = 1,且EXEN2=1时,T2EX的下降沿信号将触发捕获功能。
当选择CP / RL2 = 0,且EXEN2=1时,TIMER2溢出时及T2EX的下降沿信号都将触发
自动装载功能。
当RCLK=1或TCLK=1时,该位无作用且当TIMER2溢出时强制自动装载。
38
Syntek Semiconductors
11.3
STK6033
16位定时/计数器及16位具捕获功能的定时/计数器。
特殊功能寄存器T2CON的EXEN2位的选择有以下两种情况:
1: EXEN2=0,Timer 2用做一个16位定时/计数器,溢出时置其标志位TF2为高,产生中断。
2: EXEN2=1,Timer 2除了可以用做上面的用途外,在T2EX输入口的下降沿信号触发下将分别捕获TL2及TH2中的当前
值到RCAP2L及RCAP2H寄存器中。在这种情况下,T2EX的变化将置位T2CON中的EXF2标志位,同样产生中断。
该16位计数器为下降沿触发的计数器
Fig.16为Timer 2工作在带捕获功能的16位定时/计数器模式下。
39
Syntek Semiconductors
11.4
STK6033
自动装载初值模式
当CP/RL2=0时,Timer 2工作在自动装载初值模式。在该模式下,特殊功能寄存器T2CON的EXEN2位的选择也有以下
两种情况:
1: 如果EXEN2=0,当TIMER2计满溢出时,置TF2标志位为高且自动装载事先用软件在RCAP2L及RCAP2H寄存器
中写好的16位初值。
2:
在EXEN2=1时,Timer 2除了工作在以上情况下,在T2EX输入口的下降沿信号触发下同样可以装载16位初值且置
位T2CON中的EXF2标志位,产生中断。
Fig.17为Timer 2工作在自动装载模式下。
Fig.17
11.5
Timer 2工作在自动装载初值模式
波特率发生器模式
当RCLK=1或TCLK = 1时,Timer 2工作在波特率发生器模式下。详述在UART部分。
40
Semiconductors
STK6033
复位
12
12.1
复位源
STK6033有下列5种方式复位:
1:
外部RESET脚复位,
2:
上电复位,
3:
低电压察觉复位,
4:
看门狗溢出复位及
5:
执行 ISP程序复位。
复位电路的功能图示如Fig.18所示
12.2
快速上升的电源完成的上电复位(POR)
STK6033可以在芯片上电电压为3.7 ± 0.2V时复位,上电复位的次序如下表所示:
1.
当6033电源供给(VDD)到达POR转换的等级时,片上的POR产生一个脉冲,称为POR脉冲。
2.
该POR脉冲接着触发一个片内的复位,POC信号。同时,该POR脉冲复位片内的复位计数器。
3.
当晶振稳定时,在晶振时钟触发下该片内复位计数器开始计数。
4.
当该片内复位计数器计到2048溢出时,片内复位信号(POC)释放,CPU开始执行指令。
该过程详见图Fig.19.
41
Syntek Semiconductors
STK6033
POR的转换电压
= 3.7 volts
供给
电压
POR脉冲
内部复
位信号
晶振
CPU 运行
时间 = 0
CPU从程序存储器0000H地址
处开始取指令
晶振初
始化时
间
2048个晶振周期延迟
晶振时钟产生足够稳定的2048分
频信号来触发内部的复位
Fig.19
12.3
VDD快速升压下触发的上电复位的时序图
RESET脚的高电平脉冲触发的异步复位
STK6033可以被RESET脚的高电平脉冲复位。该RESET输入脚由可以减少干扰的施密特触发器构成。
CPU会检查是否在每一条指令周期的C4周期都有复位信号,当晶振运行时且RESET脚的高电平持续至少两个指令周期
时,CPU响应,执行片内复位。
12.4
低电压检测复位
STK6033具有低电压检测复位的功能。该复位能否起作用决定于特殊功能寄存器中地址为BFH(hex)的CHIPCON的LVR位
(0位)。置LVR= 0允许低电压复位,置LVR= 1禁止低电压复位。
由于不同地段制作工艺的差异,低电压检测复位的范围为3.2 ~ 3.4V,与供电引脚VDD无关。典型低电压复位的阀门电压
为3.7V。
12.5
看门狗溢出复位
该微控制器可以被看门狗溢出复位。具体请参考18章。
42
Syntek Semiconductors
13
13.1
STK6033
晶振
晶振单元
idle
CLK
stop
XTAL1
XTAL2
R
C1
C2
Note:
1. C1=C2=22P 陶制
2. R= 1M ohm.
Fig.20
晶振单元
XTAL1是高增益放大器输入,而XTAL2为输出。当被外部震荡驱动时,XTAL1被外部时钟驱动,而XTAL2应悬空。
13.2
R, C1及C2的值
在2MHz到30MHz的频率范围内R, C1及C2的值被推荐如下图Fig.20所示。
由于晶振的表现与其本身的特性密切相关,使用者应联系晶振厂商了解它的特性。
我们用于设计的晶振参数如Fig.21所示
晶振参数为:
R1=10 ohm, C1=25 fF, and
C0=7 pF.
Fig.21
43
晶振参数
Syntek Semiconductors
STK6033
中断
14
14.1
概述
STK6033支持6个中断源,2个中断优先级,6个中断向量地址。中断源如下表所示:
1: 外部中断0
2: 外部中断1
3: Timer 0溢出中断
4
Timer 1溢出中断
5
Timer 2溢出及外部事件中断
6
UART收发中断
每一个中断都可以被单独的禁止或允许,并可以设置各自独立的中断优先级。 全部中断可以被全局禁止。当有中断产生
时,相应的中断标志位置高。该中断标志位应该在用户的中断服务程序中被软件清除。
虽然可以指定中断为高优先级或低优先级,但是在芯片内部还有个内部中断优先级如Table 22所示:
Table 22中断体系的概述
Table 22 中断体系的概述
中断序
号
1
中断优先级
位
PX0 (IP.0)
内部中断优先
级
中断向量地址
1 (最高)
0003H
外部中断0
IE0 (TCON.1)
中断允许
位
EX0 (IE.0)
2
Timer 0溢出中断
TF0 (TCON.5)
ET0 (IE.1)
PT0 (IP.1)
2
000BH
3
外部中断1
IE1 (TCON.3)
EX1 (IE.2)
PX1 (IP.2)
3
0013H
4
Timer 1溢出中断
TF1 (TCON.7)
ET1 (IE.3)
PT1 (IP.3)
4
001BH
TI
(SCON0.1)
ES (IE.4)
PS (IP.4)
5
0023H
RI
(SCON0.0)
EX2 (IE.5)
PT2 (IP.5)
6
002BH
5
UART中断
(UART接受或发
送中断)
Timer 2溢出中断
6
中断产生标志
中断源
T2EX脚中断
TF2 (T2CON.7)
EXF2 (T2CON.6)
请注意
1.
由于Timer2溢出及T2EX脚中断占用同一个中断向量地址002BH,在软件程序中应该单独检查中断标志位,来确
定中断源。
14.2
中断允许寄存器
每一个中断源都可以通过设置特殊功能寄存器中地址为A8H(hex)的中断使能寄存器中各自的使能位单独允许或禁止。
所有的中断都可以通过清除SFR IE的EA位来全局禁止。
中断使能寄存器的描述如Table 23及Table 24所示。
44
Syntek Semiconductors
Table 23
STK6033
中断使能寄存器 SFR IE
中断使能寄存器( SFR IE ), 位于SFR中的A8H
位地址
Bit7
位变量
EA
复位值
0
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
ET2
ES0
ET1
EX1
ET0
EX0
0
0
0
0
0
0
0
Table 24 中断使能寄存器 SFR IE的描述
位变量
EA
位地址
IE.7
功能
全局禁止或允许所有中断
当IE.7 = 0时,所有的中断源被全局禁止。
当IE.7 = 1时,所有的中断源被全局允许。
请关于中断体系的描述参照Fig.22。
EX2
IE.6
未使用
IE.5
允许或禁止Timer 2溢出及T2EX脚(共用P1.1)中断。
当IE.5 = 1时,允许外部中断2。
当IE.5 = 0时,禁止外部中断2。
ES0
IE.4
允许或禁止UART中断。
当IE.4 = 1时,允许UART中断。
当IE.4 = 0时,禁止UART中断。
ET1
IE.3
允许或禁止Timer 1溢出中断。
当IE.3 = 1时,允许Timer 1溢出中断。
当IE.3 = 0时,禁止Timer 1溢出中断。
EX1
IE.2
外部中断1的使能标志。
当IE.2 = 1时,允许外部中断1。
当IE.2 = 0时,禁止外部中断1。
ET0
IE.1
允许或禁止Timer 0溢出中断。
当IE.1 = 1时,允许Timer 0溢出中断。
当IE.1 = 0时,禁止Timer 0溢出中断。
EX0
IE.0
外部中断0的使能标志。
当IE.0 = 1时,允许外部中断0。
当IE.0 = 0时,禁止外部中断0。
14.3
中断优先级寄存器 SFR IP
所有中断源可以设置两个中断优先级:高或低。中断优先级是通过设置中断优先级寄存器(SFR IP,位于特殊功能寄存器
中的B8 hex),描述于Table 25及Table 26。中断优先的级别如下:
逻辑0 = 低优先级
逻辑1 = 高优先级
一个低优先级的中断可以被高优先级的中断打断,而一个高优先级的中断不会被任何中断源打断。 如果两个不同优先级
的中断同时请求响应,优先级高的中断请求将会被响应。如果两个相同优先级的中断同时请求响应,将由芯片内部固定的
第2中断优先级决定响应哪一个中断请求。
第2中断优先级的结构如Table 22所示。
45
Syntek Semiconductors
STK6033
Table 25 .中断优先级寄存器 SFR IP
SFR 中断优先级寄存器( SFR IP ), 位于SFR中的B8 hex
位地址
Bit7
Bit6
Bit5
PT2
PS0
PT1
PX1
PT0
PX0
1
0
0
0
0
0
0
0
位变量
复位值
Bit4
Bit3
Bit2
Bit1
Table 26 中断优先级寄存器(SFR IP)的描述
位变量
PT2
位地址
功能
IP.7
未使用,当读该位时总是返回1
IP.6
未使用。
IP.5
设置Timer2溢出及T2EX脚(共用P1.1)中断的优先级
当IP.5 = 1时,Timer 2溢出中断为高优先级。
当IP.5 = 0时,Timer 2溢出中断为低优先级。
PS0
IP.4
设置UART中断的优先级。
当IP.4 = 1时,UART中断为高优先级。
当IP.4 = 0时,UART中断为低优先级。
PT1
IP.3
设置Timer 1溢出中断的优先级。
当IP.3 = 1时,Timer 1溢出中断为高优先级。
当IP.3 = 0时,Timer 1溢出中断为低优先级。
PX1
IP.2
设置外部中断1的优先级。.
当IP.2 = 1时,外部中断1为高优先级中断。
当IP.2 = 0时,外部中断1为低优先级中断。
PT0
IP.1
设置Timer 0溢出中断的优先级。
当IP.1 = 1时,Timer 0溢出中断为高优先级。
当IP.1 = 0时,Timer 0溢出中断为低优先级。
PX0
IP.0
设置外部中断0的优先级。.
当IP.0 = 1时,外部中断0为高优先级中断。
当IP.0 = 0时,外部中断0为低优先级中断。
14.4
中断向量
中断向量地址为相应的中断程序在程序存储器中的入口地址。关于中断向量地址的介绍请参照Table 22。
46
Bit0
Syntek Semiconductors
15
STK6033
中断体系的全框
Fig.22
47
中断系统的全框
Syntek Semiconductors
STK6033
节电模式
16
STK6033有两种节电模式:空闲模式及停机模式。SFR中的地址为87H(hex)的电源控制寄存器(SFR PCON)的第0位(空闲
模式)及第1位(停机模式)可以分别控制进入空闲模式及停机模式。
Table 27给出了关于电源控制寄存器(SFR PCON)的描述。
Table 27 电源控制寄存器,SFR PCON位于SFR中的87(hex)。
位地址
位标志
PCON.7
SMOD0
功能
UART双倍波特率使能信号
当SMOD0 = 1时,UART的波特率双倍。
保留。
PCON. 6 ~ 4
PCON.3
GF1
通用标志位1
PCON.2
GF0
可位寻址,通用标志位被软件控制。
通用标志位0
PCON.1
STOP
可位寻址,通用标志位被软件控制。
停机模式控制标志位
IDLE
设置STOP = 1使STK6033进入停机模式。
空闲模式控制标志位
PCON.0
设置IDLE = 1使STK6033进入空闲模式。
如果停机模式和空闲模式被同时激活,停机模式具有更高的优先级,如图Fig.23所示
XTAL2
XTAL1
OSC
interrupts,
serial port,
timers
Clock
Generator
CPU
停机模式
空闲模式
Fig.23
16.1
两种节电模式
空闲模式
当STK6033工作在空闲模式时,允许中断,连续端口及TIMERS保持它们的功能,而CPU则处于停机状态。
当该微控制器进入空闲模式时以下功能将会被关闭:
CPU (停机)
在空闲模式下以下功能仍起作用:
1: Timer 0,Timer 1,Timer 2,及看门狗计数器
2: UART
48
Syntek Semiconductors
STK6033
3: 外部/内部中断
4: 外部复位或上电复位
在空闲模式被激活以前,设置PCON.0(=1)指令为正常操作模式下的最后一条指令。
一旦进入空闲模式,CPU保持它的全部状态:堆栈指针,程序计数器,程序状态字,累加器,RAM及所有其他寄存器都
保持他们当前的数据。外部管脚在空闲模式下的状态如Table 28所示。
有以下三种方法中止空闲模式:
1:激活中断源列表Table 22中任何一个中断,都可以使PCON.0被硬件清除,终止空闲模式,但是要确保没有相同级别或高
优先级的中断也处于服务程序中。当中断程序执行完毕后,执行中断返回指令RETI,接着下一条被执行的指令为
PCON.0写入逻辑“1”之后的那条指令。
2:终止空闲模式的第2种方法为外部的硬件RESET信号。当晶振工作时,完成该硬件复位工作需要RESET脚持续两个机
器周期的高电平。
3:第3种终止空闲模式的方法为内部看门狗复位。
16.2
停机模式
设置PCON.1(=1)指令为进入停机模式前的最后一条指令。一旦进入停机模式,晶振停止工作,片内RAM(AUX存储器及
数据存储器)及SFRs中的内容被保存起来。
请注意:当看门狗打开时不能进入停机模式。
停机模式只能被外部复位信号reset复位,(复位后RAM的值保存,但是SFRs的值都被复位)。停机模式下外部管脚的状态
如Table 28所示。
当处于停机模式时,供给CPU的VDD可以被削减到最低,电源消耗量最少。进入停机模式之前VDD不会被削减,然而在停
机模式被硬件复位终止之间VDD不会恢复到它的正常工作电压值。复位信号终止停机模式的同时也唤醒晶振。直到VDD恢
复到它正常的操作电压之后reset信号应该保持足够长的时间来使晶振起振并保持稳定。(类似于上电复位)。
49
Syntek Semiconductors
16.3
省电模式下外部管脚的状态
Table 28
模式
空闲
停机
16.4
STK6033
在空闲模式及停机模式下外部管脚的状态
存储器
ALE
PSEN
PORT 0
PORT 1
PORT 2
PORT 3
PORT 4
内部
1
外部
1
1
端口数据
端口数据
端口数据
端口数据
端口数据
1
内部
高阻
端口数据
端口数据
端口数据
0
0
管脚数据
端口数据
端口数据
端口数据
端口数据
外部
0
0
高阻
端口数据
端口数据
端口数据
端口数据
地址
省电模式的概述
Table 29 .省电模式的概述
模式
空闲
进入该模式的例子
ORL PCON, #01H
终止方式
标记
激 活 中断
CPU停止
外部硬件复位
CPU状态寄存器保存当前状态值
看门狗溢出
外围设备起作用
晶振停止
片内RAM及SFRs中的内容保存
停机
ORL PCON, #02H
外部硬件复位
然而,终止停机模式意味着重新定义
SFR中的内容
50
Syntek Semiconductors
17
17.1
STK6033
UART
概述
UART(通用异步收发器)是一个全双工的串行通信口,意味着,它可以同时发送或接收。串行口的发送,接收都是通过访
问同一个缓冲器SBUF0。写入到SBUF0中的数据将会装载到发送寄存器,而从SBUF0读出的数据则是通过访问物理上与
发送寄存器相独立的接收寄存器。
该串行口有四种工作模式,如Table 30所示
Table 30 UART工作模式
模式
描述
SM0 SM1
模式 0 0
0
8位移位寄存器
此模式下,8位数据通过P3.0/RxD脚输入或输出,同步移位时钟由P3.1/TxD引脚输出。
首先接收或发送时先传送最低位(LSB)。
该模式下波特率固定在1/4 or 1/12晶振周期(XTAL1 frequency)。
模式 1 0
1
10位串行收发器
此模式下,10位数据通过P3.1/TxD脚发送,通过P3.0/RxD脚接收。该10位数据包括一个启使位
(1),8位数据(最低位LSB开始)及一个停止位(1)。接收时,该停止位进入特殊功能寄存器
SCON0的RB8位。
该模式下波特率可变。
模式 2 1
0
11位串行收发器
此模式下,11位数据通过P3.1/TxD脚发送,通过P3.0/RxD脚接收。该11位数据包括一个启使位
(1),8位数据(最低位LSB开始),可编程的第9数据位及一个停止位(1)。
发送时,第9数据位(SCON0中的TB8)可以被编程为1或0。例如,应用时可以把PSW的奇偶判别位
P放在SCON0的TB8位。
接收时,当结束位被忽视,第9位进入特殊功能寄存器SCON0的RB8位。
该模式下波特率固定为晶振频率的1/32或1/64。
模式 3 1
1
11位串行收发器
此模式下,11位数据通过P3.1/TxD脚发送,通过P3.0/RxD脚接收。该11位数据包括一个启使位
(1),8位数据(最低位LSB开始),可编程的第9数据位及一个停止位(1)。事实上,模式3除了波特率
以外其他均与模式2相同。
该模式下波特率可变。
17.2
串行口的启动
这4种模式下,执行任何以SFR SBUF0为目的寄存器的指令将启动发送过程。
在模式0时,只有在RI0=0及REN0=1的条件下接收过程才被启动。
而其他3种模式时,引入的REN0=1开始条件满足时才启动接收过程。
17.3
串行口控制/状态寄存器(SFR SCON0)
串行口控制/状态寄存器(SFR SCON0),位于SFR中的98H。
下表为该寄存器的详细描述。
51
Syntek Semiconductors
STK6033
Table 31 串行口控制/状态寄存器
串行口控制/状态寄存器(SFR SCON0),位于SFR中的98H
位地址
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
位变量
SM0
SM1
SM2
REN0
TB8
RB8
TI0
RI0
Table 32
串行口控制/状态寄存器的描述
位变量
位地址
功能
SM0
SCON0.7
这两位用来选择操作模式。
SM1
SCON0.6
SM2
SCON0.5
请参考Table 33。
多机通信控制位,主要用于模式2和模式3。在这些模式下,当SM2=1时,
如果接收到的第9数据位(RB8)为逻辑0那么不会激活RI。
在模式1时,如果SM2=0,不管接收到有效的停止位时,RI都置 “1”。
在模式0时,如果SM2=0, baud rate=fxta1/12, 如果SM2=1, baud
rate=fxta1/4。
REN0
SCON0.4
允许串行接收位。如果REN=1,则启动串行口接收数据。
TB8
SCON0.3
而当REN=0时,则接收被禁止。
在模式2和模式3时,TB8是发送数据的第9位。
RB8
SCON0.2
可以用软件规定其作用。
在模式2和模式3时,RB8是接收到数据的第9位。
在模式1时,则RB8作为接收的停止位。
TI0
在模式0时,该位无效。
发送中断标志位。
SCON0.1
在模式0时,当串行发送第8位数据结束时,该位由硬件置为逻辑“1”。
而在模式1,模式2及模式3时,串行发送停止位的开始时,该位由硬件置
高,向CPU发中断请求。
该位只能被软件清除。
RI0
接收中断标志位。
SCON0.0
在模式0时,当串行接收第8位数据结束时,该位由硬件置为逻辑“1”。
而在模式1,模式2及模式3时,串行接收停止位的中间时,该位由硬件置
高,向CPU发中断请求。
该位只能被软件清除。
17.4
操作模式的选择
Table 33 操作模式的选择
SM0
SM1
0
0
0
1
1
0
1
1
Modes
Mode 0
Mode 1
Mode 2
Mode 3
52
Syntek Semiconductors
17.5
STK6033
波特率
在模式0时,波特率为晶振频率XTAL1的1/12。
在模式2时,波特率决定与特殊功能寄存器PCON中SMOD位的值。如果SMOD=0,复位后SMOD的默认值,波特率为
晶振频率的1/64。当SMOD=1时,波特率为晶振频率的1/32。
在模式1及模式3时,波特率由Timer 1或Timer 2溢出率来决定。
17.6
使用Timer 1产生波特率
当Timer1做为波特率发生器时,波特率由Timer 1的溢出率及SFR PCON中SMOD位的值来决定。
如下公式所示:
在此应用中Timer 1的中断应该被禁止。该定时计数器可以被配置为定时器或计数器运行在在其3种工作模式之一。
在通常应用中,它被配置为定时器,工作在自动装载初值模式(TMOD=0010B)。
在应用中波特率的具体计算公式如下:
配置Timer1工作在16位定时器模式下(TMOD=0001B)时,使用Timer1中断作为软件装载16位初值的标志,可以产生较低的
波特率。
Table 34列举出了不同的常用串行口波特率以及怎么设置Timer1产生。
Table 34 使用Timer 1产生波特率
波特率
晶振(MHZ)
SMOD
重装值
TIMER 1
模式
C/T
模式0最大值:1 Mbits/S
12
X
X
X
X
模式2最大值:375 kbits/S
12
1
X
X
X
模式1及模式3最大值:62.5 kbit/S
12
1
0
2
FFH
19.2 kbits/S
11.059
1
0
2
FDH
9.6 kbits/S
11.059
0
0
2
FDH
4.8 kbits/S
11.059
0
0
2
FAH
2.4 kbits/S
11.059
0
0
2
F4H
1.2 kbits/S
11.059
0
0
2
E8H
137.5 kbits/S
11.986
0
0
2
1DH
110
6
0
0
2
72H
110
12
0
0
1
FEEBH
17.7
使用Timer 2产生波特率
Timer 2可以通过设置SFR T2CON的RTCLK位作为波特率产生器。该波特率发生器模式类似于自动装载模式,
当TH2溢出时,Timer 2的寄存器自动装载事先通过软件写在RCAP2H及RCAP2L寄存器中的16位初值。
53
Syntek Semiconductors
STK6033
模式1及模式3的波特率由Timer 2的溢出率决定。
如下公式所示:
Timer 2可以被配置为定时器或计数器。在通常应用中,它被配置为定时器(C/T = 0)。
当Timer 2被用做波特率产生器时,与它作为定时器有点不同。正常情况下,它作为定时期时,它的计数频率为晶振频率
的1/12。然而,当它作为波特率产生器时,它的计数频率变为晶振频率的1/2。
在此情况下,波特率如下表所示:
上图中(RCAP2H ; RCAP2L)中的内容是指为RCAP2H及RCAP2L作为16位无符号整数。
Timer 2在波特率产生器模式下如下图所示:
请注意Xtal1时钟被2分频,不是12..
Xtal1
Clock
Timer1
溢出率
1/2
1/2
0
1
SMOD
C/T2=0
TL2 TH2
(8 bits) (8 bits)
T2 Pin
C/T2=1
1
0
RCLK
Control
1/ 16
TR2
RX CLOCK
RCAP2L RCAP2H
(8 bits)
下降沿触
发
(8 bits)
T2EX Pin
EXF2
Control
Timer2中断
(单独外部中断)
(T2CON.6)
EXEN2
Fig.24
Timer 2在波特率产生器模式下
该结构仅仅在RTCLK=1有效。当产生溢出时,TH2不会产生T2CON 的TF2标志位,因此也不会产生中断。因而, 当
Timer 2作为波特率产生器模式时,T2中断不必禁止。如果EXEN2有效,T2EX输入脚的下降沿信号将会置位T2CON的
EXF2位,但是不会自动装载初值(RCAP2H; RCAP2L)到(TH2; TL2)。因此,此模式下T2EX被用做单独的外部中断。
当Timer 2被用做定时器时计数时(TR2=1),在波特率产生器模式下,TH2和TL2寄存器不应被访问。在这种情况下,该定
时器在每个状态时钟下自增,因此读或写的结果将可能导致错误。然而,RCAP寄存器也只能读不能写。一次写入可能产
生读出或装载错误。如果写操作是必须的,Timer 2应该先通过清除TR2位关闭。
54
Syntek Semiconductors
18
18.1
STK6033
看门狗定时器
功能模块图表
当STK6033由于外部干扰等原因进入一个错误的状态时,看门狗定时器是用来复位它的定时器。
仅有一个SFR(SFR WDT,位于SFR地址E1 hex)与看门狗定时器关联。
看门狗定时器的功能模块如下图所示:
Fig.25
18.2
看门狗定时器
看门狗定时器控制寄存器
看门狗定时器控制寄存器(SFR WDT)是唯一一个与看门狗定时器相关联的SFR。
该寄存器可读可写,如Table 35所示
55
Syntek Semiconductors
STK6033
Table 35 看门狗定时寄存器
看门狗定时寄存器,SFR WDT, 位于SFR中的E1(HEX)
位地址
Bit7
Bit6
位标志
EWDT
WDTCLR
复位值
0
0
Bit5
Bit4
Bit3
未使用
x
Bit2
Bit1
Bit0
WDT2
WDTI
WDT0
0
0
0
Table 36 SFR WDT的描述
位变量
功能
EWDT (bit 7)
看门狗定时器的使能信号
WDTCLR (bit 6)
设置EWDT=1打开看门狗定时器。设置EWDT=0不使用看门狗定时器
清除看门狗定时器的值
该位需要在3位程序定时器溢出产生复位信号之前有规律的置“1”以完成复位看门狗功能。
WDT2, WDT1, WDT0 这3位决定看门狗定时器溢出的周期。下表为这3位取相应值时的溢出周期。
(bits 2, 1, 0)
假定 XTAL1=24 MHz。
WDT2
WDT1
WDT0
Overflow interval
Notes
Assuming
XTAL1=24 MHz
0
0
0
8 x 0.107 seconds
0
0
1
1 x 0.107 seconds
0
1
0
2 x 0.107 seconds
0
1
1
3 x 0.107 seconds
1
0
0
4 x 0.107 seconds
1
0
1
5 x 0.107 seconds
1
1
0
6 x 0.107 seconds
1
1
1
7 x 0.107 seconds
56
Syntek Semiconductors
19
STK6033
PWM(脉冲宽度调节器)输出
STK6033有5个输出通道的脉冲宽度调节器(PWM)。这几个通道产生可编程占空比的脉冲。
STK6033有6个与PWM相关联的特殊功能寄存器。他们如下表Table 37所示。
Table 37 PWM通道 SFRs
模块
标志
PWM
复位值
地址
(Hex 格式)
名称
P1_OTP
选择P1口做为PWM输出
D1
xxx0 0000
PWM0D
PWM0脉冲宽度
D2
1000 0000
PWM1D
PWM1脉冲宽度
D3
1000 0000
PWM2D
PWM2脉冲宽度
D4
1000 0000
PWM3D
PWM3脉冲宽度
D5
1000 0000
PWM4D
PWM4脉冲宽度
D6
1000 0000
当某个PWM寄存器(PWM0 ~ PWM4)装载了一个新值,相关的输出脚立刻更新一个新值,该过程不需要等到当前机器周
期的结束。所有PWMn输出脚为推挽式输出。
19.1
P1功能选择寄存器(SFR P1_OPT)
SFR P1_OPT用来配置P1口是做为普通I/O口还是PWM输出脚。
Table 38 P1功能选择寄存器(地址 D1H)
位地址
7
6
5
位变量
复位值
x
X
x
4
3
2
1
0
PWM4E
PWM3E
PWM2E
PWM1E
PWM0E
0
0
0
0
0
Table 39 SFR P1_OPT位变量的描述
位
标志
未使用
7, 6, 5
4 to 0
描述
当PWM4E=0时,P1.4脚作为普通I/O脚。
PWM4E到PWM0E
当PWM4E=1时,P1.4脚作为PWM 4输出。
其它位均与该位配置相同
19.2
脉冲宽度寄存器0 ~ 4 (PWM0D ~ PWM4D) Table 40
脉冲宽度寄存器(地址 D2 ~
D6 hex,读/写)
寄存器名称
地址
(hex)
PWM0D
D2
PWM通道0的脉冲宽度
PWM1D
D3
PWM通道1的脉冲宽度
PWM2D
D4
PWM通道2的脉冲宽度
PWM3D
D5
PWM通道3的脉冲宽度
PWM4D
D6
PWM通道4的脉冲宽度
复位值
BIT 7
1
BIT 6
0
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
0
0
0
0
0
0
57
Syntek Semiconductors
STK6033
模拟数字转换器(ADC)
20
20.1
ADC功能描述
STK6033内部具有一个6个模拟输入通道10位近似结果的ADC。
ADC输入通道共用P4口。模拟输入的电压值可以从0V到5.0V。
用户软件中使用ADC时会用到以下4个SFRs(P4_OPT,ADCSEL,ADCVALH及ADCVALL)。
关于ADC SFRs的描述请参照Table 41。
Figure 26表明ADC的SFR之间的关系。
Fig.26
20.2
ADC SFRs
ADC处于空闲模式或停机模式
该模数转换器仅仅在STK6033工作在普通模式时可以起作用。
如果空闲模式或停机模式被激活,ADC将会关闭并且进入节能空闲状态,正在进行的转换被迫停止。转换结果寄存器
(SFR ADCVAL)不会受到影响。
20.3
ADC SFRs及它们的复位值
4个SFRs (P4_OPT, ADCSEL,ADCVAH and ADCVALL)与ADC相关联。关于这4个寄存器的概括如Table 41所示
Table 41 ADC特殊功能寄存器一览
地址
名称
D9(hex)
P4_OPT
读/写 选择P4口的功能
DA(hex)
ADCSEL
读/写 通道选择
DB(hex)
ADCVALH
读/写 ADC转换结果值 , 高8位。
DC(hex)
ADCVALL
读/写 ADC转换结果值 , 低2位。
20.3.1
读/写
描述
P4_OPT 特殊功能寄存器
P4_OPT SFR只有6位。它被用来配置P4口作为普通I/O口还是10位ADC的模拟输入脚。
Table 42 P4_OPT(地址D9 hex)
位地址
BIT 7
未使用
位标志
复位值
BIT 6
x
x
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
ADC5E
ADC4E
ADC3E
ADC2E
ADC1E
ADC0E
0
0
0
0
0
0
58
Syntek Semiconductors
STK6033
Table 43 P4_OPT特殊功能寄存器各位的描述
位
标志
描述
5
ADC5E
ADC5E=1配置P4.5 / ADC5脚作为模拟量输入脚。
4
ADC4E
ADC5E=0配置P4.5/ADC5脚作为普通I/O口(P4.5)
ADC2E=1配置P4.4 / ADC4脚作为模拟量输入脚。
3
ADC3E
ADC2E=0配置P4.4/ADC4脚作为普通I/O口(P4.4)
ADC3E=1配置P4.3 / ADC3脚作为模拟量输入脚。
2
ADC2E
ADC3E=0配置P4.3/ADC3脚作为普通I/O口(P4.3)
ADC2E=1配置P4.2 / ADC2脚作为模拟量输入脚。
1
ADC1E
ADC2E=0配置P4.2/ADC2脚作为普通I/O口(P4.2)
ADC1E=1配置P4.1/ ADC1脚作为模拟量输入脚。
0
ADC0E
ADC1E=0配置P4.1/ADC1脚作为普通I/O口(P4.1)
ADC0E=1配置P4.0/ ADC0脚作为模拟量输入脚。
ADC0E=0配置P4.0/ADC0脚作为普通I/O口(P4.0)
20.3.2
ADCSEL特殊功能寄存器
ADCSEL特殊功能寄存器用来选择需要转换的输入通道。
输入模拟电压量要正确转换需要以下几步:
1.
选择该通道作为模拟信号输入
2.
通过设置EADC位为高电平打开ADC转换。
Table 44 ADCSEL (地址DA hex)
位地址
BIT 7
BIT 6
BIT 5
4 BIT
BIT 3
BIT 2
BIT 1
BIT 0
位标志
EADC
未使用
SAD5
SAD4
SAD3
SAD2
SAD1
SAD0
复位值
0
x
0
0
0
0
0
0
Table 45 ADCSEL特殊功能寄存器各位的描述
位
标志
描述
7
EADC
打开ADC
5
SADC5
SADC5=1选择P4.3 / ADC3脚作为模拟信号输入脚来转换。
4
SADC4
SADC5=0未选中该脚作为转换脚。
SADC4=1选择P4.2 / ADC2脚作为模拟信号输入脚来转换。
3
SADC3
SADC4=0未选中该脚作为转换脚。
SADC3=1选择P4.3 / ADC3脚作为模拟信号输入脚来转换。
2
SADC2
SADC3=0未选中该脚作为转换脚。
SADC2=1选择P4.2 / ADC2脚作为模拟信号输入脚来转换。
1
SADC1
SADC2=0未选中该脚作为转换脚。
SADC1=1选择P4.1 / ADC1脚作为模拟信号输入脚来转换。
0
SADC0
SADC1=0未选中该脚作为转换脚。
SADC0=1选择P4.0 / ADC0脚作为模拟信号输入脚来转换。
SADC0=0未选中该脚作为转换脚。
59
Syntek Semiconductors
STK6033
ADCVAL REGISTERS
20.3.3
ADC转换结果的位变量保存在ADCVAL特殊功能寄存器中。
Table 46 ADCVALH(地址DB hex)
位地址
BIT 7
BIT 6
BIT 5
位标志
BIT 3
BIT 2
BIT 1
BIT 0
ADC转换结果的2进制代码 , 高8位
复位值
0
0
Table 47 ADCVALL(地址DC hex)
位地址
BIT 7
BIT 6
位标志
复位值
20.4
4 BIT
0
0
0
0
0
0
BIT 5
4 BIT
BIT 3
BIT 2
BIT 1
BIT 0
x
x
x
x
x
x
ADC转换 结 果
的2进制代码 ,
低2位
x
x
x
x
x
x
0
0
ADC特性
当ADC允许执行转换时输入的模拟电压要稳定。一个RC低通滤波器要加在模拟量的输入脚来消除高频干扰。
为了产生最好的滤波效果,模拟量输入端与地之间的电容要尽可能的靠近输入脚。。
Fig.27为输入的模拟电压与输出值(10进制)之间的对应关系
ADC0
ADC1
ADC2
ADC3
300
250
200
150
100
50
Fig.27
60
4.78
4.53
4.28
4.02
3.77
3.53
3.28
3.02
2.77
2.54
2.29
2.03
1.78
1.52
1.27
1.02
0.76
0.51
0.26
0
0
模拟量与数字值之间的对应关系
Syntek Semiconductors
21
STK6033
在应用可程编
21.1 在应用可程编
STK6033 总共拥有 16384 字节片内 flash 提供使用者编程 ,但并非所有的使用者编程会使用到全部的内存。
未被使用到的 flash 可被使用来储存使用者的资料. 在断电后 , 这些资料仍然被储存在 flash 里面作为下次电源
激活时使用。这个功能被称为在应用可程编 (IAP) 。
AUX 内存当中的 64个字节 , 从地址 0100 (hex) 到013F (hex) ,被使用来当做一个暂时的缓冲区。资料储
存在这个缓冲区可以被编程到片内 flash。同样的 , 储存在片内 flash 的资料也可以被读取到这个缓冲区。
IAP 起始的地址在片内 flash 是一个连续的内容由 SFR 的IAP_ADRH 和 IAP_ADRL 组成。
61
Syntek Semiconductors
STK6033
21.2 在应用可程编相关的 SFR
有3个和在应用可程编相功能关的SFR寄存器。
• SFR IAPEN (E4 hex)
• SFR IAP_ADRL (E5 hex)
• SFR IAP_ADRH (E6 hex)
这3个SFR的叙述请参考 Table 55 。
Table 48 在应用可程编相关的 SFR
标志
描述
地址
复位值
IAP_ADRH
IAP操作时的地址 , 高8位
E6 (hex)
0000 0000
IAP_ADRL
IAP操作时的地址 , 低8位
E5 (hex)
0000 0000
IAPEN
IAP允许寄存器
E4 (hex)
0000 xxxx
21.3 SFR IAP允许寄存器
Table 49 IAP允许寄存器 (地址 E4H)
位地址
位标志
复位值
7
IAPEN
0
6
APROG
0
5
AREAD
0
4
AERASE
0
3
x
x
2
x
x
1
x
x
0
x
x
Table 50 SFR IAPEN 位变量的描述
作用
描述
Erase
如果这个SFR被编程 “ 1001 0000 “,片内flash的512 个字节会被抹除。地址的起始位置由
SFR IAP_ADRL和SFR IAP_ADRH设置
Programming 如果这个SFR被编程 “ 1100 0000 “,64个字节的资料会被储存在 AUX内存缓冲区内被编程到
16K 的片内 flash。地址的起始位置由 SFR IAP_ADRL和SFR IAP_ADRH设置
Read
如果这个SFR被编程 “ 1010 0000 “, ,64个字节的资料储存在16K 的片内 flash会被读出到
AUX 内存缓冲区内。地址的起始位置由 SFR IAP_ADRL和SFR IAP_ADRH设置
21.4 SFR IAP_ADRL 和 SFR IAP_ADRH
Table 51 IAP_ADRL (地址 E5H)
位地址
7
6
5
4
3
位标志
片内flash初始设定低8位在抹除 , 编程和读出
复位值
0
0
0
0
0
Table 52 IAP_ADRH (地址 E6H)
位地址
7
6
5
4
3
位标志
片内flash初始设定高8位在抹除 , 编程和读出
复位值
0
0
0
0
0
62
2
1
0
0
0
0
2
1
0
0
0
0
Syntek Semiconductors
STK6033
21.5 编程提醒
建议在写入一个动作到 SFR IAPEN 后 , 增加至少 2个 NOP 指令。
63
Syntek Semiconductors
22
22.1
STK6033
管脚电路
P0 (P0.0 ~ P0.7)电路(双向I/O口)
输出使能
数据输出
输出
P0口为推挽式输出结构。
输出的驱动能力为4 mA
(典型值).
输入使能
数据输入
22.2
P1 (P1.0 ~ P1.7), P2 (P2.0 ~ P2.7), P3 (P3.0 ~ P3.7)电路(双向I/O口, 弱上拉电阻)
VDD
P1,P2及P3口为有内部弱上拉的推
挽式输出结构。输出的驱动能力为4
mA (典型值)。与该上拉PMOS等价的
电阻典型值为30K。
上拉
输出使能
输出
数据输出
输入使能
数据输入
22.3
ALE与PSEN (输出)
数据输出
22.4
输出
EA (输入)
VDD
请注意:该脚被弱上拉。
数据输入
输入(EA)
64
Syntek Semiconductors
22.5
STK6033
RST (输入)
输入(RST)
数据输
入
请注意:该脚被弱下
拉。
VDD
VSS
22.6
XTAL1, XTAL2
停机
XTAL2
详情请参考Fig.20
空闲
时钟
22.7
XTAL1
P4 (P4.0 / ADC0, P4.1 / ADC1, P4.2 / ADC2, P4.3 / ADC3)
65
Syntek Semiconductors
STK6033
芯片工作的极限范围
23
Table 53 芯片工作的极限范围
标志
参数
最小值
最大值
单位
VDD
VDD相对于地的电压值,及SCL,SDA相对于地的电压值
−0.3
+5.8
Volts
VI (注意点1)
任意脚相对于地的输入电压值
−0.3
VDD + 0.3
Volts
II, IO
任意脚输入输出的电流值
−
±15
mA
Itotal
超载情况下,所有输入脚的电流值的总和
100
mA
Ptot
总功率消耗(注意点2)
−
1.5
W
Tstg
存储温度范围
−25
+125
°C
Tamb
工作环境温度范围
−40
+ 85
°C
注意点
1.
下面为芯片极限范围的应用:
a)
超过极限范围的电压可能会对芯片造成永久的伤害。该电压的极限范围值只指在芯片工作时正常的直流或交流特
性。
2.
b)
该产品具有ESD保护电路,专门用来保护其内部电路而设计。然而,仍然建议使用传统的ESD预防措施。
c)
参数只在工作温度范围内有效,除非另有说明。所有电压值均为对地电压。
该值并不是器件的功耗,而是基于最大允许的损坏温度和封装的阻抗。
66
Syntek Semiconductors
STK6033
直流/交流特性
测试条件:VDD =5.0 V ±10%;VSS = 0 V;所有电压均为对地值,除非有特殊说明
24
Tamb = −40到+85 °C;fXTAL1 = 24 MHz
标志
参数
条件
最小值
典型值
最大值
单位
概要
VDD
工作供给电压
Toperating
工作温度范围
−40
Foperating
工作时钟频率
2 MHz
IDD(NORMAL) 正常模式下工作供给电流
IDD(IDLE)
空闲模式下工作供给电流
IDD(STOP)
停机模式下工作供给电流
4.0
注意点1,2
,3
注意点1,2
,3
注意点1,2
,3
5.0
24 MHz
5.5
V
+85
°C
30 MHz
6.6
mA
4.0
mA
4.2
υA
P0, 1, 2, 3, 4,在VDD=5.0 V时电流的驱动能力
IP0_sink
P0口漏极开路NMOS sink电流
19
mA
IP1_source
P1口 PMOS的source电流
170
υA
IP1_sink
P1口 NMOS的sink电流.
19
mA
IP2_source
P2口 PMOS的source电流.
170
υA
IP2_sink
P2口 NMOS的sink电流.
19
mA
IP3_source
P3口 PMOS的source电流.
170
υA
IP3_sink
P3口 NMOS的sink电流.
19
mA
IP4_source
P4口 PMOS的source电流.
170
υA
IP4_sink
P4口 NMOS的sink电流.
19
mA
ALE脚及PSEN脚在VDD=5.0V时电流的驱动能力
IALE_source
ALE脚PMOS的source电流
4
mA
IALE_sink
ALE脚NMOS的sink电流
4
mA
IPSEN_source
PSEN脚PMOS的source电流
4
mA
IPSEN_sink
PSEN脚NMOS的sink电流
4
mA
0.14
volts
输入的高/低电平的电压值,输入的高/低电平的电压值,当VDD=5.0V时
VOL_P0
P0输出低电平电压值
IOL = 3.2 mA;
注意点5
67
Syntek Semiconductors
STK6033
标志
参数
VIL
条件
VOL
VOH
VIH_RST
P0,P1, P2, P3及P4输出低电平
的电压值
P0,P1, P2, P3及P4输出高电平的
电压值
RESET脚输入高电平的电压值
VIL_RST
RESET脚输入低电平的电压值
VOL_ALE
ALE脚输出低电平的电压值
VOH_ALE
ALE脚输出高电平的电压值
VOL_P
SEN
脚输出低电平的电压值
VOH_P
SEN
脚输出高电平的电压值
I/O脚电容特性
CI/O
典型值
最大值
1.8
P0,P1, P2, P3及P4输入低电平的电
压值
P0,P1, P2, P3及P4输入高电平的电
压值
VIH
最小值
2.7
IOL = 3.2 mA;
注意点5
IOH = -25 υA
单位
volts
volts
0.14
volts
4.8
volts
2.7
volts
1.8
volts
10
pF
0.14
IOL = 3.2 mA;
注意点5
IOH = -60 υA
4.9
IOL = 3.2 mA;
注意点5
IOH = -60 υA
测试频率为
1 MHz;
Tamb = 25 °C
−
DC特性的注意点:
1.
正 常 模 式 工作电流测量的标准为所有输出脚断开,XTAL1的tr = tf = 5ns,VIL = VSS + 0.5 V,VIH = VDD - 0.5 V,Port
0 = VDD,
2.
= VSS
空 闲 模 式 工作电流测量的标准为所有输出脚断开,XTAL1的tr = tf = 5ns,VIL = VSS + 0.5 V,VIH = VDD - 0.5 V,
XTAL2未连接,
3.
= Port 0 = VDD
停 机 模 式 工作电流测量的标准为所有输出脚断开,XTAL2未连接,Port 0 = VDD,
= XTAL1 = VSS.
4.
Pins of Ports 1, 2, 3, and 4 source a transition current when they are being externally driven from HIGH to LOW. The
transition current reaches its maximum value when VIN is approximately 2.6 V.
5.
Capacitive loading on Ports 0 and 2 may cause spurious noise to be superimposed on the VOL of ALE and Ports 1
and 3. The noise is due to external bus capacitance discharging into the Port 0 and Port 2 pins when these pins make
HIGH-to-LOW transitions during bus operations. In the worst cases (capacitive loading > 100pF), the noise pulse on
the ALE pin may exceed 0.8 V. In such cases, it may be desirable to qualify ALE with a Schmitt Trigger, or use an
address latch with a Schmitt Trigger STROBE input.
6.
Capacitive loading on Ports 0 and 2 may cause the VOH on ALE and PSEN to momentarily fall below the 0.9 VDD ;
VIL = VSS + 0.5 V; VIH = VDD - 0.5 V; XTAL2 not connected;
Port 0 = VDD; EA = XTAL1 = VSS.
68
Syntek Semiconductors
25
STK6033
外部程序存储器读周期时序
Fig.28
69
外部程序存储器读周期
Syntek Semiconductors
26
STK6033
STRETCH=0情况下外部AUX存储器读/写时序
70
Syntek Semiconductors
27
STK6033
STRETCH=1情况下外部AUX存储器读/写时序
71
Syntek Semiconductors
28
STK6033
STRETCH=2情况下外部AUX存储器读/写时序
72
29
PLCC44封装的轮廓构图
STK6033
PLCC44 Package Outline Drawing
73
30
QFP44封装的轮廓构图
STK6033
QFP44 Package Outline Drawing
74
31
LQFP48封装的轮廓构图
STK6033
LQFP48 Package
Outline
Drawing
75
32
DIP40封装的轮廓构图
76
Syntek Semiconductors
33
STK6033
指令设置
STK6033指令的二进制编码与工作标准80C51完全一致。它包含49条单字节指令,45条双字节指令及17条三字节指令。当
使用16MHz晶振时,有64条指令执行时间为250 ns,45条指令及乘法指令的执行时间为500 ns,除法指令的执行时间为
750 ns。
关于指令系统的概述如Table 49, Table 50, Table 51, Table 52及Table 53所示
33.1
寻址模式
大多数指令都有指定数据类型,寻址方式的源操作数及目的操作数。
除了MOV指令以外的其他指令,目的操作数往往又是源操作数(如ADD A,R7)。
有以下五种寻址方式:
1:
寄存器寻址
–
R0到R7 (4个模块)
–
A,B,C (单字节), AB (2字节), DPTR (双字节)
2:
直接寻址
–
内部RAM低128字节(包括4个R0到R7寄存器模块)
–
特殊功能寄存器SFR
–
内部RAM的128位位寻址区
–
特殊功能寄存器中的128位位寻址区
3:
寄存器间接寻址
–
内部RAM(@R0, @R1, @SP [PUSH/POP])
–
内部辅助RAM (@R0, @R1, @DPTR)
–
外部辅助RAM (@R0, @R1, @DPTR)
4:
–
5:
–
立即数寻址
程序存储器(指令编码为8位或16位立即数)
基址[变址]相对寻址
程序存储器的查找表(@DPTR+A, @PC+A).
前三种寻址方式用于目的操作数寻址。
77
Syntek Semiconductors
33.2
STK6033
80C51指令系统
Table 54 影响标志位的指令:注意点1
标志(2)
指令
C
OV
AC
ADD
X
X
X
ADDC
X
X
X
SUBB
X
X
X
MUL
0
X
DIV
0
X
DA
X
X
RRC
X
RLC
X
SETB C
1
CLR C
0
CPL C
X
ANL C, bit
X
ANL C,/bit
X
ORL C, bit
X
ORL C,/bit
X
MOV C, bit
X
CJNE
X
Note
1.
2.
Note that operations on SFR byte address 208 or bit addresses 209 to 215 (i.e. the PSW or bits in the PSW) will also
affect flag settings.
X = 影响标志位操作
78
Syntek Semiconductors
33.3
STK6033
指令系统的描述
数据寻址模式及16进制操作码对照的描述请参照Table 53.
Table 55 指令集的描述:算术操作
标志
描述
字节
周期
操作码
(HEX)
算术操作指令
ADD
A,Rr
Add register to A
1
1
2*
ADD
A,direct
Add direct byte to A
2
2
25
ADD
A,@Ri
Add indirect RAM to A
1
1
26, 27
ADD
A,#data
Add immediate data to A
2
2
24
ADDC
A,Rr
Add register to A with carry flag
1
1
3*
ADDC
A,direct
Add direct byte to A with carry flag
2
2
35
ADDC
A,@Ri
Add indirect RAM to A with carry flag
1
1
36, 37
ADDC
A,#data
Add immediate data to A with carry flag
2
2
34
SUBB
A,Rr
Subtract register from A with borrow
1
1
9*
SUBB
A,direct
Subtract direct byte from A with borrow
2
2
95
SUBB
A,@Ri
Subtract indirect RAM from A with borrow
1
1
96, 97
SUBB
A,#data
Subtract immediate data from A with borrow
2
2
94
INC
A
Increment A
1
1
04
INC
Rr
Increment register
1
1
0*
INC
direct
Increment direct byte
2
2
05
INC
@Ri
Increment indirect RAM
1
1
06, 07
DEC
A
Decrement A
1
1
14
DEC
Rr
Decrement register
1
1
1*
DEC
direct
Decrement direct byte
2
2
15
DEC
@Ri
Decrement indirect RAM
1
1
16, 17
INC
DPTR
Increment data pointer
1
3
A3
MUL
AB
Multiply A and B
1
5
A4
DIV
AB
Divide A by B
1
5
84
DA
A
Decimal adjust A
1
1
D4
79
Syntek Semiconductors
STK6033
Table 56 指令集描述:逻辑操作
标志
描述
字节
周期
操作码
(HEX)
逻辑操作
ANL
A,Rr
AND register to A
1
1
5*
ANL
A,direct
AND direct byte to A
2
2
55
ANL
A,@Ri
AND indirect RAM to A
1
1
56, 57
ANL
A,#data
AND immediate data to A
2
2
54
ANL
direct,A
AND A to direct byte
2
2
52
ANL
direct,#data
AND immediate data to direct byte
3
3
53
ORL
A,Rr
OR register to A
1
1
4*
ORL
A,direct
OR direct byte to A
2
2
45
ORL
A,@Ri
OR indirect RAM to A
1
1
46, 47
ORL
A,#data
OR immediate data to A
2
2
44
ORL
direct,A
OR A to direct byte
2
2
42
ORL
direct,#data
OR immediate data to direct byte
3
3
43
XRL
A,Rr
Exclusive-OR register to A
1
1
6*
XRL
A,direct
Exclusive-OR direct byte to A
2
2
65
XRL
A,@Ri
Exclusive-OR indirect RAM to A
1
1
66, 67
XRL
A,#data
Exclusive-OR immediate data to A
2
2
64
XRL
direct,A
Exclusive-OR A to direct byte
2
2
62
XRL
direct,#data
Exclusive-OR immediate data to direct byte
3
2
63
CLR
A
Clear A
1
1
E4
CPL
A
Complement A
1
1
F4
RL
A
Rotate A left
1
1
23
RLC
A
Rotate A left through the carry flag
1
1
33
RR
A
Rotate A right
1
1
03
RRC
A
Rotate A right through the carry flag
1
1
13
SWAP
A
Swap nibbles within A
1
1
C4
80
Syntek Semiconductors
STK6033
指令集描述:数据传送
Table 57
标志
描述
操作码
(HEX)
字节
周期
1
1
E*
数据传送
MOV
A,Rr
Move register to A
MOV
A,direct (note 1) Move direct byte to A
2
2
E5
MOV
A,@Ri
Move indirect RAM to A
1
1
E6, E7
MOV
A,#data
Move immediate data to A
2
2
74
MOV
Rr,A
Move A to register
1
1
F*
MOV
Rr,direct
Move direct byte to register
2
2
A*
MOV
Rr,#data
Move immediate data to register
2
2
7*
MOV
direct,A
Move A to direct byte
2
2
F5
MOV
direct,Rr
Move register to direct byte
2
2
8*
MOV
direct,direct
Move direct byte to direct
3
2
85
MOV
direct,@Ri
Move indirect RAM to direct byte
2
2
86, 87
MOV
direct,#data
Move immediate data to direct byte
3
3
75
MOV
@Ri,A
Move A to indirect RAM
1
1
F6, F7
MOV
@Ri,direct
Move direct byte to indirect RAM
2
2
A6, A7
MOV
@Ri,#data
Move immediate data to indirect RAM
2
2
76, 77
MOV
DPTR,#data 16
Load data pointer with a 16-bit constant
3
3
90
MOVC
A,@A+DPTR
Move code byte relative to DPTR to A
1
3
93
MOVC
A,@A+PC
Move code byte relative to PC to A
1
3
83
MOVX
A,@Ri
Move external RAM (8-bit address) to A
1
2~9
MOVX
A,@DPTR
Move external RAM (16-bit address) to A
1
2~9
E0
MOVX
@Ri,A
Move A to external RAM (8-bit address)
1
2~9
F2, F3
MOVX
@DPTR,A
Move A to external RAM (16-bit address)
1
2~9
F0
PUSH
direct
Push direct byte onto stack
2
2
C0
POP
direct
Pop direct byte from stack
2
2
D0
XCH
A,Rr
Exchange register with A
1
1
C*
XCH
A,direct
Exchange direct byte with A
2
2
C5
XCH
A,@Ri
Exchange indirect RAM with A
1
1
C6, C7
XCHD
A,@Ri
Exchange LOW-order digit indirect RAM with A
1
1
D6, D7
Note
1.
MOV A,ACC不允许。
81
EB, E3
Syntek Semiconductors
Table 58
STK6033
指令集:位变量操作,程序及机械控制
标志
描述
字节
周期
操作码
(HEX)
位变量操作
CLR
C
Clear carry flag
1
1
C3
CLR
bit
Clear direct bit
2
2
C2
SETB
C
Set carry flag
1
1
D3
SETB
bit
Set direct bit
2
2
D2
CPL
C
Complement carry flag
1
1
B3
CPL
bit
Complement direct bit
2
2
B2
ANL
C,bit
AND direct bit to carry flag
2
2
82
ANL
C,/bit
AND complement of direct bit to carry flag
2
2
B0
ORL
C,bit
OR direct bit to carry flag
2
2
72
ORL
C,/bit
OR complement of direct bit to carry flag
2
2
A0
MOV
C,bit
Move direct bit to carry flag
2
2
A2
MOV
bit,C
Move carry flag to direct bit
2
2
92
ACALL
addr11
Absolute subroutine call
2
3
1
LCALL
addr16
跳转指令
Long subroutine call
3
4
12
RET
Return from subroutine
1
4
22
RETI
Return from interrupt
1
4
32
Absolute jump
2
3
φ1
AJMP
addr11
LJMP
addr16
Long jump
3
4
02
SJMP
rel
Short jump (relative address)
2
3
80
JMP
@A+DPTR
Jump indirect relative to the DPTR
1
3
73
JZ
rel
Jump if A is zero
2
3
60
JNZ
rel
Jump if A is not zero
2
3
70
JC
rel
Jump if carry flag is set
2
3
40
JNC
rel
Jump if carry flag is not set
2
3
50
JB
bit,rel
Jump if direct bit is set
3
4
20
JNB
bit,rel
Jump if direct bit is not set
3
4
30
JBC
bit,rel
Jump if direct bit is set and clear bit
3
4
10
CJNE
A,direct,rel
Compare direct to A and jump if not equal
3
4
B5
CJNE
A,#data,rel
Compare immediate to A and jump if not equal
3
4
B4
CJNE
Rr,#data,rel
Compare immediate to register and jump if not equal
3
4
B*
CJNE
@Ri,#data,rel Compare immediate to indirect and jump if not equal
3
4
B6, B7
DJNZ
Rr,rel
Decrement register and jump if not zero
2
3
D*
DJNZ
direct,rel
Decrement direct and jump if not zero
3
4
D5
No operation
1
1
00
NOP
All mnemonics are copyright © Intel Corporation 1980.
82
Syntek Semiconductors
STK6033
Table 59 Description of the mnemonics in the Instruction set
标志
描述
数据寻址模式
Rr
Working register R0-R7.
direct
128 internal RAM locations and any special function register (SFR).
@Ri
Indirect internal RAM location addressed by register R0 or R1 of the actual register bank.
#data
8-bit constant included in instruction.
#data 16
16-bit constant included as bytes 2 and 3 of instruction.
bit
Direct addressed bit in internal RAM or SFR.
addr16
16-bit destination address. Used by LCALL and LJMP.
The branch will be anywhere within the 64 kbytes Program Memory address space.
addr11
11-bit destination address. Used by ACALL and AJMP. The branch will be within the same 2 kbytes
page of Program Memory as the first byte of the following instruction.
rel
Signed (two's complement) 8-bit offset byte. Used by SJMP and all conditional jumps.
Range is 128 to +127 bytes relative to first byte of the following instruction.
Hexadecimal opcode cross-reference
*
8, 9, A, B, C, D, E, F.
1, 3, 5, 7, 9, B, D, F.
φ
0, 2, 4, 6, 8, A, C, E.
83
Syntek Semiconductors
STK6033
Table 60 Instruction map
注意点:
1.
MOVE A,ACC 非有效指令。
84