一般说明
W78E058B是一个8位微控制器,它有一个系统内可编程的闪存EPROM,用于固件更新。W78E058B的指令集与标准8052完全兼容。
W78E058B包含一个32K字节的主ROM和一个4K字节的辅助ROM,它允许32KB主ROM的内容由位于4KB辅助设备的加载程序更新ROM;512字节的片上RAM;四个8位双向和位可寻址I/O端口;附加4位端口P4;三个16位定时器/计数器;串行端口。这些外围设备由一个8源两级中断能力。为了便于编程和验证,在W78E058B允许以电子方式对程序存储器进行编程和读取。一旦代码是确认后,用户可以保护代码的安全性。W78E058B微控制器有两种功率降低模式:空闲模式和断电模式,两者都是软件可选择的。空闲模式关闭处理器时钟,但允许继续外围操作。断电模式使晶体振荡器停止工作以获得最小功率消费。外部时钟可以在任何时间和任何状态下停止,而不会影响处理器。
特征
y全静态设计8位CMOS微控制器应用程序(APROM)的y 32K字节系统内可编程闪存EPROM加载程序(LDROM)的y 4K字节辅助ROMy 512字节片上RAM(包括256字节AUX-RAM,软件可选)64K字节程序内存地址空间和64K字节数据内存地址空间y四个8位双向端口
一个4位多用途可编程端口
三个16位定时器/计数器
一个全双工串行端口
八个源,两级中断能力
y内置电源管理
y代码保护
y包装
-无铅(RoHS)浸渍40:W78E058B40DL
-无铅(RoHS)PLCC 44:W78E058B40PL
-无铅(RoHS)PQFP 44:W78E058B40FL
引脚配置
功能描述
W78E058B体系结构由一个核心控制器组成,该核心控制器由四个通用寄存器包围专用I/O端口,一个专用可编程4位I/O端口,512字节RAM,三个定时器/计数器,串行端口。处理器支持111种不同的操作码,并引用64K程序地址空间和64K数据存储空间。
闸板
scratchpad RAM和256字节的AUX-RAM。这些ram有不同的寻址方式。
y RAM 0H-7FH可以直接和间接寻址,与8051中的相同。地址指针是所选寄存器组的R0和R1。
y RAM 80H-FFH只能像8051中那样间接寻址。地址指针是所选寄存器组的R0、R1。
y AUX-RAM 0H-FFH间接寻址,与访问外部数据存储器的方式相同使用MOVX指令。地址指针是所选寄存器组的R0和R1,并且DPTR寄存器。将执行对高于FFH的外部数据存储器位置的访问使用与8051相同的MOVX指令。复位后,AUX-RAM被禁用。
在CHPCON寄存器中设置位4将启用对AUX-RAM的访问。当AUX-RAM为启用“MOVX@Ri”指令将始终访问片上辅助RAM。执行时从内部程序存储器访问AUX-RAM不会影响端口P0、P2、WR和研发。
例子,
CHPCON调节器动臂,87H
移动CHPENR,59HORL CHPCON,#000100000b;启用辅助RAM
移动CHPENR,#00H
移动R0,#12H
移动A,#34H
MOVX@R0,A;将34h数据写入12h地址。
定时器0、1和2
计时器0、1和2各由两个8位数据寄存器组成。对于计时器0,这些称为TL0和TH0,定时器1的TL1和TH1,定时器2的TL2和TH2。TCON和TMOD寄存器提供计时器0、1的控制函数。T2CON寄存器为定时器2提供控制功能。RCAP2H型RCAP2L用作定时器2的重新加载/捕获寄存器。定时器0和定时器1的操作与W78C51相同。定时器2是一个16位定时器/计数器,由T2CON寄存器。与计时器0和1一样,计时器2也可以作为外部事件计数器或作为内部定时器,取决于T2 C on中位C/T2的设置。定时器2有三个操作模式:捕获、自动重新加载和波特率生成器。捕获或自动重新加载时的时钟速度
模式与计时器0和1的模式相同。
时钟
W78E058B采用晶体振荡器或外部时钟设计。在内部,时钟是在默认使用之前除以2。这使得W78E058B对负载相对不敏感时钟的周期变化。
晶体振荡器
W78E058B内置晶体振荡器。要使振荡器工作,晶体必须连接到引脚XTAL1和XTAL2。此外,必须从每个别针接地。
外部时钟
外部时钟应连接到引脚XTAL1。插脚XTAL2应保持未连接状态。这个XTAL1输入是CMOS类型的输入,根据晶体振荡器的要求。
电源管理
空闲模式
在PCON寄存器中设置IDL位进入空闲模式。在空闲模式下,内部时钟处理器已停止。外围设备和中断逻辑继续计时。这个当发生中断或复位时,处理器将退出空闲模式。
断电模式
当PCON寄存器中的PD位被设置时,处理器进入断电模式。在这个模式所有时钟停止,包括振荡器。退出掉电模式当启用并设置为触发电平时,硬件复位或外部中断INT0到INT1。
减少电磁干扰发射
W78E058B允许用户通过使用编程器来减小片上振荡器放大器的增益清除安全寄存器的B7位。一旦B7设为0,增益将减少一半。必须小心如果用户试图降低振荡器放大器的增益,则降低一半的增益可能会影响外部晶体高频工作不正常。C1和C2的值可能需要一些低增益运行时的调整。
复位
外部复位信号在S5P2处采样。为了生效,它必须至少保持两个高度振荡器运行时机器循环。复位线路中的内部触发电路用于当W78E058B与外部RC网络一起使用时,对重置线路进行脱胶。复位逻辑也有一个特殊的故障排除电路,可以忽略复位线路上的故障。在复位过程中,端口是初始化为FFH,指向07H的堆栈指针,指向00H的PCON(位4除外),以及除SBUF到00H之外的其它SFR寄存器。SBUF不复位。
端口4
端口4,地址D8H,是一个4位多用途可编程I/O端口。每个位都可以配置单独使用软件。端口4有四种不同的操作模式。模式0:P4.0-P4.3是与端口1相同的双向I/O端口。P4.2和P4.3也用作外部中断INT3和INT2(如果启用)。
模式1:P4.0-P4.3是与指定的RD信号同步的读取选通信号地址。这些信号可以用作外部外设的芯片选择信号。模式2:P4.0-P4.3是写入选通信号,与指定位置的WR信号同步地址。这些信号可以用作外部外设的芯片选择信号。模式3:P4.0-P4.3是读/写选通信号,与指定的地址。这些信号可以用作外部芯片选择信号外围设备。
当端口4配置有芯片选择信号特性时,芯片选择信号地址范围取决于SFR P4xAH、P4xAL、P4CONA和P4CONB的内容。寄存器P4xAHP4xAL包含P4.x的16位基址。寄存器P4CONA和P4CONB包含控制位以配置端口4操作模式。
国际2/国际3
两个额外的外部中断,INT2和INT3,其功能与外部中断类似标准80C52中的中断0和1。这些中断的功能/状态是由XICON(外部中断控制)寄存器中的位确定/显示。西贡登记册是位可寻址,但不是标准80C52中的标准寄存器。它的地址是0C0H在XICON寄存器中设置/清除位,可以使用“SETB(CLR)位”指令。例如,“SETB 0C2H”设置XICON的EX2位。
XICON-外部中断控制(C0H)
PX3 EX3 IE3 IT3 PX2 EX2 IE2 IT2
PX3:如果设置了外部中断3优先级高
EX3:外部中断3如果设置为enable
IE3:如果IT3=1,则当检测到/服务中断时,硬件会自动设置/清除IE3
IT3:当该位被软件设置/清除时,外部中断3为下降沿/低电平触发
PX2:如果设置了外部中断2优先级高
EX2:如果设置了外部中断2,则启用
IE2:如果IT2=1,则当检测到/服务中断时,硬件会自动设置/清除IE2
IT2:当该位被软件设置/清除时,外部中断2为下降沿/低电平触发
端口4基址寄存器
P40AH、P40AL
P4.0比较器的基址寄存器。P40AH包含地址的高阶字节,
P40AL包含地址的低位字节。
P41AH、P41AL
P4.1比较器的基址寄存器。P41AH包含地址的高阶字节,
P41AL包含地址的低位字节。
W78E58B/W78E058B型
P42AH、P42AL
P4.2比较器的基址寄存器。P42AH包含地址的高阶字节,
P42AL包含地址的低位字节。
P43AH、P43AL
P4.3比较器的基址寄存器。P43AH包含地址的高阶字节,
P43AL包含地址的低位字节。
下面是一个将P4.0编程为I/O端口地址1234H处的写选通信号的示例
-1237H和正极以及P4.1-P4.3用作通用I/O端口。
移动P40AH,#12H
MOV P40AL,#34H;P4.0的基本I/O地址1234H
MOV P4CONA,#0000010b;P4.0a写入选通信号和地址行A0和A1被屏蔽。
MOV P4CONB,#00H;P4.1−P4.3作为与端口1相同的通用I/O端口
MOV P2ECON,#10H;写入P40SINV=1以反转P4.0写入选通极性默认值为负。
然后,任何指令MOVX@DPTR,A(DPTR=1234H−1237H)都将生成正引脚P4.0处的极性写入选通信号。指令MOV P4,#XX将位3输出到位1
数据#XX连接到引脚P4.3−P4.1。
在系统编程(ISP)模式下
W78E058B为应用程序(称为APROM)配备一个32K字节的主ROM库加载程序(称为LDROM)的一个4K字节的辅助ROM库。在正常操作中微控制器执行APROM中的代码。如果需要修改APROM的内容,则W78E058B允许用户通过设置CHPCON来激活系统内编程(ISP)模式登记。CHPCON默认为只读,软件必须写入两个特定值87H,然后59H顺序到CHPENR寄存器以启用CHPCON write属性。写作除87H和59H之外的值的CHPENR寄存器将关闭CHPCON寄存器write属性。W78E058B实现所有系统内编程操作,包括进入/退出ISP模式,程序,擦除,读取。。。等,在设备处于空闲模式时。设置位CHPCON.0从空闲模式唤醒后,设备将进入系统编程模式。因为设备在从空闲模式唤醒之前,需要适当的时间完成ISP操作,软件可以使用定时器中断,控制设备从空闲模式唤醒的持续时间。执行ISP操作修改APROM的内容,位于APROM的软件设置CHPCON寄存器,然后输入idle模式,从空闲模式唤醒后,设备在光盘。因为设备在从APROM切换到LDROM时会清除程序计数器,中断服务程序中RETI指令的第一次执行将在LDROM区跳到00H。这个设备提供了一个软件重置,当APROM的内容被完全更新。将CHPCON寄存器位0、1和7设置为逻辑1将导致软件复位重置CPU。软件重置用作外部重置。这是系统内编程功能使应用程序需要频繁更新固件的工作变得简单高效。在一些W78E58B/W78E058B型
应用程序,系统内编程功能使您可以轻松地更新系统不打开机箱的固件。
SFRAH,SFRAL:系统内编程模式下片上ROM的目标地址。
SFRAH包含地址的高阶字节,SFRAL包含低阶地址字节。
SFRFD:片上ROM在编程模式下的编程数据。
SFRCN:片上ROM编程模式的控制字节。
系统编程控制寄存器(CHPCON)CHPCON(锅炉给水)
F04KBOOT模式(从LDROM引导)默认情况下,W78E058B在通电复位后从APROM程序启动。有时,用户可以通过以下设置强制W78E058B从LDROM程序启动。可能的当APROM程序无法正常运行时,需要进入F04KBOOT模式的情况并且设备不能跳回LDROM来执行系统中的编程功能。那你就可以使用此F04KBOOT模式强制W78E058B跳转到LDROM并在系统中执行编程程序。设计系统时,可以将管脚P2.6、P2.7保留为开关或跳线。例如,在CD-ROM系统中,可以连接P2.6和P2.7来播放以及面板上的弹出按钮。当APROM程序无法执行正常应用程序时程序。用户可以同时按下两个按钮,然后打开个人计算机强制W78E058B进入F04KBOOT模式。个人通电后计算机,您可以松开两个按钮并完成系统内编程过程以进行更新停机坪代码。在应用系统设计中,用户必须注意P2、P3、ALE、EA和重置时的PSEN引脚值,以防止意外激活编程模式或F04KBOOT模式。
F04KBOOT模式
系统内编程算法
系统内编程算法安全在片上ROM编程模式下,可以对ROM进行反复编程和验证。
在确认ROM内的代码正常之前,可以对代码进行保护。ROM的保护这些操作描述如下。
W78E058B有一个安全寄存器,可以在编程模式下访问。那些碎片一旦安全寄存器从高到低进行了编程,就不能对其进行更改。他们只能通过“全部擦除”操作重置。安全寄存器位于LDROM空间。
锁定位
此位用于保护W78E058B中的客户程序代码。它可以在程序员完成编程并验证序列。一旦该位设置为逻辑0,则无法再次访问ROM数据和安全寄存器。
条MOVC抑制
此位用于限制MOVC指令的可访问区域。它可以阻止MOVC外部程序存储器中读取内部程序代码的指令。当此位设置为逻辑0,外部程序内存空间中的MOVC指令只能访问外部存储器,不在内部存储器中。程序内存空间中的MOVC指令始终能够访问内部和外部存储器中的ROM数据。如果这个位是逻辑1,MOVC指令没有限制。
加密
此位用于启用/禁用用于代码保护的加密逻辑。一旦加密功能启用后,端口0上显示的数据将通过加密逻辑进行编码。只有整个芯片擦除重置此位。
振荡器控制
W78E058B/E516允许用户通过使用编程器来减小片上振荡器放大器的增益设置安全寄存器的B7位。一旦B7设为0,增益将减少一半。必须小心如果用户试图降低振荡器放大器的增益,则降低一半的增益可能不适当地影响外部晶体在24兆赫以上的高频工作。R和C1,C2在以较低增益运行时可能需要一些调整。
A、 C.特性
AC规格是用于制造零件的特定工艺的功能,即输入/输出缓冲器的额定值、电容负载和内部路由电容。大部分规范可以用多个输入时钟周期(TCP)来表示,实际的部分将通常会出现小于±20纳秒的变化。下面的数字代表性能当使用2和4毫安输出缓冲器时,预期采用0.6微米CMOS工艺。
定时波形
程序获取周期
数据读取周期
数据写入周期
端口访问周期
典型应用电路
扩展的外部程序存储器和晶体
扩展的外部数据存储器和振荡器
包装尺寸
40针浸渍
44针PLCC
44针PQFP
应用说明
系统内编程软件示例
本应用说明说明了Winbond W78E05B ROM的系统内可编程性微控制器。在这个例子中,微控制器将从32KB的APROM库启动并等待键进入系统编程模式,重新编程32KB APROM的内容。当进入系统编程模式,微控制器在4KB的LDROM中执行加载程序银行。加载程序是32kbaprom,然后从外部读取新的代码数据SRAM缓冲区(或通过其他接口)来更新32KB APROM。