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