《单片机作业答案(14页).doc》由会员分享,可在线阅读,更多相关《单片机作业答案(14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-单片机作业答案-第 14 页 单片机作业题第一章1.把下列十进制数转换成二进制数和十六进制数(135)10 =(10000111)2=(87)16 (0.625)10 =(0.101)2=(0.A)162. 请写出下列各十进制数在八位微型机中的原码、反码、和补码形式:x=+38 x=+64 x=-112+38=+38原=+38反=+38补=00100110B+64=+64原=+64反=+64补=01000000B-112原=11110000B -112反=10001111B -112补=10010000B3. 用十六进制形式写下列字符的ASC码:AB5=414235H COMPUTER=43
2、4F4D5055544552H第二章1MCS-51单片机引脚信号中,信号名称带上划线的表示该信号为 _低电平_或_负脉冲_ 有效。2MCS-51单片机内部RAM的通用寄存器区共有_32_个单元,分为_4_组寄存器,每组_8_ 个单元,以 _R0R7_作为寄存器名称。3使8051单片机复位有_上电复位_ 和_按键复位_两种方法。复位以后CPU使用第_0_组工作寄存器,它们所对应的内存地址为_00H_至_07H_ ,若要求使用第2组工作寄存器,RS0和RS1应设置为_10_。 4MCS-51单片机的存储器分为4个物理上相互独立的存储器空间,即_片内ROM_ 、_片外ROM_、片内RAM、片外RAM
3、_;按其逻辑关系可分为_三_ 个逻辑上相互独立的存储器空间。 5MCS-51系列单片机内和片外数据存储器的寻址空间分别为_128B_、 _64KB_。6MCS-51系列单片机包括很多机型,其中8031单片机片内有_0_B的程序存储器、8051单片机片内有_4k_B的程序存储器。7MCS-51单片机所能使用的外晶振的频率范围是:_1.2M_Hz 至_12M_Hz 。如果8031单片机的时钟频率为12MHz ,则一个机器周期是_1_s。8MCS-8051系列单片机字长是 8 位,有 40 根引脚,96系列字长是 16 位。单片机的特点有体积小、价格低、功能全 。 98051单片机的存储器的最大特点
4、是 指令存储器与数据存储器 独立 编址 ,Px并行口的地址是与数据存储器 统一 编址的,或者说属于该存储器。 108051最多可以有 4 个并行输入输出口,最少也可以有 1 个并行口,即 P1 。P3常需复用作 串行发送接收 、 计数脉冲 、 外部中断 和 读写 信号。 11ALE信号的作用是 地址锁存允许信号 。 128051复位后,PC= 0000 H。若希望从片内存储器开始执行,EA脚应接 高 电平,PC值超过 0FFF H时,8051会自动转向 1000H片外存储器 继续取指令执行。 138051的定时器/计数器中计数器是按 加法 计数的。 148051的中断向量表在 0003 H、
5、000B H、 0013 H、 001B H和 0013 H。二、选择题1下列说法错误的有_。 PC属于特殊功能寄存器。 PC为不可寻址寄存器。 单片机工作时以后PC的值为0000H。 程序中断时,保护断点主要是保护断点处PC的值。2单片机芯片内提供了一定数量的工作寄存器,这样做的好处不应包括_。提高程序运行的可靠性 提高程序运行速度为程序设计提供方便 减少程序长度3内部RAM中的位寻址区定义的位是给_ _。 位操作准备的 移位操作准备的 控制转移操作准备的 以上都对4对程序计数器PC的操作 _。 是自动进行的 是通过传送进行的 是通过加1指令进行的 是通过减1指令进行的5单片机程序存储器的寻
6、址范围是由程序计数器PC的位数决定的,MCS-51的PC为16位,因此其寻址范围是_。 4KB 64KB 8KB 128KB6以下有关PC和DPTR的说法中错误的是_。 DPTR是可以访问的,而PC不能访问 它们都是16位的寄存器 它们都具有自动加1功能 DPTR可以分为2个8位的寄存器使用,但PC不能。7PC的值是_。 当前指令前一条指令地址 当前正在执行指令的地址 下一条指令的地址 控制器中指令寄存器的地址8假定堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为_。 36H 37H 38H 39H9在8051中,可使用的堆栈最大深度为_。 80个单元 32个单元
7、128个单元 8个单元三、判断题1所有MCS-51系列单片机都是带有片内ROM和片外RAM的。 ( F )2MCS-51系列单片机的四个I/O端口都是多功能的I/O端口。 ( F )3P0口执行一条“ANL P0,A”指令的过程是把P0端口引脚线上的数据与累加器A中的数据进行“逻辑与”操作后结果送回P0端口。 ( F )48051单片机的字长为8位,但其片内寄存器不都是8位寄存器。 ( T )5因为一个机器周期的指CPU访问存储器一次所需要的时间,故CPU每执行一条指今都需要一个机器周期的时间。 ( F )6所谓机器周期是指CPU执行一条指令所需要的时间。 ( F)78031是片内存储器只有R
8、OM的单片机。 ( F )88051单片机共有128个位地址。 ( F )9MCS-51内部的位寻址区,只能进行位寻址,而不能进行字节寻址。 ( F ) 108051每个中断源相应地在芯片上都有其中断请求输入引脚。 ( F )11程序计数器PC不能对它进行读写操作。 ( T )128051单片机的栈底单元是不能利用的,因此,它是一个闲置单元。( F )138051单片机对最高优先权的中断响应是无条件的。 ( F ) 14. 8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的。( T ) 15.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。 (F)16MOV A,30H为立即
9、寻址方式。 (F)17CPU对内部RAM和外部RAM的读写速度一样快。 (F)四、问答题1 MCS-51系列单片机的存储器可划为几个空间?其地址范围及容量是多少?在使用上有何不同?存储器可划分我4个物理空间0000H0FFFH 片内ROM=4KB0000HFFFFH 片外ROM=64KB00H7FH 片内RAM=128B0000HFFFFH 片外RAM=64KBROM存储程序指令和常数,RAM存储临时数据2 位地址7CH与字节7CH有何区别?位地址7CH具体在内存中什么位置?位地址7CH表示此一位所在的地址为7CH单位地址7CH表示,存储单元8为二进制数所在的单元地址为7CH单元 位地址7CH
10、在内存2FH单元中D4位3 试分别说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值?PC的作用是指向程序执行下一条指令的地址SP的作用是始终指向堆栈的顶部(即栈顶)复位后PC=0000H和SP=07H4. 若采用6MHz的晶振,8051的振荡周期和机器周期分别为多少s?一条单字节双周期指令的指令周期为多少s?振荡周期(时钟周期)=s机械周期Tcg=2s双周指令周期为4s第三章一、 填空题1. CPU的指令系统就是该CPU所能执行的_所有指令_集合。2. MCS-51单片机的指令系统共有_111_条指令,按指令所占用的字节数分,有_单_字节指令、_双_字节指令和_三_字节指令。3
11、. MCS-51单片机的指令系统有_7_种寻址方式。4. 寄存器寻址方式的寄存器的内容是_操作数_,可用于寄存器寻址的寄存器有:R0R7、_A_、 _B_ 、_DPTR_等。5. 在寄存器间接寻址方式中,其“间接”体现在寄存器的内容不是_操作数_,而是操作数所在RAM单元的_地址_。可用于寄存器间接寻址的寄存器有:SP、_R0_、 _R1_、 _DPTR_等。6. 特殊功能寄存器按字节访问时,只能采用_直接_寻址方式。7. 在变址寻址方式中,可把_PC_或_DPTR_作为基址寄存器,而把_A_作为变址寄存器。变址寻址方式是专用于访问_程序存储器_一种寻址方式。8. MCS-51系列单片机数据指
12、针是_DPTR_;堆栈指针是_SP_;访问片外数据存储器用_MOVX_(填指令助记符)指令。9. 指令“ANL 70H,48H”和“ANL 70H,#48H”分别采用的是_直接_和_立即_寻址方式。10. 假定外RAM 1000H单元的内容为80H,A的内容为60H,执行下列指令序列后,累加器A的内容为_80H_。 MOV DPTR,#1000H MOVX A,DPTR11执行下列指令序列后,累加器A的内容为_68H_。 MOV A,#03H MOVC A,A+PC DB 20H,23H,26H,68H,85H12执行下列指令序列后,累加器A的内容为_68H_。 MOV A,#03H MOV
13、DPTR,#TAB MOVC A,A+DPTR TAB:DB 20H,23H,26H,68H,85H13执行下列指令序列后,SP的内容为_62H_,61H单元内容为_68H_,62H单元的内容为_36H_。 MOV SP,#60H MOV A,#68H MOV PSW,#36H PUSH ACC PUSH PSW14执行下列指令序列后,SP的内容为_41H_,A的内容为_39H_,B的内容为_88H_。 MOV SP,#43H MOV R0,#43H MOV R0,#39H MOV 42H,#88H POP ACC POP B15.执行下列指令序列后,A的内容为_BFH_,CY的内容为_0_,
14、AC的内容为_0_,OV的内容为_0_。 MOV A,#89H MOV R0,#30H MOV 30,#36H ADD A,R016假设外部数据存储器1000H单元的内容为28H,PSW的内容为82H,执行下列指令序列后,A的内容为_2DH_,CY的内容为_1_,AC的内容为_1_,OV的内容为_0_。 MOV DPTR,#1000H MOVX A,DPTR MOV R6,#0FAH SUBB A,R617. 执行下列指令序列后,A的内容为_26H_,CY的内容为_1_。 MOV A,#69H ADD A,#57H DA A18假设外部数据存储器60H单元的内容为0A8H,内部数据存储器60H
15、单元的内容为69H,执行下列指令序列后,A的内容为_90H_,B的内容为_06H_,CY的内容为_0_, OV的内容为_1_。 MOV R1,#60H MOVX A,R1 MOV B,#0AH MUL AB19.假设外部数据存储器60H单元的内容为63H,内部数据存储器60H单元的内容为89H,执行下列指令序列后,A的内容为_10H_,B的内容为_53H_,CY的内容为_1_,OV的内容为_0_。 MOV R1,60H MOV A,R1 MOV B,06H DIV AB20.执行下列指令序列后,A的内容为_00H_,20H单元的内容为_96H_。 MOV R2,69H MOV A,R2 ANL
16、 A,0FH MOV 20H,A MOV A,R2 ANL A,0F0H SWAP A21.执行下列指令序列后,A的内容为_00H_,B的内容为_96H_。 MOV R2,69H MOV A,R2 XRL A,0FFH MOV B,A MOV A,R2 ANL A,00H二,选择题1. 对程序存储器的读操作,只能使用_(4)_。(1) MOV指令 (2)PUSH指令(3) MOVX指令 (4)MOVC指令2. 必须进行十进制调整的运算是_(3)_.(1) 二进制加减运算 (2) 二进制乘除运算(3) 十进制加法运算 (4) 十进制减法运算3 下列指令中与进位标志位CY无关的指令有_(4)_。(
17、1) 移位指令 (2)位操作指令(3)十进制调整指令 (4)无条件转移指令4下列指令中正确的指令是_(1) (2)_。(1)PUSH A (2)MOV A,R1(3)MOVC A,DPTR (4)MOVX 20H,R0三,编程与问答题1. MCS-51提供了哪几种寻址方式?试简述每种寻址方式的功能及寻址范围。P34表3.1表3.1 寻址方式与对应的寻址空间寻址方式寻址空间立即寻址基址加变址寻址相对寻址程序存储器直接寻址内部RAM 128字节(00H7FH)专用功能寄存器(SFR)位地址空间(20H2FH,部分SFR)寄存器寻址R0R7、ACC、B、DPTR 、C寄存器间接寻址内部128字节RA
18、M(00H-7FH),用R0、R1间接寻址外部256字节(0000H-00FFH),用R0、R1间接寻址外部 64K字节数据存储器(0000H-0FFFFH),用DPTR间接寻址2. 要访问特殊功能寄存器和外部数据存储器应分别采用哪种寻址方式? 直接寻址和间接寻址3. 布尔操作指令中采用了哪种寻址方式?在指令格式中,位地址通常有哪几种表示形式?试举例说明。位寻址方式。直接位地址方式,如02H “点掸作”符号方式,如P1.0 位名称方式,如TRO 用户定义名称,即用伪指令bit定义的各种名字,如A1 F0 hit4. 要完成以下操作,应采用哪种指令来实现,请写出能完成每一种操作的指令序列。(1)
19、 将R0的内容传送到R1. MOV A,RO MOV R1,A(2) 将内部RAM20H单元的内容传送到R7. MOV R7,20H(3) 将外部RAM1000H单元的内容传送到内部RAM30H单元。 MOV DPTR,1000H MOVX A,DPTR MOV 30H,A(4) 将外部RAM1000H单元的内容传送到R1. MOV DPTR,#1000H MOVX A,DPTR MOV R1,A5. 阅读下面的程序,要求:(1)说明程序的功能;(2)写出涉及的寄存器及片内RAM单元(如图3-1所示)的最后结果。MOV R0,40H60HFAH89H36HMOV A,R0 40HINC R0
20、ADD A,R0 41HINC R0 MOV R0,A 42HCLR AADDC A,00H 43HINC R0MOV R0,A 图3-11、 把40H单元和41H单元内容相加,结果存储到42H和43H两个单元内2、 (R0)=43H (Cy)=1 (A)=01H (42H)=5AH (43H)=01H7假设在内RAM30H和31H中存放有一个16位的无符号二进制数(高字节在高地址单元),请编写程序对该数乘2,再放回原单元。MOV A,30HCLR CRLC AMOV 30H,AMOV A,31HRLC AMOV 31H,A8写出16位数相加的程序。设被加数存放在内RAM20H,21H单元,加
21、数存放在22H、23H单元,并将结果存放在后续单元24H、25H中(要求低位数存放在低地址单元中)。CLR CMOV A,20HADD A,22HMOV 24H,AMOV A,21HADDC A,23HMOV 25H,A9从内RAM40H单元开始的区域内存有10个单字节十进制数(压缩的BCD码)试求它们的累加和,并将结果存放在内部RAM20H和21H单元中。 CLR C CLE A MOV RO,#40H MOV R2,#0AHLOOP:ADDC A,R0 DA A INC R0 DJNZ R2,LOOP MOV 20H,A CLR A ADDC A,#00H MOV 21H,A 10编写程序
22、,将内RAM从20H开始存放的16个数传送到从18H开始的单元中。 MOV RO,#20H MOV R1,#18H MOV R2,#10HLOOP: MOV A,R0 MOV R1,A INC R0 INC R1 DJNZ R2,LOOP11编写程序,将片外RAM从2000H开始存放的8个数传送到片外RAM从30H开始的单元中。 MOV DPTR,#2000H MOV R0,#30H MOV R2,08HLOOP:MOVX A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R2,LOOP第四,五章一、填空题1编写子程序和中断服务程序时,必须注意现场的_保护_和_恢复_。
23、2计算机(微处理器)能够惟一识别的语言是_机器语言_。3下列伪指令汇编后,各标号的值分别为ORG 0500HAREA1: DB 15H, 03H, 03H, 08H, -4 AREA1=_0500H_BUF: DS 02H BUF= _0505H_TIME: EQU 01H TIME=_01H_ACK: DB GH ACK=_0507H_4.中断技术是解决资源竞争的有效方法,因此可以说中断技术实质上是一个资源_共享_技术.5.中断采样用于判断是否有中断请求信号,但MCS-51中只有_外部_中断才存在中断采样问题。6.响应中断后,系统会自动产生一个条长调用指令(LCALL *H),以外部中断0为
24、例,执行该指令的过程包括:首先将_断点地址_的内容压入堆栈,,以保存断点。然后把长调用指令的16位目标地址送_PC_,使程序转向_0003H_。7某8031单片机应用系统,程序已设定(IP)=00H、(IE)=9FH,当所有中断源同时申请中断时,CPU将响应_的中断请求8外部中断有2种触发方式,当IT0或IT1等于0时,外部请求被设置为_电平_触发方式:.当IT0或IT1等于1时,外部请求被设置为_边沿_触发方式。98051单片机内部有2个_16_位的加1定时器/计数器,其中T0有_4_种工作模式,T1有_3_种工作模式。10当计数器产生溢出中断时,把定时器控制寄存器的TF0(或TF1)位置1
25、。对计数溢出的处理,在中断方式时,该位作为_中断标志_位使用;在查询方式时,该位作_溢出标志_位使用。11在定时器工作方式0下,计数器的宽度为13位,如果系统振荡频率为3MHZ,则最大定时时间为_。12.单片机内部为单总线结构,而扩展存储器又要求系统必须提供三总线。为此,可用单片机的P0口提供_低8位地址和数据_线,用P2口提供_高8位地址_线,P3.6和P3.7可提供_线和_线。13.MCS-51可扩展程序存储器的最大容量为_64K_B,数据存储器的最大容量为_64K_B。14.为实现内/外部程序存储器地址的衔接,单片机的引脚必须接_高_电平。15.单片机的外部数据存储器与外部I/O口之间采
26、用_统一_编址方式。16.从单片机的角度上看,连接到数据总线上的数出口应具有_三态_功能,连接到数据总线上的输入接口应具有_锁存_功能。17.对三态缓冲电路,除了数据输入线和数据输出线以外,还应有一个_三态控制_信号线。二、选择题18031单片机的串行口的中断程序入口地址为_(2)_(1) 001BH (2)0023H (3)000BH (4)0013H2.以下几种中断优先顺序的安排(级别由高到低)不可能的是_(3)_(1)T0溢出中断T1溢出中断int0int1串口中断(2)串口中断int0T0溢出中断int1T1溢出中断(3)int0T1溢出中断int1T0溢出中断串口中断(4)int0i
27、nt1串口中断T0溢出中断T1溢出中断3下列有关MCS-51中断优先级控制的斜述中,错误的是_(4)_(1)低优先级的中断不能中断高优先级的中断处理(2)同级中断不能嵌套(3)同级中断请求按时间先后顺序响应(4)同时同级的多中断请求将形成阻塞,系统无法响应4外中断初始化的内容不包括_(1)_(1)设置中断响应方式(2)设置外中断允许(3)设置中断总允许(4)设置中断请求的触发方式5执行中断返回指令,要从堆栈弹出断点地址,以便继续执行中断的程序。从堆栈中弹出的断点地址被送给_(3)_(1)A (2)CY (3)PC (4)DPTR6在MCS-51中断系统中,需要外加电路实现中断请求撤除的是_(4
28、)_(1)定时/计数器中断(2)脉冲方式的外部中断(3)串行口中断(4)电平方式的外部中断7所谓中断查询,查询的是_(2)_(1)中断请求信号(2)中断标志位(3)外中断触发方式控制位(4)中断允许控制位8在中断流程中有“关中断”的操作,对于外部中断0,要关中断应复位中断允许寄存器的_(2)_(1)EA和ET0(2)EA和EX0(3)EA和ES(4)EA和EX19.在MCS-51中,需要双向传递信号的是_(2)_。(1)地址线(2)数据线(3)控制线(4)电源线10.进行系统扩展时,为使P0口实现数据和低8位地址信号的复用,应使用_(1)_(1)地址锁存器(2)地址寄存器(3)地址缓冲器(4)
29、地址译码器11.与外部程序存储器访问无关的信号是_(3)_(1) (2)(3)(4) 12.与外部数据存访问无关的信号是_(4)_(1)(2)(3) (4) 13.下列功能中不是由I/O接口实现的是 (3) (1)速度协调(2)数据缓冲和锁存(3)数据转换(4)数据暂存14.三态缓冲器的输出应具有三种状态,其中不包括_(2)_。(1)高阻状态(2)低阻状态(3)高电平状态(4)低电平状态15.在8051芯片中,决定I/O口和RAM单元编址的信号是_(3)_。(1)AD。A和(2)AD。A和(3)AD。A和IO/(4)AD。A和ALE16在下列寄存器中,与定时/计数器无关的是_(3)_(1)TC
30、ON (2)TMOD (3)SCON (4)IE17.如果以查询的方式进行定时应用,则应用程序中的初始化内容应包括_(2)_(1)系统复位、设置工作方式、设置计数器初值(2)设置计数器初值、设置中断方式、启动定时器(3)设置工作方式、设置计数器初值、开中断(4)设置工作方式、设置计数器初值、关中断三、编程与问答题1分支程序有哪几种基本结构?P52 循环程序有哪几种基本结构?请用图示的方法说明P53图3.12图 3.12 两种循环程序结构图进入循环设置循环初值循环体循环结束NY退出循环(a)进入循环设置循环初值循环体循环结束?N退出循环(b)Y一般情况下,一个条件只能形成两个分支,即每个分支都是
31、一个入口,两个出口,像一个“单刀双掷”开关,当有n个条件时,可以形成 n+1个分支。循环结构程序有两种,即先判断后执行和先执行后判断,如图3.12(a)、(b)所示。2子程序结构有什么特点?P55使用子程序,可使整个程序的结构更清楚,阅读和理解更容易,不必每次重复书写同样的指令,可以减少源程序和代码的长度。由于每次调用子程序时都要有保护断点等操作,会增加一点程序的执行时间,但一般来说,付出这点代价是值得的。3设内部RAM从21H单元开始存有一组带符号数,数据长度存于20H单元,要求把该组数据中的正数、负数分别求和,并存放在寄存器R6和R7中。4编写程序把累加器A中的二进制数变换成3位BCD码,
32、并将百位、十位和个位BCD码数分别存放在内RAM50H、51H和52H单元。P61 例3.245手工汇编下列程序段: ORG 1200HLab EQU 1400H MOV A,35H CLR C SUBB A, #0AH JC Lab2 MOV A, 36H JC Lab1 AJMP LabLab1: MOV 35H, #00Lab2: JNB 02H, Lab3 MOV R6, 39H DEC R6 SJMP Lab4Lab3: MOV R6, 39H INC 39HLab4: CLR 05H LJMP 3200H END6说明中断响应时,什么情况下需要保护现场?如何保护? P76由于中断是
33、随机发生的,一般情况下,在中断服务程序的开始一定要进行现场保护,在执行RETI指令前还要恢复现场。与子程序一样,中断服务程序中的压栈、出栈指令数量一定相同,子程序是由用户指令调用的,而中断服务程序则是由硬件直接调用的。7试编写一段对中断系统初始化程序,要求允许外部中断0(电平触发)、T0中断、串行口中断,且使T0为高优先级中断。 CLR IT0 MOV IE,#93H MOV IP,02H8定时器的工作方式2有什么特点?适用于什么场合? P84当M1M0为10时,定时/计数器工作在8位自动重装操作模式,这时定时/计数器的逻辑电路如图4.9所示(以定时器T1为例)。P3.5引脚12TR1GATEINT1引脚AB控制TF1TL1(8位)图4.9 定时器/计数器T1工作方式2时的逻辑电路请求中断服务TH1(8位)TH1重装TL1计数开关振荡器fOSCC/T =0C/T =1方式2为8位自动重装初值计数方式,由TH1作为常数缓冲器,当TL1计数溢出时,在置