1. 80C196单片机概述
单片微型计算机(Single-Chip Microcomputer) 简称为单片机。它在一块芯片上集成了
微型计算机的各个组成部件:微处理器(MPU) 或中央处理器(CPU) ,存储器( 包括随机存储
器RAM 和只读存储器ROM)和各种I/O 接口电路( 例如并行I/O 接口电路,串行I/O 接口电路
,定时器/ 计数器电路,A/D 和D/A 转换器电路等) 。换句话说, 一块芯片就是一台微型计
算机。由于一块芯片上集成了微型计算机的各个功能部件,因此用单片机构成的控制系统结
构紧凑、体积小、价格便宜。当用于工业环境时,单片机构成的系统更具有可靠性高、抗干
扰能力强的优点。到目前为止,单片机已经被广泛地应用于智能化产品和工业自动化控制设
备上。
1.1 MCS-96系列单片机
1.1.1 Intel 公司单片机
Intel 公司1971年首先推出了微处理器(4004),之后Intel 公司在研制通用微处理器(8
080/85、8086/88 ,80186 、80286 、80386 、80486 、P5) 的同时,从1976年开始推出了
8048(MCS-48)、8051(MCS-51)、8096(MCS-96)和80960 等4 个单片机系列产品。Intel 公司
的单片机主要面向控制领域,因此也称为微控制器(MicroController) 。Intel 公司的单片
机是目前国际和国内的主流单片机,应用最为广泛,被誉为“标准工业控制器”。
Intel 公司的单片机系列中,MCS-48系列是最早推出的低挡8 位机;1980年推出的MCS-
51系列单片机属于高档8 位机。与MCS-48系列单片机相比,MCS-51系列单片机硬件上增加了
串行接口,寻址范围从4KB 增大到64KB;软件上增加了减法运算和乘除运算以及布尔运算指
令,并且指令的执行速度比MCS-48系列有较大的提高。
1984年,Intel 公司研制出16位单片机,即MCS-96系列微控制器。与前两类单片机相比
,MCS-96系列单片机无论是在硬件上还是在软件上都做了很大的改进。Intel 公司MCS-96系
列单片机的发展过程如下:
1984年:16位基本型单片机8096-90 系列;
1985年:16位改进型单片机8096BH系列,与基本型相比8096BH型单片机的外部数据总线
宽度可以是8 位和( 或者)16 位;
1987年:CMOS型单片机80C196系列,其性能是8096-90 和8096BH的两倍;
1988年:外部数据总线宽度为8 位的8098单片机;
1989年:增强型CMOS单片机80C196KC系列,增加了外设事务服务器(PTS) ,大大改进了
I/O 处理能力;
1991年:适于电机控制的单片机80C196MC,用PTS 处理几乎所有的I/O 操作。
1.1.2 MCS-96系列单片机分类
MCS-96系列单片机具有很多种类型。按引脚数量可分为48个引脚封装和68个引脚封装两
类;按片内有无A/D 转换器可分为片内有A/D 转换器和片内无A/D 转换器两类;按片内程序
存储器的类型又可分为片内有只读存储器ROM 、片内有可擦除的只读存储器EPROM 和片内无
程序存储器三类;若按制造工艺及型号分类,有基本(-90) 型、改进(BH)型和CMOS型三类。
MCS-96系列单片机的详细分类如表1-1 所示。
表1-1 MCS-96 系列单片机分类
━━━━━━━━━┳━━━━━━━━┳━━━━┳━━━━━━
┃片内无程序存储器┃片内ROM ┃片内EPROM
━┳━━━┳━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃ ┃无A/D ┃ 8094-90 ┃8394-90 ┃8794-90
基┃48引脚┣━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃ ┃有A/D ┃ 8095-90 ┃8395-90 ┃8795-90
本┣━━━╋━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃ ┃无A/D ┃ 8096-90 ┃8396-90 ┃8796-90
型┃68引脚┣━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃ ┃有A/D ┃ 8097-90 ┃8397-90 ┃8797-90
━╋━━━╋━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃ ┃无A/D ┃ 8094BH ┃8394BH ┃8794BH
改┃ ┣━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃48引脚┃ ┃ 8095BH ┃8395BH ┃8795BH
┃ ┃有A/D ┣━━━━━━━━╋━━━━╋━━━━━━
进┃ ┃ ┃ 8098 ┃8398 ┃8798
┣━━━╋━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃ ┃无A/D ┃ 8096BH ┃8396BH ┃8796BH
型┃68引脚┣━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃ ┃有A/D ┃ 8097BH ┃8397BH ┃8797BH
━┻━━━┻━━━╋━━━━━━━━╋━━━━╋━━━━━━
┃ 80C196 ┃83C196 ┃87C196
CHMOS 型 ┣━━━━━━━━╋━━━━╋━━━━━━
┃ 80C196KB ┃83C196KB┃87C196KB
( 均有A/D 转换器 ┣━━━━━━━━╋━━━━╋━━━━━━
┃ 80C196KC ┃83C196KC┃87C196KC
均为68引脚 ) ┣━━━━━━━━╋━━━━╋━━━━━━
┃ 80C196MC ┃83C196MC┃87C196MC
━━━━━━━━━┻━━━━━━━━┻━━━━┻━━━━━━
表1-1 中,8098、8398及8798的功能与8095BH、8395BH及8795BH的功能大致相当,比较
大的区别是8098的外部数据总线宽度只能是8 位,如果非要将8098的数据总线宽度设置为16
位,则有些指令不能正常运行;而8095BH的外部数据总线宽度即可以是8 位,也可以是16位
,在两种总线宽度下,8095BH都能正常工作。
1.1.3 MCS-96系列单片机体系结构
MCS-96系列单片机包括很多的成员,为使叙述简单下面用8096表示表1-1 中的基本型(-
90型) 单片机,用8096BH表示增强型(BH 型) 单片机,用80C196KB表示80C196KB、83C196KB
和87C196KB,用80C196KC表示80C196KC、83C196KC和87C196KC;仅对某个成员有效的地方,
将特别指出。
尽管Intel 公司MCS-96系列单片机成员众多,但所有的器件都有着相同的指令集和体系
结构。
增强型CMOS单片机80C196KC为片内含有16位CPU 和488 字节数据存储器RAM 的高性能微
控制器。80C196KC采用面向寄存器的算术逻辑单元(RALU),因此不需要专门的累加器,并且
大部分的指令都可直接快速地对寄存器中的数据进行运算和操作。除此之外,通过寄存器还
能直接控制片内的许多I/O 设备,例如全双工串行接口、带有采样/ 保持器(S/H) 和模拟多
路开关(MUX) 的8 通道10位A/D 转换器、3 条脉冲宽度调制(PWM) 输出引线( 可当作D/A 转
换器使用) 、多至48条的输入输出引线和高速I/O 子系统。高速I/O 子系统又含有两个16位
定时器/ 计数器,有8 级FIFO队列的4 条高速输入(HSI) 引线和有8 个可编程单元的6 条高
速输出(HSO) 引线。
80C196KC单片机的结构框图如图1-1 所示。
图1-1 80C196KC单片机结构框图
1.1.4 MCS-96系列单片机的应用
MCS-96系列单片机的典型应用是闭环控制和中等速度范围内的数字信号处理。MCS-96系
列产品已被广泛应用于以下几个领域:
1) 工业方面:直流、交流电动机控制,工业机器人,离散与连续过程控制,直接数字
控制,智能传感器,机电仪一体化控制等。
2) 仪器仪表方面:智能仪器,医疗器械,色谱仪,数字示波器等。
3) 家用电器:高级电子玩具,录像机,洗衣机,空调器的温度控制等。
4) 通讯方面:调制解调器,智能通讯设备等。
5) 导航与控制方面:导弹控制,鱼雷制导控制,智能武器装置,航天导航系统等。
6) 数据处理方面:智能图形终端,彩色和黑白复印机,硬磁盘控制器,磁带机,打印
机等。
7) 汽车方面:引擎控制, 防滑刹车, 排气控制等。
1.2 CPU 及时钟电路
1.2.1 CPU 结构
图1-1 中虚线内部分为80C196KC的CPU ,由控制器和运算器两大部分构成,包含有特殊
功能寄存器(SFR) 、寄存器组(Register File) 、256 字节附加片内数据存储器RAM 、程序
计数器(PC)、算术逻辑单元(ALU) 等功能部件。
80C196KC的控制器采用微程序代码形式。与别的微处理器相比,MCS-96系列微控制器的
运算器摈弃了通常使用的累加器,取而代之以232 字节片内数据存储器( 地址范围0018H ~
00FFH)构成的寄存器组。这样就把算术逻辑单元(ALU) 称为寄存器算术逻辑单元(RALU)。
80C196KB的CPU 通过特殊功能寄存器(SFR 地址范围0000H ~0017H)或者通过存储器控
制器与外界交换数据。由于RALU不采用专用的累加器, 而是直接对由SFR 和寄存器组构成的
256 字节存储区间( 地址范围0000H ~00FFH)内某个单元的数据进行运算和处理,因此拥有
256 个字节的“累加器”,首次解决了使用专用累加器造成的“瓶颈”障碍。直接控制I/O
接口的SFR 具有累加器的功能,这样对输入/ 输出端口进行操作就变得相当的容易,并大大
地加快了I/O 处理速度。
80C196KC CPU由16位总线连接到中断控制器、外设事务服务器(PTS) 和存储器控制器,
而由8 位总线从存储器控制器中的指令预取队列传送指令代码到CPU 。16位总线也是CPU 和
外设的数据交换通道。
1.2.2 存储器控制器
除了寄存器组、特殊功能寄存器以及附加数据存储器( 地址范围0100H ~01FFH)外,RA
LU和别的存储器或者外部设备交换数据时必须通过存储器控制器。
存储器控制器由总线控制器、4 字节指令预取队列和一个从程序计数器(Slave PC)组成
。片内ROM/EPROM 和片外存储器的地址信号、数据信号和控制信号均来自总线控制器。送到
总线控制器的存储器读写请求有两个来源:一个是RALU,另一个是指令预取队列,后者具有
较高的优先权。通常RALU的读写请求是读写操作数;而指令预取队列总是到从程序计数器所
指存储单元读取指令代码。
指令代码的读取由从程序计数器控制,因而节省了处理器宝贵的时间,这是因为很少需
要将下一条指令的地址从CPU 传送到存储器控制器。如果由于跳转、中断、子程序调用、子
程序返回等原因改变了指令的执行顺序,这时才需要将程序计数器(PC)的内容传送到从程序
计数器,并刷新指令预取队列,继续执行后续程序。
指令预取队列的设置加快了程序的执行速度,因为该队列内通常含有下一条将要执行的
指令之代码。本书附录2 中列出的指令执行时间是指正常情况下,没有等待,选择16位宽的
数据总线时的情况。重装从程序计数器和读取新指令流的第一个字节需要4 个状态周期。这
一情况可以从指令发生和不发生跳转的时间差别之中看出。
指令预取队列的存在使我们不能确定一条指令到底什么时候执行,因为指令预取队列对
指令的读取总是先于指令的具体执行。
1.2.3 CPU 控制
微代码控制器控制80C196KC的CPU ,允许其对地址范围0000H ~00FFH 之内的存储空间
中的任意的字节、字、双字进行运算和操作。利用2.3 所讨论的垂直窗口技术, 片内256 字
节的附加数据存储器RAM 也可当作“累加器”来使用。传送到CPU 的指令来自指令预取队列
,并暂存在指令寄存器内。微代码控制器对指令进行译码,并产生相应的动作序列,使RALU
能实现希望的运算和功能。图1-2 所示是存储器控制器、RALU、指令寄存器和控制器单元的
结构框图。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !