单片机原理及应用期末考试试题
一、填空题 (每空1分,共20分)
1.相对寻址是以  PC  的当前值为基准,加上指令中给出的相对   偏移量   形成目标地址的方式。
2AT89S51单片机的1个机器周期含有 12 个晶振周期或 6 状态周期。
3AT89S51单片机进行扩展时,用   P0 口作为地址/数据总线,用 P2  口作为地址总线高8位。
4.假定累加器A的内容30H,执行指令:1000HMOVC  A@A+PC后,把
程序存储器1031H单元的内容送累加器A
5. 指令格式是由 操作码    操作数 部分组成。
6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是  TI      RI   
7. 在进行BCD码加法运算时,紧跟ADD ADDC 指令后的指令必须是  DA A   指令
8. JNC  rel指令执行时,当CY位为  0    时程序发生跳转。
9. 单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元的地址应该是  22H     
10.外部中断0的中断入口地址为 0003H  ,定时/记数器T1的中断入口地址为  001BH 
11.串行口工作方式2 9位异步通信,若SMOD=0f OSC = 6 MHZ ,则其相应波特率为  6×106/64           b/s
12.堆栈应遵循 先进后出     规律,堆栈指针的符号为  SP  
二、单项选择题(每小题1分,共20分)
1AT89S51单片机的d  )口的引脚,还具有外中断、串行通信等第二功能。
aP0         bP1        cP2        dP3
2.单片机应用程序一般存放在(  b    
  a)RAM      bROM    c)寄存器  dCPU 
3.已知某数的BCD码为0111010101000010 则其表示的十进制数值为(  b
a 7542H    b 7542    c 75.42H    d 75.42
4.下列指令中不影响标志位CY的指令有(  d   )。 
   aADD A20H     bCLR      cRRC A    dINC A
5CPU主要的组成部部分为( a   
  a)运算器、控制器     b)加法器、寄存器 
c)运算器、寄存器     d)运算器、指令译码器 
6AT89S51 CPU是(   3070和3070ti怎么选c  )位的单片机 
  a 16             b4         
  c8               d)准16 
7AT89S51复位后,PCSP的值为(  b    
    a 0000H00H    b0000H07H     
c 0003H07H        d0800H00H 
8.当需要从AT89S51单片机程序存储器取数据时,采用的指令为( b )。 
  aMOV  A, @R1           bMOVC  A,  @A + DPTR       
cMOVX  A, @ R0        dMOVX  A,  @ DPTR 
9AT89S51单片机中既可位寻址又可字节寻址的单元是(   a   
a20H            b30H            c00H          d70H 
10.下列哪条指令是正确的( d     
a  PUSH    R2              b  ADD R0, A
c  MOVX    A  @DPTR        d  MOV @R0, A
三、写出实现下列各要求的指令或程序段(本大题共5小题,29分)
1、将80H单元中的内容与数据4FH相比较,相等返回,不相等将80H单元置FFH返回。(5分)
                MOV  A80H
                CJNE  A# 4FHBD
                SJMP L1
            BDMOV  80H#0FFH
            L1 RET
2、外部RAM单元2000H的内容传送到内部RAM单元70H;(5分)
MOV DPTR#2000H
MOVX A@DPTR
MOV 70H A
3、将32H单元中内容的第7位取反后送给50H。(5分)
                MOV  A32H
                CPL    ACC.7
                MOV  CACC.7
                MOV  50HC
4、若(50H=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM40H41H42H单元中的内容各为多少?(5分)
MOV  A50H              (A)=40H
MOV    R0A              (R0)=40H
MOV  A#00H            (A)=0
MOV  @R0A              (40H)=0
MOV  A #3BH            (A)=3BH
MOV  41HA              (41H)=3BH
MOV  42H41H            (42H)=3BH
(A)=  3BH (R0)=    40H
(40H)=  0  (41H)=    3BH(42H)=    3BH
5、将外部数据存储器3000H开始100个存储单元的内容存入3070开始的存储单
元(9分)
          MOV DPTR #3000H
MOV P2,#30H
MOV R1,#70H
          MOV R5,#100
L1 MOVX A, @DPTR
    MOVX@R1,A
INC R1
INC DPTR
DJNZ R5, L1
RET
四、读程序填空(本大题共4小题,共19分)
1          CLR  C
            MOV  A 4DH
            SUBB  A, 4EH
            MOV  30H A
            MOV  A 7FH
            SUBB  A 2BH
            MOV  31H  A
            SJMP  $
1)该程序的功能是: 两个16位数的减法:(7F4DH)(2B4EH),结果存入内部RAM30H31H单元,31H单元存差的高8位,30H单元存差的低8 3分)
2)若(4DH=06H(4EH)=05H,(7FH=0AH(2BH)=01H
则执行上述程序后(30H= 01  H。(31H= 09  H。(2
   
2    START  MOV  R0 ,  #40H
                MOV  R7,  #04H
                MOV  A,  @R0
        LOOP  INC  R0
                MOV 50H , @R0
                CJNE  A, 50H , NEXT
        NEXT  JNC  BIE1
                MOV  A, 50H
        BIE1 DJNZ  R7, LOOP
                MOV  30H,  A
                RET 
(1) 该程序的功能是:    求出40H—44H中最大的无符号数,并将最大数存入30H                         
                                        3分)
  (2) (40H)=12H,  (41H)=22H , (42H)= 6EH, (43H)=5AH , (44H)= 8AH,
填写程序执行后的结果,(30H)=   8A    H。(1分)
3.已知(30H=49H,(31H=2BH,(32H=0A3H,执行以下程序:
          MOV  R7# 4
    RR0 MOV  R6# 3
          CLR  C
          MOV  R0# 30H
RR1 MOV  A@R0
          RRC  A
          MOV  @R0A
          INC  R0
          DJNZ  R6RR1
          DJNZ  R7RR0
          RET
从该程序可看出这段程序的功能是: 将内RAM30H~32H的内容 
右移4                  3分)
执行后结果:(30H= 04H   ,(31H= 92H  ,(32H= 0BAH 
3分)
4、已知(A)=58H,(30H=7FH,(P1=EAH,执行下列程序:
          MOV  SP#40H
          PUSH  A
          PUSH  30H
          MOV  AP1
          MOV  30HA
          POP  30H
          POP  A
执行后结果:(SP=  40H  ,(A=   58H  ,(30H=  7FH    ,(41H=  58H  。(每空1分)