找回密码
 注册
搜索
查看: 967|回复: 0

[MCU资料] 学习资料8

[复制链接]
发表于 2008-3-28 18:50:18 | 显示全部楼层 |阅读模式
第七章  8098单片机简介
一、8098概述
80年代中期,单片机的应用进入了16位单片机的时代。Intel公司继MCS-51单片机之后,于1983年推出16位单片机8098,并于1985年年底推出改进型8096BH,它与8096相比,最大改进是外部数据总线的宽度既可以是16位,又可以是8位,在适应外部设备的需要方面,具有很强的灵活性。虽然16位8096单片机在性能上优于51系列,但由于它价格昂贵,与目前广泛使用的8 I/O接口芯片匹配较为复杂,帮使其普及应用受到一定限制。1988年年底Intel公司推出了具有8位机价格16位机性能的8098单片机,从而使MCS-96系列单片机的应用有了飞跃性的突破。在此基础上,Intel公司又推出了性能更强的CMOS芯片80C196/80C198,它们除保留了8096BH/8098的功能外,还增加了许多内部功能和指令功能,且速度相当于9096BH/8098的两倍,使其在高层次的应用中有很大的前景。表13.1给出了MCS-96系列单片机主要芯片(8097,8097BH,8098,80C196KB和80C198)的性能。
表13.1  MC-96系列单片机性能表

MCS-96包含3 个子系列:8096、8098和8096BH。8096BH完全兼容8096/98,且功能更强。它们可有三种分类方式:按片内有无ROM或EPROM分类;按片内有无A/D分类;按管脚数目分类(可为49/68),其中48引脚采用双列直插式结构,陶瓷或塑料封装,68引脚采用格栅阵列和扁平式结构,陶瓷或塑料封装。表13.2列出了20种产品的型号(对8096,8096BH型而言)。

表13.2   MCS-96系列的产品型号
类  型 脚  数 无A/D 有A/D
无ROM型 48脚 8094-90
8094BH 8095-90
8095BH
68脚 8096-90
8096BH 8097-90
8097BH
有ROM型 48脚 8094-90
8094BH 8095-90
8095BH
68脚 8096-90
8096BH 8097-90
8097BH
ERROM型 48脚 8994BH 8795BH
68脚 8796BH 8797BH
MCS-96是高性能的单片机,特别适合应用于要求很高的实时控制场合,如工业控制、仪器仪表和计算机的智能外设。表13.3列出了MCS-96系列单片机的应用。
表13.3  MCS-96系列单片机的的应用
工业方面: 导航与控制方面
电机控制 导弹制导
工业机器 鱼雷制导控制
离散与连续过程控制 智能武器装置
数字控制 航天导航系统
智能传感器 数据处理方面:
仪器仪表方面: 图开终端
医疗器械 彩色与黑白复印机
液体和气体色谱仪 温式硬盘驱动
示波器 磁带机驱动
消费品方面: 打印机
录像机 汽车方面:
激光盘驱动 点火控制
高级电视游戏 变速器控制
电讯方面: 燃料控制
调制解调器 防滑刹车
智能线路控制 排气控制
二、8098内部结构
图13.1是8098的内部结构框图.
图13.1
它主要由一个寄存器算术逻辑单元RALU、232B的寄存器阵列以及一些外围子系统构成。由RALU控制的外围子系统包括以下部分:高速输入/输出口(HIS/HSO)、带有采样/保持电路的4通道10位A/D转换器、一个可供D/A转换使用的脉冲宽度调制输出(PWM)、中断控制器和等待状态产生逻辑、一个同步/异步串行口、两个16位定时器、一个监督定时器。此外,片内还设有时钟脉冲发生器。
8096系列产品包括三种芯片:8398、8795BH和8098,它们的不同之处在于:8398片内有8K字节的掩膜ROM;8795BH片内有8KB的EPROM;8098片内无ROM(EPROM)。本书将主要介绍8098单片机。
三、引脚功能
8098采用48引脚双列直插式封装,其引脚排列如图13.2所示。
















图13.2
引脚功能如下:
。Vcc ——主电源(+5V)。
。Vss —— 数字地(0V),有两个Vss,须同时接地。
。Vpd —— RAM备用电源(+5V)。正常操作期间,此电源必须接通。在掉电情况下,当Vcc 尚未降至RAM所需规范电压值以下时(Vpd正常供电),RESET信号有效,则片内寄存器顶部的16个字节内容得以维持不变,在掉电期间RESET必须保持低电平,直至Vcc恢复正常且振荡器达到稳定时为止。
。Vref—— 片内A/D的参考电压(+5V),同时也是A/D模拟部分的电源电压及读P0所用逻辑电路的供电电压。
。ANGND——A/D的模拟地,通常应与Vss保持同电位。
。Vpp ——片内EPROM的编程电压针对8795BH而言。
。STAL1——片内反相振荡器的输出,也是片内时钟发生器的输入,通常接外部晶体。
。STAL2——片内反相振荡器的输出,通常接外部晶体。
。RESET——复位信号输入,低电平有效,两个状态周期以上的低电平输入可使芯片复位。RESET再变为高电平时(高电平持续时间大于10个状态周期)可产生10个周期的内部复位序列,复位序列之后各专用寄存器的状态参看表13.4。






表13.4  8098复位寄存器的状态
寄存器 复位状态 寄存器 复位状态
P2 --0----1H 定时器2 0000H
P3口 FFH 监视定时器 0000H
P3口 FFH HIS方式寄存器 FFH
PWM控制 00H HIS状态寄存器 不定
TXD串行口发送  不定 IOS0 00H
RXD串行口接收 不定 IOS0 00H
波特率寄存器 不定 IOC0 -0-0-0-0-0B
串行口控制 ----0---B IOC0 -0-0---1B
串行口状态 -00-----B HIS FIFO 空
A/D命令寄存器 不定 HSO CAM 空
A/D结果寄存器 不定 HSO SFR(HSO通道 ) 00H
中断登记寄存器 不定 PSW 0000H
中断屏蔽寄存器 00 堆栈指针寄存器 不定
定时器1 0000H  程序计数器PC 2080H
。EA——存储器选择输入端。当EA=0时,CPU对外部存储器操作,当EA=1时,CPU对片内存储器(EPROM/ROM)的2000H––3FFFH单元操作,地址在4000H以后,访问外部存储器,此引脚内部有下拉作用,若引脚无驱动,它总保持低电平。
。ALE/ADV——地址锁存允许或地址输出有效(由芯片控制器CCR选择)。当ALE为高电平时,表示地址/数据总线上传送的是存储器地址,ALE下降沿将地址锁存到地址锁存到地址锁存器中。
。RD——外部存储器读信号,输出低电平有效。
。WR——外部存储器写信号,输出低电平有效。
。READY——准备就绪信号(输入)。它用来延长对外部存储器的访问周期,以便与慢速存储器或动态存储器接口。它也可用于总线共享,总线周期最多可延长至1μs。通过CCR寄存器可控制插入总线周期中的状态数。该引脚内部有微弱的上位作用,在无外部驱动器时,为高电平。
。HIS——高速输入(HIS。0~HIS。3)引脚,其中HIS。2和HIS。3与两个高速输出引脚公用。
。HSO——高速输出(HSO。0~HSO。5)引脚,其中HSO。4和HSO。5与两个HIS引脚公用。
。P0口——4路高阻输入口,既可作为A/D转换器的模拟量输入(ACH4~ACH7),又可作为数字量输入(P0.4~宽。7),也可同时输入模拟信号和数字信号。
。P2口——4位多功能口(P2.0,P2.1,P2.5)。它们除用作标准的I/O口之外,还具有复用功能,表13.5给出P2口各引脚的基本功能和复用功能。
。P3/P4口 ——均为8位双向I/O口,具有两种功能,既可用作具有漏极开路输出的双向口,也可作为系统总线。用作系统总线时,P3口传送低8位地址及8位数据,P4口传送高8位地址,此时,引脚内部有上位作用。
表13.5   P2口的多功能表
引  脚 功  能 复 用 功 能 控 制 位
P2.0 输出 TXD(串行口发送) IOC1.5
P2.1 输入 RXD(串行口接收) SP-CON.3
P2.2 输入 EXTINT(外中断) IOC1.1
P2.5 输出 PWM(脉宽制) IOC1.0
四、8098 单片机CPU结构
8098CPU由寄存器算术逻辑单元(RALU)和寄存器组两个部件组成,它与外界的通信是通过特殊功能寄存器(SFR)或存储器控制器进行的。8098CPU在结构上的最大特点是抛弃了类似MCS-51系列单片机的只有1~2个累加器的常规结构,CPU可在SFR和片内寄存器阵列所构成的256个字节空间内进行操作。这些寄存器都具有累加器的功能,它们可使CPU对运算数据进行快速交换,并且提供高速数据处理和频繁的I/O访问能力,从而消除了常规累加器结构所出现的“瓶颈现象”。
(一)CPU总线
CPU的两个主要部件RALU和寄存器是通过一个控制单元和两组总线连接起来的。这两组总线是:8位地址总线(A––BUS)和16位数据总线(D––BUS)。D––BUS仅在RALU与寄存器阵列或SFRP之间传送数据,A––BUS则用作上述数据传送的地址总线,或用作与存储器控制器连接的多路复用地址/数据总线。应该指出,无论是对片内ROM或是对片外存储器的访问都是通过存储器控制器进行的。
(二)CPU寄存器阵列
CPUP寄存组共有232B的RAM单元,这些单元可按字节、字或双字存取。这些单元中的任何一个都可以为RALU所用,这样,CPU好比有232个累加器一样,使用灵活方便。需要指出的是,寄存器阵列中的第一个字专门留作堆栈指针,因此,当需要用堆栈时,该字不得用以存放数据。访问寄存器阵列和SFR的地址由CPU硬件控制,它们存放在两个8位地址寄存器内。
(三)寄存器算术逻辑单元RALU
8098的大多数运算是由RALU来完成的,其结构框图如图13.3所示。它主要包括一个17位的算术逻辑单元(ALU)、程序状态字(PSW)、程序计数器(PC)、循环计数器(LOOP COUNTER)和三个暂存器。上述所有寄存器都是16位或17位(16位加符号扩展位)。其中有些寄存器可以脱离ALU而单独进行一些简单的运算,以减轻CPU的负担。例如框图中为PC设置的增一器,用以在每取一字节指令使PC值自动增1,然而,程序的转移必须用ALU控制。





















图13.3
三个暂存寄存器中,有两个自身具备移动逻辑,用于需要进行逻辑移位(包括规格化、乘、除运算)的操作中,低位字寄存器仅在双字长数据移位时使用,而高位字寄存器用于各种移位操作,也可用作指令的暂存器。当执行循环移位操作时,由5位循环计数器完成循环计数。第三个暂存器的任务是暂存器。当执行循环移位操作时,由5位循环计数器完成循环计数。第三个暂存器的任务是在执行双操作数指令时,存放第二个操作数。
延时电路用于将16位总线转换成8位总线,即把ALU同时送出的16位数分成高低8位先后送往8位总线。这一做法也是在8位A总线上传送所有地址和指令时所要求的。此外,在RALU中还存放有若干常数(如0,1,2),它们用于加速某些运算。例如,当RALU需要求补或执行如加1、减1指令时,这些常数就会有用。
(四)内部定时
8098时钟信号的产生有内部时钟方式和外部时钟方式两种。内部时钟方式与MCS-51内部时钟方式类似,是直接利用芯片内部的振荡器,外接晶体到引脚XTAL1和XTAL2;外部时钟方式是将外部时钟信号由XTAL1输入。8098的工作时钟频率为6MHz—12MHz。
8098单片机内部定时波形图如图13.4所示。内部产生或外部输入的振荡信号经片内三相发生器三分频后得到三相内部定时信号。各相信号每过三个振荡周期重复一次。故三个振荡周期称作一个状态周期 — 8098操作的基本时间单位。大部分内部操作都与A相、B相或C相同步。三相信号的占空比均为33%。
图13.4   8098内部定时波形图
五、8098单片机存储空间与总线控制
8098的存储器是采用程序存储器和数据存储器合二为一的普林斯顿结构。直接寻址范围为64KB。其中大部分空间(0100H-1FFFH和2080H-FFFFH)是用户可以自由使用的空间,可用来存放程序、数据或用作I/O口的映象存储区。图13.5为8098存储空间分布图。其中“保留”的空间是Intel公司试验所用或留待新产品设计时使用。这些单元中必须置为FFH,以确保现有芯片与新产品兼容。
图13.5
(一) 存储空间分配
特殊功能寄存器(SFR)
8098地址为00H-FFH的空间为内部RAM空间(参看图13.5),它由特殊功能寄存器(SFR)和寄存器阵列组成,其中00H-17H单元为24个SFR。8098内部的各功能部件都通过SFR进行控制。SFR的功能如表13.6所示。其中许多SFR具有两种功能,即读操作时为一种功能,写操作时为另一种功能。
            





表13.6 SFR及其功能说明一览表
寄存器 名称 功能说明
R0 零寄存器 读出值恒为零,作变址寻址的基地址,亦可作计数和比较时的常数
AD–RESULT A/D结果寄存器 存入A/D转换结果的高低字节,只能按字节该出
AD–COMMAND A/D命令寄存器 控制A/D转换
HIS–MODE HIS方式寄存器 用于设置高速输入部件的工作方式
HIS–TIME HIS时间寄存器 有高、低两字节,存放触发HIS的时间值。只能按字读出
HSO–TIME HIO时间寄存器 有高、低两字节,存放高速输出的时间值,以便根据此值执行寄存器中的命令。只能按字写入
HSO–COMMAND HSO命令时间寄存器 确定在装入HSO–TIME的时间过后该发生的事件
HIS–STATUS HIS状态寄存器 批示在HIS–TIME所记录的时刻,HIS引脚是否发生了事件以及它们的当前状态
SBUP(TX) 串行口发送缓冲器 存放要发送的数据字节
SBUP(RX) 串行口接收缓冲器 存放刚收到的数据字节
INT–MASK 中断屏蔽寄存器 设置各中断源的中断允许/禁止
INT–PENDINC 中断登记寄存器 用来记录各中断源的中断申请
WATCHDOC 监督定时寄存器 具有计数功能,用来以时钟脉冲计数,以跟踪程序的运行
TIMER1 定时器1 具有高字节和低字节的16位定时计数器,只能按字读出
TIMER2 定时器2 具有高字节和低字节的16位定时计数器,只能按字读出
IO–PORT0 P0口寄存器 存放P0口各引脚的输入值
IO–PORT1 P1的寄存器 用于对P1口的读写,这是8096BH的P1口,8098无此端口
IO–PORT2 P2口寄存器 用于对P2的读写
BAUD–RATE 波特率寄存器 存放串行口的波特率
SP–STAT 串行口状态寄存器 批示串行口的工作状态
SP–CON 串行口控制寄存器 设置串行口的工作方式
IOS0 I/O状态寄存器0 存放HSO状态信息
IOS1 I/O状态寄存器1 存放定时器及HIS的状态信息
IOC0 I/O控制寄存器0 控制HIS引脚的输入、定时器2的源及时钟源
IOC1 I/O控制寄存器1 控制P2口引脚的利用功能、定时器中断和HIS中断
PWM–ONTROL 脉宽调制控制寄存器 设置PWM脉冲宽
1. 寄存器阵列
在内部RAM中,除24个SFR外,其余各寄存器构成寄存器阵列。在232个寄存器阵列中。18H和19H两个单元作为堆栈地址指针(若无堆栈操作,则这两个单元可作为内部RAM使用),内容可由用户程序在初始化时设定,指向64KB存储空间的任何地方。其余230个单元作为用户寄存器使用,它们相当于RALU的230个(或232个)累加器。
2. 掉电保护空间
8098内部RAM空间顶部的16个字节(F0H––FFH)接Vcc和Vpd引脚电源,在Vcc电压下降期间,可由Vpd引脚的备用电源供电,以维持这些单元中的内容不被丢失。此备用电源的电流约为1mA,电压为4.5~5.5V,故可用电池作此引脚的后备电源。
电源电压掉电时序如图13.6所示。为了防止在电源电压下降时对上述单元进行误写入,必须保证RESET引脚在电压下降时首先下拉为低电平时,并保持2个状态周期,使CPU和其他有关寄存器复位,不再进行写入操作。此后,只要Vpd维持不变,上述单元中的内容就会长期保存。


图13.6
当Vcc升至正常值时,RESET仍应保持低电平,当片内振荡器起振时,8098必须稳定供电。时钟振荡稳定两个状态周期后,RESET引脚可被拉成高电平,8098脱离供电周期后,开始执行2080H单元的指令。
(二)存储控制器
存储控制器是RALU用以访问存储器(寄存器组或用寄存器空间诸单元除外)的中间媒介,它通过A–BUS和其他控制线与RALU相连接。由于A–BUS是8位的。因此,为避免频繁地从RALU取指令地址,加快取指令速度,在存储控制器中设有一个辅助程序计数器(或称为PC),当顺序执行指令时,每次取指令后该PC值自动加1,只有执行跳转指令或子程序调用指令时,才把RALU的主PC的内容通过A–BUS加载到PC中去。
此外,存储控制器中还有一个4字节的寄存器阵列,以加速执行过程,除在外总线周期期间插入等待状态外,此4个寄存器阵列对RALU和用户来说可自由使用。
(三)系统总线
8098有多种运行方式,最常用的是标准总线方式,在此方式下,CPU通过16位地址线AD0~AD15对片外存储器或I/O寻址,其中低8位地址线与8位数据总线多路切换运行。这些线共用P3和P4口的引脚。地址锁存允许信号ALE用于分离总线上的地址和数据信息,其下降沿锁存低8位地址AD0~AD7。
总线定时
图13.7为8098外部存储器操作的定时波形。当从外存储器取数时,ALE变高,16位地址从AD0~AD15送出,随后ALE变低,其下降沿将地址低8位送入地址锁存器。然后地址信号从引脚上消失,RD降为低电平,此时,片外存储器应将其数据送入8098的数据总线,在RD上升沿之前,来自片内存储器的数据必须在总线上稳定一段时间,这段时间不得低于RD的上升沿把数据锁入8098,这就是读操作。
图13.7  8098总线定时波形
片外存储器的写操作要求的时序与读操作相似。主要判别为写操作由WR取代RD。当WR下降时,8098从总线上撤消地址信号的同时送出所要写的数据。WR升为高电平时,总线上的数据被锁入片外存储器。
为实现对低速存储器的存取及总线共享(DMA),8098提供了一条准备就绪READY信号,以展宽读写信号。当READY为低电平时,CPU进入等待状态,READY变高,CPU继续对存储器进行读写操作。
1. 芯片配置寄存器(CCR)
8098内设一个存放芯片操作方式信息的寄存器CCR,通过CCR选择不同的操作方式以简化存储器系统,简化接口要求和总线控制。CCR寄存器中各位的定义如图13.8所示。其中CCR最高两位用于以控制内部ROM/EPROM的加密等级。
图13.8
CCR是一个不属于内部RAM的特殊功能寄存器,系统工作时,无法通过访问内部RAM指令改变CCR内容。CCR的内容由用户预先写入2018H单元(芯片配置字节),8098复位时,该芯片配置字节被自动送入CCR。CCR一旦被加载,便不能再改变,直至下一次复位。在每种总线方式下,8098总能正确地读取该单元的内容。
2. 总线控制
通过CCR,8098可提供四种类型的总线控制信号。为减少片外硬件,ALE和WR信号线被赋予了双重功能,由CCR.2和CCR.3选择。如表13.7所示。
(1) 标准总线方式 此方式提供标准的ALE 和WR控制信号。每次写操作都产生WR信号,当总线上出现地址码时,ALE变为高电平,此后的下降沿用以将地址码的低8位锁存在外部锁存器中。图13.9(a)所示为它的时序。
(2) 地址有效选通方式 此方式ALE的功能被地址有效选通信号ADV取代。一旦外部地址建立起来,ADV变低,直至总线周期结束才升为高电平,这表明ADV可作为外部存储器的片选信号,时序见图13.9(b).
(3) 写选通方式 8098总线控制器的一个特有功能是利用CCR来选择WR信号的宽度.写选通方式为窄宽度WR方式,时序如图13.9(c)所示。显然,在与靠WR下降沿锁存数据的器件接口时,这一特点非常有用。
(4) 地址有效并写选通方式 此方式ALE引脚出现ADV,WR为窄宽度信号,如图13.9(d)所示。
(a) 标准总线方式 (b) 地址有效选通方式 (c) 写选通方式 (d) 地址有效并写选通方式
图13.9  总线控制信号
3. 准备就绪控制
为简化就绪控制,8098提供了四种方式的内部就绪控制逻辑,可通过CCR.4和CCR.5选择,表13.8给出了可选择的等待状态数内部就绪控制逻辑可用来限制慢速器件插入到总线周期中的等待状态数。当就绪引脚(READY)被拉成低电平时,总线周期中将插入等待状态,直到READY升为高电平或者到已插入的等待状态数等于CCR。4和CCR。5所限定的数目为止。两种情况以先出现者为准。
六、8098单片机的中断系统
(一) 中断源
8098有八种中断类型,包括两个外部中断(EXTINT 和HIS。0)和六个内部中断。有些中断又有若干个中断请求.这样中断源共计有20多个,图13.10是8098中断源简图。图中外部中断源EXTINT和A/D转换通道7合用一个中断源 ;六个内部中断包括:串行口中断、定时器溢出断、A/D转换结束中断、高速输出HSO中断、HIS数据中效中断,另外,软件定时器中断、启动A/D转换中断、复位定时器2中断三者合用一个中断源。图中虚线处标的是与该中断有关的控制位。
图13.10
8098每个中断源都有相对应的中断向量,中断向量单元存放着中断服务程序的入口地址。表13.9给出了中断向量地址表。
表13.9  8098中断向量地址表
   中  断  源 中断向量地址 优 先 权
高字节 低字节
软件中断 2011H 2010H 用户不采用
外中断
串行口中断
软件定时器中断
HIS。0中断
高速输出中断
高速输入数据有效中断
高速输入数据有效中断
A/D转换结束中断
定时器溢出中断 200FH
200DH
200BH
2009H
2007H
2005H
2003H
2001H 200EH
200CH
200AH
2008H
2006H
2004H
2002H
2000H 7(最高)
6
5
4
3
2
1
0(最低)
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-7 19:21 , Processed in 0.049026 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表