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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课后习题解答.docx

1、单片机课后习题解答练习练习练习第二章 单片机结构及原理1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么?答:1一个8bit CPU是微处理器的核心,是运算和逻辑计算的中心。2片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。34K ROM程序存贮器:存贮程序及常用表格。4128B RAM 数据存贮器:存贮一些中间变量和常数等。5两个16bit定时器/计数器:完全硬件定时器632根可编程I/O口线:标准8位双向4个I/O接口,每一条I/O线都能独立地作输入或输出。7一个可编程全双工串行口。 8五个中断源。2、什么是指令?什么是程序?答:指令是规定计算机执行某种操作的命

2、令。程序是根据任务要求有序编排指令的集合。3、如何认识89S51/52存储器空间在物理结构上可以划分为4个空间,而在逻辑上又可以划分为3个空间?答:89S51/52存储器空间在物理结构上设有个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。在逻辑上有个存储器地址空间:片内、片外统一的64KB程序存储器地址空间,片内256数据存储器地址空间,片外64的数据存储器地址空间。4、开机复位后,CPU使用的是哪组工作存放器?他们的地址是多少?CPU如何确定和改变当前工作存放器组?答:开机复位后,CPU使用的是第0组工作存放器,地址为00H07H,CPU通过改变状态字存放器PS

3、W中的RS0和RS1来确定工作存放器组。5、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP重新赋值?如果CPU在操作中要使用两组工作存放器,SP应该多大?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。堆栈指针SP复位后指向07H单元,00H1FH为工作存放器区,20H2FH为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP重新赋值。如果CPU在操作中要使用两组工作存放器,SP应该至少设置为0FH。6、89S51/52的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为8MHz时,一个单片机周期为多少微秒?答:时钟周期为时钟脉

4、冲频率的倒数,他是单片机中最根本的、最小的时间单位。机器周期是指完成一个根本操作所需要的时间,一个机器周期由12个时钟周期组成。指令周期是执行一条指令所需要的时间,由假设干个机器周期组成。 假设fosc=8MHz,那么一个机器周期=1/812s7、89S51/52扩展系统中,片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生总线冲突?答:访问片外程序存储器和访问数据存储器使用不同的指令用来区分同一地址空间。8、程序状态字存放器PSW的作用是什么?常用状态标志有哪些位?作用是什么?答:程序状态字PSW是8位存放器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动

5、形成的,但也可以由用户根据需要采用传送指令加以改变。各个标志位的意义如下:PSW.7Cy:进位标志位。PSW.6AC:辅助进位标志位,又称为半进位标志位。PSW.5F0:用户标志位。PSW.4、PSW.3RS1和 RS0:存放器组选择位。PSW.2OV:溢出标志位。PSW.1空缺位:此位未定义。PSW.0P:奇偶校验位。9、位地址7CH和字节地址7CH有何区别?位地址7CH具体在内存中什么位置?答:字节地址7CH是片内数据存储器中的一个地址单元,该地址单元中可以存放8位二进制数,位地址7CH是内部数据存储器中位寻址区中的一位,该地址单元中可以存放1位二进制数。位地址7CH具体在片内数据存储器字

6、节地址为2FH中的第4位2FH.4。10、89S51/52中4个I/O端口的作用是什么?89S51/52的片外三总线是如何分配的?答:I/O端口是单片机与外界联系的重要通道,实现与外部设备的信息的传输。总线分配:片外数据总线8根通过P0口输出,片外地址总线16根通过P0口低8位和P2口高8位输出,片外控制总线PSEN ,ALE , RD ,WR ,EA主要通过P3口。11、89S51/52中4个I/O端口在结构上有何异同?89S51/52单片机的个I/O口在结构上是根本相同的,但又各具特点。这四个端口都是位双向口,每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。在无片外扩展存储器的系统中

7、,这四个端口的每一位都可以作为双向通用I/O端口使用。在作为一般的通用I/O输入时,都必须先向锁存器写入“,使输出驱动场效应管FET截止,以免误读数据。各自特点如下:1P0口为双向8位三态I/O口,它既可作为通用I/O口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口。作为通用I/O口时,输出数据可以得到锁存,不需外接专用锁存器;输入数据可以得到缓冲,增加了数据输入的可靠性。每个引脚可驱动8个TTL负载。(数字电路按工艺有肖特基双极晶体管和CMOS工艺两种,使用双极晶体管的数字电路称TTL数字电路,单片机输出端带负载能力,意思就是单片机的P3端口只能并联4个TTL型集成电路输入端。)

8、2P1口为8位准双向I/O口,内部具有上拉电阻,一般作通用I/O口使用,它的每一位都可以分别定义为输入线或输出线,作为输入时,锁存器必须置1。每个引脚可驱动4个TTL负载。3P2口为8位准双向I/O口,内部具有上拉电阻,可直接连接外部I/O设备。它与地址总线高8位复用,可驱动4个TTL负载。一般作为外部扩展时的高8位地址总线使用。4P3口为8位准双向I/O口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4个TTL负载。作为通用I/O口时,功能与P1口相同,常用第二功能。12、复位的作用是什么?有几种复位方法?复位后单片机的状态如何?答:复位是单片机的初始化操作。单片机在RST引脚产生两个

9、机器周期即24个时钟周期以上的高电平即可实现复位。主要的复位方法有上电自动复位和按键手动复位两种。按键手动复位又分:按键电平复位和按键脉冲复位。第三章 指令系统1、简述以下名词术语的根本概念:指令、指令系统、程序、汇编语言指令答:指令:规定单片机进行某种操作的命令称为指令。 指令系统:单片机能够执行的各种指令的集合。程序:一系列指令的有序集合称为程序。 汇编语言指令:用助记符形式来表示机器指令。2、80C51单片机有哪几种寻址方式?这几种寻址方式是如何寻址的?答:共7种寻址方式,分别为:存放器寻址,直接寻址,存放器间接寻址,立即寻址,变址寻址,位寻址和相对寻址。存放器寻址方式:由指令指出某一存

10、放器的内容做为操作数。直接寻址方式:指令中操作数直接以单元地址的形式给出。存放器间接寻址方式 :存放器间接寻址方式,存放器中存放的那么是操作数的地址,即操作数是通过存放器间接得到的。立即寻址方式:操作数在指令中直接给出。变址寻址方式:变址寻址是为了访问程序存储器中的数据和表格。MCS51的变址寻址是以DPTR或PC作基址存放器,以累加器A作变址存放器,并以两者内容相加形成的16位地址做为操作数地址,以到达访问数据和表格的目的。位寻址方式:指对片内RAM的位寻址区和某些可寻址的特殊功能存放器进行位操作的寻址方式。相对寻址方式:相对寻址方式是为解决程序转移而专门设置的,为转移指令所采用。3、要访问

11、特殊功能存放器和片外数据存放器,应采用哪些寻址方式?答:访问特殊功能存放器可以采用直接寻址、存放器寻址和位寻址针对可以进行位寻址的特殊功能存放器方式。访问片外数据存储器可采用存放器间接寻址方式。4、80C51单片机的指令系统可以分为哪几类?说明各指令的功能。答:51单片机指令系统按功能可分为5类:1数据传送指令 主要进行数据的传送、交换等;2算术运算指令 主要进行根本的加减乘除运算;3逻辑运算指令 主要实现逻辑运算与移位运算; 4控制转移指令 主要是实现对程序流程的控制;5位操作指令 5、外部数据传送指令有哪几条?有和区别?答:外部数据传送指令有读指令和写指令两类,每类指令的寻址范围不同,分别

12、为: 读外部存储器指令: MOVX A,Ri ;寻址范围为256字节 MOVX A,DPTR ;寻址范围为64K字节 写外部存储器指令: MOVX Ri,A ;寻址范围为256字节 MOVX DPTR,A ;寻址范围为64K字节6、在89S51片内RAM中,30H=38H,38H=40H,40H=48H,48H=90H,请分别分析下段程序按序执行后的结果。 MOV A,40H ;A=48H MOV R0,A ;R0=48H MOV P1,#0FFH ;P1=FFH MOV R0,30H ;(48H)=38H MOV DPTR,#1246H ;DPTR=1246H MOV 40H,38H ;(4

13、0H)=40H MOV R0,30H ;R0=38H MOV 90H,R0 ;(90H)=38H MOV 48H,#30H ;(48H)=30H MOV A,R0 ;A=40H MOV P2,P1 ;P2=38H7、略8、DA A 指令的作用是什么?怎样使用?答:对十进制BCD数作加法时进行调整,当结果的低4位A0A39,或半进位AC=1,那么A0A36,否那么不加;当结果的高4位A4A79,或进位CY=1,那么A4A76,否那么不加;这条指令是在进行BCD码加法运算时,跟在“ADD和“ADDC指令之后,用来对BCD码的加法运算结果自动进行修正,使其仍为BCD码表示形式。9、试编程将片外数据存

14、储器60H中的内容传送到片内RAM54H单元中。答: MOV R0,#60H MOVX A,R0 MOV 54H,A10、试编程将存放器R7的内容传送到R1中去。答: MOV A,R7 MOV R1,A11、当前PC值为210H,请用两种方法将程序存储器2F0H中的常数送入累加器A中。答:1以程序计数器PC作为基址存放器 MOV A,#0E0H MOVC A,A+PC 2以数据指针DPTR作为基址存放器 MOV DPTR,#02F0HMOV A,#00H MOVC A,A+DPTR12、试说明下段程序中每条指令的作用,并分析当指令执行完后,R0中的内容是什么? MOV R0,#0A7H ;R0

15、=A7H,立即数送存放器R0 XCH A,R0 ;A=A7H,累加器A中的数据与R0中的数据进行交换 SWAP A ;A=7AH,累加器A中的上下四位进行交换 XCH A,R0 ;R0=7AH,数据交换回R013、请用两种方法实现累加器A与存放器B的内容交换。答:1MOV R0,A MOV A,B MOV B,R0 2MOV R0,B XCH A,R014、试编程将片外RAM中40H单元的内容与R1的内容交换。答: MOV R0,#40H MOVX A,R0 XCH A,R1 MOVX R0,A15、:A=0C9H,B=8DH,CY=1。执行指令 ADDC A,B结果如何? A=57H,CY=

16、1,OV=1,AC=1,P=1执行指令 SUBB A,B结果如何? A=3BH,CY=0,AC=1,OV=116、试编程将片外RAM中30H和31H单元中的内容相乘,结果存放在32H低位和33H高位单元中。答: MOV R0,#30H MOVX A,R0 MOV B,A INC R0 MOVX A,R0 MUL AB INC R0 MOVX R0,A MOV A,B INC R0 MOVX R0,A17、试用3种方法将累加器A中的无符号数乘2.答:1MOV R0,A ADD A,R0 2MOV B,#2 MUL AB 3RL A18、分析依次执行以下指令的结果: MOV 30H,#0A4H ;

17、(30H)=A4H MOV A,#0D6H ;A=D6H MOV R0,#30H ;R0=30H MOV R2,#47H ;R2=47H ANL A,R2 ;A=46H ORL A,R0 ;A=E6H SWAP A ;A=6EH CPL A ;A=91H XRL A,#0FFH ;A=6EH ORL 30H,A ;(30H)=EEH19、求以下指令执行后,累加器A及PSW中进位CY、奇偶位P和溢出位OV的值。1当A=5BH时 ;ADD A,#8CH2当A=5BH时 ;ANL A,#7AH3当A=5BH时 ;XRL A,#7FH4当A=5BH,CY=1时 ;SUBB A,#0E8H答:1A=E7

18、H,CY=1,P=0,OV=0 2A=5AH ,P=0 3A=24H ,P=0 4A=72H,CY=1,P=0,OV=020、把累加器A中的低4位数据送到外部数据存储器的2000H单元。答: ANL A,#OFH MOV DPTR,#2000H MOVX DPTR,A21、试说明指令CJNE R1,#7AH,10H的作用,假设本指令地址为250H,其转移地址是多少?答:指令作用:如果以R1内容为地址的单元中的数据等于7AH,那么程序顺序执行,否那么转移后继续执行。假设本指令地址为250H,那么转移地址为250H03H10H= 263H。22、将累加器A中的数据由0递增,加到50,结果在累加器A

19、中。答: CLR A MOV R0,#50L1: INC A DJNZ R0,L123、试说明压栈指令和弹栈指令的作用及执行过程。答:压栈入栈或进栈指令的作用是将数据存入堆栈中,其执行过程是先将堆栈指针SP的内容加1,然后将直接地址单元中的数据压入SP指向的单元中。假设数据已推入堆栈,那么SP指向最后推入数据所在的存储单元即指向栈顶。弹栈出栈指令的作用是将数据从堆栈中取出,其执行过程为先将堆栈指针SP所指出单元的内容送入直接寻址单元中,然后将SP的内容减1,此时SP指向新的栈顶。24、下述程序执行后,SP=?,A=?,B=?。 ORG 2000H MOV SP,#40H MOV A,#30H

20、LCALL 250H ;下条指令地址2021H送41H、42H,SP=42H ADD A,#10H MOV B,A ;地址为200AHL1: SJMP L1 ORG 250H MOV DPTR,#200AH PUSH DPL ;SP+1=43H,DPL(43H) PUSH DPH ;SP+1=44H,DPH(44H) RET ;200AHPC答:上述程序执行后,SP=42H,A=30H,B=30H。25、发光二极管点亮规律:先是第1和第8个亮,延时一段时间后,第2和第7个亮,延时后,再是第3和第6个亮,延时后,最后是第4和第5个点亮,延时后循环。26、假设系统晶振频率为6MHz,求子程序DEL

21、AY的延时时间,假设想加长或缩短时间,应该怎样修改?答: DELAY: MOV R2,#0FAH L1: MOV R3,#0FAH L2: DJNZ R3,L2 DJNZ R2,L1 RET总时间计算:T=4s2504s4s2504 估算:T=2504s250=250ms假设想加长延时时间,可以增加循环次数或再加一重循环;假设想减小延时时间,可以减少循环次数或较少一重循环。27、P1口连接8个共阳极连接的发光二极管,是编制灯亮移位程序。答: MOV A,#0FEHL1: MOV P1,A RL A LCALL DELAY ;DELAY子程序同上题 SJMP L128、试编一程序,将外部数据存储

22、器2100H单元中的高4位置“1,其余位清“0。答: MOV DPTR,#2100H MOVX A,DPTR ORL A,#0F0H ANL A,#0F0H MOVX DPTR,A29、试编程将片内数据存储器40H单元的第0为和第7位置1,其余取反。答: MOV A,40H CPL A SETB ACC.7 MOV 40H,A30、将A.5与80H位相与的结果,通过P1.4输出。 MOV C,80H MOV P1.4,C31、请用位操作指令,求以下逻辑方程。1 MOV P1.7,C2 MOV 20H,C ORL C,20H MOV PSW.5,C3 MOV 20H,C ORL C,20H 下一

23、行MOV P2.3,C第四章 汇编语言程序设计1、编程将片内40H60H单元中的内容送到以3000H为首的存储区内。答: MOV R1,#40H MOV R2,#21H MOV DPTR,#3000HL1: MOV A,R1 MOVX DPTR,A INC R1 INC DPTR DJNZ R2,L12、编程计算以下算式的程序123H+45H+ABH+03H= MOV A,#23H ADD A,#45H ADD A,#0ABH XCH A,B ;溢出处理 ADDC A,#00H XCH A,B ADD A,#03H ;A中为结果低位,B中为高位2CDH+15H-38H-46H= MOV A,#

24、0CDH ADD A,#15H SUBB A,#38H SUBB A,#46H31234H+8347H= MOV A,#34H ADD A,#47H MOV 30H,A MOV A,#12H ADDC A,#83H MOV 31,A ;30H存结果低位,31H存结果高位4AB123H-43ADCH= CLR C MOV A,#23H SUBB A,DCH MOV 30H,A MOV A,#0B1H SUBB A,#3AH MOV 31H,A MOV A,#0AH SUBB A,#04H MOV 32H,A ;30H为低位,32H为高位3、设有两个4位BCD码,分别存放在23H、22H单元和33

25、H、32H单元中,求他们的和,并送入43H、42H单元中低位在低字节,高位在高字节。答: MOV A,22H ADD A,32H MOV 42H,A MOV A,23H ADDC A,33H MOV 43H,A4、略5、编程计算片内RAM区50H59H单元中数的平均值,结果存放在5AH中。答: MOV R0,#8 MOV R1,#50H MOV A,#00HL1: ADD A,R1 INC R1 DJNZ R0,L1 MOV B,#8 DIV AB MOV 5AH,A6、编写计算下式的程序。设乘积和平方结果均小于255。a 、b值分别存在片外3001H和3002H单元中,结果存于片外3000H

26、单元中。1 MOV DPTR,#3001H MOVX A,DPTR MOV 30H,A ;a暂存30H单元 INC DPL MOVX A,DPTR CJNE A,30H,L1 ;是否a=b MOV A,#25 SJMP SAVEL1: JNC L2 MOV B,30H MUL AB SJMP SAVEL2: MOV B,A MOV A,30H DIV ABSAVE: MOV DPTR,#3000H MOVX DPRT,A2 MOV DPTR,#3001H MOVX A,DPTR MOV 30H,A INC DPTR MOVX A,DPTR ADD A,30H MOV B,A MUL AB ;

27、(ab)2 MOV 31H,A CJNE A,#10,L1 SJMP SAVEL1: JC L2 CLR C SUBB A,#10 SJMP SAVEL2: ADD A,#10SAVE: MOV DPTR,#3000H MOVC DPTR,A7、设有两个长度均为15的数组,分别存放在以200H和210H为首地址的存储区中,试编程求其对应项之和,结果存放到以220H为首地址的存储区中。答: MOV DPH,#02H MOV R1,#15 MOV R2,#00H ; 数组1首地址低位 MOV R3,#10H ; 数组2首地址低位 MOV R4,#20H ; 和首地址低位L1: MOV DPL,R2

28、 MOVX A,DPTR MOV R1,A MOV DPL,R3 MOVX A,DPTR ADD A,R1 MOV DPL,R4 MOVX DTPR,A INC R2 INC R3 INC R4 DJNZ R1,L1 SJMP $8、设有100个无符号数,连续存放在以2000H为首地址的存储区中,试编程统计正数、负数和零的个数。答: MOV 30H,#00H ;正数计数器 MOV 31H,#00H ;负数计数器 MOV 32H,#00H ;零计数器 MOV DPTR,#2000H MOV R1,#100L4: MOVX A,DPTR INC DPTR CJNE A,#0,L1 INC 32H SJMP L2L1: JC L3 INC 30H SJMP L2L3: INC 31HL2: DJNZ R1,L4 SJMP $9、将片外数据存储器地址为1000H1030H的数据块,全部搬迁到片内RAM 30H60H中,并将原

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1