单片机原理及接口技术第四版答案_第1页
单片机原理及接口技术第四版答案_第2页
单片机原理及接口技术第四版答案_第3页
单片机原理及接口技术第四版答案_第4页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及接口技术第四版答案【篇一:单片机原理及接口技术(第 2 版)张毅刚第4 章习题及答案】第 4 章 at89s51 单片机的中断系统思考题及习题 41外部中断 1 的中断入口地址为 ,定时器 1 的中断入口地址为 。答: 0013h ;001bh2若( ip ) =00010100b ,则优先级最高者为,最低者为 。答:外部中断 1,定时器 t13中断服务子程序与普通子程序有哪些相同和不同之处?答: reti 指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而 ret 指令则没有这个操作。除了这一点两条指令不同外,其它操作都相同。4下列说法正确的是 。答: da

2、. 各中断源发出的中断请求信号,都会标记在at89s51的 ie 寄存器中b. 各中断源发出的中断请求信号,都会标记在at89s51的 tmod 寄存器中c. 各中断源发出的中断请求信号,都会标记在at89s51的 ip 寄存器中d. 各中断源发出的中断请求信号,都会标记在at89s51的 tcon 与scon 寄存器中5at89s51 单片机响应外部中断的典型时间是多少?在哪些情况下, cpu 将推迟对外部中断请求的响应?答:在一个单一中断的系统里, at89s51 单片机对外部中断请求的响应时间总是在 38 个机器周期之间。在下述三种情况下,at89s51 将推迟对外部中断请求的响应:(

3、1) at89s52 正在处理同级或更高优先级的中断。( 2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。( 3)正在执行的指令是 reti 或是访问 ie 或 ip 的指令。如果存在上述三种情况之一, at89s52 将丢弃中断查询结果,将推迟对外部中断请求的响应。6中断查询确认后,在下列各种 at89s51 单片机运行情况下,能立即进行响应的是。a. 当前正在进行高优先级中断处理 b. 当前正在执行 reti 指令c. 当前指令是 div 指令,且正处于取指令的机器周期d. 当前指令是 mov a ,r3答: d7 at89s51单片机响应中断后,产生长调用指令lcall,执行

4、该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的 16 位地址送 ,使程序执行转向 中的中断地址区。答: pc 、 pc 、程序存储器8编写外部中断1 为跳沿触发的中断初始化程序段。答: 参考程序段如下:?setbsetb setb?9在 at89s51的中断请求源中,需要外加电路实现中断撤销的是。答:aa. 电平方式的外部中断请求b. 跳沿方式的外部中断请求c. 外部串行中断d. 定时中断10 中断响应需要满足哪些条件?答:一个中断源的中断请求被响应,必须满足以下条件:(1)总中断允许开关接通,即 ie 寄存器中的中断总允许位 ea=1 。(2)该中断源发出中断请求

5、,即该中断源对应的中断请求标志为“ 1”。( 3)该中断源的中断允许位 =1,即该中断被允许。( 4)无同级或更高级中断正在被服务。11 下列说法正确的是。答: a、c 、da. 同一级别的中断请求按时间的先后顺序响应b. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应it1ex1 eac. 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求d. 同级中断不能嵌套12 某系统有三个外部中断源 1、2、 3,当某一中断源发出的中断请求使 int1 引脚变为低电平时(见图 4-10 ),便要求单片机进行处理,它们的优先处理次序由高到低为 3、2、1,中断处

6、理程序的入口地址分别为 1000h , 1100h , 1200h 。试编写主程序及中断服务子程序(转至相应的中断处理程序的入口即可)。答:参见电路如图4-10 ,参考程序如下:org ljmp org ljmp orgclrsetbsetb 0000h main 0013h int_ex1 0030h it0 ex1 ea;采用电平触发,低电平有效中断;允许外部中断1 main:;插入一段用户程序wait:ajmp wait;单片机等待中断;以下为外部中断1 服务子程序int_ex1 : jbljmpjb p1.2 , next1 int_ir3 ;判断是不是 ir3 中断 ;跳转到 ir3

7、 中断处理程序 ;判断是不是 ir2 中断;跳转到 ir2 中断处理程序;跳转到 ir1 中断处理程序next1: p1.1, next2 int_ir2 int_ir11000hljmp ljmp org next2:int_ir3:相应中断处理程序reti ;中断返回org 1100hint_ir2:相应中断处理程序reti ;中断返回org 1200hint_ir1:相应中断处理程序reti ;中断返回【篇二:单片机原理及接口技术课后答案】>第一章1. 单片机具有哪些特点( 1)片内存储容量越来越大。( 2 抗干扰性好,可靠性高。( 3)芯片引线齐全,容易扩展。( 4)运行速度高,

8、控制功能强。(5)单片机内部的数据信息保存时间很长,有的芯片可以达到 100 年以上。2. 89c51 单片机内包含哪些主要逻辑功能部件?答: 80c51 系列单片机在片内集成了以下主要逻辑功能部件:(l)cpu( 中央处理器 ):8 位(2) 片内 ram:128b(3) 特殊功能寄存器 :21 个(4) 程序存储器 :4kb(5) 并行 i/o 口:8 位, 4 个(6) 串行接口 :全双工, 1 个(7) 定时器 /计数器 :16 位, 2 个(8) 片内时钟电路 :1 个3. 什么是微处理器 (cpu) 、微机和单片机?答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分

9、。微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。 单片机是将微处理器、一定容量的 ram 、 rom 以及 i/o 口、定时器等电路集成在一块芯片上,构成的单片微型计算机。4. 微型计算机怎样执行一个程序?答:通过 cpu 指令,提到内存当中,再逐一执行。5. 什么是嵌入式系统?他有哪些类型?为什么说单片机是典型的嵌入式系统?答; 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。它有嵌入式微处理器、嵌入式微控制器、嵌入式 d

10、sp 处理器、嵌入式片上系统等。嵌入式系统的出现最初是基于单片机的。它从体系结构到指令系统都是按照嵌入式应用特点专门设计的,能最好的满足面对控制对象,应运系统的嵌入、现场的可靠运行以及非凡的控制品质要求。因此,她是典型的嵌入式系统。第二章1.89c51 单片机内包含哪些主要逻辑功能部件?答: 80c51 系列单片机在片内集成了以下主要逻辑功能部件:(l)cpu( 中央处理器 ):8 位(2)片内 ram:128b(3) 特殊功能寄存器 :21 个(4) 程序存储器 :4kb(5) 并行 i/o 口:8 位, 4 个(6) 串行接口 :全双工, 1 个(7) 定时器 /计数器 :16 位, 2

11、个(8) 片内时钟电路 :1 个2.89c51 的 ea 端有何用途?3. 89c51 的存储器分哪几个空间 ? 如何区别不同空间的寻址 ?答: rom (片内 rom 和片外 rom 统一编址)(使用 movc )(数据传送指令)( 16bits 地址)( 64kb ) 片外 ram ( movx )( 16bits 地址)( 64kb )片内 ram ( mov )( 8bits 地址)( 256b )4. 简述 89c51 片内 ram 的空间分配。答:片内 ram 有 256b低 128b 是真正的 ram 区高 128b 是 sfr (特殊功能寄存器)区5. 简述布尔处理存储器的空间

12、分配,片内 ram 中包含哪些可位寻址单元。答:片内 ram 区从 00hffh (256b )其中 20h2fh (字节地址)是位寻址区对应的位地址是00h7fh6. 如何简捷地判断 89c51 正在工作 ?答:用示波器观察8051 的 xtal2 端是否有脉冲信号输出(判断震荡电路工作是否正常?)ale (地址锁存允许)(address latch enable)输出是fosc的6分频用示波器观察 ale是否有脉冲输出(判断8051芯片的好坏?)观察 psen (判断8051 能够到 eprom 或 rom中读取指令码?)因为 /psen 接外部 eprom ( rom )的 /oe 端子

13、oe=output enable(输出允许)7. 89c51如何确定和改变当前工作寄存器组?答: psw(程序状态字)( program status word)中的 rs1 和 rs0可以给出4 中组合用来从 4 组工作寄存器组中进行选择psw 属于 sfr (special function register)(特殊功能寄存器)8. 89c51 p0 口用作通用 /口输入时,若通过 ttl “oc门”输入数据,应注意什么 ?为什么 ?答:9. 读端口锁存器和 “读引脚 ”有何不同?各使用哪种指令?答:读锁存器( anl p0,a )就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如 m

14、ov a,p1 这条指令就是读引脚的,意思就是把端口 p1 输入数据送给 a)传送类 mov ,判位转移jb 、jnb 、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换xch 、xchd 算术及逻辑运算 orl 、cpl 、anl 、add 、addc 、subb 、inc 、 dec 控制转移 cjne 、djnz 都属于读锁存器。10. 89c51 p0 p3 口结构有何不同 ?用作通用 /口输入数据时,应注意什么 ?答: p0 口内部没有上拉电阻,可以用做16 位地址的低8 位;p3有第二功能;p2口可以用做 16 位地址的高8 位;需要上拉电阻。 oc

15、门电路无法输出高低电平,只有靠上拉电阻才能实现11. 89c51 单片机的信号有何功能 ? 在使用 8031 时,信号引脚应如何处理 ?答: (1)80c51 单片机的 ea 信号的功能ea 为片外程序存储器访问允许信号,低电平有效加 21v 的编程电压;在编程时,其上施ea 引脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储器 ;ea 引脚接低电平时,迫使系统全部执行片外程序存储器程序。(2) 在使用 80c31 时,ea 信号引脚的处理方法因为 80c31 没有片内的程序存储器,所以在使用它时必定要有外部的程序存储器, ea 信号引脚应接低电平。12. 89c51 单片机有哪些信

16、号需要芯片引脚以第2 功能的方式提供?答: 第一功能第二功能串行口:p3.0 rxdp3.1 txd(串行输入口)(串行输出口)中断:p3.2int0外部中断 0p3.3int1外部中断 1定时器 /计数器( t0 、 t1 ):p3.4t0(定时器 /计数器 0的外部输入)p3.5t1(定时器 /计数器 1的外部输入)数据存储器选通:p3.6 wr (外部存储器写选通,低电平有效,输出)p3.7 rd (外部存储器读选通,低电平有效,输出)定时器 /计数器( t2 ):p1.0 t2 (定时器 t2 的计数端)p1.1 t2ex (定时器 t2 的外部输入端)13. 内部 ram 低 128

17、 字节单元划分为哪 3 个主要部分 ? 各部分主要功能是什么 ?答:片内 ram 低 128 单元的划分及主要功能 :(l) 工作寄存器组 (00hlfh)这是一个用寄存器直接寻址的区域,内部数据ram 区的031(00hlfh),共 32 个单元。它是 4 个通用工作寄存器组,每个组包含号为 r0r7 。(2) 位寻址区 (20h2fh)8 个8 位寄存器,编从内部数据 ram128 位,是可位寻区的3247(20h2fh)的16 个字节单元,共包含址的 ram 区。这 16 个字节单元,既可进行字节寻址,又可实现位寻址。(3) 字节寻址区 (30h7fh)从内部数据 ram 区的 4812

18、7(30h7fh) ,共 80 个字节单元,可以采用间接字节寻址的方法访问。14. 使单片机复位有几种方法 ? 复位后机器的初始状态如何 ? 答: (1) 单片机复位方法单片机复位方法有 :上电自动复位、按键电平复位和外部脉冲三种方式,如题图2-1 所示。题图 2-1(2) 复位后的初始状态复位后机器的初始状态 ,即各寄存器的状态 :pc 之外 ,复位操作还对其他一些特殊功能寄存器有影响 ,它们的复位状态如题表 2-1 所例15. 开机复位后, cpu 使用的是哪组工作寄存器 ? 它们的地址是什么?cpu 如何确定和改变当前工作寄存器组 ? 答:一般开机复位后都是选择第一组通用工作寄存器作为工

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

20、的高 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 中的什么位置 ?答:用不同的寻址方式来加以区分,即访问 12

21、8 个位地址用位寻址方式,访问低 128 字节单元用字节寻址和间接寻址。具体地址为 2f 的第五位,即为 7c 。18. 89c51 单片机的时钟周期与振荡周期之间有什么关系 ? 什么叫机器周期和指令周期?答:时钟信号的周期称为机器状态周期,是振荡周期的两倍。一个机器周期是指 cpu 访问存储器一次所需的时间。指令周期是执行一条指令所需的时间。19. 一个机器周期的时序如何划分 ?答:一个机器周期=12 个震荡周期 =6 个时钟周期(状态周期)s1p1 ,s1p2 , s2p1 , s2p2 ,s3p1 ,s3p2 ,s4p1 ,s4p2 ,s5p1 , s5p2 , s6p1 ,s6p2 其

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

23、储器 ,sp 自动增加 1 或 2, 当中断结束 reti, 调用返回 ret,pop 时将 sp 数据弹出 ,sp 自动减1 或, 28051 最大为 128 字节的片内存储器,0x20 以上理论都可以做堆栈用96 字节 ,8052 为 256 字节 224 字节可用,但这样便没有其它空间可用于数据存储现在的单片机的程序一般都能用 c51 来,不用关心堆栈大小与 sp 寄存器21. 89c51 有几种低功耗方式?如何实现?答:空闲方式和掉电方式空闲方式和掉电方式是通过对 sfr 中的 pcon (地址 87h) 相应位置 1而启动的。当 cpu 执行完置 idl=1(pcon.1 )的指令后

24、,系统进入空闲工作方式。这时,内部时钟不向 cpu 提供,而只供给中断、串行口、定时器部分。 cpu 的内部状态维持,即包括堆栈指针 sp 、程序计数器 pc 、程序状态字 psw 、累加器 acc 所有的内容保持不变,端口状态也保持不变。 ale 和 psen 保持逻辑高电平。当 cpu 执行一条置 pcon.1 位( pd )为 1 的指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部ram 区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对应的sfr中, ale 和 psen 都为低电平。22. pc 与

25、 dptr 各有哪些特点?有何异同?【篇三:李全利版单片机原理及接口技术课后答案章)】(第四s=txt>1 80c51 单片机汇编语言有何特点?答:汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片机结构的认知。 但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。2利用 80c51 单片机汇编语言进行程序设计的步骤如何?答:一、任务分析首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标。然后对系统的运行环境进行调研。这是应用系统

26、程序设计的基础和条件。二、算法设计经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法(或模型)来描述,进而把一个实际的系统要求转化成由计算机进行处理的算法。并对各种算法进行分析比较,并进行合理的优化。三、流程描述程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上。应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来。流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节。3常用

27、的程序结构有哪几种?特点如何?答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的; 分支程序:可以改变程序的执行顺序;循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。4子程序调用时,参数的传递方法有哪几种?答:利用累加器或寄存器;利用存储器;利用堆栈。5什么是伪指令?常用的伪指令功能如何?答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包括:org ,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址;end ,功能是结束汇编;db ,功能是从标号指定的地址单元开始,

28、在程序存储器中定义字节数据;dw ,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间;bit ,功能是将位地址赋给指定的符号名。6设被加数存放在内部ram的 20h 、21h 单元,加数存放在22h23h 单元,若要求和存放在24h 、 25h 中,试编写出16 位无符号数、相加的程序(采用大端模式存储)。答:程序如下:org0000hmovr0, 21hmovr1, 23hmova,r0adda,r1mov25h,adec r0dec r1mova,r0addc a,r1mov24h,asjmp$end7编写程序,把外部ram 中 1000h101fh的内容传送到内部ram的 3

29、0h4fh 中。答:org 0000hmov dptr,#1000hmov r0,#30hmov r7,#32loop:movx a,dptrmov r0,ainc r0inc dptrdjnz r7,loopret8编写程序,实现双字节无符号数加法运算,要求(r0r1 )+( r6r7 )(60h61h )。答:org 0000hmova,r1adda,r7mov61h,amova,r0addc a,r6mov60h,asjmp $end9若 80c51 的晶振频率为 6mhz ,试计算延时子程序的延时时间。 delay:movr7,#0f6hlp:movr6,#0fahdjnz r6,$djnz r7,lpret10 在内部 ram 的 30h37h 单元存有一组单字节无符号数。要求找出最大数存入 big 单元。试编写程序实现。答:org0000hbig data 2fhone data

温馨提示

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

评论

0/150

提交评论