欢迎访问ic37.com |
会员登录 免费注册
发布采购

W78E058B是一款8位微控制器

日期:2019-4-18标签: (来源:互联网)

W78E058B是一款8位微控制器,具有系统内可编程闪存EPROM固件更新。 W78E058B的指令集与标准8052完全兼容。W78E058B包含一个32K字节的主ROM和一个4K字节的辅助ROM,允许使用由位于4KB辅助程序的加载程序更新的32KB主ROM的内容只读存储器; 512字节的片上RAM;四个8位双向和位寻址I / O端口;额外的4位端口P4;三个16位定时器/计数器;一个串口。这些外围设备由八个支持源两级中断能力。为方便编程和验证,ROM内部W78E058B允许程序存储器以电子方式编程和读取。一旦代码是确认后,用户可以保护代码的安全性。W78E058B微控制器有两种省电模式,空闲模式和省电模式,两者都是软件可选择的。空闲模式关闭处理器时钟但允许继续外围手术。省电模式可以停止晶体振荡器以获得最小功率消费。外部时钟可以在任何时间和任何状态下停止,而不会影响处理器。

特征
完全静态设计的8位CMOS微控制器
用于应用程序(APROM)的32K字节系统内可编程Flash EPROM
用于加载程序(LDROM)的4K字节辅助ROM
512字节的片上RAM(包括256字节的AUX-RAM,软件可选)
64K字节的程序存储器地址空间和64K字节的数据存储器地址空间
四个8位双向端口
一个4位多用途可编程端口
三个16位定时器/计数器
一个全双工串口
八源,两级中断功能
内置电源管理
- 无铅(RoHS)DIP 40:W78E058B40DL
- 无铅(RoHS)PLCC 44:W78E058B40PL
- 无铅(RoHS)PQFP 44:W78E058B40FL

功能说明W78E058B架构由一个由各种寄存器包围的核心控制器组成,四个通用用途I / O端口,一个专用可编程4位I / O端口,512字节RAM,三个定时器/计数器,一个串口。 处理器支持111种不同的操作码,并引用64K程序地址空间和64K数据存储空间。

内存W78E058B的内部数据RAM为512字节。它分为两组:256字节暂存器RAM和256字节的AUX-RAM。这些RAM通过不同方式解决。 RAM 0H - 7FH可以直接和间接寻址,与8051相同。地址指针是所选寄存器组的R0和R1。 RAM 80H - FFH只能在8051中间接寻址。地址指针是所选寄存器组的R0,R1。 AUX-RAM 0H - FFH以与访问外部数据存储器相同的方式间接寻址使用MOVX指令。地址指针是所选寄存器组的R0和R1DPTR寄存器。将执行访问高于FFH的外部数据存储器位置使用MOVX指令的方式与8051相同。复位后AUX-RAM禁用。将CHPCON寄存器中的位4置1将允许访问AUX-RAM。当AUX-RAM是启用“MOVX @Ri”的指令将始终访问片上AUX-RAM。执行时从内部程序存储器访问AUX-RAM不会影响端口P0,P2,WR和RD。

定时器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可以作为外部事件计数器或作为内部定时器,取决于T2CON中C / T2位的设置。 定时器2有三个操作模式:捕获,自动重载和波特率发生器。 捕获或自动重载时的时钟速度mode与Timers 0和1的模式相同。

时钟
W78E058B采用晶体振荡器或外部时钟设计。 在内部,时钟是在默认使用之前除以2。 这使得W78E058B对工作相对不敏感
时钟周期变化。

晶体振荡器W78E058B内置晶体振荡器。 要使振荡器起作用,必须使用晶体连接在引脚XTAL1和XTAL2之间。 此外,必须从每个连接负载电容器引脚接地。

外部时钟外部时钟应连接到引脚XTAL1。 引脚XTAL2应保持未连接状态。该根据晶体振荡器的要求,XTAL1输入是CMOS型输入。

能源管理空闲模式将PCON寄存器中的IDL位置1可进入空闲模式。 在空闲模式下,内部时钟到处理器停止了。 外设和中断逻辑继续被计时。该当发生中断或复位时,处理器将退出空闲模式。

掉电模式当PCON寄存器中的PD位置1时,处理器进入掉电模式。 在这模式所有时钟都停止,包括振荡器。 要退出关机模式,请执行以下操作:硬件复位或外部中断INT0至INT1在使能时设置为电平触发。

降低EMI辐射W78E058B允许用户通过编程器来降低片内振荡器放大器的增益清除安全寄存器的B7位。 一旦B7设置为0,增益的一半将减少。 必须小心如果用户试图减小振荡器放大器的增益,减少一半的增益可能会影响外部晶体在高频下运行不正常。 C1和C2的值可能需要一些在较低增益下运行时调整。

重启在S5P2对外部RESET信号进行采样。 要生效,必须至少保持两个高位振荡器运行时的机器周期。 复位线中的内部触发电路用于当W78E058B与外部RC网络一起使用时,对复位线进行去毛刺。 复位逻辑也有一个特殊的毛刺去除电路,忽略复位线上的毛刺。 在重置期间,端口是初始化为FFH,堆栈指针指向07H,PCON(位4除外)为00H,所有除SBUF至00H外的其他SFR寄存器。 SBUF未重置。

定时器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可以作为外部事件计数器或作为内部定时器,取决于T2CON中C / T2位的设置。 定时器2有三个操作模式:捕获,自动重载和波特率发生器。 捕获或自动重载时的时钟速度mode与Timers 0和1的模式相同。

时钟W78E058B采用晶体振荡器或外部时钟设计。 在内部,时钟是在默认使用之前除以2。 这使得W78E058B对工作相对不敏感时钟周期变化。

晶体振荡器
W78E058B内置晶体振荡器。 要使振荡器起作用,必须使用晶体连接在引脚XTAL1和XTAL2之间。 此外,必须从每个连接负载电容器引脚接地。

外部时钟应连接到引脚XTAL1。 引脚XTAL2应保持未连接状态。该根据晶体振荡器的要求,XTAL1输入是CMOS型输入能源管理空闲模式将PCON寄存器中的IDL位置1可进入空闲模式。 在空闲模式下,内部时钟到处理器停止了。 外设和中断逻辑继续被计时。该当发生中断或复位时,处理器将退出空闲模式。

掉电模式当PCON寄存器中的PD位置1时,处理器进入掉电模式。 在这模式所有时钟都停止,包括振荡器。 要退出关机模式,请执行以下操作:硬件复位或外部中断INT0至INT1在使能时设置为电平触发。

降低EMI辐射W78E058B允许用户通过编程器来降低片内振荡器放大器的增益清除安全寄存器的B7位。 一旦B7设置为0,增益的一半将减少。 必须小心如果用户试图减小振荡器放大器的增益,减少一半的增益可能会影响外部晶体在高频下运行不正常。 C1和C2的值可能需要一些在较低增益下运行时调整。

重启在S5P2对外部RESET信号进行采样。 要生效,必须至少保持两个高位振荡器运行时的机器周期。 复位线中的内部触发电路用于当W78E058B与外部RC网络一起使用时,对复位线进行去毛刺。 复位逻辑也有一个特殊的毛刺去除电路,忽略复位线上的毛刺。 在重置期间,端口是初始化为FFH,堆栈指针指向07H,PCON(位4除外)为00H,所有除SBUF至00H外的其他SFR寄存器。 SBUF未重置。

港口4
端口4,地址D8H,是一个4位多用途可编程I / O端口。每个位都可以配置单独用软件。端口4有四种不同的操作模式。
模式0:P4.0 - P4.3是双向I / O端口,与端口1相同.P4.2和P4.3也可用作外部中断INT3和NT2 I如果使能。
模式1:P4.0-P4.3是读取选通信号,与指定的RD信号同步
地址。这些信号可用作外部外设的片选信号。
模式2:P4.0-P4.3是写选通信号,与指定的WR信号同步
地址。这些信号可用作外部外设的片选信号。
模式3:P4.0-P4.3是读/写选通信号,与RD或WR信号同步
指定的地址。这些信号可用作外部的片选信号外设。
当端口4配置芯片选择信号的功能时,芯片选择信号地址范围取决于SFR P4xAH,P4xAL,P4CONAP4CONB的内容。寄存器P4xAH和P4xAL包含P4.x的16位基址。寄存器P4CONAP4CONB包含
控制位配置端口4操作模式。

两个额外的外部中断,INT2和INT3,其功能类似于外部中断标准80C52中断0和1。 这些中断的功能/状态是由XICON(外部中断控制)寄存器中的位确定/显示。 XICON寄存器是位寻址但不是标准80C52中的标准寄存器。 它的地址是0C0H。 至在XICON寄存器中设置/清除位,可以使用“SETB(CLR)位”指令。 例如,“SETB 0C2H”设置XICON的EX2位。

P4CONB(C3H)
BIT NAME FUNCTION
P43FUN1
P43FUN0
模式0. P4.3是通用I / O端口,与之相同
模式1. P4.3是用于芯片选择目的的读选通信号。地址
范围取决于SFR P43AH,P43AL,P43CMP1P43CMP0
模式2. P4.3是用于芯片选择目的的写选通信号。地址
范围取决于SFR P43AH,P43AL,P43CMP1P43CMP0
模式3. P4.3是用于芯片选择目的的读/写选通信号。该
地址范围取决于SFR P43AH,P43AL,P43CMP1
P43CMP0
P43CMP1
P43CMP0
片选信号进行比较:
将完整地址(16位长度)与基址寄存器进行比较
P43AH,P43AL。
将地址总线的15个高位(A15 - A1)与基址进行比较
注册P43AH,P43AL。
10:将地址总线的14个高位(A15-A2)与基址进行比较
注册P43AH,P43AL。
将地址总线的8个高位(A15 - A8)
与基址进行比较注册P43AH,P43AL。
P42FUN1
P42FUN0
P4.2功能控制位与P43FUN1的定义相似,
P43FUN0
P42CMP1
P42CMP0
P4.2地址比较器长度控制位是相似的定义
P43CMP1P43CMP0

端口4基地址寄存器
P40AH,P40AL
P4.0比较器的基址寄存器。 P40AH包含地址的高位字节,
P40AL包含地址的低位字节。
P41AH,P41AL
P4.1比较器的基地址寄存器。 P41AH包含地址的高位字节,

P41AL包含地址的低位字节。

P42AH,P42AL
P4.2比较器的基址寄存器。 P42AH包含地址的高位字节,
P42AL包含地址的低位字节。
P43AH,P43AL
P4.3比较器的基址寄存器。 P43AH包含地址的高位字节,
P43AL包含地址的低位字节。

在系统编程(ISP)模式
W78E058B配备一个32K字节的主ROM库用于应用程序(称为APROM)和用于加载程序的一个4K字节的辅助ROM库(称为LDROM)。在正常运行中,微控制器执行APROM中的代码。如果APROM的内容需要修改,那么
W78E058B允许用户通过设置CHPCON激活在系统编程(ISP)模式寄存器。 CHPCON默认为只读,软件必须写入两个特定值87H,然后59H顺序到CHPENR寄存器以启用CHPCON写属性。写作CHPENR寄存器的值除87H和59H外将关闭CHPCON寄存器写入属性。 W78E058B实现了所有系统内编程操作,包括进入/退出ISP设备处于空闲模式时的模式,编程,擦除,读取等。将CHPCON.0位置1从空闲模式唤醒后,设备将进入系统内编程模式。因为设备在从空闲模式唤醒之前需要适当的时间来完成ISP操作,软件可能会使用定时器中断控制器件从空闲模式唤醒的持续时间。执行ISP操作
修改APROM的内容,位于APROM的软件设置CHPCON寄存器然后进入空闲状态模式,在从空闲模式唤醒后,设备执行相应的中断服务程序LDROM。因为从APROM切换到LDROM时设备会清除程序计数器,中断服务程序中第一次执行RETI指令将在LDROM区跳转到00H。该设备提供软件复位,以便在APROM的内容已切换回APROM时完全更新。将CHPCON寄存器位0,1和7设置为逻辑1将导致软件复位重置CPU。软件复位用作外部复位。这种系统内编程功能使应用程序需要经常更新固件,使工作变得轻松高效。

应用程序,系统内编程功能可以轻松更新系统没有打开机箱的固件。
SFRAH,SFRAL:系统内编程模式下片上ROM的目标地址。
SFRAH包含地址的高位字节,SFRAL包含低位地址字节。
SFRFD:编程模式下片上ROM的编程数据。
SFRCN:片上ROM编程模式的控制字节。

F04KBOOT模式(从LDROM引导)默认情况下,W78E058B在上电复位后从APROM程序启动。在某些情况下,用户可以通过以下设置强制W78E058B从LDROM程序启动。可能APROM程序无法正常运行时需要进入F04KBOOT模式的情况并且设备不能跳回LDROM来执行系统内编程功能。然后你可以使用此F04KBOOT模式强制W78E058B跳转到LDROM并在系统内执行编程程序。在设计系统时,可以将引脚P2.6,P2.7保留为开关或跳线。例如,在CD-ROM系统中,您可以将P2.6和P2.7连接到PLAY和面板上的EJECT按钮。当APROM程序无法执行正常应用程序时程序。用户可以同时按下两个按钮,然后打开电源个人电脑迫使W78E058B进入F04KBOOT模式。个人通电后在计算机上,您可以释放这两个按钮并完成系统内编程程序以进行更新APROM代码。在应用系统设计中,用户必须注意P2,P3,ALE,EA和复位时的PSEN引脚值可防止意外激活编程模式或F04KBOOT模式。

进入F04KBOOT模式的复位时序

安全在片上ROM编程模式期间,可以重复编程和验证ROM。在确认ROM中的代码之前,可以保护代码。 ROM的保护以下描述了对它的操作。W78E058B具有可在编程模式下访问的安全寄存器。 那些位安全寄存器一旦编程从高到低,就无法更改。 他们只能通过全擦除操作重置。

锁定位该位用于保护W78E058B中的客户程序代码。 可以在之后设置程序员完成编程并验证序列。 一旦该位设置为逻辑0,两者都是无法再次访问ROM数据和安全寄存器。

MOVC抑制该位用于限制MOVC指令的可访问区域。 它可以阻止MOVC通过读取内部程序代码来指令外部程序存储器。 此位设置为时逻辑0,外部程序存储空间中的MOVC指令将只能访问代码中的代码外部存储器,不在内部存储器中。 内部程序存储空间中的MOVC指令将始终能够访问内部和外部存储器中的ROM数据。 如果该位为逻辑1,MOVC指令没有限制。

加密该位用于启用/禁用代码保护的加密逻辑。 一旦加密功能启用后,端口0上显示的数据将通过加密逻辑进行编码。 只有整个芯片擦除重置此位。

振荡器控制W78E058B / E516允许用户通过编程器来降低片内振荡器放大器的增益设置安全寄存器的B7位。 一旦B7设置为0,增益的一半将减少。 必须小心如果用户试图减小振荡器放大器的增益,则可以减少一半的增益在24 MHz以上的高频下不正确地影响外部晶振操作。 R和的值在较低增益下运行时,C1,C2可能需要一些调整。

时间波形
程序获取周期

数据读周期


数据写周期

数据写周期

典型应用电路扩展外部程序存储器和晶体

扩展外部数据存储器和振荡器

应用笔记11.1在系统编程软件示例本应用笔记说明了Winbond W78E058B ROM的系统内可编程性微控制器。 在这个例子中,微控制器将从32KB APROM bank启动并等待a键进入系统内编程模式,重新编程32KB APROM的内容。 而进入系统内编程模式后,微控制器以4KB LDROM执行加载程序银行。 加载程序擦除32KB APROM,然后从外部读取新的代码数据SRAM缓冲区(或通过其他接口)更新32KB APROM。