加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《单片机应用技术》答案32-51

(2016-11-05 11:02:26)
标签:

《单片机应用技术》答


32. 用直接地址寻址方式、寄存器间接寻址方式、字节交换法和堆栈传递法等4种方法将内部RAM30H31H单元的数据交换。

      1. MOV A,30H

         MOV 30H,31H

         MOV 31H,A

      2. MOV  R0,#30H

         MOV  A,@R0

         MOV R1,A

         MOV  R0,#31H

         MOV  A,@R0

         MOV  R0,#30H

         MOV @R0,A

         MOV R0,#31H

         MOV A,R1

         MOV  @R0,A

3. MOV  A,30H

         XCH  A,31H

         MOV 30H,A

4. PUSH 30H

PUSH  31H

POP   30H

POP   31H

33. 片内RAM 20H2FH单元中的128个位地址与直接地址00H7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?

答:

虽然内部RAM位寻址区的位地址范围00H7FH与低128个单元的单元地址范围00H7FH形式完全相同,但是在应用中可以通过指令的类型区分单元地址和位地址。

位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。

MOV  Cbit

MOV  bitC

CLR   bit

SETB  bit

CPL   bit

ANL   Cbit

ANL   C/bit

JB    bitrel

JNB   bitrel

 

 

 

 

34 编写一段程序,将片内RAM30H单元的内容与片外RAM30H单元的数据交换。

            MOV  DPTR,#30H

            MOVX A,@DPTR

            MOV  R1,A

            MOV  A,30H

            MOVX @DPTR,A

            MOV  30H,R1

35. 设堆栈指针SP=60H片内RAM中的30H=24H,(31H=10H。执行下列程序段后,61H62H30H31HDPTRSP中的内容将有何变化?

PUSH  30H

PUSH  31H

POP   DPL

POP   DPH

MOV  30H, #00H

MOV  31H, #0FFH

答:

结果为:(61H)=24H  (62H)=10H   (30H)=00H  (31H)=0FFH   DPTR=2410H (SP=60H

36. 说明无条件转移指令AJMPSJMPLJMPJMP的功能和应用场合。

答:

     AJMP2KB地址范围内的的转移指令;

     SJMP为相对转移指令,本指令首地址加上偏移量加上2为跳转到的位置;

     LJMP64KB程序存储空间的全范围转移指令,转移的地址可为16位地址中的任意值;

     JMP 间接转移指令。

37. 设内部RAM30H=#5AH,(5AH=#40H,(40H=#00H,(P1=#7FH,问连续执行下列指令后,各有关存储单元(即R0R1ABP130H40H5AH单元)的内容如何?

   MOV    R0,#30H 

   MOV    A,@R0  

   MOV    R1,A    

   MOV    B,R1    

   MOV    @R1,P1 

   MOV    A,P1    

   MOV    40H,#20H

   MOV    30H,40H 

答:

   MOV    R0,#30H              ;R0=30H

   MOV    A,@R0               ;A=5AH

   MOV    R1,A                 ;R1=5AH

   MOV    B,R1                 ;B=5AH

   MOV    @R1,P1              ;(5AH)=7FH

   MOV    A,P1                 ;A=7FH

   MOV    40H,#20H             ;(40H)=20H

   MOV    30H,40H              ;(30H)=20H

38. 编制一程序,查找内部RAM202FH单元中是否有数据0AAH。若有,则将30H单元置为01H,否则将30H单元清0

答:

               ORG  0000H

      START:  MOV  R0,#20H

              MOV  R2,#10H

              MOV  30H,#00H

       AGN:   MOV  A,@R0

              SUBB A,#0AAH

              JZ    K

              DJNZ  R2,AGN

              JMP   K1

         K:  MOV  30H,#01H

         K1: JMP   $

              END

39. 片内RAM40H开始的单元内有10个二进制数,编程找出其中最大值并存于50H单元中.

答:

STARTMOV    R0,#40H       ;数据块首地址送R0

        MOV     R7,#09H       ;比较次数送R7

     MOV     A,@R0        ;取数送A

LOOPINC      R0 

        MOV     30H,@R0      ;取数送30H

       CJNE     A,30H,NEHT   ;A)与(30H)相比

NEXTJNC      BIE1          (A)(30H)BIR1

       MOV     A,30H        ;(A)(30H),大数送A

BIE1DJNZ     R7,LOOP      ;比较次数减1,不为0,继续比较

MOV     50H,A         ;比较结束,大数送50H

RET

40. 编制一个循环闪烁灯的程序,画出电路图。在P0口接有8个发光二极管,要求每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。

答:

 

    P1.0

 

 89C51

 

   P1.7                 

 

《单片机应用技术》答案32-51D0   Q0

 

74LS240

D7   Q7  

 

 


本程序的硬件连接如图所示。当P1.0输出高电平时,LED灯亮,否则不亮。其程序如下:

          MOV    A,#01H       ;灯亮初值

SHIFTLCAIL   FLASH      ;调闪亮10次子程序

          RR                ;右移一位

          SJMP    SHIFT        ;循环

FLASHMOV    R2,#0AH     ;闪烁10次计数

 FLASH1MOV    P1,A         ;点亮

           LCALL  DELAY      ;延时

           MOV    P1,#00H     ;熄灭

           LCALL  DELAY      ;延时

           DJNZ   R2,FLASH1   ;循环

RET    

41. 编程实现如下操作,不得改变未涉及到的位的内容。

1)使累加器A的最高位置“1                2)对累加器A4位取反

3)清除A.3A.4A.5                             4)使A.4A.5A.2置“1

答:(1SETB  ACC.7   2XRL  A, #0F0H

3ANL  A, 11000111B   4ORL  A, 00110100B

42. 单项选择题,从四个备选项中选择正确的选择。

189C51汇编语言指令格式中,唯一不可缺少的部分是     

A.标号        B.操作码       C.操作数       D.注释

289C51的立即寻址方式中,立即数前面     

A.应加前缀“/   B.不加前缀号    C.应加前缀“@”  D.应加前缀“#”

3)下列完成89C51单片机内部数据传送的指令是     

AMOVX A@DPTR     BMOVC A, @A+PC

CMOV A#data         DMOV dir,dir

489C51的立即寻址的指令中,立即数就是     

A.放在寄存器R0中的内容     B.放在程序中的常数     C.放在A中的内容 

D.放在B中的内容

5)单片机中PUSHPOP指令常用来     

A.保护断点  B.保护现场   C.保护现场,恢复现场   D.保护断点,恢复断点   

689C51寻址方式中,操作数Ri加前缀“@”号的寻址方式是     

A.寄存器间接寻址       B.寄存器寻址     C.基址加变址寻址    D.立即寻址

7)执行指令MOVX  A@DPTR时,《单片机应用技术》答案32-51 《单片机应用技术》答案32-51 脚的电平为     

A 《单片机应用技术》答案32-51 高电平, 《单片机应用技术》答案32-51 高电平        B 《单片机应用技术》答案32-51 低电平, 《单片机应用技术》答案32-51 高电平

C 《单片机应用技术》答案32-51 高电平, 《单片机应用技术》答案32-51 低电平         D 《单片机应用技术》答案32-51 低电平, 《单片机应用技术》答案32-51 低电平

8)下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是     

AJNB  P1.0LP          BJB P1.0LP   CJC P1.0LP   DJNZ P1.0LP

9)下列指令中比较转移指令是指     

ADJNZ Rnrel  BCJNE Rn#datarel  CDJNZ dirrel DJBC bitrel 

10)指令MOV R0 20H执行前(R0=30H,(20H=38H,执行后(R0=     

A20H          B30H         C50H        D38H

11)执行如下三条指令后,30H单元的内容是     

MOV R1#30H 

MOV 40H#0EH

MOV @R140H

A40H          B0EH         C30H        DFFH

1289C51单片机在执行MOVX A@DPTRMOVC A@A+DPTR指令时,其寻址单元的地址是由     

AP0口送高8位,P1口送高8     BP0口送低8位,P2口送高8

CP0口送低8位,P1口送低8     DP0口送高8位,P1口送低8

13)在89C51指令中,下列指令中      是无条件转移指令。

ALCALL addr16      BDJNZ  dir,rel     CSJMP rel   DACALL addr11

14)设A=AFH   20H=81H,指令:ADDC  A 20H执行后的结果是     

AA=81H      BA=30H       CA=AFH      DA=20H

15)将内部数据存储单元的内容传送到累加器A中的指令是     

AMOVX A@R0     BMOV A, #data    CMOV A@R0   DMOVX A, @DPTR

16)下列指令执行时,修改PC中内容的指令是     

ASJMP       BLJMP     CMOVC A@ A+PC    DLCALL

17)已知:A=D2H,(40H=77H,执行指令:ORL  A40H后,其结果是:     

AA=77H      BA=F7H        CA=D2H       D.以上都不对

18)指令MUL  AB 执行前(A=18H ,(B=05H,执行后,AB的内容是     

A90H05H    B90H00H    C78H05H     D78H00H

1989C51指令系统中,清0指令是     

ACPL       BRLC       CCLR      DRRC  A

2089C51指令系统中,指令ADDC  A@R0  执行前(A=38H,(R0=30H,(30H=FOH,(C=1 执行后,其结果为     

A.(A=28H   C=1        B.(A=29H   C=1

C.(A=68H   C=0        D.(A=29H   C=0

21)下列指令能能使累加器A4位不变,高4位置F的是     

AANL A#OFH    BANL A#OFOH    CORL A#OFH   DORL A#OF0H

22)下列指令判断若P1口的最低位为低电平就转LP,否则就执行下一句的是     

AJNB P1.0,LP    BJB P1.0,LP    CJC P1.0,LP    DJNZ P1.0,LP   

2389C51指令系统中,指令DA  A应跟在     

A.加法指令后   BBCD码的加法指令后  

C.减法指令后   DBCD码的减法指令后

24)执行下列程序后,累加器A的内容为     

ODG   0000H

MOV   A#00H

ADD   A#02H

MOV   DPDR#0050H

MOVC  A@A+DPDR

MOV   @R0A

SJMP   $

ORG   0050H

BAODB    00H08H0BH06H09H0CH

END

A00H         B0BH          C06H          D0CH

25)指令MOV R0#20H执行前(R0=30H,(20H=38H,执行后(R0=     

A00H          B20H         C30H        D38H

答:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

B

D

C

B

C

A

C

B

B

B

D

A

B

C

B

C

C

B

D

C

A

A

B

B

B

 

 

43. 何为伪指令?其作用是什么?

答:伪指令不属于指令集之中的指令,但具有和指令类似的形式,其作用是对汇编过程进行某种控制或提供某些汇编信息,不产生可执行的目标代码。

 

44. 什么是中断?单片机采用中断有什么好处?

答:

在单片机中,当CPU在执行程序时,由单片机内部或外部的原因引起的随机事件要求CPU暂时停止正在执行的程序,而转向执行一个用于处理该随机事件的程序,处理完后又返回被中止的程序断点处继续执行,这一过程称为中断。

单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,由于资源有限,因此就可能出现资源竞争的局面,即几项任务来争夺一个CPU。而中断技术就是解决资源竞争的有效方法,采用中断技术可以使多项任务共享一个资源。

45. T0用做定时器,以方式0工作,定时10ms,单片机晶振频率为6MHZ,请计算定时初值。

答:

根据公式 T=12×(213-a/fosc

a=213- foscT/12=213-5000=3192

 

46. 单项选择题,从四个备选项中选择正确的选择。

189C51单片机的定时器T1用作定时方式时是     

A.由内部时钟频率定时,一个时钟周期加1

B.由内部时钟频率定时,一个机器周期加 1

C.由外部时钟频率定时,一个时钟周期加1

D.由外部时钟频率定时,一个机器周期加1

289C51单片机的定时器T0用作计数方式时是     

A.由内部时钟频率定时,一个时钟周期加1

B.由内部时钟频率定时,一个机器周期加1

C.由外部计数脉冲计数,下降沿加1

D.由外部计数脉冲计数,一个机器周期加1

389C51单片机的定时器T1用作计数方式时计数脉冲是     

A.外部计数脉冲由T1P3.5)输入     B.外部计数脉冲由内部时钟频率提供

C.外部计数脉冲由T0P3.4)输入    D.由外部计数脉冲计数

489C51单片机的机器周期为2µs,则其晶振频率fosc      MHz.

A           B                  C              D12

5)用89C51的定时器T1作定时方式,用模式1,则初始化编程为     

AMOV  TOMD#01H    BMOV  TOMD#50H   CMOV  TOMD#10H  DMOV  TCON#02H 

6)用89C51的定时器,若用软启动,应使TOMD中的     

AGATE位置     BC/T位置       CGATE位置      DC/T位置0

7)启动定时器1开始定时的指令是     

ACLR TR0    BCLR TR 1      CSETB TR0     DSETB TR1

8)使89C51的定时器T0停止计数的指令是     

ACLR TR0    BCLR TR 1      CSETB TR0     DSETB TR1

9)下列指令判断若定时器T0计满数就转LP的是     

AJB T0,LP    BJNB TF0,LP    CJNB TR0 LP    DJB  TF0,LP    

10)下列指令判断若定时器T0未计满数就原地等待的是     

AJB T0,$    BJNB TF0,$    CJNB TR0    DJB  TF0,$

11)当CPU响应定时器T1的中断请求后,程序计数器PC的内容是     

A0003H       B000BH         C00013H        D001BH

12)当CPU响应外部中断0的中断请求后,程序计数器PC的内容是     

A0003H       B000BH         C00013H        D001BH

1389C51单片机在同一级别里除串行口外,级别最低的中断源是     

A.外部中断      B.定时器T 0        C.定时器T1        D.串行口

14)当外部中断0发出中断请求后,中断响应的条件是     

ASETB ET0    BSETB EX 0     CMOV IE#81H    DMOV IE#61H   

15)当定时器T0发出中断请求后,中断响应的条件是     

ASETB ET0    BSETB EX 0     CMOV IE#82H    DMOV IE#61H   

16)用定时器T1方式1计数,要求每计满10次产生溢出标志,则TH1TL1的初始值是     

AFFHF6H      BF6HF6H         CF0H F0H       DFFHF0H

1789C51单片机的TMOD用于控制T1T0的操作模式及工作方式,其中 《单片机应用技术》答案32-51 表示的是     

A.门控位         B.操作模式控制位      C.功能选择位       D.启动位

1889C51单片机定时器T1的溢出标志TF1,若计满数产生溢出时,如不用中断方式而用查询方式,则应     

A.由硬件清零      B.由软件清零        C.由软件置于      D.可不处理

1989C51当串行口接收或发送完一帧数据时,将SCON中的      ,向CPU申请中断。

ARITI       BRITI     CRI1TI   DRI0TI1

20)执行中断处理程序最后一句指令RETI后,     

A.程序返回到ACALL的下一句       B.程序返回到LCALL的下一句

C.程序返回到主程序开始处         D.程序返回到响应中断时一句的下一句

答:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

B

C

A

C

C

C

D

A

D

B

D

A

C

B

A

A

C

B

A

D

 

47. 说明LED的静态显示和动态显示的区别是什么?

答:区别如下:

静态显示:为固定显示方式,无闪烁,一个并行口接一个数码管,数码管的公共端按共阴或共阳分别接地或VCC

动态显示:为各数码管轮流显示,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁现象,这种显示方式一个接口完成字形码的输出,另一个接口完成各数码管的轮流点亮。

 

48. A/D转换和D/A转换的区别是什么?为何要进行转换?

答:A/D转换器是一种用来将连续的模拟信号转换成二进制数的器件,D/A转换器是一种将数字信号转换成模拟信号的器件,为计算机系统的数字信号和模拟环境的连续信号之间提供了一种接口。

49. 判断题。

189C51单片机执行MOVX指令时,P0口作为地址线,专用于输出存储器的高8位地址;P2口专用于输出存储器的低8位地址。(

2)线选法是把单根的低位地址线直接接到存储器芯片的片选端。(

3)对于8031单片机而言,在外部扩展EPROM时, 《单片机应用技术》答案32-51 引脚应接地。(

4)对于89C51单片机而言,在外部扩展EPROM时, 《单片机应用技术》答案32-51 引脚可接+5V或接地。(

58155芯片的地址/数据线AD0AD7是低8位地址和数据复用线引脚,当ALE=1时,输入的是数据信息,否则是地址信息。(

6)在接口芯片中,通常都有一个片选端 《单片机应用技术》答案32-51 (或 《单片机应用技术》答案32-51 ),作用是当 《单片机应用技术》答案32-51 为低电平时该芯片才能进行读写操作。(

7DAC08328位的D/A转换器,其输出量为数字电流量。(

8ADC080988A/D转换器,其工作频率范围是10KHz1.28MHz。(

9EPROM 2712812根地址线,可寻址空间为16KB。(

10DAC0832的片选信号输入线 《单片机应用技术》答案32-51 是低电平有效。(

答:

1

2

3

4

5

6

7

8

9

10

×

×

50. 简述单片机应用系统设计的一般流程。

答:总体设计、硬件设计、资源分配、软件设计、软件仿真。

51. 简述硬件设计的任务是什么?

答:硬件设计的任务是根据总体设计要求,在所选择机型的基础上,确定系统扩展所需的存储器、I/O电路、A/D电路以及有关外围电路等,然后设计出系统的电路原理图。

 

《单片机应用技术》答案1-32

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有