最新单片机原理及其接口技术第8章幻灯片.ppt

上传人:豆**** 文档编号:24782130 上传时间:2022-07-07 格式:PPT 页数:46 大小:1.46MB
返回 下载 相关 举报
最新单片机原理及其接口技术第8章幻灯片.ppt_第1页
第1页 / 共46页
最新单片机原理及其接口技术第8章幻灯片.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《最新单片机原理及其接口技术第8章幻灯片.ppt》由会员分享,可在线阅读,更多相关《最新单片机原理及其接口技术第8章幻灯片.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单片机原理及其接口技术第单片机原理及其接口技术第8章章8.1 8.1 概述概述 MCS-96系列单片机与MCS-51系列单片机相比较, 软、硬件资源远比较丰富,CPU采用寄存器寄存器结构,提高了操作速度和数据吞吐能力;具有更快的运算速度,更多的外围子系统,更高效的指令系统,在89C196KC以后的芯片中,增加了一个外设事务服务器PTS,专门用于处理外设中断事务,大大减少了CPU的软件开销。 MCS-96系列单片机的主要特点包括以下几个方面:系列单片机的主要特点包括以下几个方面: (1)16位CPU,具有高速处理能力,没有累加器,采用寄存器寄存器结构,具有232字节的寄存器阵列; (2)具有高效

2、的指令系统,大大提高了编程效率; (3) 4/8通道的10位A/D转换器;(2)RALU 8096的大多数运算是靠RALU完成的。它由一个17位的ALU(其中,1位为符号位)、程序计数器PC、程序状态字寄存器PSW、循环计数器和3个暂存寄存器组成的,其结构如图下所示。 RALU中,所有的寄存器都是16位或17位的。高位字寄存器和低位字寄存器都有自己专用的移位逻辑,可进行数据规格化、乘除法等运算中的逻辑移位操作。延时环节用于把16位总线D-BUS上的地址/数据转换成8位总线A-BUS上的信息。常数0,1和2存储在RALU中,以加速某些运算,如取补或加1、减1运算。16位程序状态字PSW高位保留了

3、用户程序所需的信息状态字。PSW的格式如下表所示。 1616位程序状态字位程序状态字PSWPSW的各位的定义如下:的各位的定义如下: Z:零标志,操作结果为零时置位。 N:符号标志,操作结果为负值时置位,与溢出无关。 V:溢出标志,当产生溢出时置位。 VT:溢出陷阱标志,当V标志置位时,VT也置位。但VT置1后只能由专门的指令使其清0。 C:进位标志,操作结果最高位产生进位时置位。减法操作产生借位时C置位。 I:总的中断允许位。 ST:黏附位,在右移操作时,一个1进入C,然后又移出时置位。ST与C一起使用,可以在右移操作后控制四舍五入。 INT-MASK:中断屏蔽寄存器,控制每一种中断源是被允

4、许还是禁止。 (3)CPU寄存器阵列 寄存器阵列实际上是片内的RAM,它包含232字节的RAM单元,这些单元可以按字节、字或双字进行访问,每个单元都可以为RALU所用。 (4)时钟信号 MCS-96具有内部振荡器电路和3相时钟发生器,如图所示,一般在XTALl和XTAL2端外接一个612MHz的晶体。振荡器的频率信号被3分频后产生3个内部定时信号,称为A,B,C相,每一相的占空比为33%,每3个满周期为1个状态周期。XTALl与A,B,C相定时信号的关系如图所示。 8.2.2 存储器与存储器与I/O端口端口1 1存储器存储器 MCS-96具有一个逻辑上完全统一的存储器空间,寻址范围为64KB。

5、存储器空间分配如右图所示。 0000H00FFH为内部RAM(寄存器阵列和专用寄存器),1FFEH和1FFFH分别留给P3和P4口,9个中断向量放在2000H2011H 中,2012H207FH存放厂家的测试编码。所以系统复位时,PC指向2080H。片内的程序存储器配置在2000H3FFFH上。如果用户系统需要配置RAM,建议将其配置在 0100H1FFFH上,使这8KB的RAM 与片内的RAM连在一起,便于使用。内部RAM的分配如下页图所示。 00H17H为专用寄存器,26个专用寄存器名及其功能列于下页表中。其中,18H19H用于存放堆栈指针。从18H到FFH是用户使用的内部RAM区,可按字

6、节、字、双字存取。RALU能直接对它们读写。F0HFFH用于掉电时存放需保护的数据,这16个单元可由VPD引脚单独对其供电(+5V,1mA),以保护其内容。 RALU与内、外存储器的通信是由存储器控制管理的,其间有A-BUS和一些控制信号相连。因为A-BUS是8位的,为加快取指速度,控制器内有一个辅助程序计数器,存储器控制器中有一个3字节的指令队列,均用以加快指令的执行。 2 2外部存储器的扩展外部存储器的扩展 8096扩展2764的电路与8位单片机的连接电路类似。ALE用于锁存地址。8096中可以按字或按字节访问外部存储器。其电路如下图所示。1 1中断系统中断系统 MCS-96的中断系统允许

7、9种中断源,对应的中断向量和优先权如下表所示,其中,用户可以使用的只有8种中断源。但每一种中断源均可对应多种激活方式,如下页图所示。从这个意义上讲,8096有多至20个中断源。 8.2.3 中断系统中断系统2 2中断控制中断控制 MCS-96有2个寄存器与中断控制密切相关,它们分别为中断悬挂寄存器和中断屏蔽寄存器,两者的定义是类似的,相应的位对应于同一种中断源,如下图所示。 09H为中断悬挂寄存器(INT-PENDING),当CPU检测到上述8种中断源有由低到高跳变时,就把该寄存器的相应位置位,即把此中断悬挂(悬挂是指有中断申请而尚未得到响应的状态)起来。一旦被悬挂的中断得到响应,相应位被清除

8、。中断悬挂寄存器可以用指令写入,故可以靠对该寄存器的某位置1来产生软件中断,也可以靠清除相应位来撤除已悬挂的中断。 08H为中断屏蔽寄存器(INT-MASK),用来控制是否允许某个中断源的中断申请。当某位置1时,相应的中断被允许,否则被禁止。对8种中断源总的控制要用EI和DI指令。8个中断源是有优先权的,当有多种中断同时挂起时,CPU先响应优先权最高的一种中断。8.2.4 8.2.4 高速高速I/OI/O部件和定时器部件和定时器/ /计数器计数器 高速I/O部件是由高速输入单元(HSI)、高速输出单元(HSO),一个定时器(定时器1),一个事件计数器(定时器2)组成。“高速”的含义是这个部件的

9、工作只与内部的定时器有关(由定时器同步),而不用CPU的干预。 HSI用来记录事件发生的时间,HSO能按程序设定的时间触发一个事件。定时器也能单独地工作。1 1定时器定时器 定时器的工作一般要和HSI,HSO部件配合协调工作。定时器定时器1 1:是一个16位的计数器,其时钟信号来自内部时钟发生电路,每8个状态周期计数器加1。当计满时,能触发一个中断,对I/O状态寄存器(IOSl)的位5置位。作为系统实时时钟的定时器1,它一直在循环计数,任何时候都可以读它,只有用系统复位操作才能使它停止计数。定时器定时器2:定时器2也是一个16位的计数器,其时钟来自引脚HSIl/T2CLK,实际上是个外部事件计

10、数器。每当引脚上有正和负跳变时,计数器加1。当计满时,也触发一个中断,并对IOS1.4置位。定时器2可以有多种清零方式。 2 2高速输入单元高速输入单元HISHIS 高速输入单元HSI是用来记录外部事件发生时刻及转入相应的处理程序的,其结构如右图所示。它包括HSI方式寄存器和HSI状态寄存器(如下页图所示)。720先进先出(FIFO)寄存器阵列、保持寄存器、HSI时间寄存器、HSI事件检测器和定时器1等部分。 HSI事件检测器可测出HIS.0HSI.3中任一引脚上发生的变化事件,定时器1记录事件发生的时间,事件的形式可以由方式寄存器设定。定时器1所记录的时间及表示哪一个引脚上发生事件的信息存入

11、FIFO中。 HSI也可产生中断。一种是利用IOCl的位7控制,这种中断称为HSI数据有效中断,其中断向量地址为2004H2005H。另一种是在HSI.0引脚上有0到1的跳变时所产生的中断,称为HSI.0中断,其中断向量地址为2008H2009H。 在读取HSI的内容时,先读HSI状态寄存器,以获知HSI引脚的目前状态,以及是哪些引脚在记录时刻发生了变化事件。再读HSI的时间寄存器,每读一次时间寄存器,就使FIFO失掉一项数据。因此,若在读状态寄存器之前读取时间寄存器,就会丢失状态寄存器中的信息。 HSI.0HSI.3都是多功能引脚,要把它们用做高速输入功能时,需要用IOC0进行控制,下图是I

12、OC0对HSI引脚功能的控制。 3 3高速输出部件高速输出部件HSOHSO 高速输出部件用来在预定的时间内触发外部事件并申请中断。由HSO命令寄存器、HSO时间寄存器、HSO保持寄存器、按内容访问的存储器(CAM)阵列、比较器、多路开关、控制逻辑、输出部件和两个定时器组成,如下页图所示。 这些事件包括:这些事件包括:启动A/D转换、复位定时器2、设置4个软件定时器标准、接通6根输出线。当这些事件中任一种被触发时,就能产生中断请求。其中的内容为可寻址的存储器阵列CAM,它由8个23位长度的寄存器阵列组成,其中,16位存放触发某一事件的预定时间,7位存放命令。 HSO命令寄存器如右图所示,位03(

13、000FH通道)表示这一帧命令是对哪一种事件发出的。 4 4软件定时器软件定时器 HSO通过编程可设定4个16位的软件定时器(ST0ST3),当4个定时器中有一个时间到,就自动在IOS1中设置一个标志。如果对命令寄存器的位4置位,就能产生一个软件定时器中断。中断服务程序通过检测IOC1能获知是哪一个定时器时间到了,多个软件定时器同时发生中断将产生多重中断。8.2.5 脉冲宽度调制脉冲宽度调制PWM 大多数控制系统都需要用A/D和D/A两种转换器,但要在同一芯片上同时完成A/D和D/A转换是很困难的。MCS-96用脉冲宽度调制PWM的方法来实现D/A转换的功能。其原理如右图所示。其中主要部件有脉

14、宽控制寄存器、比较器和计数器。 通过设定脉宽寄存器的值PWM可以获得256种不同脉宽的波形,如下图所示(图中给出了5种不同占空比的输出波形)。当脉宽寄存器为0时,输出始终为低电平,当脉宽寄存器为255时,输出基本上为高电平。从图8中看出PWM的输出不是理想的直流模拟信号,还要在外电路中加以平滑。但是很多电机和开关电源可以直接使用PWM的输出信号。 8.2.6 8.2.6 模拟输入模拟输入 MCS-96系列的部分产品中有一个逐次逼近型的10位A/D转换器,共有8个通道。当采用12MHz晶振时,每次转换时间为42s。A/D转换8个通道的模拟电压输入引脚与P0口的8根口线复用,通过写命令寄存器可以控

15、制通道选择和启动A/D转换,命令寄存器如下图所示。每启动一次A/D转换都必须对命令寄存器进行一次写操作。用HSO触发转换时也不例外。 当一次转换正在进行时,又启动了另一次新的转换,会把正在进行的转换撤销掉,A/D转换结果寄存器的内容也会被消除掉。因此在新的转换开始前,应把原转换结果读走。结果寄存器是16位的,读出时应按字节分两次读出。结果寄存器如下图所示。 8.2.7 其他部件其他部件1 1串行口串行口 MCS-96有一个全双工的串行口,能同时收发信息。与MCS-51串行口是兼容的,也有4种工作模式(请参考MCS-51串行口),通过对串行口控制寄存器的编程设定其工作模式。MCS-96有一个单独

16、的波特率发生器专供串行口使用,故HSI,HSO和定时器的功能不受影响,这一点有别于MCS-51。2 2输入输入/ /输出口输出口 MCS-96有5个8位口,有的只作输入,有的只作输出,也有的是输入/输出双向口且有替换功能。5个8位口功能如下:P0P0口:口:仅用作输入,与A/D转换器的模拟输入信号复用引脚。P1P1口:口:准双向8位口。P2P2口:口:多功能双向口。其功能如下表所示。P3P3口与口与P4P4口:口:P3口与P4口具有两种功能。当访问外部存储器时,用作系统的地址/数据分时复用总线。若引脚接高电平,则它们是漏极开路的双向输入/输出口。 输入/输出口有2个控制寄存器IOC0和IOC1

17、,用来控制I/O口线的功能。IOC0控制定时器2和HSI的4个引脚的功能;IOC1控制其他一些口线的功能。此外,还有2个状态寄存器IOS1和IOS0,用来记录一些口线的当前状态和HSO,HSI的某些状态。 3 3监视定时器监视定时器WDTWDT和系统复位和系统复位 监视定时器WDT是一个16位计数器,在启动后,每个状态周期其计数器加1,当计数器溢出时,把引脚电平拉低至少2个状态周期的时间,使系统复位,重新初始化。 监视定时器提供了一种使系统能从瞬间故障中自动恢复的能力,如果出观故障,程序不能正常运行,则WDT没有按时清0而产生超时(溢出)时,WDT溢出就会使系统复位,这样就能保证在非正常工作时

18、间不会超过16ms。 8.3 MCS-968.3 MCS-96单片机指令系统简介单片机指令系统简介 MCS-96指令系统的功能是极其丰富的,包括数据传送、算术运算、内外的堆栈操作、转移(无条件转移、条件转移、位测试转移)和调用、循环控制、单寄存器操作、移位、控制和规格化等功能。8.3.1 8.3.1 操作数类型操作数类型 MCS-96指令操作数类型有7种:字节Byte、字Word、短整数Short-Integer:、整数Integer、位bit、双字Double-Word、长整数Long-Integer。 与一般单片机不同,在MCS-96指令系统中,所用工作寄存器并不是特定地址的寄存器,是通过

19、用户在编程时把内部RAM中一些单元定义为工作寄存器。指令中的操作数也不是寄存器名,而是广义的符号,它们是: Breg:内部RAM中的一个字节寄存器。有时,为了区分是目的操作数,还是源操作数,可用前缀“D”或“S”来标志。 Wreg:内部RAM中的一个字寄存器。也可在前面加“D”或“S”,以识别它是目的操作数,还是源操作数。 Baop:可用任一种寻址方式的字节操作数。 Waop:可用任一种寻址方式的字操作数。 Bitno:操作码中的三位,由这三位选择一个字节中的某一位。 Lreg:内部RAM中的一个双字寄存器。 Cadd:程序中代码的地址。8.3.2 8.3.2 寻址方式寻址方式 MCS-96指

20、令系统中具有6种基本寻址方式:(1)寄存器直接寻址 直接访问片内256字节的RAM,一条指令中可以有多至3个操作数采用这种寻址方式。 如:如:ADD AX, BX, CX; (AX)=(BX)+(CX) MUL AX, BX, ; (AX)=(AX)(BX) INCB CL; (CL)=(CL)+1(2)间接寻址 访问整个存储空间,被访问数的地址应放在一个16位的寄存器中,一条指令中只能有一个操作数采用间接寻址,其他操作数必须采用寄存器直接寻址。 如:如:ADDB AL, BL, DX ; (AL)=(BL)+(DX) POP AX 在这类寻址方式中还包含自动增量间接寻址,但需根据操作数是字节

21、还是字,指令执行后地址寄存器要自动加1或2。 如:如: LD BX, 1234H LDB AX, BX+ ; 把1234H单元的内容送AX的地位字节, 执行后 (BX)=1235H(3)立即寻址 操作数直接放在指令中。一条指令中只能有一个立即数,其他操作数必须采用寄存器直接寻址。 如:如: PUSH #1234H ADD AX, #340H(4)变址寻址 短变址寻址:有效地址是由基地址加偏移量组成的,基址寄存器为内部RAM中的一个16位寄存器,偏移量为一个带符号的8位数。可访问整个存储空间。 如:如:MULB AX, BL,3CX ; (AX)=(BL)(CX)+3) LD AX, 12 BX

22、 ; (AX)(BX)+12) 长变址寻址:与短变址类似,只是偏移量是16位数。 如:如:AND AX, BX, TABLECX ; (AX)=(BX)(CX)+TABLE) 其中:其中:TABLE是一个16位的地址变量。(5)零寄存器寻址方式 硬件把内部RAM的00H和01H单元固定为零,故称为零寄存器。除了在一些计算和比较运算中用来做常数零外,还可用在长变址寻址中,从而可以直接访问整个存储空间。 如如:ADD AX, 12340 ; (AX)(寄存器0)+1234)(6)堆栈指针寄存器寻址 堆栈指针也可以当做一般的寄存器用,因此可做短变址寻址中的地址寄存器 如:LD AX, SP; (AX

23、)(SP)(SP+1) 8.3.3 MCS-968.3.3 MCS-96指令系统简介指令系统简介 教材P310表8.3.1中列出了全部指令的助记符、操作数、操作码、寻址方式、执行时间、字节数等。下面通过典型指令进行概述。(1)ADD dwreg, swreg, waop功能:功能:两个源操作数swrge, waop相加后,存于目的操作数dwreg。目的码格式:目的码格式:010001aa waop wreg dwreg字节:字节:3+BEA执行时间:执行时间:3+CEA其中:其中:BEA表示对所选择的寻址方式不同而需要附加的代码字节数。CEA表示对所选择的寻址方式不同而需要附加的状态周期数。(

24、2)ANDB brag, baop功能:功能:两个字节操作数对应位相与,结果存入目的操作数。目的码格式目的码格式:011100aa baop breg字节:字节:2+BEA执行时间:执行时间:4+CEA(3)EXT lreg功能:功能:操作数的低位字的符号位扩展到高位字,即当低位字8000H时,0000H送高位字;否则,FFFFH送高位字。目的码格式:目的码格式:00000110 lreg字节:字节:2执行时间:执行时间:4(4)JBC brag, bltno, cadd功能:功能:被测试的指定位为0时,把此指令结束处至目标标号的偏移加到PC值上,造成跳转。此偏移量的取值范围为128+127,

25、若被测试位为1,则顺序执行下一条指令。目的码格式:目的码格式:00110bbb brag bltno其中:其中:bbb是指令寄存器内的位号字节:字节:3执行时间:执行时间:不跳转时为5,跳转时为9(5)LDB breg, baop功能:功能:源字节操作数的值存入目的操作数。目的码格式:目的码格式:101100aa baop breg字节:字节:2+BEA执行时间:执行时间:4+CEA(6)SHRAB breg, count或SHRAB breg, breg功能:功能:一个字节寄存器的8位右移n次,n由COUUNT或另一字节寄存器的内容确定。当最高位初始为0时,每次右移都以0填入最高位;当最高位初始为1,则把1填入。这样可以保持数的符号。这种移位称为算术右移。目的码格式:目的码格式:00011010 cut/ breg breg字节:字节:3执行时间:执行时间:7+移位次数注:注:BEA-对所选择的寻址方式不同而需要附加的代码字节数。 CEA-对所选择的寻址方式不同而需要附加的T状态数。作业与练习:8.2 8.38.4 8.68.946 结束语结束语

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁