NEC单片机内部结构.ppt

上传人:夺命阿水 文档编号:242073 上传时间:2023-03-16 格式:PPT 页数:63 大小:2.39MB
返回 下载 相关 举报
NEC单片机内部结构.ppt_第1页
第1页 / 共63页
NEC单片机内部结构.ppt_第2页
第2页 / 共63页
NEC单片机内部结构.ppt_第3页
第3页 / 共63页
NEC单片机内部结构.ppt_第4页
第4页 / 共63页
NEC单片机内部结构.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《NEC单片机内部结构.ppt》由会员分享,可在线阅读,更多相关《NEC单片机内部结构.ppt(63页珍藏版)》请在课桌文档上搜索。

1、第二讲MCU的基本结构,主要内容包括:内部硬件构成存储器结构寄存器复位,NEC微处理器PD78F0547D的基本结构,PD78F0547D的基本特性 指令最短执行时间根据 CPU的操作频率可以在高速(0.1 s频率为20MHz)和超低速(122 s频率为32.768 kHz)之间改变,通用寄存器:8 位 32 个寄存器(8 位 8 个寄存器 4 组),内置单电源闪存128KB内部高速RAM1KB内部扩展RAM6KB通过使用内存容量切换寄存器(IMS)和内部扩展RAM 容量切换寄存器(IXS),可以改变内部闪存,内部高速RAM 和内部扩展RAM的容量,缓冲RAM:32 字节(可用于CSI 模式的

2、传送,具有自动发送/接收功能),自编程(具有启动交换功能)片上调试功能,主要用于产品开发阶段,内置上电复位(POC)电路和低电压检测电路(LVI)内置看门狗定时器内置乘法器/除法器(16 位 16 位,32 位/16 位)内置按键中断功能内置时钟输出/蜂鸣器输出控制器,I/O 端口:71(漏极开路:4),NEC微处理器PD78F0547D的基本结构,定时器:有8 通道16位定时/计数器:2 通道8 位定时/计数器:2 通道8 位定时器:2 通道时钟定时器:1 通道看门狗定时器:1 通道,NEC微处理器PD78F0547D的基本结构,串行接口:有5 通道UART(支持LIN 总线):1通道CSI

3、/UART:1通道CSI:1通道自动收发功能的CSI:1 通道I2C:1 通道,10 位分辨率A/D 转换器(AVREF=2.3 5.5 V):8 通道,电源电压:VDD=1.8 5.5 V,NEC微处理器PD78F0547D的基本结构,ANI0 to ANI7:Analog inputAVREF:Analog reference voltageAVSS:Analog groundBUSY0:Serial busy inputBUZ:Buzzer outputEVDD:Power supply for portEVSS:Ground for portEXCLK:External clock i

4、nput(main system clock)EXCLKS:External clock input(subsystem clock)EXLVI:External potential inputfor low-voltage detectorEXSCL0:External serial clock inputFLMD0:Flash programming modeINTP0 to INTP7:External interrupt inputKR0 to KR7:Key returnOCD0A,OCD0B,OCD1A,OCD1B:On chip debug input/outputP00 to

5、P06:Port 0P10 to P17:Port 1,NEC微处理器PD78F0547D的基本结构,P20 to P27:Port 2P30 to P33:Port 3P40 to P47:Port 4P50 to P57:Port 5P60 to P67:Port 6P70 to P77:Port 7P120 to P124:Port 12P130:Port 13P140 to P145:Port 14PCL:Programmable clock outputREGC:Regulator capacitanceRESET:ResetRxD0,RxD6:Receive dataSCK10,S

6、CK11,SCKA0:Serial clock input/outputSCL0:Serial clock input/outputSDA0:Serial data input/outputSI10,SI11,SIA0:Serial data input,NEC微处理器PD78F0547D的基本结构,SO10,SO11,SOA0:Serial data outputSSI11:Serial interface chip select inputSTB0:Serial strobeTI000,TI010,TI001,TI011,TI50,TI51:Timer inputTO00,TO01,TO5

7、0,TO51,TOH0,TOH1:Timer outputTxD0,TxD6:Transmit dataVDD:Power supplyVSS:GroundX1,X2:Crystal oscillator(main system clock)XT1,XT2:Crystal oscillator(subsystem clock),NEC微处理器PD78F0547D的基本结构,微处理器的寄存器,控制寄存器 控制程序执行的顺序、状态和堆栈空间。程序计数器(PC)、程序状态字(PSW)和堆栈指针寄存器(SP)都属于控制寄存器,程序计数器是一个16 位寄存器,用于存放下一条即将要执行的指令的地址。在正常

8、情况下,根据获取的指令字节数,程序计数器(PC)的值会自动累加。当执行分支指令时,则设置立即数和寄存器内容复位后,将中断向量表中地址为0000H和0001H 中的值赋给程序计数器,程序状态字(PSW)是一个8 位寄存器,由各种标志位组成,通过指令执行对其进行设置或复位。根据中断请求的产生或PUSH PSW 指令执行,程序状态字的内容自动入栈;执行RETB,RETI 和POP PSW指令使程序状态字的值自动恢复,复位将程序状态字的内容设置为02H,堆栈指针SP是一个16 位的寄存器,用来存放内存堆栈区的起始地址。只有内部高速RAM 区域才能被设置为堆栈区。堆栈是向下增长的。向堆栈存入数据时,堆栈

9、指针SP 累减,而从堆栈中恢复数据时,堆栈指针累加。复位时,SP 的内容不确定,所以在使用堆栈前必须初始化SP,微处理器的寄存器,微处理器的寄存器,微处理器的寄存器,通用寄存器通用寄存器映射到数据存储器的地址空间为FEE0H-FEFFH。共有四组,每一组由8 个8 位寄存器(X,A,C,B,E,D,L 和H)组成每个寄存器可作为一个8 位寄存器使用,两个成对的8 位寄存器可作为一个16 位寄存器(AX,BC,DE 和HL)使用。描述通用寄存器可以使用功能名称(X,A,C,B,E,D,L,H,AX,BC,DE 和HL)或者绝对名称(R0R7,RP0RP3)用于指令执行的寄存器组由CPU 控制指令

10、(SEL RBn)来设置,微处理器的寄存器,特殊功能寄存器(SFRs)与通用寄存器不同,每个特殊功能寄存器都有特定的功能。从FF00H 到FFFFH 总共256 字节的区域分配给特殊功能寄存器。特殊功能寄存器可以像通用寄存器那样使用操作指令、转移指令以及位操作指令进行操作。根据特殊功能寄存器的类型不同,可操作的位单元可以是1 位、8 位和16 位。,微处理器的寄存器,微处理器的存储器结构,78K0/KF2 系列可以访问64KB 的存储空间。内存容量切换寄存器(IMS)和所有78K0/KF2 产品的内部扩展RAM 容量切换寄存器(IXS)的初始值固定为(IMS=CFH,IXS=0CH)芯片初始化

11、时需要依次设置IMS 和IXS,设置内存容量切换寄存器(IMS)和内部扩展RAM容量切换寄存器(IXS)的值,微处理器的存储器结构,PD78F0547D 的微处理器的存储器结构特点,内部程序存储空间内部程序存储空间用于存储程序和表数据,一般通过程序计数器(PC)来寻址。内部程序存储空间主要分为以下几个区域:内部程序存储空间分成2部分:共享区域和存储器组区域,微处理器的存储器结构,共享区域:向量表区域:从0000H 到003FH 总共64 字节作为向量表区域。在向量表中存放的是系统复位后或每个中断请求的产生进行转移的程序的起始地址。在16 位地址中,低8 位是偶地址,高8 位是奇地址。是一个散转

12、表,也类似与中断向量表,微处理器的存储器结构,微处理器的存储器结构,CALLT 指令表区域:0040H 至007FH 共64 字节的区域,可存放单 字节调用指令(CALLT)的子程序入口地址(如CALLT 40H)选项字节区域:0080H 0084H 和1080H 1084H 各5 字节的区域可以用作选项字节区域。不使用引导交换功能时,在0080H 0084H 设置选项字节;使用引导交换功能时,在0080H 0084H 和1080H 1084 设置选项字节 CALLF 指令入口区域:0800H 0FFFH 的区域,是CALLF 指令的入口区域。用于子程序的直接调用,通过一个2 字节的调用指令(

13、CALLF)实现 片上调试安全ID 设置区域:0085H 008EH 和1085H 108EH 各10 字节区域可用作片上调试安全ID 设置区域。不使用引导交换功能时,在0085H 008EH 区域设置片上调试安全ID;当使用引导交换功能时,在0085H 008EH 和1085H 108EH 区域设置,微处理器的存储器结构,存储器组区域:对于78F0547D,8000H BFFFH 共16KB 的空间分配给存储器组0 5。并且通过存储器组选择寄存器(BANK)进行选择。在操作存储器组时,要注意如下规则:1.不能在不同的存储器组之间获取指令2.不能在不同的存储器组之间直接进行转移和访问。必须通过

14、共享区域执行不同存储器组之间的转移或访问操作3.在共享区域中分配中断服务程序4.扩展到7FFFH 8000H 的指令只能在存储器组0 中执行,微处理器的存储器结构,存储器组选择寄存器(BANK):由8 位存储器操作指令进行设置。复位信号将BANK 清零(00H)BANK 寄存器的格式如下:,微处理器的存储器结构,微处理器的存储器结构,程序存储器空间(32K+16K*6=128K)空间分共享区域和存储器组区域,访问存储器:存储器BANK号+CPU地址;FLASH存储器的绝对地址,存储器组之间的数据关联两个存储器组之间的数值不能直接关联,要从一个存储器组访问另一个存储器组,应进行一次转移操作,指向

15、公共区域(0000H 7FFFH),修改那里的BANK 设置,然后关联一个值,微处理器的存储器结构,存储器组之间的数据关联-程序示例,存储器组之间的指令转移存储器组之间不能直接转移指令,要在存储器组之间转移指令,应先转向公共区域(0000H 7FFFH),修改相关的BANK 寄存器的设置,然后再执行转移指令,微处理器的存储器结构,存储器组之间的指令转移-程序示例,存储器组之间不能直接调用子程序,要在存储器组之间调用子程序,应先转向公共区域(0000H 7FFFH),通过使用相关的BANK 寄存器指定调用目的地的存储器组,然后执行CALL 指令,通过该指令转向调用目的地。将BANK 的当前值存入

16、RAM。在执行RET 指令前恢复BANK 的值(相当于现场保护),存储器组之间的子程序调用,微处理器的存储器结构,当中断产生时,通过使用向量表,指令可以转向由BANK 指定的存储器组。如果中断时识别BANK 寄存器比较难,可以通过公共区域(0000H 7FFFH)的向量表指定转移目的地的地址,通过使用公共区域中的BANK 寄存器指定转移目的地的存储器组,并执行CALL 指令。此时在修改RAM 之前保存BANK 寄存器的内容,并在执行RETI 指令前恢复BANK 的值,通过中断将指令转向存储器组区域,微处理器的存储器结构,通过中断将指令转向存储器组区域,通过中断将指令转向存储器组区域-程序示例,

17、内部数据存储空间:包括以下几种RAM:内部高速RAM共有1024 8 位(FB00H FEFFH)的内部高速RAM,FEE0H FEFFH 共32 字节的区域分配给4组通用寄存器,每组都由8 个8 位寄存器组成。这个区域不可以用作写和执行指令的程序区域。可以作为堆栈存储器使用内部扩展RAM共有6144 8 位(E000H F7FFH)的内部扩展RAM,可作为普通数据区域,同时也可作为写和执行指令的程序存储区域。但不能用作堆栈,微处理器的存储器结构,特殊功能寄存器(SFR)区域片内外围硬件的特殊功能寄存器(SFR)被分配在:FF00H FFFFH 的区域WDTE 的复位值由选项字节的设置决定,复

18、位后该寄存器的值立即变为00H,但在等待高速内部振荡器的振荡精确稳定后,该寄存器值会自动变为80H。RESF 的复位值会根据复位源的变化而变化LVIM 和LVIS 的复位值随着复位源而变化不管内存容量有多大,内存容量切换寄存器(IMS)和内部扩展RAM 容量切换寄存器(IXS)的初始值都是固定的(IMS=CFH,IXS=0CH),微处理器的存储器结构,端口模式寄存器(PM0 PM7,PM12 和PM14):以1 位单元的方式定义端口的输入或输出模式。可以由1 位或8 位存储器操作指令设置这些寄存器,端口控制,端口控制,引脚I/O模式选择,端口寄存器(P0 P7,P12 P14):设置芯片端口要

19、输出的数据。如果在输入模式下读端口,则读取的是引脚电平。如果在输出模式下读端口,则读取的是输出锁存器的值。可以由1 位或8 位存储器操作指令设置这些寄存器,端口控制,输入输出数据控制,端口控制,上拉电阻选择寄存器(PU0,PU1,PU3 PU7,PU12 和PU14):寄存器指定是否使用P00 P60、P10 P17、P30 P33、P40 P47、P50 P57、P60 P67、P70 P77、P120 或P140 P145 的内部上拉电阻。内部上拉电阻可以以1 位单元的方式用于那些已设置为输入模式的引脚,并且这些引脚已通过PU0、PU1、PU3 PU7、PU12 和PU14 指定为使用内部

20、上拉电阻。不论是否设置了PU0、PU1、PU3 PU7、PU12 和PU14,设置为输出模式的引脚和用作复用功能的输出引脚都不连接内部上拉电阻。可以由1 位或8 位存储器操作指令设置这些寄存器,端口控制,端口控制,上拉电阻选择寄存器,A/D 端口配置寄存器(ADPC):寄存器将P20/ANI0 P27/ANI7 引脚切换为数字I/O 端口或A/D 转换器的模拟输入。可由1 位或者8 位存储器操作指令对ADPC 进行设置,通过使用端口模式寄存器2(PM2)将A/D 转换通道设置为输入模式;在使用模拟输入通道选择寄存器(ADS)时,不必通过ADPC 将引脚设置为数字I/O 引脚;如果将数据写入AD

21、PC,产生一个等待周期。当CPU 使用子系统时钟并且外部硬件时钟停止时,不要将数据写入ADPC,端口控制,写入I/O 端口(1)输出模式:使用传送指令对输出锁存器进行写操作,输出锁存器的内容从引脚输出。一旦数据写入输出锁存器,一直保存到新数据写入。通过复位将输出锁存器的内容清零(2)输入模式:使用传送指令对输出锁存器进行写操作,因为输出缓冲器处于关闭状态,所以引脚状态不会改变。一旦数据写入输出锁存器,它将一直保存到新数据写入从I/O 端口读数据(1)输出模式:使用传送指令读取输出锁存器的内容。输出锁存器的内容不会改变。(2)输入模式:使用传送指令读取引脚状态。输出锁存器的内容不改变。注意:在使

22、用1 位存储器操作指令的情况下,虽然操作的是1 位,但仍以8 位的操作形式访问端口。因此,对于一个既有输入引脚又有输出引脚的端口,所有定义为输入引脚的输出锁存器的内容是不确定的,而那些未被操作的位也是如此,端口控制,有5 种复位源:由RESET 引脚引起的外部复位信号输入 由看门狗定时器引起的内部复位 由高速系统时钟振荡器停止检测引起的内部复位 通过比较上电清零(POC)电路的供电电压和检测电压引起的内部复位 通过比较低电压检测电路(LVI)的供电电压和检测电压引起的内部复位,复位源,外部复位与内部复位在功能上没有什么区别。在这两种情况中,当输入复位信号时,程序都是从地址0000H 和0001

23、H 处开始执行。当RESET 引脚输入为低电平、看门狗定时器溢出、通过时钟监视器检测到高速系统时钟振荡器停止、或POC 和LVI 电路的电压检测都可以引起复位。在复位输入期间或在复位释放后振荡器稳定时间内,除P130(低电平输出)以外的每个引脚均为高阻抗。当复位有效时,P130 引脚的输出为低电平。如果在复位有效前将P130 设置为高电平输出,则P130 的输出信号可以作为CPU 复位信号的虚拟输出,可以用于外部硬件的复位操作,复位源,对于外部复位,输入RESET 引脚的低电平的时间应为10 s 或更长复位输入期间,高速系统时钟和内部振荡器时钟停止振荡,当RESET 引脚输入高电平时,释放复位

24、操作,并在CPU 时钟操作停止了17/fR(s)(fR为内部振荡器时钟频率)后使用内部振荡器时钟执行程序。由看门狗定时器和时钟监视器引起的复位在复位后自动释放,并在CPU 时钟操作停止了17/fR(s)后使用内部振荡器时钟执行程序。由POC 和LVI 电路供电检测引起的复位,在复位后,当VDD VPOC 或VDD VLVI时自动释放,并在CPU 时钟操作停止了17/fR(s)后使用内部振荡器时钟执行程序,复位源,复位电路对于外部复位,通常有下列几种情况需要加外部复位电路。当电源上升时间比较长时,通过RC 电路来保证VDD 达到最小工作电压时,复位后软件编程 系统在初始上电时电压会不稳,会引起反复复位,为避免 这种误操作,进入初始化操作前可以延时一段时间(50MS),一般复位后检查复位源(通过RESF寄存器),不同复位源可能进行不同的处理,然后就是初始化设置(堆栈指针、定时器,I/O口,RAM,A/D,串口等),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号