APP下载

准十六位单片机8098及80C198

2003-04-29陈再清

电子世界 2003年12期
关键词:数据总线存储空间低电平

陈再清

MCS-96系列单片机是Intel公司生产的十六位单片机,该系列约有20多个品种50余个型号。大体上可以归为两大类型,即早期生产的8X9X类型和后期生产的8XC19X类型,后者在性能上有所改进,但两者共用一套指令系统,硬件结构也大体相同,换型使用很方便。8098属于8X9X中的一个型号,而80C198属于8XC19X中的一个型号,它们都是准十六位单片机,是MCS-96系列中的最简单的同时也是最廉价的产品。

虽则八位单片机(如MCS-51系列等)应用十分广泛,但也只适应于一些比较简单的控制系统中。对于一些较复杂的高级的控制系统:如电力控制及保护系统、快速高精度测量系统、智能化仪器仪表、机电一体化等等,八位机就显得有些力不从心,而十六位单片机MCS-96系列获得了广泛的应用。

十六位单片机有着八位单片机所不具备的众多的优越性,限于篇幅,下面仅谈几点。

(1)十六位单片机运行速度快,这取决于单片机内部的硬件结构。8X9X芯片采用晶振频率三分频后获得的A、B、C三相波作为时钟信号,不光运行速度快(当晶振为12MHz时,每个状态周期为0.25μs),而且A、B、C三相时钟信号根据需要可自动作为各种操作的同步信号,工作效率很高。8XC19X类芯片运行速度更快,它采用二分频来获得时钟信号(当晶振频率为16MHz时,每个状态周期为0.125μs)。

(2)由于MCS-96采用十六位运算方式,无论是取指还是读、写存储器都可以以“字”为单位进行,而八位机只能以“字节”方式进行,两者比较,前者的速度明显的快。十六位单片机的运算精度也高于八位单片机,MCS-96支持字节、字、双字、短整型数、整型数、长整型数、位等,数据类型丰富,运算过程简洁。特别是作多位数的乘、除法时,只须一条指令便可完成,而八位机得编上一段子程序才能完成,过程复杂且耽误时间。

(3)在51系列中,虽则数据的传送可以以直接地址方式进行,但某些运算(如加、减、乘、除以及逻辑运算等),都还离不开累加器A,故瓶颈现象依然存在。而MCS-96的片内232个RAM寄存器都可以作为累加器使用,从而彻底地消灭了瓶颈现象,这样就免去了编程中的一些累赘过程。程序简练,运算过程快。

(4)MCS-96的每一个子序列大都包括三种芯片(以8X9X类芯片为例),即片内无程序存储器的809X芯片,片内带掩模ROM程序存储器的839X芯片,片内有EPROM程序存储器的879X芯片。其中,879X芯片提供了专用的硬件功能,它本身能支持EPROM编程和校验,且编程方式灵活,有自动编程方式、从机编程方式、运行编程方式等三种。这样就省去了价格昂贵的编程器。

此外,8X9X芯片内还集成有51系列所没有的高速输入器HSI、高速输出器HSO、8路10位A/D转换器、脉宽调制输出PWM、片内看门狗等硬件结构。

至于8XC19X芯片的功能较之8X9X芯片又有所改进,有关这方面的内容,读者可参考有关资料,此处不一一介绍。

准十六位单片机8098 MCS-96系列中有全十六位机与准十六位机之分,所谓全十六位机是指芯片外部的数据总线为十六位;而准十六位机是指芯片外部的数据总线为八位。但不管是全十六位还是准十六位,芯片内部结构都是十六位。

在早期生产的8X9X类芯片中,准十六位机是指其子系列8X98,而其中又以8098芯片应用最广。由前所述,它是片内无程序存储器的一种,不光结构最简单,同时使用也最简单,而且价格低廉。它的封装为48脚的双列直插(DIP)方式,8098对外的数据总线是八位运行方式,因而8098是一种准十六位单片机。8098对外的总线结构与51系列相同,它的地址总线为十六位,低八位的地址总线与八位的数据总线也是通过地址锁存器74LS373进行分时处理,这一点对于熟悉51芯片的人并不陌生,因而由使用51芯片转为使用8098芯片并不困难,而单片机却由八位机变为了十六位机,上了一个档次,成为了高档的单片机,这也是8098获得广泛应用的原因所在。90年代初期,比较高级的单片机系统大多是采用8098芯片,90年代中后期,8098芯片产量减少,原因之一可能是该芯片的功耗较大,工作时温度较高,在恶劣的环境(环境温度高)下工作有可能不稳定。由于当时的市场需求量仍然较大,导致该芯片的价格翻了几倍,由此也可以看出该芯片还是很受使用者青睐的。

图1主要介绍8098芯片对外的总线工作方式。由于程序存储器IC2和数据存储器IC3都采用八位数据总线,故结构比较简单,也比较常用。由于十六位单片机在读指令时通常是读一个字而不是字节,对于片外的八位程序存储器而言,需连续自动读两次,显然比片外十六位程序存储器一次读入一个字要慢一些。对于片外的八位数据存储器,如欲读出或写入一个字,也需连续两次才行。这也就是准十六位机比全十六位机运行速度要稍慢的原因之一。

图1中8098的高八位A8~A15只提供片外存储器的地址而不提供数据,低八位AD0~AD7提供地址/数据,并通过IC4锁存地址进行分时处理。图2给出了单片机对外部存储器操作的有关控制信号的时序图。当ALE变正时,低八位地址线AD0~AD7和高八位地址线A8~A15出现在地址/数据总线上,ALE变低时,低八位地址被锁存,而高八位地址在整个状态周期中有效。当读(RD)或写(WR)信号线变低时,数据出现在低八位的地址/数据总线上,读或写信号线升高时,存储器的数据被读到单片机内,或单片机内的数据被写进存储器中。因片内无程序存储器,指令须从外部读入,故EA接地。存储空间的分配是由高位地址线A14、A15 并通过IC5A译码器来实现的。各量之间的关系见表1。

当A15为低电平时(不管A14为何种电平),直接选通程序存储器IC2。当A15为高电平、A14为低电平时,Y2为低电平,选通数据存储器IC3(因难找到62128存储芯片,此处用62256代替)。当A14为高电平时,Y3为低电平,选通对外的八位数据输入输出口IC6(对外的输出的地址线为A0~A15)。由RD和IC5B通过译码来确定IC6的数据传送方向:为低时,Y2低电平,由外部输入8位数据;否则,向外部输出8位数据。图3给出了片外存储空间地址分配图,由图可知,8098的程序存储空间和数据存储空间及其它空间都是在同一个地址空间内统一分配的,总共为64K X 8位。

与51系列不同,MCS-96单片机能实现多种总线配置方案,为了满足存储器的接口要求和就绪控制,所有可供灵活选择的信息都集中在一个特殊的称之为芯片配置寄存器CCR中。该寄存器内各位的功能如表2。

CCR的D6、D7位是作为片内程序存储器密锁之用,对于8098 而言,使用的是片外程序存储器,D6、D7位都应设置为1。D4、D5通常也可设置为1。D3、D2也为1。D1为0。故CCR的内容为FDH。CCR的内容是不可访问的,它是将有关内容先写入片外程序存储器中的2018单元,然后再通过一次复位操作,便将2018单元的内容复制到CCR中。

与51系列另一个不同之处是单片机复位后程序运行的起始地址不是0000H而是2080H。

准十六位单片机80C198 Intel公司后期生产的8XC19X类芯片采用的是CHNOS结构,耗电很省。类似于8X98,它也有一个简单而又廉价的成员8XC198子系列。其中也有一款与8098相同的80C198芯片,只是封装不同,采用的是52脚的PLCC封装,80C198芯片也具有8098结构简单使用方便等特点,而且耗电很省,完全可以替代8098芯片。它也可以构成图1的电路,只是引出脚的脚号不同而已,它的CCR寄存器的内容也同于8098。它比8098多出了4个脚,其中有一脚为INST,在电路设计上可以派上新的用场。

熟悉51系列单片机的读者都知道,它的取指是由PSEN线进行控制,数据存储器的读、写由RD、WR线控制,它的程序存储区与数据存储区是分开的,各占64K X 8位。这是51系列的优点之一。

本电路通过取指信号线INST也可以获得51系列的双存储区。通常,INST脚保持低电平,选通数据片IC3(RAM:64K X 8位,也可以采用存储空间大的芯片,只须将其芯片上大于A15的地址脚接地即可);取指时,在地址有效期间,INST保持高电平,通过反相器D选通程序器IC2(EPROM: 64K X 8位),因而获得双存储空间。图4给出了相应的电原理图,图 5、图6 分别给出了时序图和存储空间分配图。

猜你喜欢

数据总线存储空间低电平
一汽-大众速腾轿车行驶中为何偶发多个故障灯点亮
数字电路中“逻辑非”的用法辨析
基于多种群协同进化算法的数据并行聚类算法
铁道车辆高/低电平信号智能发生器设计
苹果订阅捆绑服务Apple One正式上线
用好Windows 10保留的存储空间
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
智能电网调度控制系统中的数据总线技术研究
现场总线技术在电厂自动化控制中的应用
途安车数据总线诊断接口故障