单片机原理及接口技术-习题答案第四版李朝青(修订后).docx

上传人:李医生 文档编号:6169527 上传时间:2020-09-16 格式:DOCX 页数:50 大小:167.12KB
返回 下载 相关 举报
单片机原理及接口技术-习题答案第四版李朝青(修订后).docx_第1页
第1页 / 共50页
单片机原理及接口技术-习题答案第四版李朝青(修订后).docx_第2页
第2页 / 共50页
单片机原理及接口技术-习题答案第四版李朝青(修订后).docx_第3页
第3页 / 共50页
单片机原理及接口技术-习题答案第四版李朝青(修订后).docx_第4页
第4页 / 共50页
单片机原理及接口技术-习题答案第四版李朝青(修订后).docx_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《单片机原理及接口技术-习题答案第四版李朝青(修订后).docx》由会员分享,可在线阅读,更多相关《单片机原理及接口技术-习题答案第四版李朝青(修订后).docx(50页珍藏版)》请在三一文库上搜索。

1、.单片机原理及接口技术课后习题答案(第四版)李朝青第一章1. 什么是微处理器 (CPU)、微机和单片机?答 微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。单片机是将微处理器、一定容量的RAM、ROM以及 I/O 口、定时器等电路集成在一块芯片上,构成的单片微型计算机。2. 单片机具有哪些特点( 1)片内存储容量越来越大。( 2 抗干扰性好,可靠性高。( 3)芯片引线齐全,容易扩展。( 4)运行速度高,控制功能强。( 5)单片机内部的数据信息保存时间很长,有的芯片可以达到100 年

2、以上。3. 微型计算机怎样执行一个程序?答:通过 CPU指令,提到内存当中,再逐一执行。4. 微型计算机由那几部分构成?微处理器,存储器,接口适配器(即 I/O 接口), I/O 设备第二章1.89C51 单片机内包含哪些主要逻辑功能部件?答: 80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)CPU(中央处理器 ):8 位(2) 片内 RAM:128B(3) 特殊功能寄存器 :21 个(4) 程序存储器 :4KB(5) 并行 I/O 口:8 位, 4 个(6) 串行接口 : 全双工, 1 个(7) 定时器 / 计数器 :16 位, 2 个(8) 片内时钟电路 :1 个.2.89C5

3、1 的 EA端有何用途?答: /EA 端接高电平时, CPU只访问片内 并执行内部程序,存储器。 /EA 端接低电平时, CPU只访问外部 ROM,并执行片外程序存储器中的指令。 /EA 端保持高电平时, CPU执行内部存储器中的指令。3. 89C51 的存储器分哪几个空间 ?如何区别不同空间的寻址 ?答:ROM(片内 ROM和片外 ROM统一编址)(使用 MOVC)(数据传送指令)( 16bits地址)(64KB)片外 RAM( MOVX)(16bits地址)(64KB)片内 RAM( MOV)( 8bits地址)(256B)4. 简述 89C51片内 RAM的空间分配。答: 片内 RAM

4、有 256B低 128B 是真正的 RAM区高 128B 是 SFR(特殊功能寄存器)区5. 简述布尔处理存储器的空间分配,片内 RAM中包含哪些可位寻址单元。答:片内 RAM区从 00HFFH(256B)其中 20H2FH(字节地址)是位寻址区对应的位地址是 00H7FH6. 如何简捷地判断 89C51正在工作 ?答:用示波器观察8051 的 XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?)ALE(地址锁存允许)( Address Latch Enable)输出是 fosc 的 6 分频用示波器观察 ALE是否有脉冲输出(判断 8051 芯片的好坏?)观察 PSEN(判断 805

5、1 能够到 EPROM或 ROM中读取指令码?)因为 /PSEN接外部 EPROM( ROM)的 /OE 端子OE=Output Enable(输出允许)7. 89C51 如何确定和改变当前工作寄存器组 ?答: PSW(程序状态字)( Program Status Word )中的 RS1和 RS0可以给出 4 中组合用来从 4 组工作寄存器组中进行选择PSW属于 SFR(Special Function Register)(特殊功能寄存器)8. 89C51 P0 口用作通用 / 口输入时,若通过 TTL“OC”门输入数据,应注意什么 ?为什么 ?答:应该要接一个上拉电阻.9. 读端口锁存器和

6、“读引脚”有何不同?各使用哪种指令?答:读锁存器( ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如 MOVA,P1 这条指令就是读引脚的, 意思就是把端口p1 输入数据送给 A)传送类 MOV,判位转移 JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信, 判断外部键盘等; 字节交换 XCH、XCHD算术及逻辑运算ORL、CPL、ANL、 ADD、ADDC、SUBB、INC、DEC控制转移 CJNE、DJNZ都属于读锁存器。10. 89C51 P0 P3 口结构有何不同 ?用作通用 / 口输入数据时,应注意什么 ?答: P0 口内部没有上拉电阻,可以用做

7、16 位地址的低 8 位;P3 有第二功能;P2 口可以用做 16 位地址的高 8 位;需要上拉电阻。 OC门电路无法输出高低电平,只有靠上拉电阻才能实现11. 89C51单片机的信号有何功能 ?在使用 8031 时,信号引脚应如何处理 ?答: (1)80C51 单片机的 EA信号的功能EA为片外程序存储器访问允许信号,低电平有效; 在编程时,其上施加21V的编程电压EA引脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储器 ;EA 引脚接低电平时,迫使系统全部执行片外程序存储器程序。(2) 在使用 80C31时,EA 信号引脚的处理方法因为 80C31没有片内的程序存储器, 所以在使

8、用它时必定要有外部的程序存储器, EA 信号引脚应接低电平。12. 89C51 单片机有哪些信号需要芯片引脚以第 2 功能的方式提供 ?答: 第一功能第二功能串行口:P3.0RXD(串行输入口)P3.1TXD(串行输出口)中断:P3.2INT0外部中断 0P3.3INT1外部中断 1定时器 / 计数器( T0、 T1):P3.4T0(定时器 / 计数器 0 的外部输入)P3.5T1(定时器 / 计数器 1 的外部输入)数据存储器选通:.P3.6WR(外部存储器写选通, 低电平有效, 输出)P3.7RD(外部存储器读选通, 低电平有效, 输出)定时器 / 计数器( T2):P1.0T2(定时器

9、T2 的计数端)P1.1T2EX(定时器 T2 的外部输入端)13. 内部 RAM低 128 字节单元划分为哪 3 个主要部分 ?各部分主要功能是什么 ?答:片内 RAM低 128 单元的划分及主要功能 :(l)工作寄存器组 (00HlFH)这是一个用寄存器直接寻址的区域,内部数据RAM区的 031(00HlFH), 共32 个单元。它是 4 个通用工作寄存器组,每个组包含8 个 8 位寄存器,编号为R0R7。(2)位寻址区 (20H2FH)从内部数据 RAM区的 3247(20H2FH)的 16 个字节单元,共包含128 位,是可位寻址的 RAM区。这 16 个字节单元,既可进行字节寻址,又

10、可实现位寻址。(3) 字节寻址区 (30H7FH)从内部数据 RAM区的 48127(30H7FH),共 80 个字节单元,可以采用间接字节寻址的方法访问。14. 使单片机复位有几种方法 ?复位后机器的初始状态如何 ?答: (1) 单片机复位方法单片机复位方法有 : 上电自动复位、按键手动复位和两种方式(2) 复位后的初始状态复位后机器的初始状态 , 即各寄存器的状态 :PC 之外 , 复位操作还对其他一些特殊功能寄存器有影响 , 它们的复位状态如题表 2-1 所例15. 开机复位后, CPU使用的是哪组工作寄存器 ?它们的地址是什么 ?CPU如何确定和改变当前工作寄存器组 ?答:一般开机复位

11、后都是选择第一组通用工作寄存器作为工作寄存器的,一共有4 组,分别为 0.1.2.3连续位于 00h 到 1FH地址,然后在机器中有个程序状态字PSW,它的第四和第三位RS1,RS0 是用来选择工作寄存器组的,可能不同机器地址稍有不同。他们俩的值和寄存器组的关系:RS1/RS00/00/11/01/1使用的工作寄存器01 23地址00-07 08-0F 10-17 18-1F.写程序的时候就是通过定义程序状态字来选择使用不同的寄存器组。也可以直接对 RS1和 RS0赋值。(最后一问同题 7)16. 程序状态寄存器 PSW的作用是什么 ?常用标志有哪些位 ?作用是什么 ?答: PSW是一个 SF

12、R(特殊功能寄存器)位于片内 RAM的高 128B具体地址 D0H(00HFFH)(片内 RAM的编址)( 8bits编址方法)PSW=Program Status Word(程序状态字)PSW的常用标志位有哪些?CY=Carry(进位标志位)AC=Auxiliary Carry(辅助进位标志位)(半进位标志位)F0用户标志位RS1,RS0,用来选择当前工作寄存器组(R0R7)(4 选 1)OV=Overflow(溢出标志位)P=Parity(奇偶校验位)17. 位地址 7CH与字节地址 7CH如何区别 ?位地址 7CH具体在片内 RAM中的什么位置 ?答:用不同的寻址方式来加以区分,即访问

13、128 个位地址用位寻址方式, 访问低128 字节单元用字节寻址和间接寻址。具体地址为 2F 的第五位,即为7C。18. 89C51 单片机的时钟周期与振荡周期之间有什么关系 ?什么叫机器周期和指令周期?答:时钟信号的周期称为机器状态周期, 是振荡周期的两倍。 一个机器周期是指CPU访问存储器一次所需的时间。指令周期是执行一条指令所需的时间。19. 一个机器周期的时序如何划分 ?答:一个机器周期 =12 个震荡周期 =6 个时钟周期(状态周期)S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1, S4P2,S5P1,S5P2,S6P1,S6P2 其中 s=state (状态)

14、,p=phase(相位)20. 什么叫堆栈 ?堆栈指针 SP 的作用是什么 ?89C51 单片机堆栈的容量不能超过多少字节 ?答:堆栈都是一种数据项按序排列的数据结构,只能在一端 ( 称为栈顶 (top) 对数据项进行插入和删除。 要点:堆:顺序随意栈:后进先出 (Last-In/First-Out).在调用子程序时需要保存调用函数的 CPU寄存器 PC指针 ,PC 指针是被 CALL 指令自动压入 SP所指向的片内存储器 ,CPU 寄存器要由用户用 PUSH指令自行保存 , 因此 SP 的作用就是一个指针 , 当进行中断调用 , 子函数调用时将现场数据压入 SP 所指向的存储器 ,SP 自动

15、增加 1 或 2, 当中断结束 RETI, 调用返回 RET,POP时将 SP数据弹出 ,SP 自动减 1 或, 28051 最大为 128 字节的片内存储器 ,21. 89C51 有几种低功耗方式?如何实现?答:空闲方式和掉电方式空闲方式和掉电方式是通过对 SFR中的 PCON(地址 87H)相应位置 1 而启动的。当 CPU执行完置 IDL=1(PCON.1)的指令后,系统进入空闲工作方式。这时,内部时钟不向 CPU提供,而只供给中断、串行口、定时器部分。 CPU的内部状态维持,即包括堆栈指针 SP、程序计数器 PC、程序状态字 PSW、累加器 ACC所有的内容保持不变,端口状态也保持不变

16、。 ALE和 PSEN保持逻辑高电平。当 CPU执行一条置 PCON.1位( PD)为 1 的指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因此,所有的功能部件都停止工作。 但内部 RAM区和特殊功能寄存器的内容被保留, 而端口的输出状态值都保存在对应的 SFR中, ALE和 PSEN都为低电平。22. PC 与 DPTR各有哪些特点?有何异同?答: (1) 程序计数器 PC作为不可寻址寄存器的特点程序计数器 PC是中央控制器申最基本的寄存器,是一个独立的计数器,存放着下一条将程序存储器中取出的指令的地址。程序计数器 PC变化的轨迹决定程序的流程。程序计

17、数器的宽度决定了程序存储器可以寻址的范围。程序计数器 PC的基本工作方式有 :程序计数器 PC 自动加 1。这是最基本的工作方式,也是这个专用寄存器被称为计数器的原因。执行条件或无条件转移指令时, 程序计数器将被置入新的数值, 程序的流向发生变化。变化的方式有下列几种 : 带符号的相对跳转 SJMP、短跳转 AJMP、长跳转 LJMP及 JMP A+DPTR等。.在执行调用指令或响应中断时:PC的现行值,即下一条将要执行的指令的地址送入堆栈,加以保护;将子程序的入口地址或者中断矢量地址送入PC,程序流向发生变化,执行子程序或中断服务程序;子程序或中断服务程序执行完毕,遇到返回指令RET或 RE

18、TI 时,将栈顶的内容送到 PC寄存器中,程序流程又返回到原来的地方,继续执行。(2) 地址指针 DPTR的特点地址指针 DPTR的特点是,它作为片外数据存储器寻址用的地址寄存器 ( 间接寻址 ) 。(3) 地址指针 DPTR与程序计数器 PC的异同相同之处 :两者都是与地址有关的、16 位的寄存器。其中, PC与程序存储器的地址有关,而DPTR与数据存储器的地址有关。作为地址寄存器使用时, PC与 DPTR都是通过 P0 和 P2 口 ( 作为 16 位地址总线 ) 输出的。但是, PC的输出与 ALE 及 PSEN有关 ;DPTR的输出,则与ALE、RD及 WR相联系。不同之处 :PC只能

19、作为 16 位寄存器对待,由于有自动加 1 的功能,故又称为计数器 ;DPTR可以作为 16 位寄存器对待,也可以作为两个8 位寄存器对待。PC 是不可以访问的,有自己独特的变化方式,它的变化轨迹决定了程序执行的流程 ;DPTR是可以访问的,如MOVDPTR,#XXXXH,INC DPTP。23. 89C51 端口锁存器的“读修改写”操作与“读引脚”操作有何区别?答:指令系统中有些指令读锁存器的值 , 有些指令则读引脚上的值。 读锁存器指令是从锁存器中读取一个值并进行处理 , 把处理后的值 ( 原值或已修改后的值 )重新写入锁存器中。这类指令称为读- 修改 - 写指令。对于读 - 修改 - 写

20、指令。直接读锁存器而不是读端口引脚 , 是因为从引脚上读出的数据不一定能真正反映锁存器的状态。.第三章1、 指令: CPU 根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言2、 见第 1题3、 操作码 目的操作数 ,源操作数 4、寻址方式寻址空间立即数寻址程序存储器 ROM直接寻址片内 RAM低 128B、特殊功能寄存器寄存器寻址工作寄存器 R0-R7、 A、B、C、DPTR寄存器间

21、接寻址片内 RAM低 128B、片外 RAM变址寻址程序存储器( A+PC,A+DPTR)相对寻址程序存储器 256B 范围( PC+偏移量)位寻址片内 RAM的 20H-2FH字节地址、部分SFR5、要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答 SFR:直接寻址,位寻址,寄存器寻址;片外 RAM :寄存器间接寻址6、 MOVA ,40H ;直接寻址(40H) AMOVR0, A;寄存器寻址(A ) R0MOVP1, #0F0H ;立即数寻址0F0P1MOVR0,30H ;直接寻址( 30H)( R0).MOVDPTR,#3848H ;立即数寻址 3848H DPTRMOV40

22、H,38H;直接寻址( 38H) 40HMOVR0,30H;直接寻址( 30H) R0MOVP0,R0;寄存器寻址(R0) P0MOV18H, #30H;立即数寻址30H 18HMOVA ,R0;寄存器间接寻址 (R0) AMOVP2, P1;直接寻址( P1) P2最后结果:(R0)=38H,(A )=40H,( P0)=38H,(P1)=( P2)=0F0H,( DPTR)=3848H,(18H)=30H,( 30H)=38H,(38H)=40H,(40H)=40H,( 48H)=38H注意: 左边是内容,右边是单元7、对 89C51S51片内 RAM 的高 128字节的地址空间寻址要注意

23、什么?答 用直接寻址,位寻址,寄存器寻址8、指出下列指令的本质区别?MOVA,DATA;直接寻址2字节 1周期MOVA,#DATA;立即数寻址2字节 1周期MOVDATA1,DATA2 ; 直接寻址3字节 2周期MOV74H,#78H;立即数寻址3字节 2周期如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录A9、MOVA,R0 ;(R0)=80H AMOVR0,40H;(40H)=08H (R0)MOV40H,A;(A)=80 40HMOVR0,#35H;35HR0最后结果:( R0)=35H(A ) =80H,( 32H) =08H,( 40H)=80H10、如何访问 SFR?用

24、直接寻址,位寻址,寄存器寻址11、如何访问片外 RAM?只能采用寄存器间接寻址(用MOVX 指令).12、如何访问片内 RAM?低 128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0R7)高 128字节:直接寻址,位寻址,寄存器寻址13、如何访问片内外ROM?采用变址寻址(用MOVC 指令)14、说明十进制调整的原因和方法答:压缩 BCD 码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。用DA A 指令调整(加 06H,60H, 66H)15、说明 89C51S51的布尔处理机功能答:用来进行位操作16、ANLA ,#17H; 83H17H=0

25、3H AORL17H,A; 34H03H=37H17HXRLA , R0;03H37H=34HCPLA;34H 求反等于 CBH所以( A)=CBH17、( 1) SETB ACC.0或 SETB E0H;E0H 是累加器的地址(2)CLR ACC.7CLR ACC.6CLR ACC.5CLR ACC.4(3)CLR ACC.6CLR ACC.5CLR ACC.4CLR ACC.318、MOV 27H ,R7MOV 26H ,R6MOV 25H ,R5MOV 24H ,R4MOV 23H ,R3.MOV 22H ,R2MOV 21H ,R1MOV 20H ,R019、MOV 2FH ,20MO

26、V 2EH ,21MOV 2DH , 2220、CLR CMOV A , #5DH;被减数的低 8位 AMOV R2 , #B4H;减数低 8位 R2SUBB A ,R2;被减数减去减数,差AMOV 30H ,A;低 8位结果 30HMOV A , #6FH;被减数的高 8位 AMOV R2 , #13H;减数高 8位 R2SUBB A ,R2;被减数减去减数,差AMOV 31H ,A;高 8位结果 30H注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清0进位位21、( 1) A 10CJNE A,#0AH ,L1;(A )与 10比较,不等转L1LJMP LABEL;相等转 LA

27、BELL1:JNCLABEL;(A )大于 10,转 LABEL或者:CLR CSUBB A ,#0AHJNCLABEL( 2) A 10CJNE A,#0AH ,L1;(A )与 10比较,不等转L1RET;相等结束L1:JNC LABEL;(A )大于 10,转 LABELRET;(A )小于 10,结束或者:CLR CSUBB A ,#0AHJNCL1RETL1:JNZ LABEL.RET( 3) A 10CJNE A,#0AH ,L1;(A )与 10比较,不等转 L1L2: LJMP LABEL;相等转 LABELL1:JC L2;( A )小于 10,转 L2RET或者:CLR C

28、SUBB A ,#0AHJC LABELJZ LABELRET22、( SP)=23H,(PC)=3412H参看书上 80页23、( SP)=27H,(26H)=48H,(27H)=23H,(PC)=3456H参看书上 79页24、不能。 ACALL 是短转指令,可调用的地址范围是2KB 。在看这个题的时候同时看一下 AJMP 指令。同时考虑调用指令 ACALL 和 LCALL 指令和 RET 指令的关系。25、MOV R2 ,#31H;数据块长度 R2MOV R0 ,#20H;数据块首地址 R0LOOP:MOV A , R0;待查找的数据 ACLR C;清进位位SUBB A ,#0AAH;待

29、查找的数据是 0AAH 吗JZL1;是,转 L1INC R0;不是,地址增 1,指向下一个待查数据DJNZ R2,LOOP ;数据块长度减 1,不等于 0,继续查找 MOV 51H ,#00H ;等于 0,未找到, 00H 51H RETL1:MOV 51H ,#01H;找到, 01H51HRET26、MOV R2 ,#31H;数据块长度 R2MOV R0 ,#20H;数据块首地址 R0LOOP:MOV A , R0;待查找的数据 A.JNZ L1;不为 0,转 L1INC 51H;为 0,00H 个数增 1L1: INC R0;地址增 1,指向下一个待查数据DJNZ R2,LOOP;数据块长

30、度减 1,不等于 0,继续查找RET27、MOV DPTR ,#SOURCE;源首地址 DPTRMOV R0 ,#DIST;目的首地址 R0LOOP: MOVX A ,DPTR;传送一个字符MOV R0,AINC DPTR;指向下一个字符INC R0CJNE A,#24H,LOOP;传送的是“ $”字符吗?不是,传送下一个字符RET28、MOV A , R3;取该数高 8位 AANL A ,#80H ;取出该数符号判断JZ L1;是正数,转 L1MOV A , R4;是负数,将该数低 8位 ACPL A;低 8位取反ADD A , #01H;加 1MOV R4 ,A;低 8位取反加 1后 R4

31、MOV A , R3;将该数高 8位 ACPL A;高 8位取反ADDC A ,#00H;加上低 8位加 1时可能产生的进位MOV R3 ,A;高 8位取反加 1后 R3L1: RET29、CLR C;清进位位 CMOV A , 31H;取该数低 8位 ARLC A;带进位位左移 1位MOV 31H ,A;结果存回 31HMOV A , 30H;取该数高 8位 ARLC A;带进位位左移 1位MOV 30H ,A;结果存回 30H30、MOV R2 ,#04H;字节长度 R2MOV R0 ,#30H;一个加数首地址 R0.MOV R1 ,#40H;另一个加数首地址 R1CLR C;清进位位LO

32、OP:MOV A , R0;取一个加数ADDC A ,R1;两个加数带进位位相加DA A;十进制调整MOV R0,A;存放结果INC R0;指向下一个字节INC R1;DJNZ R2,LOOP;数据块长度减 1,不等于 0,继续查找RET31、 MOV R2 ,#08H;数据块长度 R2MOV R0 ,#30H;数据块目的地址 R0MOV DPTR ,#2000H ;数据块源地址 DPTRLOOP:MOVX A , DPTR;传送一个数据MOV R0,AINC DPTR;指向下一个数据INC R0;DJNZ R2,LOOP;数据块长度减 1,没传送完,继续传送RET32、( 1) MOV R0

33、 , 0FH;2字节, 2周期4字节 4周期(差)MOV B ,R0;2字节, 2周期(2)MOV R0 ,#0FH;2字节, 1周期4字节 3周期(中)MOV B ,R0;2字节, 2周期(3)MOV B ,#0FH; 3字节, 2周期3字节 2周期(好)33、( 1)功能是将片内RAM 中50H51H 单元清 0。(2)7A0A (大家可以看一下书上,对于立即数寻址的话,后面一个字节存放的是立即数)7850(第一个字节的后三位是寄存器,前一个条指令是010也就是指的 R2,在这里是 R0,所以应该是 78,后一个字节存放的是立即数) DAFC (这里涉及到偏移量的计算,可以参考书上 56页

34、)34、INC R0;(7EH) =00HINC R0;( R0)=7FHINC R0;(7FH)=39HINC DPTR;( DPTR)=10FFHINC DPTR;( DPTR)=1100HINC DPTR;(DPTR) =1101H.35、解:(1000H)=53H(1001H)=54H(1002H)=41H( 1003H)=52H( 1004H) =54H(1005H) =12H( 1006H)=34H( 1007H) =30H(1008H) =00H( 1009H)=70H36、MOV R0,#40H; 40HR0MOV A , R0;98HAINCR0;41HR0ADDA ,R0;

35、98H+(41H)=47HAINC R0MOVR0, A;结果存入 42H 单元CLRA;清 AADDC A , #0;进位位存入 AINC R0MOV R0, A;进位位存入 43H功能:将 40H,41H 单元中的内容相加结果放在42H 单元,进位放在 43H 单元,( R0)=43H,(A )=1,(40H)=98H,( 41H)=AFH ,(42H)=47H,(43H)=01H37、 MOVA ,61H;F2HAMOVB, #02H;02H BMUL AB; F2HO2H=E4HAADD A , 62H;积的低 8位加上 CCHAMOV 63H ,A;结果送 62HCLR A;清 AA

36、DDC A ,B;积的高 8位加进位位 AMOV 64H ,A;结果送 64H功能:将 61H 单元的内容乘 2,低8位再加上 62H 单元的内容放入 63H,将结果的高 8位放在 64H 单元。(A )=02H,( B)=01H,(61H)=F2H,(62H)=CCH,( 63H)=B0H,(64H )=02H39、MOV A , XXHORL A,#80HMOV XXH , A40、( 2) MOVA ,XXHMOVR0,AXRLA , R0.第五章1、什么是中断和中断系统?其主要功能是什么?答:当 CPU 正在处理某件事情的时候, 外部发生的某一件事件请求 CPU 迅速去处理,于是, C

37、PU 暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后, 再回到原来被终止的地方, 继续原来的工作。 这种过程称为中断,实现这种功能的部件称为中断系统。功能:( 1)使计算机具有实时处理能力, 能对外界异步发生的事件作出及时的处理(2)完全消除了 CPU 在查询方式中的等待现象,大大提高了CPU 的工作效率(3)实现实时控制2、试编写一段对中断系统初始化的程序,使之允许INT0 ,INT1 ,TO,串行口中断,且使 T0中断为高优先级中断。解: MOVIE,#097HMOVIP,#02H3、在单片机中,中断能实现哪些功能?答:有三种功能:分时操作,实时处理,故障处理4、89C

38、51共有哪些中断源?对其中端请求如何进行控制?答:( 1) 89C51有如下中断源 :外部中断 0请求,低电平有效:外部中断 1请求,低电平有效T0:定时器、计数器 0溢出中断请求T1:定时器、计数器 1溢出中断请求TX/RX :串行接口中断请求( 2)通过对特殊功能寄存器 TCON 、SCON、 IE、IP 的各位进行置位或复位等操作,可实现各种中断控制功能5、什么是中断优先级?中断优先处理的原则是什么?答:中断优先级是CPU 相应中断的先后顺序。原则:(1)先响应优先级高的中断请求,再响应优先级低的(2)如果一个中断请求已经被响应,同级的其它中断请求将被禁止(3)如果同级的多个请求同时出现

39、,则 CPU 通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求查询顺序:外部中断 0定时器 0中断外部中断 1定时器 1中断串行接口中断6、说明外部中断请求的查询和响应过程。答:当 CPU 执行主程序第 K 条指令,外设向 CPU 发出中断请求, CPU 接到中.断请求信号并在本条指令执行完后, 中断主程序的执行并保存断点地址, 然后转去响应中断。 CPU 在每个 S5P2期间顺序采样每个中断源, CPU 在下一个机器周期 S6期间按优先级顺序查询中断标志,如果查询到某个中断标志为 1,将在接下来的机器周期 S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务程序。中断服务完毕后, CPU 返回到主程序第 K+1条指令继续执行。7、89C51在什么条件下可响应中断?答:(1)有中断源发出中断请求(2)中断中允许位 EA=1.即 CPU 开中断(3)申请中断的中断源的中断允许位为1,即中断没有被屏蔽(4)无同级或更高级中断正在服务(5)当前指令周期已经结束

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1