ImageVerifierCode 换一换
格式:DOCX , 页数:81 ,大小:114.05KB ,
资源ID:16820869      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16820869.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机原理与应用课后习题答案.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机原理与应用课后习题答案.docx

1、单片机原理与应用课后习题答案课后思考题级习题答案思考题与习题 1一、填空1. 单片机按照用途通常分为 通用型 和 专用型 。2. 单片机也称为 微控制器 和 单片微型计算机 。二、简答1. 什么是单片机?答:单片机也称微控制器,它是将中央处理器、程序处理器、数据处理器、输入/ 输出接口、 定时/ 计数器串行口、 系统总线等集成在一个半导体芯片上的微计算机,因此又称为单片微型计算机,简称为单片机。2. 简述单片机的特点和应用领域。答:(1)单片机体积小,应用系统结构简单,能满足很多应用领域对硬件功能的要求。(2)单片机的可靠性高。(3)单片机的指令系统简单,易学易用。(4)单片机的发展迅速,特别

2、是最近几年,单片机的内部结构越来越完善。3. 写出 AT89S51与 AT89S52芯片的主要区别。内部程序存储区容量不同, 52 的程序存储空间为 8K,内部数据存储空间为256B,中断源 8 个,定时器计数器有 3 个,而 51 的程序存储空间为 4K,内部数据存储空间为 128B,中断源 5 个,定时器计数器有 2 个。思考题与习题 2一、填空题1. 如果( PSW)=10H, 则内部 RAM工作寄存器区的当前寄存器是第二组寄存器, 8 个寄存器的单元地址为 10H 17H 。2. 为寻址程序状态字 F0 位,可使用的地址和符号有 PSW.5 、0D0H.5 、 F0 和 0D5H 。3

3、. 单片机复位后, (SP)= 07H ,P0P3= FFH ,PC= 0000H ,PSW=00HA= 00H 。4.AT89S51 单片机的程序存储器的寻址范围是由 PC 决定的,由于AT89S51单片机的 PC是 16 位的,所以最大寻址范围为 64KB 。5. 写出位地址为 20H所在的位,字节地址 24H.0 。6. 写出字节地址为 20H的单元最高位的位地址为 07H ,最低位的位地址为00H 。7. 如果晶振频率 fOSC 6MHz ,则一个时钟周期为 1.66667E-7 ,一个机器周期为 2us。8. AT89S51 单片机共有 26个特殊功能寄存器。9. AT89S51 单

4、片机片外数据存储器最多可以扩展 64KB。10. 如果 CPU从片外 ROM的 0000H 单元开始执行程序,那么 EA 引脚应接低电平。二、选择题1.PC的值是( C )。A.当前指令前一条指令的地址 B. 当前正在执行指令的地址C.下一条指令的地址 D. 控制器中指令寄存器的地址2. 对程序计数器 PC的操作是( A )。A.自动进行的 B. 通过传送进行C.通过加“ 1”指令进行的 D. 通过减“1”指令进行3. 在 AT89S51单片机中 P0口作为( D )。A.数据总线 B. 地址总线C.控制总线 D. 数据总线和地址总线4. 在 AT89S51单片机中( C )。A.具有独立的专

5、用的地址总线 B.P0 口和 P1口作为地址总线C.P0口和 P2口作为地址总线 D.P2 口和 P1口作为地址总线三、简答题4.AT89S51单片机的 EA 引脚有何功能?如果使用片内 ROM,该引脚该如何处理?答: EA 为该引脚的第一功能,为访问程序存储器控制信号。如果使用片内 ROM,则 EA 信号为高电平。5. 什么是指令周期,机器周期和时钟周期?答:指令周期是 CPU每取出并执行一条指令所需的全部时间;机器周期是CPU完成一个基本操作所需要的时间。时钟周期是指计算机主时钟的周期时间。6. 堆栈的作用是什么?在程序设计时,为什么要对堆栈指针 SP重新赋值?答:堆栈是一个特殊的存储区,

6、 主要功能是暂时存放数据和地址, 通常用来保护断点和现场;堆栈指针 SP 复位后指向 07H 单元,00H-1FH 为工作寄存器区,20H-2FH为位寻址区,这些单元有其他功能,因此在程序设计时,需要对 SP重新赋值。7. 单片机复位有几种方法?答:1、上电复位 2 、按键复位 3 、看门狗复位 4 、软件复位8. AT89S51单片机运行出错或程序陷入死循环时,如何摆脱困境?可以采用复位键进行复位,使单片机初始化,也可以在软件中使用看门狗。9. AT89S51单片机 P0P3口的驱动能力如何?如果想获得较大的驱动能力,采用低电平输出还是高电平输出?答:P0口每位可驱动 8 个 LSTTL输入

7、,而P1.P2.P3 口的每一位的驱动能力,只有 P0 口的一半。当 P0口的某位为高电平时,可提供 400A 的电流;当 P0口的某位为低电平( 0.45V)时,可提供 3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。 所以,任何一个口要想获得较大的驱动能力, 只能用低电平输出。10. AT89S51单片机内部 RAM低 128 单元划分为几个部分?每部分有什么特点?答:工作寄存器区、位寻址区、用户 RAM区。每部分特点如下: 00H-1FH为工作寄存器区,共 32 个单元,被分为 4 组,每组有八个寄存器( R0-R7)。任意时刻, CPU只能使用一组寄存器,当前正在使用的寄存器组

8、被称为当前寄存器。 在程序运行过程中如果不使用的寄存器也可以作为 RAM使用。 20H-2FH为位寻址区,共 16 个单元。这 16个单元可以作为字节单元使用,同时这 16 个单元的每一位也可以单独使用,即位寻址。30H-7FH为用户 RAM区,用于存放各种数据、中间结果,起到数据缓冲的作用。在实际使用中,常需要把堆栈设在用户 RAM中。8. AT89S51 单片机的片内都包含了哪些功能部件?各个功能部件主要的功能是什么?答: 1 个微处理器( CPU);128个数据存储器( RAM)单元;4KB Flash 程序存储器;4 个 8 位可编程并行 I/O 口;1 个全双工串行口;2 个 16位

9、定时器/ 计数器;1 个看门狗定时器;1 个中断系统, 5 个中断源, 2 个优先级;26 个特殊功能寄存器( SFR);1 个看门狗定时器。9. 程序存储器的空间中, 有 5 个特殊单元, 分别对应 AT89S51单片机 5 个中断源的入口地址,写出这些单元的地址及对应的中断源。中断源 中断入口地址外部中断 0 0003H定时/ 计数器 0 溢出中断 000BH外部中断 1 0013H定时/ 计数器 1 溢出中断 001BH串行中断 0023H10. AT89S51 单片机有几个存储器空间?画出它的存储器结构图。AT89S51单片机的有 3 个存储器空间,即片内片外统一编制的程序存储器,片内

10、数据存储器和片外数据存储器。11. 什么是空闲方式?怎样进入和退出空闲方式?答:空闲方式: CPU处于休眠的状态,而片内所有其他外围设备保持工作状态,即振荡器保持工作, 时钟脉冲继续输出到中断、 串行口、定时器等功能部件, 使它们继续工作,但时钟脉冲不再送到 CPU,因而 CPU停止工作。进入:每当 CPU执行一条将 IDL 位置 1 的指令,就使它进入空闲方式, CPU即停止工作,进入空闲方式。退出:两种:一是被允许的中断源请求中断时,由内部的硬件电路清 0 IDL位,终止空闲方式;另一种方式是硬件复位。 RST引脚上的复位信号直接将 IDL为清 0,从而使单片机退出空闲方式。12. 什么是

11、掉电方式?怎样进入和退出掉电方式?答:掉电:振荡器停止工作,单片机内部所有的功能部件全部停止工作。进入:CPU执行一条将 PD位置 1 的指令,就使单片机进入掉电方式。退出:唯一的方法是硬件复位, 复位后单片机内部特殊功能寄存器的内容被初始化, PCON=,0 从而退出掉电方式。13.AT89S51单片机的控制信号引脚有哪些?说出其功能 。答:RST(9脚) :复位信号输入端,高电平有效。当振荡器工作时, RST引脚出现两个机器周期以上高电平将使单片机复位。ALE (30 脚) :地址锁存控制信号。当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存低 8 位地址。PSEN(29 脚)

12、:程序储存允许输出端,是外部程序存储器的读选通信号,低 电平有效。当 AT89S51从外部程序存储器取指令时,每个机器周期两次 PSEN 有 效,即输出两个脉冲。当访问外部数据存储器,不会出现两次有效的 PSEN 信号。 EA (31 脚) : EA 为该引脚的第一功能,为访问程序存储器控制信号。当 EA信号为低电平时,对 ROM的读操作限定在外部程序存储器;而当 EA 信号为高电平时,则对 ROM的读操作是从内部程序存储器开始, 并可延续至外部程序存储器。四、设计一个电路,使单片机的 P0口能驱动 8 只发光二极管。思考题与习题 3思考题与习题 3一、 填空11.假定外部数据存储器 3000

13、H 单元的内容为 50H,执行下列指令后, 累加器A 中的内容为 50H 。MOV DPTR,#3000HMOVX A,DPTR12.假定累加器 A 中的内容为 30H,DPTR 中的内容为 2000H,执行指令:MOVC A,A+DPTR后,把程序存储器 2030H 单元的内容送入累加器 A 中。13.已知(30H)=21H ,(31H)=04H ,说明下列程序的功能,执行后(30H)=04H ,(31H)= 21H 。PUSH 30HPUSH 31HPOP 30HPOP 31H3.已知程序执行前, 在 AT89S51单片机片内 RAM 中,(A)=33H,(R0)=28H,(28H)=0B

14、CH,写出执行如下程序后,(A)= 63H 。ANL A,#60HORL 28H,AXRL A,R0CPL A4.对程序存储器的读操作使用的指令 MOVC 指令 。5.对外部数据存储器的读操作使用的指令 MOVX 指令 。6.执行如下三条指令后, 20H 单元的内容是 0FHM O V R 0,20HM O V 40H,0 F HM O V R 0,40H二、判断判断以下指令的正误。(1) MOV R1,R2 (2)MOV 20H,R3 (3)DEC DPTR (4)INC DPTR (5)MOVX A,R1 (6)MOVC A,DPTR(7)PUSH DPTR (8)CLR R1 (9)MO

15、V 20H,30H (10)MOV F0,C (11) CPL R7 (12)RC A 三、简答7.MCS-51 共有哪几种寻址方式?试举例说明。(1)寄存器寻址方式 MOV A,R2(2)直接寻址方式 MOV A,30H(3)寄存器间接寻址方式 MOV A,R0(4)立即寻址 MOV A,#20H(5)变址寻址 MOVC A,A+ DPTR(6)相对寻址 SJMP rel(7)位寻址 MOV C, 0D5H;8.MCS-51 指令按功能可以分为哪几类?每类指令的作用是什么?数据传送类指令( 28 条);数据传送是指将源地址单元中的数据传送到目的地址单元中, 且源地址单元中的数据保持不变, 或

16、者源地址单元中的数据与目的地址单元中的数据互换。算术运算类指令( 24 条);这类指令中,大多数都要用累加器 A 来存放源操作数,另一个操作数是工作寄存器 Rn、片内 RAM 单元或立即数。执行指令时,CPU 总是将源操作数与累加器 A 中的操作数进行相应操作,然后将结果保留在累加器 A 中,同时会影响程序状态字 PSW 中的溢出标志 OV、进位标志CY、辅助进位标志 AC 和奇偶标志位 P。逻辑运算及移位类指令( 25 条);在这类指令中,仅当目的操作数为累加器 A 时对奇偶标志位 P 有影响,其余指令均不影响 PSW 的状态。控制转移类指令( 17 条);位操作类指令( 17 条)。MCS

17、-51 系列单片机的硬件结构中有一个位处理器,对位地址空间具有丰富的位操作指令。由于位操作数是 “位”,取值只能是 0或 1,故又称为布尔操作指令。9.访问 SFR,可使用哪些寻址方式?寄存器寻址,直接寻址,位寻址10.执行指令: MOV A,R0 ;在程序状态字 PSW 中 RS1=0,RS0=0; RS1=1,RS0=0 的两种情况下,上述指令执行结果有何不同?RS1=0,RS0=0 时,是将内部 RAM 00H 单元中的内容传送给累加器 A,RS1=1,RS0=0时,是将内部 RAM 10H 单元中的内容传送给累加器 A14.SJMP(短转移)指令和 LJMP(长对转移)指令的目的地址的

18、范围各是多少?SJMP指令的目的地址范围是 -128B+127B;LJMP 指令的目的地址范围是 64KB。15.JB指令和 JBC 指令的区别是什么?16.答:这类指令是判断直接寻址位是否为 “1或”为“0,”当条件满足时转移,否则继续顺序执行。而 JBC 指令当条件满足时,指令执行后同时将该位清 “0。”17.指出下列每条指令的寻址方式。(1)MOV A,40H ;直接寻址(2)MOV 30H ,#00H ;立即寻址(3)SJMP LOOP ;相对寻址(4)MOVC A ,A+DPTR ;变址寻址(5)MOVX A,R0 ;寄存器寻址(6)MOV C,20H ;位寻址(7)MOV 20H

19、,R3 ;寄存器寻址(8)MOV 31H ,20H ;直接寻址8.已知程序执行前, 在 AT89S51单片机片内 RAM (10H)=20H ,(20H)=33H,(33H)=45H,(45H)=56H,(P1)=30H。分析下列程序按顺序执行每条指令后的结果。MOV A,33H ;(A)=45HMOV R1,A ;(R1)=45HMOV R1,#0FFH ;(45H)0FFHMOV 45H,33H ;(45H)=45HMOV R0,#10H ;(R0)=10HMOV A,R0 ;(A)=20HMOV P1,#0FFH ;(P1)=0FFHMOV A ,P1; ;(P1)=30HMOV 20H

20、,A ;(20H)=30H9.已知程序执行前, 在 AT89S51单片机片内 RAM 中,(A)=85H ,(R0)=20H,(20H)=0AFH ,(Cy)=1,(21H)=0FFH。写出下列指令独立执行后寄存器和存储单元的内容,若该指令影响标志位,写出 CY、AC、OV 和 P 的值。ADD A,R0 ;CY=1,AC=1,OV=1,P=1 ,(A)=34HADDC A, 21H ; CY=1,AC=1, P=1,OV=0 ,(A)=85HSWAP A ; (A)=58H ,P=1SUBB A,#50H ; CY=0,AC=0, P=1,OV=1 ,(A)=34HDEC R0 ;R0=1F

21、HXCHD A,R0 ;(A)=8FH,( 20H)=0A5H,P=111. 写出完成如下要求的指令,但是不能改变未涉及位的内容。(1)把 ACC.3, ACC.4,ACC.5 和 ACC.6 置“1。”ORL A,#01111000B(2)把累加器 A 的中间4 位清 “0。”ANL A,#11000011B(3)将内部数据存储器 10H 单元中的数据的高2 位,低 3 位清 “0。”ANL 10H,#00111000B(4)将内部数据存储器 50H 单元中的数据所有位取反。XRL 50H,#11111111B(5)将内部数据存储器 40H 单元中的数据高4 位取反。XRL 40H,#111

22、10000B(6)将内部数据存储器 10H 单元中的数据低 3 位置 “1。”ORL 10H,#00000111B12.分析执行下列指令序列所实现的逻辑运算式MOV C,P1.0ANL C,/P1.1MOV 20H, CMOV C,/P1.0ANL C, P1.1ORL C, 20HMOV P3.0,CP3.0=(P1.0/P1.1)(/P1.0P1.1)思考题与习题 4一、简答题1.什么是汇编语言源程序、汇编、汇编程序?(1)使用汇编语言编写的程序称为汇编语言源程序。(2)汇编语言程序不能直接在计算机上运行,需要将它翻译成机器语言程序,也就是目标代码程序,这个翻译过程称为汇编。(3)完成汇编

23、任务的程序成为汇编程序。2.什么叫伪指令,有什么作用?所谓伪指令是 告诉汇编程序应该如何完成汇编工作, 只有在汇编前的源程序中才有伪指令,而在汇编后没有机器代码产生。伪指令具有控制汇编程序的输入输出、 定义数据和符号、 条件汇编、 分配存储空间等功能。二、编程题18. 在外部 RAM3000H 单元中有一个 8 位二进制数,试编程将该数的低四位屏蔽掉,并送给外部 RAM3001H 单元中。MOV DPTR,#3000HMOVX A,DPTR ANL A,#0F0HINC DPTRMOVX DPTR,A19. 已知 f 12MHz ,试编写延时 20ms和 1s的程序OSCDELAY20MS:

24、MOV R6,#100 ;延时 20msD1: MOV R7,#98nopD2: DJNZ R7,D2DJNZ R6,D1RETENDDELAY1S: MOV R7,#250DEL1: MOV R6,#200DEL2: MOV R5,#98DEL3: DJNZ R5,DEL3NOPDJNZ R6,DEL2DJNZ R7,DEL1RETEND20. 用查表的方法求 06之间的整数的立方。已知整数存在内部 RAM30H 单元中,查表结果回存 30H 单元。MOV DPTR,#tabMOV A,30HMOVC A,A+DPTRMOV 30H,ARetORG 1000HTAB: DB 00H,01H,

25、08H,1BH,40H,7DH,0D8H13. 若有 3 个无符号数 x、y、z分别在内部存储器40H、41H、42H 单元中,试编写一个程序,实现x y 时, xz 的结果存放在 43H、44H 单元中;当xy时, yz 的结果存放入 43H、44H 单元中。MOV A,40HCLR CSUBB A,41H ;相减比较大小JC L1MOV A,40H ;x=ySJMP L2L1:MOV A,41H ;xyL2:ADD A,42HMOV 43H,AMOV A,#0 ; 保存进位到44H 单元 ADDC A,#0 MOV 44H,A14. 在内部 RAM 的 BLOCK 开始的单元中有一无符号数

26、据块,数据块长度存人LEN 单元。试编程求其中的最小的数并存入 MINI 单元。MOV R2, #11H ;要比较的数据字节数MOV R1 , #BLOCK;置数据块的首地址DEC LENMOV A , R1LOOP: MOV MINI,AINC R1CLR CSUBB A,R1 ;两个数比较JC LOOP1 ;C=1,A 中的数小,跳转到LOOP1MOV A,R1 ;C=1,则把小数送给ASJMP LOOP2LOOP1: MOV A,MINILOOP2: DJNZ R2, LOOP ;比较是否结束MOV 50H,A ;把大数存入 50H 单元RET15. 在外部 RAM3000H 起始的单元

27、中存放一组有符号数,字节个数存在内部RAM20H 单元中。统计其中大于 0、等于 0 和小于 0 的数的数目,并把统计结果存放在内部 RAM21H 、22H 和 23H 单元中。MOV DPTR,#3000H ;设置首地址MOV 22H,#0 ;清零MOV 23H,#0MOV 24H,#0L2:MOVX A,DPTR ;取数据JNZ L1INC 22H ;为 0SJMP NEXTL1:JB ACC.7,FUINC 21H ;正数SJMP NEXTFU:INC 23H ;负数NEXT:INC DPTRDJNZ 20H,L2RET16. 查找内部 RAM20H40H 单元中是否有 0FFH 这一数

28、据,如果有,将 PSW 中的 F0 位置 1,没有则将其清零。MOV R0,#20HMOV R1,#21HCLR F0NEXT:MOV A,R0CJNE A,#0FFH,L1SETB F0SJMP L2L1:INC R0DJNZ R1,NEXTL2:RET17. 在片内 RAM 的 30H 单元开始,相继存放 5 个无符号数,请使用冒泡法编写程序,使这组数据按照从小到大顺序排列。MAIN: MOV R0,#30H ;数据存储区首单元地址MOV R7#04H ;各次冒泡比较次数CLR F0 ;互换标志清 “0”LOOP: MOV A,R0 ;取前数MOV R2,A ;存前数INC R0MOV A

29、,R0 ;取后数CLR CSUBB A,R2 ;比较大小JNC LOOP1SETB F0 ;互换,置标志位MOV A,R2 ;互换数据XCH A,R0DEC R0XCH A,R0INC R0LOOP1: MOV A,R0DJNZ R7,LOOP ;进行下一次比较JB F0,MAIN ;进行下一轮冒泡SJMP $ ;排序结束思考题与习题 5一、填空18. AT89S51 单片机的五个中断源的中断入口地址分别是 INT0 : 0013HINT1 : 001BH T0: 0000BH T1: 000BH ;串行口: 0023H 。19. AT89S51单片机中断系统中共有 INT0 、 INT1 、

30、T0 、T1、串行口五个中断源,其中优先权最高的是 INT0 ,优先级最低的是 串行口。20. 在 CPU 未执行同级或更高优先级中断服务程序的条件下,中断响应等待时间最少需要 3 个机器周期 。21. AT89S51 单片机的堆栈区只可设置在 内部 RAM 30H-7FH ,堆栈寄存器SP是 8 位寄存器。22. 若( IP)=00010100B,则中断优先级最高者为 INT1 ,最低者为 T1 。23. 对 中 断 进 行 查 询 时 , 查 询 的 中 断 标 志 位 共有 IE0 、 TF0 、 IE1 、 TF1 、 RI 和 TI 六个中断标志位。24. AT89S51单片机内部有 16 位加 1 定时器/计数器,可通过编程决定它们的工作方式,其中可进行 13 位定时器/计数器的是方式是方式 0 。25. 处理定时器 /计数器的溢出请求有两种方法, 分别是中断方式

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2