8098单片机的组成与指令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

增量器
高字存储器/移位器 低字存储器/移位器
16 循环计数器
16 A
8
暂存寄存器
16 B
常数0,1,2
PSW高字节 16
17位ALU
8高 延时器
8低
图9.2 RALU逻辑结构
第7页,共113页。
9.2.1 寄存器算术/逻辑运算单元RALU(续2)
暂存寄存器用来存放参加运算的第二操作数(包括乘除法运算的 乘数或除数)。减法运算时,第二操作数(减数)能够变补输出,送 ALU的B输入端。
RAM
240
0EFH
内部寄存器阵列
9.3.1 内部存储器(续1)
3.内部RAM
在8098单片机内部设置有256个字节单元的RAM存储器。这些RAM 单元全部用作寄存器文件和专用寄存器组SFR,其地址映象如图9.6所示, 与存储器统一编址。在指令系统中内部寄存器采用8位地址编码 (00H~FFH),外部存储器采用16位地址编码(0000H~0FFFFH)。寄 存器算术/逻辑运算单元RALU可对所有寄存器文件和专用寄存器组直接 进行操作。专用寄存器组SFR的功能如表9.1所示。
N:负标志位。带符号数运算时,若结果为负,N置1, 否则清0。
V:溢出标志位。带符号数运算时,若结果溢出,V置1,否则清 0。
第14页,共113页。
9.2.5 程序状态标志寄存器PSW(续2)
VT:溢出陷井位,用来记录溢出标志位V的溢出状态。当运算 结果溢出,V置1时,VT也置1;V清0时,VT不清0,而要用专门的 清0指令CLR VT来清0。这样,VT标志就允许在一段相关运算结束 时测试可能出现的溢出。
存储控制器用来控制CPU对除寄存器文件和特殊功能寄存器 SFR之外所有存储器的访问。
它通过A总线和几条控制信号线与RALU联接,接收A总线 上送来的地址和控制信号,控制存储器的读/写操作。在存储控 制器中设置有一个从程序计数器PC,顺序执行程序时每次取指 令后自动增值,指示下一取指单元。这样,避免了频繁地从 RALU获取指令地址,提高了取指令的速度。只有执行跳转指 令或调用子程序时,才将RALU中主程序计数器中的地址通过A 总线送从程序计数器。
9.2.1 寄存器算术/逻辑运算单元RALU
9.2.2 CPU总线结构 9.2.3 寄存器文件与专用寄存器组SFR 9.2.4 存储控制器
9.2.5 程序状态标志寄存器PSW 9.2.6 时钟与定时三相发生器
第5页,共113页。
9.2.1 寄存器算术/逻辑运算单元RALU
寄存器算术/逻辑运算单元RALU的内部结构如图9.2所示,其 中包括算术/逻辑部件ALU、程序计数器PC、程序状态标志寄存器 PSW、循环计数器、暂存寄存器和两个寄存器/移位器。算术/逻辑 部件ALU有17位,其中数据占16位,符号占1位。程序计数器PC 辅有增量器,可自动实现增量功能。
第4页,共113页。
9.2 8098CPU内部结构与特点
8098CPU的结构如图图9.1(2)所示,主要包括寄存器算术/ 逻辑运算单元RALU、寄存器文件、指令寄存器及控制逻辑部 件等,没有专用累加器,其算术/逻辑运算在组成寄存器文件的 232个寄存器和专用寄存器(SFR)中进行。这样提高了数据处 理的能力,消除了使用专用累加器时出现的“瓶颈现象”。
00H~17H单元。这些单元各有特殊的功能,CPU对所有部件的控 制都是通过专用寄存器进行的。大多数专用寄存器读/写操作时 分别具有不同的用途。12H~14H为保留单元,用于未来器件的扩 展,用户不能进行读/写操作。
这些专用寄存器的功能如书中表9.1所示。
第11页,共113页。
9.2.4 存储控制器
4.内部ROM加密 8398/8798单片机可对内部8KB程序存储器ROM/EPROM
加密,以免非法窃取源程序。加密方式如表9.2所示,由芯片配 置寄存器CCR中的LOC0和LOC1确定。
第21页,共113页。
9.3.1 内部存储器(续2)
表9.2 内部ROM 加密方式
LOC1(CCR.7) LOC0(CCR.6)
0
0
0
1
1
0
1
1
保护
读和写保护 读保护 写保护 不保护
保密码存放在2020H~202FH单元中,在访问内部
ROM/EPROM时,只有送入的保密码与2020H~202FH单元中的内 容相同时被保护单元中的内容才能读出。
第22页,共113页。
9.3.1 内部存储器(续3)
0FFH
掉电保护
255
0F0H
C:进位标志位。加法运算时,若最高位有进位,C置1,否 则清0;减法运算时表示借位,若最高位有借位,C清0,否则置1。 在带进位的移位中,其状态由移入的数据决定。
ST:粘着标志位。在右移操作中,若有1移入进位位C,然后又从C中 移出,ST置1,否则清0。ST标志位可与C标志位一起控制右移后的舍入操 作。
9.12 引脚功能
9.13 指令系统的特点
第1页,共113页。
9.1 概 述
8098单片机是Intel公司于1988年推出的高性能准16位嵌入 式单片机,属MCS-96系列。其内部组成如图9.1所示,有1个16 位的中央处理器CPU、8KB只读存储器ROM/EPROM、232B 随机存取存储器RAM、4路带采样—保持电路的10位 A/D转换 器、2个4位和2个8位并行I/O接口、1个全双工串行通讯接口、1 路脉冲调宽输出PWM、4路高速输入通道(HSI)、6路高速输出 通道(HSO)、2个16位可编程定时器/计数器、1个16位程序监督 跟踪定时器、24个专用寄存器、8级中断系统以及时钟电路等。 另外,还有4个软件定时器。
第8页,共113页。
9.2.2 CPU总线结构
在8098单片机内部采用总线结构。其中地址总线8位,简称为A总 线(AB)。数据总线16位,简称为D总线(DB)。D总线只能在寄存 器算术/逻辑部件RALU与寄存器文件或专用寄存器之间进行数据传送, 而A总线既可用来传送地址,又可作为存储控制器的多重地址/数据总 线。
高速I/O
控制信号
P3口 数据/地址 总线
P4口
P0口 P1口
P2口/ALT
图9.1 8098单片机内部组成
HSI HSO 图9.1(2)
第3页,共113页。
9.1 概 述(续2)
在8098系列中还包括有8398和8798单片机。其中8398中设置有 8K可加密的ROM存储器,8798中设置有8K EPROM存储器,8098 内部没有程序存储器。其外部有48个引脚,采用双列直插式封装。 有100条指令,采用8种寻址方式,可对7种类型的数据进行操作。
第2页,共113页。
9.1 概 述(续1)
VREF ANGND
VPD
参考频率
A/D转换器
A--BUS 时钟发生器
8
8K字节 EPROM
采样 保持
多路 转换
CPU
监视跟踪 定时器
232字节 寄存器 文件
寄存器 CPU
D--16
PWM
串行口
波特率
发生器
P2口多路转换
第13页,共113页。
9.2.5 程序状态标志寄存器PSW(续1)
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 字节地
PSW Z N V VT C — I ST
(中断屏蔽寄存器)
址08H
图9.3 程序状态标志寄存器PSW
Z:零标志位。在算术/逻辑运算时若运算结果为0,Z置1,否则 清0。对于带进位加法(ADDC)和带借位减法(SUBC)指令,结果 非0时,Z清0,结果为0时Z不变。这样,可实现多精度计算。
寄存器/移位器暂存参加运算的操作数,并能在乘除法运算 或数据据规格化时实现移位操作。
低字寄存器/移位器仅在双倍字长数据移位操作时使用,而 高字寄存器/移位器无论在单字长或双字长数据操作时均使用。
第6页,共113页。
9.2.1 寄存器算术/逻辑运算单元RALU(续1)
16位DB
8位AB
程序计数器PC
2.内部ROM
在8398单片机内部设有8KB的ROM存储器,在8798单片机内部设 有8KB的EPROM存储器,地址范围为2000H~3FFFH。当外部存储器选 择引脚接高电平,且寻址范围在2000H~3FFFH之间时,从片内
ROM/EPROM中读取指令或数据,否则从外部存储器读取。
第20页,共113页。
9.3.1 内部存储器
9.3.2 系统总线与外部存储器访问
第19页,共113页。
9.3.1 内部存储器
1.存储器空间分布
8098单片机的存储器采用普林斯顿结构,将程序存储器与数据存储 器合为一体。存储器空间为64KB,其中0000H~00FFH和1FFEH~2080H 单元有专门用途,而其它单元既可存放数据,又可存放程序,也可作为 I/O映象存储区。8098单片机的存储器空间分布如图9.6所示。
在寄存器文件中,第18H-19H单元用作堆栈指示器,不能随存 取。寄存器文件与专用寄存器组按存储器单元统一编址,访问时的 地址由两个8位地址寄存器提供。
第10页,共113页。
9.2.3 寄存器文件与专用寄存器组SFR(续)
2.专用寄存器组SFR 专用寄存器也称为特殊功能寄存器,是指8098内部RAM的
第9页,共113页。
9.2.3 寄存器文件与专用寄存器组SFR
1.寄存器文件
寄存器文件是指8098内部RAM中的232个字节单元,可按 字节、字或双倍字进行读/写操作,而且每一个寄存器都可作为 累加器使用。寄存器文件的地址映象如图9.6(2)所示,为 18H~FFH。其中F0H~FFH单元为电源电压可降低使用的RAM 寄存器。这些寄存器文件可用来存放数据或地址,在存放16位 数据时,相邻的两个寄存器组成一个16位的字寄存器,其中偶 地址寄存器存放低位字节,奇地址寄存器存放高位字节。
在存储控制器中设置有一个4字节队列,用来对取出的指令 字节排队。
第12页,共113页。
9.2.5 程序状态标志寄存器PSW
程序状态标志寄存器PSW如表9.3所示,共有16位。其中低8位作为 中断屏蔽寄存器,用来设置各中断源的中断允许与禁止,第9位(I)是 CPU中断允许位,用来设置CPU的中断允许与禁止,1表示中断允许,0 表示中断禁止,中断屏蔽寄存器的字节地址为08H。其余各位作为程序 状态标志位,其作用如下:
第9章 8098单片机的组成与指令系统 特点
9.1 概 述
9.2 8098CPU内部结构与特点
9.3 存储器 9.4 并行I/O接口 9.5 中断控制 9.6 定时器
9.7 高速输入HSI与高速输出HSO
9.8 模拟输入 9.9 脉冲宽度调制PWM输出
9.10 串行I/O接口 9.11 复位与电源电压下降使用方式
第16页,共113页。
9.2.6 时钟与定时三相发生器(续1)
三相发生器 (三分频)
内部电路
XTAL1
8098 XTAL2
图9.4 CPU时钟电路
第17页,共113页。
9.2.6 时钟与定时三相发生器(续2)
XTAL1
A CLKOUT
B C
B-C
图9.5 CPU内部定时
第18页,共113页。
9.3 存储器
第15页,共113页。
9.2.6 时钟与定时三相发生器
(三分频)内部电路8098XTAL1XTAL2图9.4CPU时钟电路 定时时钟信号可由内部产生,也可由XTAL1引脚输入,其频率范 围为6~12MHZ。内部振荡电路由一个单级非门构成,与石英晶体配合 使用,可构成具有感抗特性的晶体振荡器,如图9.4所示。外接电容器 C1、C2通常取30PF左右。XTAL1A CLKOUTBCB-C图9.5CPU内部定时 晶体振荡器或外部输入的时钟信号经三分频后产生三相脉冲序列 A、B、C,如图9.5所示。各相中的每一个脉冲周期称为时钟周期,用 T表示,也称为状态周期。一个时钟周期包含三个振荡周期,时钟脉 冲的占空比为1:3。8098内部的大部分操作是由A相或B相或C相脉冲同 步。另外,A相脉冲可通过CLKOUT引脚输出。
循环计数器有5位,计数值为00H~1FH,在循环移位时计数。 延时电路用来将16位总线上的数据转换成2个8位数送A总线。 图中的常数是在进行某些运算时使用,譬如求补,执行加1指令, 地址自增等。 在RALU中所有寄存器均为16位或17位(包括1个符号位)。程序 执行时,指令通过A总线送入指令寄存器,经译码后由控制逻辑部件 产生一系列控制信号,控制单片机各部件的工作。指令执行后的结果 特征送程序状态标志寄存器PSW。
相关文档
最新文档