单片机课后答案_第1页
单片机课后答案_第2页
单片机课后答案_第3页
单片机课后答案_第4页
单片机课后答案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 ( 1)片内存储容量越来越大。 ( 2抗干扰性好,可靠性高。 ( 3)芯片引线齐全,容易扩展。 ( 4)运行速度高,控制功能强。 ( 5)单片机内部的数据信息保存时间很长,有的芯片可以达到 100 年以上。 2. 89片机内包含哪些主要逻辑功能部件? 答: 80列单片机在片内集成了以下主要逻辑功能部件: (l)央处理器 ):8位 (2)片内 28B (3)特殊功能寄存器 :21个 (4)程序存储器 :45)并行 I/8位, 4个 (6)串行接口 :全双工, 1个 (7)定时器 /计数器 :16位, 2个 (8)片内时钟电路 :1个 微机和单片机? 答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。 微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。 单片机是将微处理器、一定容量的 、定时器等电路集成在一块芯片上,构成的单片微型计算机。 4. 微型计算机怎样执行一个程序? 答: 通过 提到内存当中,再逐一执行 。 有哪些类型?为什么说单片机是典型的嵌入式系统? 答 ; 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 它有 嵌入式微处理器 、 嵌入式微控制器 、嵌入式 入式片上系统等。 嵌入式系统的出现最初是基于单片机的。 它从体系结构到指令系统都是按照嵌入式应用特点专门设计的,能最好的满足面对控制对象,应运系统的嵌入、现场的可靠运行 以及非凡的控制品质要求。因此,她是典型的嵌入式系统。 第二章 答: /接高电平时, 储器。 /执行片外程序存储器中的指令。 /行内部存储器中的指令。 3. 89存储器分哪几个空间 ?如何区别不同空间的寻址 ? 答: 内 使用 数据传送指令)( 16 64 片外 16 64 片内 8 256B) 4. 简述 89 答:片内 56B、 低 128 高 128殊功能寄存器)区 5. 简述布尔处理存储器的空间分配,片内 答:片内 0H256B) 、 其中 20H2节地址)是位寻址区 对应的位地址是 00H7. 如何简捷地判断 89 答:用示波器观察 8051的 出(判断震荡电路工作是否正常?) 址锁存允许)( 出是 6分频 用示波器观察 断 8051芯片的好坏?) 观察 断 8051能够到 因为 / / 出允许) 7. 89何确定和改变当前工作寄存器组 ? 答: 序状态字)( 的 可以给出 4中组合 用来从 4组工作寄存器组中进行选择 于 特殊功能寄存器) 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器( 0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如 ,条指令就是读引脚的,意思就是把端口 ) 传送类 位转移 些都属于读引脚,平时实验时 经常用这些指令于外部通信,判断外部键盘等;字节交换 10. 890 用作通用 /口输入数据时,应注意什么 ? 答: 内部没有上拉电阻,可以用做 16位地址的低 8位; 第二功能; 可以用做 16位地址的高 8 位; 需要上拉电阻。 有靠上拉电阻才能实现 11. 89片机的信号有何功 能 ?在使用 8031时,信号引脚应如何处理 ? 答: (1)80片机的 电平有效 ;在编程时,其上施加 21脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储器 ;使系统全部执行片外程序存储器程序。 (2)在使用 80因为 80以在使用它时必定要有外部的程序存储器, 号引脚应接低电平。 12. 89片机有哪些信号需要 芯片引脚以第 2功能的方式提供 ? 答: 第一功能 第二功能 串行口: 行输入口) 行输出口) 中断: 定时器 /计数器( 时器 /计数器 0的外部输入) 时器 /计数器 1的外部输入) 数据存储器选通: 部存储器写选通,低电平有效,输出) 部存储器读选通,低电平有效,输出) 定时器 /计数器( 时器 时器 外部输入端) 13. 内部 28字节单元划分为哪 3个主要部分 ?各部分主要功能是什么 ? 答:片内 28单元的划分及主要功能 : (l)工作寄存器组 (00H这是一个用寄存器直接寻址的区域,内部数据 31(00H共 32个单 元。它是 4个通用工作寄存器组,每个组包含 8个 8位寄存器,编号为 7。 (2)位寻址区 (20H2从内部数据 247(20H2 16 个字节单元,共包含 128位,是可位寻 址的 。这 16个字节单元,既可进行字节寻址,又可实现位寻址。 (3)字节寻址区 (30H7从内部数据 8127(30H7共 80个字节单元,可以采用间接字节寻址的方法访问。 14. 使单片机复位有几种方法 ?复位后机器的初始状态如何 ? 答: (1)单片机复位方法 单片机复位方法有 :上电自动复位、按键电平复位和外部脉冲三种方式 (2)复位后的初始状态 复位后机器的初始状态 ,即各寄存器的状态 :复位操作还对其他一些特殊功能寄存器有影响 ,它们的复位状态如题表 215. 开机复位后, 它们的地址是什么 ? 答:一般开机复位后都是选择第一组通用工作寄存器作为工作寄存器的,一共有 4组,分别为 0址, 然后在机器中有个程序状态字 的第四和第三位 用来选择工作寄存器组的,可能不同机器地址稍有不同。他们俩的值和寄存器组的关系: 0/0 0/1 1/0 1/1 使用的工作寄存器 0 1 2 3 地址 00808程序的时候就是通过定义程序状态字来选择使用不同的寄存器组。也可以直接对 值。 16. 程序状态寄存器 常用标志有哪些位 ?作用是什么 ? 答: 一个 殊功能寄存器) 位于片内 28B 具体地址 00H片内 8 序状态字) 常用标志位有哪些? 位标志位) 、 助进位标志位)(半进位标志位) 户标志位 、 来选择当前工作寄存器组( 7)( 4选 1) 出标志位) 、 P=偶校验位) 17. 位地址 7位地址 7 答:用不同 的寻址方式来加以区分,即访问 128个位地址用位寻址方式,访问低 128字节单元用字节寻址和间接寻址。 具体地址为 2为 7C。 片机的时钟周期与振荡周期之间有什么关系 ?什么叫机器周期和指令周期? 答:时钟信号的周期称为机器状态周期,是振荡周期的两倍。一个机器周期是指 问存储器一次所需的时间。指令周期是执行一条指令所需的时间。 19. 一个机器周期的时序如何划分 ? 答:一个机器周期 =12个震荡周期 =6 个时钟周期(状态周期) 中 s=态), p=位) 堆栈指针 89 答:堆栈都是一种数据项按序排列的数据结构,只能在一端 (称为栈顶 (对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出 (在调用子程序时需要保存调用函数的 存器 针 ,针是被 令自动压入 指向的片内存储器 ,存器要由用户用 令自行保存 ,因此 作用就是一个指针 ,当进行中断调用 ,子函数调用时将现场数据压入 指向的存储器 ,动增加 1 或 2,当中断结束 用返回 将 据弹出 ,动减 1或 2 8051最大为 128字节的片内存储器 ,06字节 ,8052为 256字节 224字节可用 , 但这样便没有其它空间可用于数据存储现在的单片机的程序一般都能用 不用关心堆栈大小与 21. 89几种低功耗方式?如何实现? 答:空闲方式和 掉电方式 空闲方式和掉电方式是通过对 址 87H)相应位置 1而启动的。 当 行完置 (指令后,系统进入空闲工作方式。这时,内部时钟不向 供,而只供给中断、串行口、定时器部分。 包括堆栈指针 序计数器 序状态字 加器 口状态也保持不变。 当 行一条置 1的指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。 由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部 端口的输出状态值都保存在对应的 , 22. 何异同? 答: (1)程序计数器 程序计数器 一个独立的计数器,存放着下一条将程序存储器中取出的指令的地址。 程序计数器 序计数器的宽度决定了程序存储器可以 寻址的范围。 程序计数器 程序计数器 。这是最基本的工作方式,也是这个专用寄存器被称为计数 器的原因。 执行条件或无条件转移指令时,程序计数器将被置入新的数值程序的流向发生变化。 变化的方式有下列几种 :带符号的相对跳转 跳转 跳转 A+。 在执行调用指令或响应中断时 : 下一条将要执行的指令的地址送入堆栈,加以保护 ; 将子程序的入口地址或者中断矢量地址送入 序流向发生变化,执行子程序或中断服务程序 ; 子程序或中 断服务程序执行完毕,遇到返回指令 ,将栈顶的内容送到 存器中,程序流程又返回到原来的地方,继续执行。 (2)地址指针 地址指针 作为片外数据存储器寻址用的地址寄存器 (间接寻址 )。 (3)地址指针 相同之处 : 两者都是与地址有关的、 16位的寄存器。其中, 作为地址寄存器使用时, 0 和 作为 16位地址总线 )输 出的。但是, 与 不同之处 : 6位寄存器对待,由于有自动加 1的功能,故又称为计数器 ; 6位寄存器对待,也可以作为两个 8位寄存器对待。 不可以访问的,有自己独特的变化方式,它的变化轨迹决定了程序执行的流程 ; # 23. 89口锁存器 的“读 修改 写”操作与“读引脚”操作有何区别? 答:指令系统中有些指令读锁存器的值 , 有些指令则读引脚上的值。读锁存器指令是从锁存器中读取一个值并进行处理 , 把处理后的值 (原值或已修改后的值 )重新写入锁存器中。这类指令称为读 写指令。 对于读 写指令。直接读锁存器而不是读端口引脚 , 是因为从引脚上读出的数据不一定能真正反映锁存器的状态。 第三章 1、 指令: 指令系统:一台计算机所能执行的全部指令集合 机器语言:用二进制编码表示,计算机能直接识别 和执行的语言 汇编语言:用助记符、符号和数字来表示指令的程序语言 高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言 3、 简述 8951的汇编指令格式。答: 操作码 目的操作数 ,源操作数 4、 简述 8951的寻址方式和所能涉及的寻址空间。 寻址方式 寻址空间 立即数寻址 程序存储器 接寻址 片内 28B、特殊功能寄存器 寄存器寻址 工作寄存器 A、 B、 C、 存器间接寻址 片内 28B、片外 址寻址 程序存储器( A+A+ 相对寻址 程序存储器 256B 范围( 移量) 位寻址 片内 0节地址、部分 、 访问特殊功能寄存器和外数据存储器,应采用那些寻址方式? 答: 接寻址,位寻址,寄存器寻址;片外 存器间接寻址 6、 8951 中已知( 30H) =38H,请分析以下各是什么指令,说明源操作数的寻址方式以及执行结果。 A, 40H ;直接寻址( 40H) A A;寄存器寻址( A) #0;立即数寻址 0 0H;直接寻址( 30H) ( 3848H;立即数寻址 3848H 40H,38H;直接寻址 ( 38H) 40H 0H;直接寻址 ( 30H) 0;寄存器寻址( 18H, #30H ;立即数寻址 30H 18H A, ;寄存器间接寻址 ( A ;直接寻址 ( 后结果:( =38H,( A) =40H,( =38H,( =( =0 =3848H,( 18H) =30H,( 30H) =38H,( 38H) =40H,( 40H) =40H,( 48H) =38H 注意:左边是内容,右边是单元 7、 8951 片内高 128字节的地址寻址要注意什么 /? 答: 用直接寻址,位寻址,寄存器寻址 8、 指出些列指令的本质? A,直接寻址 2字节 1周期 A,#立即数寻址 2字节 1周期 直接寻址 3字节 2周期 74H,#78H ;立即数寻址 3字节 2周期 9、设 2H, 8H,。请指出在执行下列程序段后上述各单元内容的变化? ,(=80H A 0H ;(40H)=08H (0H,A ;(A)=80 40H 0,#35H ;35H 后结果:( =35H ( A) =80H,( 32H) =08H,( 40H) =80H 10、如何访问 采用那些寻址方式? 答:用直接寻址,位寻址,寄存器寻址 11、如何访问片外 使用那些寻址方式? 答:只能采用寄存器间接寻址(用 令) 12、如何访问片内 使用那些寻址方式? 答:低 128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址( 7) 高 128 字节:直接寻址,位寻址,寄存器寻址 13、如何访问片内外程序存储器,可使用那些寻址方式? 答:采用变址寻址(用 14、说明十进制调整的原因和方法? 答:压 缩 在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。用A 指令调整(加 06H, 60H, 66H) 15、说明 8951布尔机处理机功能? 答:用来进行位操作 16、 A, #17H ; 83H 17H=03H A 17H, A ; 34H 03H=37H 17H A, ; 03H 37H=34H A ; 34以( A) =7、( 1) ;累加器的地址 (2)3)18、 27H, 26H, 25H, 24H, 23H, 22H, 21H, 20H, 9、 220 221 222 20、编程,进行两个 16位数的减法: 6果存入内部 0和 3130H 存低八位。 C A, #5 ;被减数的低 8 位 A # ;减数低 8位 A, ;被减数减去减数,差 A 30H, A ;低 8位结果 30H A, #6 ;被减数的高 8 位 A #13H ;减数高 8位 A, ;被减数减去减数,差 A 31H, A ;高 8位结果 30H 注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清 0进位位 21、编程,若累加器 程序转至 ( 1) A 10 A, #0 ;( A)与 10比较,不等转 ;相等转 1: ;( A)大于 10,转 者: A, #0 2) A 10 A, #0 ;( A)与 10比较,不等转 ;相等结束 ;( A)大于 10,转 ;( A)小于 10,结束 或者: A, #0 1: 3) A 10 A, #0 ;( A)与 10比较,不等转 2: ;相等转 1: ;( A)小于 10,转 者: A, #0C Z 2、( =23H,( =34120页 23、( =27H,( 26H) =48H,( 27H) =23H,( =34569页 24、不能。 调用的地址范围是 2 在看这个题的时候同时看一下 令。同时考虑调用指令 25、 编程,查找内部 20元中是否有 0一数据,若有则将 51h 单元置为 01H,如无,则将 51 #31H ;数据块长度 #20H ;数据块首地址 A, ;待查找的数据 A C ;清进位位 , #0 ;待查找的数据是 0 ;是,转 ;不是,地址增 1,指向下一个待查数据 ;数据块长度减 1,不等于 0,继续查找 51H, #00H ;等于 0,未找到, 00H 51H 1: 51H, #01H ;找到, 01H 51H 6、编程查找内部 0元中出现 001 #31H ;数据块长度 #20H ;数据块首地址 A, ;待查找的数据 A ;不为 0,转 51H ;为 0, 00 ;地址增 1,指向下一个待查数据 ;数据块长度减 1,不等于 0,继续查找 7、外部数据 地址为 求将该数据传送到内部 到遇到数字字符¥时结束。 # ;源首地址 # ;目的首地址 A, ;传送一个字符 A ;指向下一个字符 A, #24H, ;传送的是“ $”字符吗?不是,传送下一个字符 8、 已知 4中存有一个十六位的二进制数,高位在 3中,低位在 4中,编程求其补,并存回原处。 A, ;取该数高 8位 A A, #80H ;取出该数符号判断 ;是正数,转 A, ;是负数,将该数低 8位 A A ;低 8位取反 A, #01H ;加 1 A ;低 8位取反加 1后 A, ;将该数高 8位 A A ;高 8位取反 A, #00H ;加上低 8位加 1时可能产生的进位 A ;高 8位取反加 1后 1: 9、 已知 301位在前,低位在后,编程将它们乘 2,并存回原处。 C ;清进位位 C A, 31H ;取该数低 8位 A A ;带进位位左移 1位 31H, A ;结果存回 31H A, 30H ;取该数高 8位 A A ;带进位位左移 1位 30H, A ;结果存回 30H 30、 内存中有两个 4 字节以压缩的 形式存放的十进制数,一个放在 30单元中,一个放在 40程求他们的和,结果放在 30 #04H ;字节长度 #30H ;一个加数首地址 #40H ;另一个加数首地址 C ;清进位位 A, ;取一个加数 A, ;两个加数带进位位相加 A ;十进制调整 A ;存放结果 ;指向下一个字节 ; ;数据块长度减 1,不等于 0,继续查找 1、编程,把片外 000的 8个数传送到片内 30H 开始的单元中。 #08H ;数据块长度 #30H ;数据块目的地址 #2000H ;数据块源地址 A, ;传送一个数据 A ;指向下一个数据 ; ;数据块长度减 1,没传送完,继续传送 5、解:( 1000H) =53H ( 1001H) =54H ( 1002H) =41H ( 1003H) =52H ( 1004H) =54H ( 1005H) =12H ( 1006H) =34H ( 1007H) =30H ( 1008H) =00H ( 1009H) =70H 36、阅读下列程序说明其功能 #40H ; 40H A, ; 98H A ; 41H A, ; 98H+( 41H) =47H A A ;结果存入 42 A ;清 A A, #0 ;进位位存入 A A ;进位位存入 43H 功能:将 40H, 41H 单元中的内容相加结果放在 42H 单元,进位放在 43H 单元,( =43H,( A) =1,( 40H) =98H,( 41H) = 42H) =47H,( 43H) =01H 37、同上题 A, 61H ; A B, #02H ; 02H B ; 4H A , 62H ;积的低 8位加上 A 63H, A ;结果送 62H A ;清 A A, B ;积的高 8位加进位位 A 64H, A ;结果送 64H 功能:将 61,低 8 位再加上 623H,将结果的高 8位放在 64 A) =02H,( B) =01H,( 61H) = 62H) = 63H) = 64H) =02H 39、 A, A, #80H A 40、( 2) A, A A, 五章 1、什么是中断和中断系统?其主要功能是什么? 答:当 在处理某件事情的时候,外部发生的某一件事件请求 速去处理,于是, 时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。这种过程称为中断,实现这种功能的部件称为中断系统。功能: ( 1) 使计算机具有实时处理能力,能对外界异步发生的事件作 出及时的处理 ( 2) 完全消除了 大提高了 ( 3) 实现实时控制 2、试编写一段对中断系统初始化的程序,使之允许 行口中断,且使 解: 097H 02H 3、在单片机中,中断能实现哪些功能? 答:有三种功能:分时操作,实时处理,故障处理 4、 89有哪些中断源?对其中端请求如何进行控制? 答:( 1) 89 :外部中断 0请求,低电平有 效 :外部中断 1请求,低电平有效 时器、计数器 0溢出中断请求 时器、计数器 1溢出中断请求 X:串行接口中断请求 ( 2)通过对特殊功能寄存器 实现各种中断控制功能 5、什么是中断优先级?中断优先处理的原则是什么? 答:中断优先级是 则: ( 1) 先响应优先级高的中断请求,再响应优先级低的 ( 2) 如果一个中断请求已经被响应,同级的其它中断请求将被禁止 ( 3) 如果同级的多个请求同时 出现,则 查询顺序确定应该响应哪个中断请求 查询顺序:外部中断 0定时器 0中断外部中断 1定时器 1中断串行接口中断 6、说明外部中断请求的查询和响应过程。 答:当 行主程序第 K 条指令,外设向 出中断请求, 到中断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,然后转去响应中断。 56 期间按优先级顺序查询中断标志,如果查询到某个中断标志为 1,将在接下来的机器周期 间按优先级进行中 断处理,中断系统通过硬件自动将相应的中断矢量地址装入 便进入相应的中断服务程序。中断服务完毕后, +1条指令继续执行。 7、 89什么条件下可响应中断? 答: ( 1) 有中断源发出中断请求 ( 2) 中断中允许位 中断 ( 3) 申请中断的中断源的中断允许位为 1,即中断没有被屏蔽 ( 4) 无同级或更高级中断正在服务 ( 5) 当前指令周期已经结束 ( 6) 若现行指令为 E 或 指令以及紧接着的另一条指令已执行完毕 8、简述 89 答: 每个机器周期 6期间按优先级顺序查询中断标志,如查询到某个中断标志为 1,将在接下来的机器周期 断系统通过硬件自动将相应的中断矢量地址装入 便进入相应的中断服务程序。一旦响应中断, 89先级生效”触发器,然后由硬件执行一条长调用指令,把当前的 保护断点,再将相应的中断服务的入口地址送入 是 开始执行。对于有些中断源, 9、在 89如何安排程序区? 答:主程序一般从 0030程序后一般是子程序及中断服务程序。在这个大家还要清除各个中断的中断矢量地址。 10、试述中断的作用及中断的全过程。 答:作用:对外部异步发生的事件作出及时的处理 过程:中断请求,中断响应,中断处理,中断返回 11、当正在执行某一个中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求? 答:( 1)符合以下 6个条件可响应新的中断请求: a)有中断源发出中断请求 b)中断允许位 ,即 c)申请中断的中断源的中断允许位为 1,即中断没有被屏蔽 d)无同级或更高级中断正在被服务 e)当前的指令周期已结束 f)若现行指令为 P 指令时,该指令以及紧接着的另一条指令已被执行完 12、 89片机外部中断源有几种触发中断请求的方法?如何实现中断请求? 答:有两种方式:电平触发和边沿触发 电平触发方式: 5为低电平 ,使 “ 1”,申请中断;若为高电平,则 零。 边沿触发方式: 5果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接着下一个机器周期采样到外部中断请求为低电平,则使“ 1”申请中断;否则, 0。 13、 89片机有五个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。试问以下几种中断优先顺序的安排(级别由高到低)是否可能:若可能, 则应如何设置中断源的中断级别:否则,请简述不可能的理由。 定时器 0,定时器 1,外中断 0,外中断 1,串行口中断。 可以, 0 串行口中断,外中断 0,定时器 0,外中断 1,定时器 1。 可以, 10H 外中断 0,定时器 1,外中断 1,定时器 0,串行口中断。 不可以,只能设置一级高级优先级,如果将 1设置为高级,而 高于 外中断 0,外中断 1,串行口中断, 定时器 0,定时器 1 。 可以, 15H 串行口中断,定时器 0,外中断 0,外中断 1,定时器 1。 不可以 外中断 0,外中断 1,定时器 0,串行口中断,定时器 1 。 不可以 外中断 0,定时器 1,定时器 0,外中断 1,串行口中断。 可以, 09H 14、 89中断源的中断标志是如何产生的?又是如何清 0的? 断入口地址各是多少? 答:各中断标志的产生和清“ 0”如下: ( 1) 外部中断类 外部中断是由外部原因引起的,可以通过两个固定引脚,即外部中断 0和外部中断 1输入信号。 外部中断 0请求信号,由 过 旦输入信号有效,则向 且使 。硬件复位。 外部中断 1请求信号,功能与用法类似外部中断 0 ( 2) 定时中断类 定时中断是为满足定时或计数溢出处理需要而设置的。当定时器 /计数器中的计数结构发生计数溢出的,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志位。这种中断请求是在单片机芯片内部发生的,无需在芯片上设置引入端,但在计数方式时,中断源可以 由外部引入。 时器 出中断请求。当定时器 生溢出时,定时器 求标志 ,请求中断处理。使用中断时由硬件复位,在查询方式下可由软件复位。 时器 能与用法类似定时器 3) 串行口中断类 串行口中断是为串行数据的传送需要而设置的。串行中断请求也是在单片机芯片内部发生的,但当串行口作为接收端时,必须有一完整的串行帧数据从 引入芯片,才可能引发中断。 I:串行口中断请求。当接收或发送一串帧数据时,使内部串行口中断请求标志 I=1,并请 求中断。响应后必须软件复位。 断入口地址如下: 中断源 入口地址 外部中断 0 0003H 定时器 000部中断 1 0013H 定时器 001行口中断 0023H 15、中断响应时间是否为确定不变的?为什么? 答:中断响应时间不是确定不变的。由于 是在任何情况下对中断请求都予以响应的;此外,不同的情况对中断响应的时间也是不同的。下面以外部中断为例,说明中断响应的时间。 在每个机器周期的 端的电平被 所存到 时满足中断响应条件,下一条要执行的指令将是一条硬件长调用指令“ 使程序转入中断矢量入口。调用本身要用 2 个机器周期,这样,从外部中断请求有效到开始执行中断服务程序的第一条指令,至少需要 3个机器周期,这是最短的响应时间。 如果遇到中断受阻的情况,这中断响应时间会更长一些。例如,当一个同级或更高级的中断服务程序正在进行,则附加的等待时间取决于正在进行的中断服务程序:如果正在执行的一条指令还没有进行到最后一个机器周期,附加的等待时间为 13个机器周期;如果正在执行的是 P 的指令,则附加的等待时间在 5个机器周期内。 若系统中只有一个中断源,则响应时间为 38个机器周期。 16、中断响应过程中,为什么通常要保护现场?如何保护? 答:因为一般主程序和中断服务程序都可能会用到累加器, 进入中断服务程序后,用到上述寄存器时,就会破坏它原来存在寄存器中的内容;一旦中断返回,将会造成主程序的混乱。因而在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序以前再恢复现场。 保护方法一般是把累加器、 存器及其他一些与主程序有关的寄存器压入堆栈。在保护现场和恢复现场时,为了不使现场受到破坏或者造成混乱,一般规定此时 响应新的中断请求。这就要求在编写中断服务程序时,注意在保护现场之前要关中断,在恢复现场之后开中断。如果在中断处理时允许有更高级的中断打断它,则在保护现场之后再开中断,恢复现场之前关中断。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论