ImageVerifierCode 换一换
格式:DOCX , 页数:122 ,大小:66.07KB ,
资源ID:29206724      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29206724.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(80C196单片机.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

80C196单片机.docx

1、80C196单片机1. 80C196单片机概述 单片微型计算机(Single-Chip Microcomputer) 简称为单片机。它在一块芯片上集成了微型计算机的各个组成部件:微处理器(MPU) 或中央处理器(CPU) ,存储器( 包括随机存储器RAM 和只读存储器ROM)和各种I/O 接口电路( 例如并行I/O 接口电路,串行I/O 接口电路,定时器/ 计数器电路,A/D 和D/A 转换器电路等) 。换句话说, 一块芯片就是一台微型计算机。由于一块芯片上集成了微型计算机的各个功能部件,因此用单片机构成的控制系统结构紧凑、体积小、价格便宜。当用于工业环境时,单片机构成的系统更具有可靠性高、抗

2、干扰能力强的优点。到目前为止,单片机已经被广泛地应用于智能化产品和工业自动化控制设备上。1.1 MCS-96系列单片机1.1.1 Intel 公司单片机 Intel 公司1971年首先推出了微处理器(4004),之后Intel 公司在研制通用微处理器(8080/85、8086/88 ,80186 、80286 、80386 、80486 、P5) 的同时,从1976年开始推出了8048(MCS-48)、8051(MCS-51)、8096(MCS-96)和80960 等4 个单片机系列产品。Intel 公司的单片机主要面向控制领域,因此也称为微控制器(MicroController) 。Inte

3、l 公司的单片机是目前国际和国内的主流单片机,应用最为广泛,被誉为“标准工业控制器”。 Intel 公司的单片机系列中,MCS-48系列是最早推出的低挡8 位机;1980年推出的MCS-51系列单片机属于高档8 位机。与MCS-48系列单片机相比,MCS-51系列单片机硬件上增加了串行接口,寻址范围从4KB 增大到64KB;软件上增加了减法运算和乘除运算以及布尔运算指令,并且指令的执行速度比MCS-48系列有较大的提高。 1984年,Intel 公司研制出16位单片机,即MCS-96系列微控制器。与前两类单片机相比,MCS-96系列单片机无论是在硬件上还是在软件上都做了很大的改进。Intel

4、公司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

5、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

6、/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 83C196KB87C196KB ( 均有A/D 转换器 80C196

7、KC 83C196KC87C196KC 均为68引脚 ) 80C196MC 83C196MC87C196MC 表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型) 单片机

8、,用8096BH表示增强型(BH 型) 单片机,用80C196KB表示80C196KB、83C196KB和87C196KB,用80C196KC表示80C196KC、83C196KC和87C196KC;仅对某个成员有效的地方,将特别指出。 尽管Intel 公司MCS-96系列单片机成员众多,但所有的器件都有着相同的指令集和体系结构。 增强型CMOS单片机80C196KC为片内含有16位CPU 和488 字节数据存储器RAM 的高性能微控制器。80C196KC采用面向寄存器的算术逻辑单元(RALU),因此不需要专门的累加器,并且大部分的指令都可直接快速地对寄存器中的数据进行运算和操作。除此之外,通

9、过寄存器还能直接控制片内的许多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系列单片机的典型应用是闭

10、环控制和中等速度范围内的数字信号处理。MCS-96系列产品已被广泛应用于以下几个领域: 1) 工业方面:直流、交流电动机控制,工业机器人,离散与连续过程控制,直接数字控制,智能传感器,机电仪一体化控制等。 2) 仪器仪表方面:智能仪器,医疗器械,色谱仪,数字示波器等。 3) 家用电器:高级电子玩具,录像机,洗衣机,空调器的温度控制等。 4) 通讯方面:调制解调器,智能通讯设备等。 5) 导航与控制方面:导弹控制,鱼雷制导控制,智能武器装置,航天导航系统等。 6) 数据处理方面:智能图形终端,彩色和黑白复印机,硬磁盘控制器,磁带机,打印机等。 7) 汽车方面:引擎控制, 防滑刹车, 排气控制等。

11、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)。 80C196K

12、B的CPU 通过特殊功能寄存器(SFR 地址范围0000H 0017H)或者通过存储器控制器与外界交换数据。由于RALU不采用专用的累加器, 而是直接对由SFR 和寄存器组构成的256 字节存储区间( 地址范围0000H 00FFH)内某个单元的数据进行运算和处理,因此拥有256 个字节的“累加器”,首次解决了使用专用累加器造成的“瓶颈”障碍。直接控制I/O 接口的SFR 具有累加器的功能,这样对输入/ 输出端口进行操作就变得相当的容易,并大大地加快了I/O 处理速度。 80C196KC CPU由16位总线连接到中断控制器、外设事务服务器(PTS) 和存储器控制器,而由8 位总线从存储器控制器

13、中的指令预取队列传送指令代码到CPU 。16位总线也是CPU 和外设的数据交换通道。1.2.2 存储器控制器 除了寄存器组、特殊功能寄存器以及附加数据存储器( 地址范围0100H 01FFH)外,RALU和别的存储器或者外部设备交换数据时必须通过存储器控制器。 存储器控制器由总线控制器、4 字节指令预取队列和一个从程序计数器(Slave PC)组成。片内ROM/EPROM 和片外存储器的地址信号、数据信号和控制信号均来自总线控制器。送到总线控制器的存储器读写请求有两个来源:一个是RALU,另一个是指令预取队列,后者具有较高的优先权。通常RALU的读写请求是读写操作数;而指令预取队列总是到从程序

14、计数器所指存储单元读取指令代码。 指令代码的读取由从程序计数器控制,因而节省了处理器宝贵的时间,这是因为很少需要将下一条指令的地址从CPU 传送到存储器控制器。如果由于跳转、中断、子程序调用、子程序返回等原因改变了指令的执行顺序,这时才需要将程序计数器(PC)的内容传送到从程序计数器,并刷新指令预取队列,继续执行后续程序。 指令预取队列的设置加快了程序的执行速度,因为该队列内通常含有下一条将要执行的指令之代码。本书附录2 中列出的指令执行时间是指正常情况下,没有等待,选择16位宽的数据总线时的情况。重装从程序计数器和读取新指令流的第一个字节需要4 个状态周期。这一情况可以从指令发生和不发生跳转

15、的时间差别之中看出。 指令预取队列的存在使我们不能确定一条指令到底什么时候执行,因为指令预取队列对指令的读取总是先于指令的具体执行。1.2.3 CPU 控制 微代码控制器控制80C196KC的CPU ,允许其对地址范围0000H 00FFH 之内的存储空间中的任意的字节、字、双字进行运算和操作。利用2.3 所讨论的垂直窗口技术, 片内256 字节的附加数据存储器RAM 也可当作“累加器”来使用。传送到CPU 的指令来自指令预取队列,并暂存在指令寄存器内。微代码控制器对指令进行译码,并产生相应的动作序列,使RALU能实现希望的运算和功能。图1-2 所示是存储器控制器、RALU、指令寄存器和控制器

16、单元的结构框图。 图1-2 RALU和存储器控制器结构框图1.2.4 寄存器算术逻辑单元(RALU) 80C196KC所进行的大部分运算都是在RALU中完成的。RALU,如图1-2 所示,由一个17位算术逻辑单元(ALU) 、程序状态字(PSW) 、程序计数器(PC)、循环计数器和三个暂存寄存器组成。所有的寄存器或者是16位,或者是17位(16 个数据位加一个符号扩展位) ,某些寄存器在不要CPU 干预的情况下能进行一些简单的运算。 读取指令代码时,程序计数器PC使用单独的增量器,然而由跳转、子程序调用、子程序返回和中断引起的PC变化,则必须通过算术逻辑单元来完成。 三个暂存寄存器中有两个具备

17、移位逻辑电路。这些寄存器用于那些要求逻辑移位的运算, 包括浮点数规格化、乘法运算、除法运算等。低字寄存器和高字寄存器一起使用时,完成32位数据的运算和给大部分指令作暂存器用。重复移位的次数由6 位的循环计数器承担。 第三个暂存寄存器存放参与运算的两个操作数中的第二个,具体就是:乘法运算的乘数、除法运算的除数等。为了进行减法运算,这个寄存器的输出可以在送到算术逻辑单元的B 输入端之前先施行求补运算。 为加快某些特定运算的速度,寄存器算术逻辑单元内存放有0 、1 、2 等常数。这些特定的运算包括:求某数2 的补码、增量运算、减量运算等。此外,还有由8 个字节的位屏蔽字组成的常数数组,用于位测试等指

18、令。该常数数组由一个3 位二进制的位选择寄存器来寻址。1.2.5 振荡器和内部定时 80C196KC单片机片内集成了由一个单级反向器组成的振荡电路,如图1-3 所示。图中,XTAL1 为反向器的输入端,XTAL2 为反向器的输出端,当芯片进入掉电工作方式时,由内部PD信号禁止振荡器工作。只要在XTAL1 和XTAL2 之间外接一个晶体振荡器,就能够产生芯片工作所需的时钟信号。外接晶体振荡器的电路如图1-4 所示。 图1-3 片内振荡电路 图1-4 晶体振荡器连接图 图1-4 所示电路中,晶体振荡器的参数和电容的数值对振荡电路的工作影响不大,一般情况下电容取值为20pF. 若不使用片内振荡器,则

19、从XTAL1 引脚输入时钟,而让XTAL2 引脚浮空。外接时钟的电路如图1-5 所示。要注意,输送到XTAL1 的时钟信号不应是TTL 电平,因此图1-5 中接有一5K的上拉电阻。 图1-5 外部时钟输入电路 图1-6 内部时钟波形 80C196KC的内部操作以晶体振荡器或外部振荡器时钟的两分频信号为基准。每两个振荡周期定义为一个状态周期,状态周期是80C196KC工作时的最小时间单位。当使用16MHz 频率的晶体振荡器时,一个状态周期是125ns 。由于80C196KC可以在许多不同的频率下工作,因此后面的叙述将以状态周期为基本时间单位。 片内时钟发生器产生两相不重叠的时钟信号:PH1 和P

20、H2 ,如图1-6 所示。CLKOUT由两相时钟的上升沿产生。80C196KC与8096BH不同的是8096BH使用三相时钟。在振荡器频率相同的条件下,两相时钟较三相时钟在运行速度上有很大的改进( 提高50) 。1.3 存储器空间 80C196KC可以寻址的存储器空间为64K 加512 个字节,重复的512 个字节存储空间的地址位于0000H 01FFH 之中。当从0000H 01FFH 地址范围内读取指令代码时,80C196KC从片外存储器中获取所需指令;而对0000H 01FFH 地址范围进行数据读写操作时,操作对象是片内的SFR 、寄存器组、或者256 之间的附加数据存储器RAM 。另外

21、,地址范围1FFEH 至2080H 的存储空间具有特殊的用途。其它的地址单元即可用来存储程序,也可用来存放数据,还可当作存储器映象的外部设备端口。图1-7 是存储器空间的分布图。编制程序时,应将标为 保留 的存储单元的数据填充为0FFH。 0FFFFH 片外存储器或者I/O 设备端口 6000H 片内ROM/EPROM 或者片外存储器 2080H 保 留 205EH 外设事物服务器矢量 2040H 高 端 中 断 矢 量 2030H 片内ROM 、EPROM 之密码 2020H 保 留 2019H 芯 片 配 置 字 节 2018H 保 留 2014H 低 端 中 断 矢 量 2000H P3

22、 口 和 P4 口 1FFEH 片 外 存 储 器 200H 片 内 附 加 RAM 区 100H 寄存器组、片外程序存储器 0H 图1-7 存储器空间的分布图1.3.1 寄存器组 从18H 至FFH 的地址单元为寄存器组。寄存器组由可以作为字节(8位) 、字(16 位) 、双字(32 位) 操作的232 个字节的数据存储器RAM 组成。由于每一个单元均可被RALU使用,因此这232 个字节的存储单元相当于普通微处理器中的“累加器”和通用寄存器。从0100H 至01FFH 的256 个字节的附加RAM ,通过垂直窗口也可作为能被RALU使用的“累加器”或者通用寄存器。 地址单元18H 和19H

23、 是80C196KC的堆栈指针。这两个单元并不是特殊功能寄存器,如果没有使用堆栈操作,它们可以当作普通的RAM 来使用。既然堆栈指针位于寄存器组这一区域,RALU便可以很容易地对其进行操作和运算。堆栈指针必需由程序员进行初始化,指向64K 存储空间的某一地方。80C196KC的堆栈是向下( 从高地址到低地址) 生成的,所以堆栈指针应初始化为最高堆栈区地址再加2 。另外需要注意的是堆栈区域必需从偶地址单元开始。1.3.2 特殊功能寄存器(SFR) 从00H 至17H 的地址单元是I/O 控制寄存器或叫做特殊功能寄存器(SFR) 。80C196KC的外围器件中,除口3 和口4 以外,均由特殊功能寄

24、存器控制。如图1-8 所示,80C196KC配备有3 个水平窗口以增加特殊功能寄存器的数量,同时还能保持和MCS-96系列早期产品的兼容性。水平窗口之间可以通过程序来切换,但是任何时刻只能有一个窗口是打开的;CPU 不能存取那些没有打开( 处于关闭状态) 的窗口之内的寄存器的内容。 19H SP(HI) SP(HI) SP(HI) SP(HI) 18H SP(LO) SP(LO) SP(LO) SP(LO) 17H IOS2 PWM0_CONTROL PWM2_CONTROL 16H IOS1 IOC1 PWM1_CONTROL 15H IOS0 IOC0 RESERVED 14H WSR W

25、SR WSR WSR 13H INT_MASK_1 INT_MASK_1 INT_MASK_1 INT_MASK_1 12H INT_PEND_1 INT_PEND_1 INT_PEND_1 INT_PEND_1 11H SP_STAT SP_CON RESERVED 10H PORT2 PORT2 RESERVED RESERVED 0FH PORT1 PORT1 RESERVED RESERVED 0EH PORT0 BAUD_RATE RESERVED RESERVED 0DH TIMER2(HI) TIMER2(HI) RESERVED T2CAP(HI) 0CH TIMER2(LO)

26、 TIMER2(LO) T2_CONTROL T2CAP(LO) 0BH TIMER1(HI) IOC2 RESERVED 0AH TIMER1(LO) WATCHDOG RESERVED 09H INT_PEND INT_PEND INT_PEND INT_PEND 08H INT_MASK INT_MASK INT_MASK INT_MASK 07H SBUF(RX) SBUF(TX) PTSSRV(HI) 06H HSI_STATUS HSO_COMMAND PTSSRV(LO) 05H HSI_TIME(HI) HSO_TIME(HI) PTSSEL(HI) 04H HSI_TIME(

27、LO) HSO_TIME(LO) PTSSEL(LO) 03H AD_RESULT(HI) HSI_MODE AD_TIME 02H AD_RESULT(LO) AD_COMMAND RESERVED 01H ZERO_REG(HI) ZREO_REG(HI) ZERO_REG(HI) ZREO_REG(HI) 00H ZERO_REG(LO) ZERO_REG(LO) ZERO_REG(LO) ZERO_REG(LO) 读水平窗口0 写水平窗口0 读写水平窗口1 读写水平窗口15 图1-8 各个寄存器窗口 水平窗口0 是在8096BH特殊功能寄存器基础上增加而成的,与80C196KB的特殊功

28、能寄存器相同。如图1-8 所示,特殊功能寄存器由24个寄存器构成。这些寄存器中,有些在读和写时所操作的对象具有完全不同的功能。 水平窗口1 包含有支持80C196KC新添加的部件或者功能所附加的特殊功能寄存器。这些特殊功能寄存器支持外设事务服务器(Peripheral Transaction Server简称为PTS)、两个新的脉冲宽度调制器(PWM) 、以及定时器T2和A/D 转换器新增加的功能等。这些寄存器和80C196KB不兼容。所有的特殊功能寄存器在这个窗口下都是可读写的。 水平窗口15与水平窗口0 功能互补。那些水平窗口0 中的只读寄存器在水平窗口15中变成只写寄存器;相反那些水平窗口0 中的只写寄存器在水平窗口15中变成只

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1