单片机原理及接口技术课后答案李朝青第三版.pdf

上传人:l*** 文档编号:80797342 上传时间:2023-03-23 格式:PDF 页数:29 大小:980.45KB
返回 下载 相关 举报
单片机原理及接口技术课后答案李朝青第三版.pdf_第1页
第1页 / 共29页
单片机原理及接口技术课后答案李朝青第三版.pdf_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《单片机原理及接口技术课后答案李朝青第三版.pdf》由会员分享,可在线阅读,更多相关《单片机原理及接口技术课后答案李朝青第三版.pdf(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第一题 8051 单片机内包含哪些主要逻辑功能部件 1.CPU 2.ROM 3.RAM 4.Timer/Counter 5.UART 串口通用异步串行接收机发送机 6.4 个 8bits Port 并口 7.Int0,int1 外部中断 第二题 8051 的/EA 端有什么用处 1.EA 端 Enable Address 外部程序存储器地址允许输入端 2.低电平有效 3.EA=0 低电平有效时,只允许访问外部存储器 4.EA=1 时,可以访问内部和外部存储器 5.EA 还有复用功能,VppPulse of Programming 编程脉冲固化编程电压输入端 第三题 8051 的存储器分为那几个

2、空间怎样区别不同空间的寻址 1.ROM 片内 ROM 和片外 ROM 统一编址使用 MOVC 数据传送指令 16bits 地址 64KB 2.片外 RAMMOVX16bits 地址 64KB 3.片内 RAMMOV8bits 地址 256B 什么是普林斯顿结构哈佛结构 1.普林斯顿结构,ROM 和 RAM 统一编址 2.哈佛结构,ROM 和 RAM 分开编址 第四章 8051 片内 RAM 的空间是怎样分配的 1.片内 RAM 有 256B 2.低 128B 是真正的 RAM 区 3.高 128B 是 SFR 特殊功能寄存器区 真正的 RAM 区可以分成那几个部分 1.4 个工作寄存器区 R0

3、R7 2.位寻址区 3.真正的 RAM 区 第五题简述布尔处理存储器的空间分配,片内 RAM 中包含哪些可位寻址单元 1.片内 RAM 区从 00HFFH256B 2.其中 20H2FH 字节地址是位寻址区 3.对应的位地址是 00H7FH 第六题 如何简洁地判断 8051 正在工作 1.用示波器观察 8051 的 XTAL2 端是否有脉冲信号输出判断震荡电路工作是否正常 2.ALE 地址锁存允许 Address Latch Enable 输出是 fosc 的 6 分频 3.用示波器观察 ALE 是否有脉冲输出判断 8051 芯片的好坏 4.观察 PSEN 判断 8051 能够到 EPROM

4、或 ROM 中读取指令码 5.因为/PSEN 接外部 EPROMROM 的/OE 端子 6.OE=Output Enable 输出允许 第七题 8051 如何确定和改变当前工作寄存器组 1.PSW 程序状态字 Program Status Word 中的 RS1 和 RS0 2.可以给出 4 中组合 3.用来从 4 组工作寄存器组中进行选择 4.PSW 属于 SFRSpecial Function Register 特殊功能寄存器 第十题 8051 的/EA 信号有什么功能在使用 8031 的时候,EA 信号引脚应该如何处理 1.EA=Enable Address 外部程序存储器地址允许输入端

5、 2.EA=0 低电平有效只允许访问外部存储器 3.EA=1 内外 ROM 都可以访问 4.因为 8031 没有片内 ROM 5.只能访问片外的 EPROM 6.应该使 EA=0 有效 第十二题内部 RAM 第 128B 单元划分成那几个主要部分各部分主要功能是什么 1.当前工作寄存器组 4 组 00H1FH 2.位寻址区 20H2FH 3.真正的 RAM 区 30H7FH 第十三题 使单片机复位有哪几种方法复位后机器的初始状态如何 1.上电复位 2.上电复位+手动复位 3.脉冲复位 4.复位会重置一些寄存器 第十四题开机复位后,CPU 使用的是哪组工作寄存器它们的地址什么什么 1.8051

6、有 4 个工作寄存器组 2.分别从 R0R7 3.分别位于 00H07H,08H0FH,10H17H,18H1FH 4.开机复位后,默认使用寄存器组 0 第十五题 PSW 的作用是什么作用是什么 1.PSW 是一个 SFR 特殊功能寄存器 2.位于片内 RAM 的高 128B 3.具体地址 D0H00HFFH 片内 RAM 的编址 8bits 编址方法 4.PSW=Program Status Word 程序状态字 PSW 的常用标志位有哪些 1.CY=Carry 进位标志位 2.AC=Auxiliary Carry 辅助进位标志位半进位标志位 3.F0 用户标志位 4.RS1,RS0,用来选

7、择当前工作寄存器组 R0R74 选 1 5.OV=Overflow 溢出标志位 6.P=Parity 奇偶校验位 第十五题位地址 7CH 和字节地址 7CH 如何区别位地址 7CH 在片内 RAM 中什么地方 1.片内 RAM 的地址从 00HFFH 2.其中 20H2FH 字节地址是位寻址区 bits 3.位地址从 00H7FH 4.位地址 7CH 位于字节地址 2FH 5.可以从寻址方式来区分 6.位地址使用位寻址方式 7.字节地址使用直接寻址,间接寻址 第十七题 8051 的时钟周期,震荡周期有什么关系 1.震荡周期 2.时钟周期=状态周期 state 3.时钟周期=2 振荡周期 4.机

8、器周期=6 时钟周期=12 震荡周期 5.指令周期=14 个机器周期 第十八题 一个机器周期的时序如何划分 1.一个机器周期=12 个震荡周期=6 个时钟周期状态周期 2.S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1,S6P2 3.其中 s=state 状态,p=phase 相位 第十九题什么叫做堆栈 SP 是什么它的作用是什么 8051 堆栈的容量不能超过多少个字节 1.Stack 堆栈 2.具有 FILO,LIFO 的特性 3.SP=Stack Pointer 堆栈指针 4.SP 是栈顶指示器 评论这张 1微处理器,RAM,R

9、OM,以及 I/O 口,定时器,构成的微型计算机称为单片机;2指令寄存器 IR 保存当前正在执行的一条指令;指令译码器 ID 对操作码进行译码;3 程序计数器 PC 指示出将要执行的下一条指令地址,由两个 8 位计数器 PCH及 PCL 组成;480C31 片内没有程序存储器,80C51 内部设有 4KB 的掩膜 ROM 程序存储器,87C51 是将 80C51 片内的 ROM 换成 EPROM,89C51 则换成 4KB 的闪存FLASHROM,51 增强型的程序存储器容量是普通型的 2 倍;589C51 的组成:一个 8 位的 80C51 的微处理器,片内 256 字节数据存储器RAM/S

10、FR用来存放可以读/写的数据,片内4KB程序存储器FLASHROM用存放程序、数据、表格,4 个 8 位并行 I/O 端口 P0-P3,两个 16 位的定时器/计数器,5个中断源、两个中断个优先级的中断控制系统,一个全双工 UART 的串行口I/O 口,片内振荡器和时钟产生电路,休闲方式和掉电方式;689C51 片内程序存储器容量为 4KB,地址从 0000-0FFFH 开始,存放程序和表格常数,片外最多可扩展 64KBROM 地址 1000-FFFFH,片内外统一编址;单片机的内部存储空间分为数据存储器和程序存储器;7内部数据存储器:共 256 字节单元,包括低 128 个单元和高 128

11、个单元;低 128 字节又分成 3 个区域:工作寄存器区 00H1FH,位寻址区 20H2FH 和用户 RAM 区 30H7FH 存放中间结果,数据暂存及数据缓冲;高 128 字节是供给特殊功能寄存器使用的,因此称之为特殊功能寄存器区,访问它只能用直接寻址;内部程序存储器:在 8031 片内无程序存储器,8051 片内具有 4KB 掩模ROM,8751片内具有 4KBEPROM;8 引脚是片内外程序存储器的选择信号;当 端保持高电平时,访问内部程序存储器,但在 PC 程序计数器值超过 0FFFH 对于 8051/8751/80C51 或 1FFFH对于 8052 时,将自动转向访问外部程序存储

12、器;当 端保持低电平时,不管是否有内部程序存储器,则只访问外部程序存储器;由于 8031 片内没有程序存储器,所以在使用 8031 时,引脚必须接低电平;9RST 复位信号输入端,高电平有效;保持两个机器周期 24 个时钟振荡周期的高电平有效,完成复位,复位后,CPU 和系统都处于一个确定的初始状态,在这种状态下,所有的专用寄存器都被赋予默认值,除 SP=07H,P0P3 口为 FFH外,其余寄存器均为 0;ALE/:ALE 输出正脉冲,频率为振荡周期的 1/6,CPU 访问片外存储器时,ALE输出信号作为锁存低 8 位地址的控制信号,看芯片好坏可以用示波器看 ALE端是否有脉冲信号输出;PS

13、EN 程序存储允许输出信号端,也可以检查芯片好坏,有效即能读出片外的指令,引脚信号有效时可读写片外或片外接口;10P0 作为输出口时,必须外接上拉电阻才能有高电平输出,作为输入口时,必须先向锁存器写“1”;作为普通 I/O 口使用或低 8 位地址/数据总线使用;P1 口有上拉电阻,对 FLASHROM 编程和校验是 P1 接收低八位地址;只用作普通 I/O 口使用;P2 口比 P1 口多了一个转换控制开关;作为普通 I/O 口使用或高 8 位地址线使用时访问外部程序存储器和 16 位地址的外部数据存储器;P3 口比 P1 口增加了与非门和缓冲器;具有准双向 I/O 功能和第二功能;P0,P1,

14、P2,P3 准双向口;上述 4 个端口在作为输入口使用时,应注意必须先向端口写“1”;11普林斯顿结构:一个地址对应唯一的存储单元,用同类访问指令;哈佛结构:程序存储器和数据存储器分开的结构;CPU 访问片内外 ROM 用 MOVC,访问片外 RAM 用,访问片内用 RS1 RS0 当前寄存器组 片内RAM地址 0 0 第 0 组工作寄存器 00H07H 0 1 第 1 组工作寄存器 08H0FH 1 0 第 2 组工作寄存器 10H17H 1 1 第 3 组工作寄存器 18H1FH SP 总是初始化到内部 RAM 地址 07H,堆栈的操作;PUSH、POP;DPTR 是数据指针寄存器,是一个

15、 16 位寄存器,用来存放 16 位存储器的地址,以便对 64片外 RAM 作间接寻址;DPTR由高位字节 DPH 和低位字节 DPL 组成;指令周期:执行一条指令所需要的时间;机器周期:CPU 完成一个基本操作所需要的时间,个状态周期和个振荡周期;当晶振频率为 12MHz 时,一个机器周期为 1s;当晶振频率为MHz 时,一个机器周期为s,复位时间超过s;复位操作有:电自动,按键手动,看门狗;空闲方式是 CPU 停止工作而 RAM,定时器/计数器,串行口及中断系统都工作;掉电一切功能都暂停,保存 RAM 中内容;退出空闲方式;硬件将清,硬件复位;当执行为,系统进入掉电方式;推出掉电只有硬件复

16、位;16保留的存储单元 存储单元 保留目的 0000H0002H 复位后初始化引导程序地址 0003H 000AH 外部中断0 000BH 0012H 定时器0 溢出中断 0013H 001AH 外部中断1 001BH 0022H 定时器1 溢出中断 0023H 002AH 串行端口中断 002BH 定时器2 中断 17单片机的寻址方式:寄存器寻址,直接寻址,立即数寻址,寄存器间接寻址,变址寻址,相对寻址,位寻址;18AJMP 和 SJMP 的区别有:1 跳转范围不同;AJMP addr1;短跳转范围:2KB;SJMP rel;相对跳转范围:-128+127 2 指令长度不同;3 指令构成不同

17、;AJMP、LJMP 后跟的是绝对地址,而 SJMP 后跟的是相对地址;不能用 AJMP 指令代替程序中的 SJMP 指令,因为如果改变的话,程序跳转到的新 PC值指向的地址会不同,导致程序出现错误;19 在 89c51 片内 RAM 中 30H=38H,38H=40H,40H=48H,48H=90H;情分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果 MOV A,40H ;直接寻址 40HA MOV R0,A ;寄存器寻址 AR0 MOV P1,0F0H ;立即数寻址 0F0P1 MOV R0,30H ;直接寻址 30H R0 MOV DPTR,3848H ;立即数

18、寻址 3848HDPTR MOV 40H,38H ;直接寻址 38H 40H MOV R0,30H ;直接寻址 30H R0 MOV P0,R0 ;寄存器寻址 R0 P0 MOV 18H,30H ;立即数寻址 30H18H MOV A,R0 ;寄存器间接寻址 R0 A MOV P2,P1 ;直接寻址 P1P2 最后结果:R0=38H,A=40H,P0=38H,P1=P2=0F0H,DPTR=3848H,18H=30H,30H=38H,38H=40H,40H=40H,48H=38H 注意:左边是内容,右边是单元 20已知 R3 和 R4 中存放有一个 16 位的二进制数,高位在 R3 中,地位在

19、 R4 中,请编程将其求补,并存回原处;MOV A,R3 ;取该数高 8 位A ANL A,80H ;取出该数符号判断 JZ L1 ;是正数,转 L1 MOV A,R4 ;是负数,将该数低 8 位A CPL A ;低 8 位取反 ADD A,01H ;加 1 MOV R4,A ;低 8 位取反加 1 后R4 MOV A,R3 ;将该数高 8 位A CPL A ;高 8 位取反 ADDC A,00H ;加上低 8 位加 1 时可能产生的进位 MOV R3,A ;高 8 位取反加 1 后R3 L1:RET 21已知 30H 和 31H 中村有一个 16 位的二进制数,高位在前,低位在后,请编程将他

20、们乘以 2,在存回原单元中;CLR C ;清进位位 C MOV A,31H ;取该数低 8 位A RLC A ;带进位位左移 1 位 MOV 31H,A ;结果存回 31H MOV A,30H ;取该数高 8 位A RLC A ;带进位位左移 1 位 MOV 30H,A ;结果存回 30H 22假设允许片内定时器/计数器中断,禁止其他中断;设置 IE 值;用字节操作指令:MOV IE 8AH 或 MOV A8H,A8H 用位操作指令:SETB ET0 SETB ET1 SETB EA 23设 89 C51 的片外中断为高优先级,片内为低优先级,设置 IP 值;用字节操作指令:MOV IP,05

21、H 或 MOV 0B8H,05H 用位操作指令:SETB PX0 SETB PX1 CLR PS CLR PT0 CLE PT1 2489C51 单片机内有两个 16 位定时器/计数器,即 T0,T1.第三章 1、指令:CPU 根据人的意图来执行某种操作的命令 指令系统:一台计算机所能执行的全部指令集合 机器语言:用二进制编码表示,计算机能直接识别和执行的语言 汇编语言:用助记符、符号和数字来表示指令的程序语言 高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言 2、见第 1 题 3、操作码 目的操作数 ,源操作数 4、寻址方式 寻址空间 立即数寻址 程序存储器

22、 ROM 直接寻址 片内 RAM 低 128B、特殊功能寄存器 寄存器寻址 工作寄存器 R0-R7、A、B、C、DPTR 寄存器间接寻址 片内 RAM 低 128B、片外 RAM 变址寻址 程序存储器 A+PC,A+DPTR 相对寻址 程序存储器 256B 范围 PC+偏移量 位寻址 片内 RAM 的 20H-2FH 字节地址、部分 SFR 5、SFR:直接寻址,位寻址,寄存器寻址;片外 RAM:寄存器间接寻址 6、MOV A,40H ;直接寻址 40HA MOV R0,A ;寄存器寻址 AR0 MOV P1,0F0H ;立即数寻址 0F0P1 MOV R0,30H ;直接寻址 30H R0

23、MOV DPTR,3848H ;立即数寻址 3848HDPTR MOV 40H,38H ;直接寻址 38H 40H MOV R0,30H ;直接寻址 30H R0 MOV P0,R0 ;寄存器寻址 R0 P0 MOV 18H,30H ;立即数寻址 30H18H MOV A,R0 ;寄存器间接寻址 R0 A MOV P2,P1 ;直接寻址 P1P2 最后结果:R0=38H,A=40H,P0=38H,P1=P2=0F0H,DPTR=3848H,18H=30H,30H=38H,38H=40H,40H=40H,48H=38H 注意:左边是内容,右边是单元 7、用直接寻址,位寻址,寄存器寻址 8、MOV

24、 A,DATA;直接寻址 2 字节 1 周期 MOV A,DATA;立即数寻址 2 字节 1 周期 MOV DATA1,DATA2;直接寻址 3 字节 2 周期 MOV 74H,78H;立即数寻址 3 字节 2 周期 如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录 A 9、MOV A,R0;R0=80HA MOV R0,40H;40H=08HR0 MOV 40H,A;A=8040H MOV R0,35H;35HR0 最后结果:R0=35H A=80H,32H=08H,40H=80H 10、用直接寻址,位寻址,寄存器寻址 11、只能采用寄存器间接寻址用 MOVX 指令 12、低 1

25、28 字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址 R0R7 高 128 字节:直接寻址,位寻址,寄存器寻址 13、采用变址寻址用 MOVC 指令 14、压缩 BCD 码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确;用 DA A 指令调整加 06H,60H,66H 15、用来进行位操作 16、ANL A,17H ;83H17H=03HA ORL 17H,A ;34H03H=37H17H XRL A,R0 ;03H37H=34H CPL A ;34H 求反等于 CBH 所以 A=CBH 17、1SETB 或 SETB E0H ;E0H 是累加器的地址

26、2CLR CLR CLR CLR 3CLR CLR CLR CLR 18、MOV 27H,R7 MOV 26H,R6 MOV 25H,R5 MOV 24H,R4 MOV 23H,R3 MOV 22H,R2 MOV 21H,R1 MOV 20H,R0 19、MOV 2FH,20 MOV 2EH,21 MOV 2DH,22 20、CLR C MOV A,5DH ;被减数的低 8 位A MOV R2,B4H ;减数低 8 位R2 SUBB A,R2 ;被减数减去减数,差A MOV 30H,A ;低 8 位结果30H MOV A,6FH ;被减数的高 8 位A MOV R2,13H ;减数高 8 位R

27、2 SUBB A,R2 ;被减数减去减数,差A MOV 31H,A ;高 8 位结果30H 注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清 0 进位位 21、1A10 CJNE A,0AH,L1 ;A 与 10 比较,不等转 L1 LJMP LABEL ;相等转 LABEL L1:JNC LABEL ;A 大于 10,转 LABEL 或者:CLR C SUBB A,0AH JNC LABEL 2A10 CJNE A,0AH,L1 ;A 与 10 比较,不等转 L1 RET ;相等结束 L1:JNC LABEL ;A 大于 10,转 LABEL RET ;A 小于 10,结束 或者

28、:CLR C SUBB A,0AH JNC L1 RET L1:JNZ LABEL RET 3A10 CJNE A,0AH,L1 ;A 与 10 比较,不等转 L1 L2:LJMP LABEL ;相等转 LABEL L1:JC L2 ;A 小于 10,转 L2 RET 或者:CLR C SUBB A,0AH JC LABEL JZ LABEL RET 22、SP=23H,PC=3412H 参看书上 80 页 23、SP=27H,26H=48H,27H=23H,PC=3456H 参看书上 79 页 24、不能;ACALL 是短转指令,可调用的地址范围是 2KB;在看这个题的时候同时看一下 AJM

29、P 指令;同时考虑调用指令 ACALL 和 LCALL 指令和 RET指令的关系;25、MOV R2,31H ;数据块长度R2 MOV R0,20H ;数据块首地址R0 LOOP:MOV A,R0 ;待查找的数据A CLR C ;清进位位 SUBB A,0AAH ;待查找的数据是 0AAH 吗 JZ L1 ;是,转 L1 INC R0 ;不是,地址增 1,指向下一个待查数据 DJNZ R2,LOOP ;数据块长度减 1,不等于 0,继续查找 MOV 51H,00H ;等于 0,未找到,00H51H RET L1:MOV 51H,01H ;找到,01H51H RET 26、MOV R2,31H

30、;数据块长度R2 MOV R0,20H ;数据块首地址R0 LOOP:MOV A,R0 ;待查找的数据A JNZ L1 ;不为 0,转 L1 INC 51H ;为 0,00H 个数增 1 L1:INC R0 ;地址增 1,指向下一个待查数据 DJNZ R2,LOOP ;数据块长度减 1,不等于 0,继续查找 RET 27、MOV DPTR,SOURCE ;源首地址DPTR MOV R0,DIST ;目的首地址R0 LOOP:MOVX A,DPTR ;传送一个字符 MOV R0,A INC DPTR ;指向下一个字符 INC R0 CJNE A,24H,LOOP ;传送的是“$”字符吗不是,传送

31、下一个字符 RET 28、MOV A,R3 ;取该数高 8 位A ANL A,80H ;取出该数符号判断 JZ L1 ;是正数,转 L1 MOV A,R4 ;是负数,将该数低 8 位A CPL A ;低 8 位取反 ADD A,01H ;加 1 MOV R4,A ;低 8 位取反加 1 后R4 MOV A,R3 ;将该数高 8 位A CPL A ;高 8 位取反 ADDC A,00H ;加上低 8 位加 1 时可能产生的进位 MOV R3,A ;高 8 位取反加 1 后R3 L1:RET 29、CLR C ;清进位位 C MOV A,31H ;取该数低 8 位A RLC A ;带进位位左移 1

32、 位 MOV 31H,A ;结果存回 31H MOV A,30H ;取该数高 8 位A RLC A ;带进位位左移 1 位 MOV 30H,A ;结果存回 30H 30、MOV R2,04H ;字节长度R2 MOV R0,30H ;一个加数首地址R0 MOV R1,40H ;另一个加数首地址R1 CLR C ;清进位位 LOOP:MOV A,R0 ;取一个加数 ADDC A,R1 ;两个加数带进位位相加 DA A ;十进制调整 MOV R0,A ;存放结果 INC R0 ;指向下一个字节 INC R1 ;DJNZ R2,LOOP ;数据块长度减 1,不等于 0,继续查找 RET 31、MOV

33、R2,08H ;数据块长度R2 MOV R0,30H ;数据块目的地址R0 MOV DPTR,2000H ;数据块源地址DPTR LOOP:MOVX A,DPTR ;传送一个数据 MOV R0,A INC DPTR ;指向下一个数据 INC R0 ;DJNZ R2,LOOP ;数据块长度减 1,没传送完,继续传送 RET 32、1MOV R0,0FH ;2 字节,2 周期 4 字节 4 周期差 MOV B,R0 ;2 字节,2 周期 2MOV R0,0FH ;2 字节,1 周期 4 字节 3 周期中 MOV B,R0 ;2 字节,2 周期 3MOV B,0FH ;3 字节,2 周期 3 字节

34、2 周期好 33、1 功能是将片内 RAM 中 50H51H 单元清 0;27A0A 大家可以看一下书上,对于立即数寻址的话,后面一个字节存放的是立即数 7850 第一个字节的后三位是寄存器,前一个条指令是010也就是指的R2,在这里是R0,所以应该是 78,后一个字节存放的是立即数 DAFC 这里涉及到偏移量的计算,可以参考书上 56 页 34、INC R0 ;7EH=00H INC R0 ;R0=7FH INC R0 ;7FH=39H INC DPTR ;DPTR=10FFH INC DPTR ;DPTR=1100H INC DPTR ;DPTR=1101H 35、解:1000H=53H

35、1001H=54H 1002H=41H 1003H=52H 1004H=54H 1005H=12H 1006H=34H 1007H=30H 1008H=00H 1009H=70H 36、MOV R0,40H ;40HR0 MOV A,R0 ;98HA INC R0 ;41HR0 ADD A,R0 ;98H+41H=47HA INC R0 MOV R0,A ;结果存入 42H 单元 CLR A ;清 A ADDC A,0 ;进位位存入 A INC R0 MOV R0,A ;进位位存入 43H 功能:将 40H,41H 单元中的内 容相加 结果放在 42H 单 元,进 位放 在 43H 单元,R0

36、=43H,A=1,40H=98H,41H=AFH,42H=47H,43H=01H 37、MOV A,61H ;F2HA MOV B,02H ;02HB MUL AB ;F2HO2H=E4HA ADD A,62H ;积的低 8 位加上 CCHA MOV 63H,A ;结果送 62H CLR A ;清 A ADDC A,B ;积的高 8 位加进位位A MOV 64H,A ;结果送 64H 功能:将 61H 单元的内容乘 2,低 8 位再加上 62H 单元的内容放入 63H,将结果的高 8 位放在 64H 单元;A=02H,B=01H,61H=F2H,62H=CCH,63H=B0H,64H=02H

37、39、MOV A,XXH ORL A,80H MOV XXH,A 40、2MOV A,XXH MOV R0,A XRL A,R0 第五章 1、什么是中断和中断系统其主要功能是什么 答:当 CPU 正在处理某件事情的时候,外部发生的某一件事件请求 CPU 迅速去处理,于是,CPU 暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作;这种过程称为中断,实现这种功能的部件称为中断系统;功能:1 使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理 2 完全消除了 CPU 在查询方式中的等待现象,大大提高了 CPU 的工作效率 3 实现

38、实时控制 2、试编写一段对中断系统初始化的程序,使之允许 INT0,INT1,TO,串行口中断,且使 T0中断为高优先级中断;解:MOV IE,097H MOV IP,02H 3、在单片机中,中断能实现哪些功能 答:有三种功能:分时操作,实时处理,故障处理 4、89C51 共有哪些中断源对其中端请求如何进行控制 答:189C51有如下中断源 :外部中断 0 请求,低电平有效 :外部中断 1 请求,低电平有效 T0:定时器、计数器0 溢出中断请求 T1:定时器、计数器1 溢出中断请求 TX/RX:串行接口中断请求 2 通过对特殊功能寄存器TCON、SCON、IE、IP 的各位进行置位或复位等操作

39、,可实现各种中断控制功能 5、什么是中断优先级中断优先处理的原则是什么 答:中断优先级是CPU 相应中断的先后顺序;原则:1 先响应优先级高的中断请求,再响应优先级低的 2 如果一个中断请求已经被响应,同级的其它中断请求将被禁止 3 如果同级的多个请求同时出现,则 CPU 通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求 查询顺序:外部中断 0定时器 0 中断外部中断 1定时器 1 中断串行接口中断 6、说明外部中断请求的查询和响应过程;答:当 CPU 执行主程序第 K 条指令,外设向 CPU 发出中断请求,CPU 接到中断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,

40、然后转去响应中断;CPU 在每个S5P2 期间顺序采样每个中断源,CPU 在下一个机器周期S6 期间按优先级顺序查询中断标志,如果查询到某个中断标志为1,将在接下来的机器周期S1 期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务程序;中断服务完毕后,CPU 返回到主程序第 K+1 条指令继续执行;7、89C51 在什么条件下可响应中断 答:1 有中断源发出中断请求 2 中断中允许位 EA=1.即 CPU 开中断 3 申请中断的中断源的中断允许位为 1,即中断没有被屏蔽 4 无同级或更高级中断正在服务 5 当前指令周期已经结束 6 若现行指令为

41、 RETI 或访问 IE 或 IP 指令时,该指令以及紧接着的另一条指令已执行完毕 8、简述 89C51 单片机的中断响应过程;答:CPU 在每个机器周期 S5P2 期间顺序采样每个中断源,CPU 在下一个机器周期 S6 期间按优先级顺序查询中断标志,如查询到某个中断标志为 1,将在接下来的机器周期 S1 期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务程序;一旦响应中断,89C51 首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把当前的 PC 值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入 PC,于是 CP

42、U 接着从中断服务程序的入口处开始执行;对于有些中断源,CPU 在响应中断后会自动清除中断标志;9、在 89C51 内存中,应如何安排程序区 答:主程序一般从 0030H 开始,主程序后一般是子程序及中断服务程序;在这个大家还要清除各个中断的中断矢量地址;10、试述中断的作用及中断的全过程;答:作用:对外部异步发生的事件作出及时的处理 过程:中断请求,中断响应,中断处理,中断返回 11、当正在执行某一个中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求在什么情况下不能响应新的中断请求 答:1 符合以下 6 个条件可响应新的中断请求:a 有中断源发出中断请求 b

43、中断允许位 EA=1,即 CPU 开中断 c 申请中断的中断源的中断允许位为1,即中断没有被屏蔽 d 无同级或更高级中断正在被服务 e 当前的指令周期已结束 f 若现行指令为 RETI 或访问 IE 或 IP 指令时,该指令以及紧接着的另一条指令已被执行完 12、89C51 单片机外部中断源有几种触发中断请求的方法如何实现中断请求 答:有两种方式:电平触发和边沿触发 电平触发方式:CPU 在每个机器周期的 S5P2 期间采样外部中断引脚的输入电平;若为低电平,使 IE1IE0 置“1”,申请中断;若为高电平,则 IE1IE0 清零;边沿触发方式:CPU 在每个机器周期 S5P2 期间采样外部中

44、断请求引脚的输入电平;如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接着下一个机器周期采样到外部中断请求为低电平,则使 IE1IE0 置“1”申请中断;否则,IE1IE0置 0;13、89C51 单片机有五个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制;试问以下几种中断优先顺序的安排级别由高到低是否可能:若可能,则应如何设置中断源的中断级别:否则,请简述不可能的理由;定时器 0,定时器 1,外中断 0,外中断 1,串行口中断;可以,MOV IP,0AH 串行口中断,外中断 0,定时器 0,外中断 1,定时器 1;可以,MOV IP,10

45、H 外中断 0,定时器 1,外中断 1,定时器 0,串行口中断;不可以,只能设置一级高级优先级,如果将INT0,T1设置为高级,而T0级别 高于INT1.外中断 0,外中断 1,串行口中断,定时器 0,定时器 1;可以,MOV IP,15H 串行口中断,定时器 0,外中断 0,外中断 1,定时器 1;不可以 外中断 0,外中断 1,定时器 0,串行口中断,定时器 1;不可以 外中断 0,定时器 1,定时器 0,外中断 1,串行口中断;可以,MOV IP,09H 14、89C51 各中断源的中断标志是如何产生的又是如何清 0 的 CPU 响应中断时,中断入口地址各是多少 答:各中断标志的产生和清

46、“0”如下:1 外部中断类 外部中断是由外部原因引起的,可以通过两个固定引脚,即外部中断 0 和外部中断 1 输入信号;外部中断 0 请求信号,由脚输入;通过 IT0 来决定中断请求信号是低电平有效还是下跳变有效;一旦输入信号有效,则向 CPU 申请中断,并且使 IE0=1;硬件复位;外部中断 1 请求信号,功能与用法类似外部中断 0 2 定时中断类 定时中断是为满足定时或计数溢出处理需要而设置的;当定时器/计数器中的计数结构发生计数溢出的,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志位;这种中断请求是在单片机芯片内部发生的,无需在芯片上设置引入端,但在计

47、数方式时,中断源可以由外部引入;TF0:定时器 T0 溢出中断请求;当定时器 T0 产生溢出时,定时器 T0 请求标志 TF0=1,请求中断处理;使用中断时由硬件复位,在查询方式下可由软件复位;TF1:定时器 T1 溢出中断请求;功能与用法类似定时器 T0 3 串行口中断类 串行口中断是为串行数据的传送需要而设置的;串行中断请求也是在单片机芯片内部发生的,但当串行口作为接收端时,必须有一完整的串行帧数据从RI 端引入芯片,才可能引发中断;RI 或 TI:串行口中断请求;当接收或发送一串帧数据时,使内部串行口中断请求标志 RI或 TI=1,并请求中断;响应后必须软件复位;CPU 响应中断时,中断

48、入口地址如下:中断源 入口地址 外部中断 0 0003H 定时器 T0 中断 000BH 外部中断 1 0013H 定时器 T1 中断 001BH 串行口中断 0023H 15、中断响应时间是否为确定不变的为什么 答:中断响应时间不是确定不变的;由于CPU不是在任何情况下对中断请求都予以响应的;此外,不同的情况对中断响应的时间也是不同的;下面以外部中断为例,说明中断响应的时间;在每个机器周期的S5P2期间,端的电平被所存到TCON的 IE0 位,CPU 在下一个机器周期才会查询这些值;这时满足中断响应条件,下一条要执行的指令将是一条硬件长调用指令“LCALL”,使程序转入中断矢量入口;调用本身

49、要用 2 个机器周期,这样,从外部中断请求有效到开始执行中断服务程序的第一条指令,至少需要 3 个机器周期,这是最短的响应时间;如果遇到中断受阻的情况,这中断响应时间会更长一些;例如,当一个同级或更高级的中断服务程序正在进行,则附加的等待时间取决于正在进行的中断服务程序:如果正在执行的一条指令还没有进行到最后一个机器周期,附加的等待时间为13 个机器周期;如果正在执行的是RETI指令或者访问IE 或 IP 的指令,则附加的等待时间在5 个机器周期内;若系统中只有一个中断源,则响应时间为38 个机器周期;16、中断响应过程中,为什么通常要保护现场如何保护 答:因为一般主程序和中断服务程序都可能会

50、用到累加器,PSW 寄存器及其他一些寄存器;CPU 在进入中断服务程序后,用到上述寄存器时,就会破坏它原来存在寄存器中的内容;一旦中断返回,将会造成主程序的混乱;因而在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序以前再恢复现场;保护方法一般是把累加器、PSW 寄存器及其他一些与主程序有关的寄存器压入堆栈;在保护现场和恢复现场时,为了不使现场受到破坏或者造成混乱,一般规定此时 CPU 不响应新的中断请求;这就要求在编写中断服务程序时,注意在保护现场之前要关中断,在恢复现场之后开中断;如果在中断处理时允许有更高级的中断打断它,则在保护现场之后再开中断,恢复现场之前关中

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

当前位置:首页 > 应用文书 > 工作报告

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com