单片机试题及答案1
单片机试卷及答案(1)

2013A卷一、填空题(每空1分,共20分)1、+1000001的反码是。
十进制数-4的8位二进制补码是。
2、计算机所能执行的指令的集合称为。
指令的编码规则称为,一般由和操作数两部分组成。
3、CPU一次可以处理的二进制数的位数称为CPU的。
4、当EA为电平时,CPU总是从外部存储器中去指令。
5、89C52单片机有6个中断源,其中内部中断源有个,外部中断源有个。
6、汇编指令中,对程序存储器的访问用指令来访问,外部RAM用指令来访问。
7、C51的数据类型sfr占个字节,C51中整型变量占个字节。
8、指令MOV 20H,#20H中,源操作数的寻址方式是,目的操作数的寻址方式是。
9、定时器T1方式2的8位常数重装初值存放于寄存器中。
定时器T0方式0,寄存器用于存放计数初值的低5位。
10、多机通信中,主机的SM2= 。
11、EPROM存储器27C256内部容量是32K字节,若不考虑片选信号,则对其内部全部存储单元进行寻址共需根地址线。
12、波特率倍增位位于特殊功能寄存器中。
13、8155A内部具有1个位减法定时器/计数器。
二、单项选择题(共20题,每题1分,共20分)1、单片机的应用程序一般存放于()中A、RAMB、ROMC、寄存器D、CPU2、定时器0工作于计数方式,外加计数脉冲信号应接到()引脚。
A、P3.2B、P3.3C、P3.4D、P3.53、MCS51单片机在同一优先级的中断源同时申请中断时,CPU首先响应()。
A、外部中断0B、外部中断1C、定时器0D、定时器14、ADC0809是()AD的转换器件A、4通道8位B、8通道8位C、4通道12位D、8通道12位5、执行中断返回指令后,从堆栈弹出地址送给()A、AB、RiC、PCD、DPTR6、串行通信中,发送和接收寄存器是()A、TMODB、SBUFC、SCOND、DPTR7、要使MCS-51能响应外部中断1和定时器T0中断,则中断允许寄存器IE的内容应该是()A、98HB、86HC、22HD、A2H8、要将P1口高4位清0,低4位不变,应使用指令()A、ORL P1,#0FHB、ORL P1,#F0HC、ANL P1,#F0HD、ANL P1,#0FH9、当选中第1工作寄存器区时,工作寄存器R1的地址是。
《单片机》读程序题题库答案1

四、阅读下列程序,注释并填写指令执行后的结果(每题10分)1、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV R0,#20H ;#20H->R0 (R0)=20HMOV R1,#30H ; #30H->R1 (R1)=30HMOV A,R0 ;(R0)->A (A)=20HADD A,#36H ;(A)+#36H->A (A)=56HMOV P1,A ;(A)->P1 (P1)=56HINC R0 ;(R0)+1->R0 (R0)=21HINC R1 ;(R1)+1->R0 (R1)=31HANL A,R1 ;(A)&(R1)->A (A)=10HSWAP A ;累加器A的高低4位交换 (A)=01HPUSH ACC ;累加器A内容压栈MOV P1,A ;(A)->P1 (P1)=01HPOP B ;堆栈内容出栈到B寄存器 (B)=01HMOV R0,A ;(A)->R0 (R0)=01HMOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200HSETB C ;1->Cy (Cy)=1ADDC A,#0 ;(A)+0+(Cy)->A (A)=02HMOVX @DPTR,A ;(A)->(DPTR) (2200H)=02HEND(R0)= 01H (R1)= 31H (P1)= 01H(B)= 01H (2200H)= 02H2、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV SP,#50H ;#50H->SP (SP)=50H第1页共57页MOV R2,#10H ;#10H->R2 (R2)=10HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HCRL A ;0->A (A)=0LOOP: MOVX @DPTR,A ;(A)->(DPTR)INC DPTR ;(DPTR)+1->DPTRDJNZ R2,LOOP ;(R2)-1->R2 若(R2)不等于零则转移到LOOP处INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=10H INC DPH ;(DPH)+1->DPH (DPH)=32HMOV 20H,#36H ;#36H->(20H) (20H)=36HSETB 00H ;位地址00H置1 20H.0=1 (20H)=37HMOV A,20H ;(20H)->A (A)=37HMOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3210H (3210H)=37HINC A ;(A)+1->A (A)=38HINC A ;(A)+1->A (A)=39HPUSH ACC ;累加器A内容压栈 (SP)=51HXCH A,R2 ;累加器A的内容与R2内容互换 (A)=00H (R2)=39H POP DPH ;堆栈内容弹到DPH (DPH)=39HADD A,#55H ;(A)+#55H->A (A)=55HPUSH ACC ;累加器A内容压栈END(A)= 55H (R2)= 39H (20H)= 37H (DPTR)= 3910H (SP)= 51H3、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV R0,#30H ;#30H->R0 (R0)=30HMOV A,#12H ;#12H->A (A)=12HSETB C ;(Cy)=1ADDC A,R0 ;(A)+(R0)+Cy->A (A)=43HMOV @R0,A ;(A)->(R0) (30H)=43H第2页共57页SWAP A ;累加器A高低4位交换 (A)=34HINC A ;(A)+1->A (A)=35HMOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HINC DPH ;(DPH)+1->DPH (DPH)=21HMOV P1,A ;(A)->P1 (P1)=35HINC A ;(A)+1->A (A)=36HMOVX @DPTR,A ;(A)->(DPTR) (2100H)=36HXCH A,R0 ; (A) R0 (A)=30H (R0)=36HRL A ;累加器A内容循环左移 (A)=60HPUSH ACC ;累加器A的内容入栈RL A ;累加器A内容循环左移 (A)=0C0HPOP ACC ;堆栈内容弹出到累加器A (A)=60HEND(A)= 60H (R0)= 36H (DPTR)= 2100H(P1)= 35H (30H)= 43H4、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HMOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#23H ;#23H->A (A)=23HMOV R2,#0FH ;#0FH->R2 (R2)=0FHSETB 01H ;置位20H.1 (20H.1)=1SETB C ;置位Cy (Cy)=1ADDC A,@R0 ;(A)+((R0))+Cy->A (A)=26HINC R0 ;(R0)+1->R0 (R0)=21HMOV @R0,A ;(A)->((R0)) (21H)=26HLOOP: DJNZ R2, LOOP ;(R2)-1->R2 若R2内容不等于零则转移 SWAP A ;累加器A内容的高低4位交换 (A)=62H PUSH ACC ;累加器A内容入栈INC DPH ;(DPH)+1->DPH (DPH)=31HMOVX @DPTR,A ;(A)->(DPTR) (3100H)=62H第3页共57页POP B ;堆栈内容弹出到B (B)=62HRR A ;累加器A内容循环右移 (A)=31HADD A,B ;(A)+(B)->A (A)=93HMOV P1,A ;(A)->P1 (P1)=93HEND(21H)= 26H (R2)= 00H (A)= 93H (B)= 62H (3100H)= 62H5、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#1000H ;#1000H->DPTR (DPTR)=1000HMOV A,#13H ;#13H->A (A)=13HMOV R0,#20H ;#20H->R0 (R0)=20HSETB C ;1->Cy (Cy)=1MOV @R0,A ;(A)->((R0)) (20H)=13HRLC A ;累加器A的内容带进位循环左移 (A)=27HXCH A,@R0 ;累加器A的内容与20H单元的内容互换 (A)=13H (20H)=27H PUSH ACC ;累加器A的内容入栈POP DPL ;堆栈内容弹出到DPL (DPL)=13HMOVX @DPTR,A ;(A)->(DPTR) (1013H)=13HDEC A ;(A)-1->A (A)=12HPUSH DPH ;DPH内容压栈POP B ;堆栈内容弹出到B (B)=10HADD A,B ;(A)+(B)->A (A)=22HMOV P1,A ;(A)->P1 (P1)=22HCLR A ;累加器A内容清零ADD A,B ;(A)+(B)->A (A)=10HEND(P1)= 22H (B)= 10H (20H)= 27H (DPTR)= 1013H (R0)= 20H6、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART:MOV SP,#50H ;#50H->SP (SP)=50HMOV R0,#20H ;#20H->R0 (R0)=20H第4页共57页MOV R2,#10H ;#10H->R2 (R2)=10HMOV A,#24H ;#24H->A (A)=24HLOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R2,LOOP ;(R2)-1->R2 若R2内容不等于0则跳转到LOOP处SETB 00H ;1->位地址为00H的位 (20H.0)=1 (20H)=25HSETB C ;1->Cy (Cy)=1ADDC A,#00H ;(A)+00H+(Cy)->A (A)=25HSWAP A ;累加器A内容高低四位互换 (A)=52HPUSH ACC ;累加器A内容压栈POP DPH ;堆栈内容弹出到DPH (DPH)=52HPUSH ACC ;累加器A内容压栈POP B ;堆栈内容弹出到B (B)=52HMOV A,R2 ;(R2)->A (A)=00HMOV DPL,A ;(A)->DPL (DPL)=00HMOV A,B ; (B)->A (A)=52HPUSH ACC ;累加器A内容压栈 (SP)=51HEND(A)= 52H (R2)= 00H (20H)= 25H (DPTR)= 5200H (SP)= 51H7、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#2100H ;#2100H->DPTR (DPTR)=2100HCLR A ;0->A (A)=00HMOV R1,#30H ;#30H->R1 (R1)=30HSETB C ;1->Cy (Cy)=1ADDC A,R1 ;(A)+(R1)+Cy->A (A)=31HMOV @R1,A ;(A)->((R1)) (30H)=31HPUSH ACC ;累加器A的内容压栈POP DPL ;堆栈内容弹出到DPL (DPL)=31HRR A ;累加器A的内容循环右移 (A)=98HMOV R0,A ;(A)->R0 (R0)=98HORL A,#24H ;(A) or 24H->A (A)=0BCHMOV P1,A ;(A)->P1 (P1)=0BCH第5页共57页SWAP A ;累加器A的内容高低四位交换 (A)=0CBHMOV DPH,A ;(A)->DPH (DPH)=0CBHMOV B,#02H ;#02H->B (B)=02HADD A,B ;(A)+(B)->A (A)=0CDHCLR ACC.3 ;0->ACC.3 (A)=0C5HSWAP A ;累加器A的内容高低四位交换 (A)=5CHEND(A)= 5CH (R0)= 98H (DPTR)= 0CB31H (P1)= 0BCH (30H)= 31H8、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV R3,#10H ;#10H->R3 (R3)=10HCLR A ;累加器A内容清零 (A)=00HMOV R0,#20H ;#20H->R0 (R0)=20HLOOP: MOV @R0,A ;(A)->((R0)) (20H)=00HINC R0 ;(R0)+1->R0 (20H)=01HDJNZ R3,LOOP ;(R3)-1->R3 若R3不等于零则跳转到LOOP处SETB 00H ;1->位地址00H位 (20H.0)=1 (20H)=01HSETB C ;1->Cy (Cy)=1SUBB A,#00H ;(A)-00H-Cy->A (A)=0FFHMOV DPL,A ;(A)->DPL (DPL)=0FFHPUSH ACC ;累加器A的内容压栈MOV A,R3 ;(R3)->A (A)=00HMOV DPH,A ;(A)->DPH (DPH)=00HPOP ACC ;堆栈内容弹出到A (A)=0FFHMOVX @DPTR,A ;(A)->(DPTR) (00FFH)=0FFHANL A,#55H ;(A) and 55H->A (A)=55HPUSH ACC ;累加器A的内容压栈 (SP)=51HCLR A ;累加器A内容清零 (A)=00HEND(A)= 00H (R3)= 00H (20H)= 01H (DPTR)= 00FFH (SP)= 51H第6页共57页9、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV R0,#30H ;#30H->R0 (R0)=30HMOV R1,#20H ; #20H->R1 (R1)=20HMOV A,R0 ;(R0)->A (A)=30HADD A,#37H ;(A)+#36H->A (A)=67HMOV P1,A ;(A)->P1 (P1)=67HINC R0 ;(R0)+1->R0 (R0)=31HINC R1 ;(R1)+1->R0 (R1)=21HANL A,R1 ;(A)&(R1)->A (A)=21HSWAP A ;累加器A的高低4位交换 (A)=12HPUSH ACC ;累加器A内容压栈MOV P1,A ;(A)->P1 (P1)=12HSWAP A ;累加器A的高低4位交换 (A)=21HPOP B ;堆栈内容出栈到B寄存器 (B)=12HMOV R0,A ;(A)->R0 (R0)=21HMOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200HSETB C ;1->Cy (Cy)=1ADDC A,B ;(A)+(B)+(Cy)->A (A)=34HMOVX @DPTR,A ;(A)->(DPTR) (2200H)=34HEND(R0)= 21H (R1)= 21H (P1)= 12H (B)= 12H (2200H)= 34H10、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV R2,#20H ;#20H->R2 (R2)=20HMOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000HCLR A ;0->A (A)=0LOOP: MOVX @DPTR,A ;(A)->(DPTR)INC DPTR ;(DPTR)+1->DPTRDJNZ R2,LOOP;(R2)-1->R2 若(R2)不等于零则转移到LOOP处INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=20H第7页共57页INC DPH ;(DPH)+1->DPH (DPH)=32HMOV 20H,#38H ;#36H->(20H) (20H)=38HSETB 01H ;位地址01H置1 20H.1=1 (20H)=3AHMOV A,20H ;(20H)->A (A)=3AHMOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3220H (3220H)=3AHINC A ;(A)+1->A (A)=3BHINC A ;(A)+1->A (A)=3CHPUSH ACC ;累加器A内容压栈XCH A,R2 ;累加器A的内容与R2内容互换 (A)=00H (R2)=3CH POP DPH ;堆栈内容弹到DPH (DPH)=3CHADD A,#55H ;(A)+#55H->A (A)=55HPUSH ACC ;累加器A内容压栈,(SP)=51HEND(A)= 55H (R2)= 3CH (20H)= 3AH (DPTR)= 3C20H (SP)= 51H11、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#31H ;#31H->A (A)=31HSETB C ;(Cy)=1ADDC A,R0 ;(A)+(R0)+Cy->A (A)=52HMOV @R0,A ;(A)->(R0) (20H)=52HSWAP A ;累加器A高低4位交换 (A)=25HDEC A ;(A)-1->A (A)=24HMOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HINC DPH ;(DPH)+1->DPH (DPH)=21HDEC DPL ;(DPL)-1->DPL (DPL)=0FFHMOV P1,A ;(A)->P1 (P1)=24HINC A ;(A)+1->A (A)=25HMOVX @DPTR,A ;(A)->(DPTR) (21FFH)=25HXCH A,R0 ; (A) R0 (A)=20H (R0)=25HRL A ;累加器A内容循环左移 (A)=40HPUSH ACC ;累加器A的内容入栈RL A ;累加器A内容循环左移 (A)=80H第8页共57页POP ACC ;堆栈内容弹出到累加器A (A)=40HEND(A)= 40H (R0)= 25H (DPTR)= 21FFH (P1)= 24H (20H)= 52H12、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#50H ;#50H->SP (SP)=50HMOV DPTR,#2000H ;#3000H->DPTR (DPTR)=2000HMOV 20H,#06H ;#06H->20H (20H)=06HMOV R0,#20H ;#20H->R0 (R0)=20HMOV A,#35H ;#35H->A (A)=35HMOV R2,#10H ;#10H->R2 (R2)=10HSETB 00H ;置位20H.0 (20H.0)=1 (20H)=07HSETB C ;置位Cy (Cy)=1ADDC A,@R0 ;(A)+((R0))+Cy->A (A)=3DHINC R0 ;(R0)+1->R0 (R0)=21HMOV @R0,A ;(A)->((R0)) (21H)=3DHLOOP: DJNZ R2, LOOP ;(R2)-1->R2 若R2内容不等于零则转移SWAP A ;累加器A内容的高低4位交换 (A)=0D3HPUSH ACC ;累加器A内容入栈INC DPH ;(DPH)+1->DPH (DPH)=21HMOVX @DPTR,A ;(A)->(DPTR) (2100H)=0D3HPOP B ;堆栈内容弹出到B (B)=0D3HRR A ;累加器A内容循环右移 (A)=0E9HADD A,B ;(A)+(B)->A (A)=0BCHMOV P1,A ;(A)->P1 (P1)=0BCHEND(21H)= 3DH (R2)= 00H (A)= 0BCH (B)= 0D3H (2100H)= 0D3H13、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#2000H ;#2000H->DPTR (DPTR)=2000HMOV A,#36H ;#36H->A (A)=36H第9页共57页MOV R0,#30H ;#30H->R0 (R0)=30HSETB C ;1->Cy (Cy)=1MOV @R0,A ;(A)->((R0)) (30H)=36HRLC A ;累加器A的内容带进位循环左移 (A)=6DHXCH A,@R0 ;累加器A的内容与20H单元的内容互换 (A)=36H (30H)=6DH PUSH ACC ;累加器A的内容入栈POP DPL ;堆栈内容弹出到DPL (DPL)=36HMOVX @DPTR,A ;(A)->(DPTR) (2036H)=36HDEC A ;(A)-1->A (A)=35HPUSH DPH ;DPH内容压栈POP B ;堆栈内容弹出到B (B)=20HADD A,B ;(A)+(B)->A (A)=55HMOV P1,A ;(A)->P1 (P1)=55HCLR A ;累加器A内容清零ADD A,B ;(A)+(B)->A (A)=20HEND(P1)= 55H (B)= 20H (30H)= 6DH (DPTR)= 2036H (R0)= 30H14、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#60H ;#60H->SP (SP)=60HMOV R0,#20H ;#20H->R0 (R0)=20HMOV R2,#10H ;#10H->R2 (R2)=10HMOV A,#24H ;#24H->A (A)=24HLOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R2,LOOP ;(R2)-1->R2 若R2内容不等于0则跳转到LOOP处SETB 01H ;1->位地址为01H的位 (20H.1)=1 (20H)=26HSETB C ;1->Cy (Cy)=1ADDC A,20H ;(A)+(20H)+(Cy)->A (A)=4BHSWAP A ;累加器A内容高低四位互换 (A)=0B4HPUSH ACC ;累加器A内容压栈POP DPH ;堆栈内容弹出到DPH (DPH)=0B4HPUSH ACC ;累加器A内容压栈第10页共57页POP B ;堆栈内容弹出到B (B)=0B4HMOV A,R2 ;(R2)->A (A)=00HMOV DPL,A ;(A)->DPL (DPL)=00HADD A,B ;(A)+(B)->A (A)=0B4HPUSH ACC ;累加器A内容压栈 (SP)=61HEND(A)= 0B4H (R0)= 30H (20H)= 26H (DPTR)= 0B400H (SP)= 61H15、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV DPTR,#1100H ;#1100H->DPTR (DPTR)=1100HCLR A ;0->A (A)=00HMOV R1,#20H ;#20H->R1 (R1)=20HSETB C ;1->Cy (Cy)=1ADDC A,R1 ;(A)+(R1)+Cy->A (A)=21HMOV @R1,A ;(A)->((R1)) (20H)=21HINC A ;(A)+1->A (A)=22HINC A ;(A)+1->A (A)=23HPUSH ACC ;累加器A的内容压栈POP DPL ;堆栈内容弹出到DPL (DPL)=23HRR A ;累加器A的内容循环右移 (A)=91HMOV R0,A ;(A)->R0 (R0)=91HORL A,#24H ;(A) or #24H->A (A)=0B5HMOV P1,A ;(A)->P1 (P1)=0B5HSWAP A ;累加器A的内容高低四位交换 (A)=5BHMOV DPH,A ;(A)->DPH (DPH)=5BHMOV B,#02H ;#02H->B (B)=02HADD A,B ;(A)+(B)->A (A)=5DHCLR ACC.4 ;0->ACC.4 (A)=4DHSWAP A ;累加器A的内容高低四位交换 (A)=0D4HEND(A)= D4H (R0)= 91H (DPTR)= 5B23H (P1)= 0B5H (20H)= 21H第11页共57页16、 ORG 0LJMP START ;跳转到(PC)=0030H处ORG 30HSTART: MOV SP,#60H ;#60H->SP (SP)=60HMOV R3,#20H ;#20H->R3 (R3)=20HMOV A,#20H ;#20H->A (A)=20HMOV R0,#20H ;#20H->R0 (R0)=20HLOOP: MOV @R0,A ;(A)->((R0))INC R0 ;(R0)+1->R0DJNZ R3,LOOP ;(R3)-1->R3 若R3不等于零则跳转到LOOP处SETB 02H ;1->位地址02H位 (20H.2)=1 (20H)=24HSETB C ;1->Cy (Cy)=1SUBB A,20H ;(A)-(20H)-Cy->A (A)=0FBHMOV DPL,A ;(A)->DPL (DPL)=0FBHPUSH ACC ;累加器A的内容压栈MOV A,R3 ;(R3)->A (A)=00HMOV DPH,A ;(A)->DPH (DPH)=00HPOP ACC ;堆栈内容弹出到A (A)=0FBHMOVX @DPTR,A ;(A)->(DPTR) (00FBH)=0FBHANL A,#55H ;(A) and 55H->A (A)=51HPUSH ACC ;累加器A的内容压栈 (SP)=61HSWAP A ;累加器A内容高低4位交换 (A)=15HEND(A)= 15H (R3)= 00H (20H)= 24H (DPTR)= 00FBH (SP)= 61H17、O RG 0MOV R2,#8 ;#8->R2 (R2)=8HMOV R0,#30H ;#30H->R0 (R0)=30HCLR A ; #0->A (A)=0CPL A ; 累加器A的内容取反,(A)=0FFHLOOP: MOV @R0,A ; (A)-> (R0) (30H)~(37H)=0FFHINC R0 ; (R0)+1->R0DJNZ R2,LOOP ; (R2)-1 -> R2 , (R2)≠0则转移到LOOP处MOV B,R2 ; (R2) ->B (B)=(R2)=0INC B ; (B)+1 ->B (B)=1第12页共57页M OV A,R0 ; (R0) ->A (A)=(R0)=38HC LR C ; 0 -> Cy Cy=0ADDC A,B ; (A)+(B)+Cy -> A (A)=39HMOV R0,A ; (A) ->R0 (R0)=(A)=39HR LC A ; 累加器A的内容带进位左移,(A)=72HMOV DPTR,#1234H ; #1234H ->DPTR (DPTR)=1234HM OVX @DPTR,A ; (A) ->(DPTR) (1234H)=72HSWAP A ;累加器A的内容高低4位交换,(A)=27HPUSH ACC ; 累加器内容入栈POP DPH ; 堆栈内容弹出到DPH (DPH)=27HE ND(R0)= 39H (A)= 27H(33H)= 0FFH (DPTR)= 2734H (1234H)= 72H评分办法:指令注释占5分,对于程序段注释部分写对的学生可酌情给1-4分;程序段执行结果每空1分,共5分。
单片机期末考试试卷与答案(1)

制作人:兰香子一、填空题1、设 X=5AH, Y=36H,则 X 与 Y“或”运算为7EH, X 与 Y 的“异或”运算为6CH。
2、若机器的字长为8 位, X=17, Y=35,则 X+Y=110100, X- Y=11101110(要求结果写出二进制形式)。
3、单片机复位后,堆栈指针SP的值是 07h。
4、若采用 6MHz的晶体振荡器,则MCS-51单片机的振荡周期为0.5us,机器周期为2us 。
5、一个函数由两部分组, 即说明部分和语句部分。
6、 C 语言中输入和输出操作是由库函数scanf 和 printf等函数来完成。
7. 当 MCS-51引脚ALE 信号有效时 , 表示从 Po口稳定地送出了低 8 位地址.8.MCS-51 的堆栈是软件填写堆栈指针临时在 _片内数据存储 _器内开辟的区域 .9.MCS-51有 4 组工作寄存器,它们的地址范围是00H-1FH 。
20H-2FH范围内的数据存储器, 既可以字节寻址又可以10.MCS-51片内位寻址 .11. 计算机的系统总线有数据总线、地址总线、控制总线。
12.一个机器周期等于 6 个状态周期,振荡脉冲 2 分频后产生的时钟信号的周期定义为状态周期。
13、单片机的复位操作是 _高电平,寄存器 IE 的值是 _EA、ES、ET1、EX1、ET0、 EX0_。
14、若选择内部程序存储器,应该设置为高电平(高电平 / 低电平),那么, PSEN信号的处理方式为不用。
15、单片机程序的入口地址是0000H ,外部中断 1 的入口地址是 0013H 。
16、片机的内部 RAM区中,可以位寻址的地址范围是20H-2FH ,特殊功能寄存器中,可位寻址的地址是能被 8 整除的地址。
17、 eiL C51 软件中,工程文件的扩展名是UV2,编译连接后生成可烧写的文件扩展名是 HEX。
18、 CS-51单片机中,在 IP=0x00时,优先级最高的中断是外部中断,最低的是串行口中断。
单片机作业1及答案

单片机作业1及答案(共5页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--单片机原理与应用形成性考核册学校名称:学生姓名:学生学号:班级:《单片机原理与应用》作业1 Array(第一、二章)一、选择题1.单片机芯片内提供了一定数量的工作寄存器,这样做的好处不应包括( D )。
A. 提高程序运行的可靠性B. 提高程序运行速度C. 为程序设计提供方便D. 减少程序长度2.内部RAM中的位寻址区定义的位是给( D )。
A. 位操作准备的B. 移位操作准备的C. 控制转移操作准备的D. 以上都对3.对程序计数器PC的操作( A )。
A. 是自动进行的B. 是通过传送进行的C. 是通过加1指令进行的D. 是通过减1指令进行的4. 单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为16位,因此其寻址范围是( B )。
A. 4KBB. 64KB5. 以下有关PC和DPTR的结论中错误的是( C )。
A. DPTR是可以访问的而PC不能访问B. 它们都是16位的寄存器C. 它们都具有自动加1功能可以分为两个8位的寄存器使用,而PC不能6. PC的值是( C )。
A.当前指令前一条指令的地址B.当前正在执行指令的地址C.下一条指令的地D.控制器中指令寄存器的地址7.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为( D )。
C. 38H8. 在80C51中,可使用的堆栈最大深度为( A )。
个单元 B. 32个单元个单元个单元9. 位处理器是单片机面向控制应用的重要体现,下列中不属于位处理器资源的是( B )。
A.位累加器CYB.通用寄存器的可寻址位C.专用寄存器的可寻址位D.位操作指令集10. 在MCS-51单片机的运算电路中,不能为ALU提供数据的是( D )。
A. 累加器AB.暂存器C.寄存器BD.状态寄存器PSW11. 在MCS-51中( C )。
单片机考试题及答案

单片机考试题及答案一、选择题(每题2分,共20分)1. 单片机的英文缩写是:A. CPUB. MCUC. ROMD. RAM答案:B2. 下列哪个不是单片机的组成部分?A. 中央处理器B. 存储器C. 输入/输出接口D. 显示器答案:D3. 8051单片机的内部RAM是:A. 128字节B. 256字节C. 512字节D. 1024字节答案:B4. 单片机的程序存储器通常使用的是:A. RAMB. ROMC. EPROMD. EEPROM答案:C5. 单片机的I/O口可以配置为:A. 只读B. 只写C. 推挽输出D. 开漏输出答案:D6. 下列哪个不是单片机的中断源?A. 定时器溢出B. 外部中断C. 串行通信D. 显示器答案:D7. 8051单片机的定时器/计数器的计数范围是:A. 0到255B. 0到511C. 0到1023D. 0到2047答案:A8. 单片机的看门狗定时器的主要作用是:A. 计时B. 计数C. 监视程序运行D. 控制I/O口答案:C9. 下列哪个不是单片机的常用编程语言?A. C语言B. 汇编语言C. Java语言D. C++语言答案:C10. 单片机的I/O口的模式设置通常包括:A. 推挽输出B. 开漏输出C. 上拉输入D. 以上都是答案:D二、填空题(每题2分,共20分)1. 单片机的CPU主要由______、______和______组成。
答案:算术逻辑单元、控制单元、寄存器组2. 单片机的______存储器用于存储程序代码。
答案:程序3. 8051单片机的定时器/计数器有______个。
答案:24. 单片机的中断优先级可以通过______寄存器来设置。
答案:IP5. 单片机的______模式可以减少功耗。
答案:睡眠6. 单片机的______接口允许单片机与外部设备进行数据交换。
答案:I/O7. 单片机的______寄存器用于存储程序计数器的值。
答案:PC8. 单片机的______功能可以防止程序死循环。
习题参考答案1章

习题参考答案1章第1章单片机概述1.除了单片机这一名称之外,单片机还可称为和答:微控制器,嵌入式控制器。
2.单片机与普通微型计算机的不同之处在于其将、、和3部分集成于一块芯片上。
答:CPU、存储器、I/O口。
3.8051与8751的区别是A.内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同答:C。
4.在家用电器中使用单片机应属于微计算机的A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。
5.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别?答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。
6.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。
它们的差别是在片内程序存储器上。
8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。
7.为什么不应当把51系列单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
8.AT89C51单片机相当于MCS-51系列单片机中的哪一种型号的产品?答:相当于MCS-51系列中的87C51,只不过是AT89C51芯片内的4KBFlah存储器取代了87C51片内的4KB的EPROM。
第2章AT89C51单片机片内硬件结构1.在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为答:2μ2.AT89C51单片机的机器周期等于个时钟振荡周期。
答:12。
3.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为和答:28H;88H。
单片机考试试题及答案

单片机考试试题及答案一、选择题(每题2分,共20分)1. 单片机中,CPU的主要功能是()。
A. 存储数据B. 处理数据C. 传输数据D. 显示数据答案:B2. 在8051单片机中,下列哪个寄存器是用于存储程序计数器的地址?A. SPB. PCC. DPTRD. ACC答案:B3. 下列哪项不是单片机的I/O接口?A. 定时器/计数器B. 串行通信接口C. 模数转换器D. 键盘答案:C4. 单片机的中断系统通常由哪两部分组成?A. 中断源和中断服务程序B. 中断向量表和中断服务程序C. 中断向量表和中断源D. 中断源和中断向量表答案:B5. 在8051单片机中,下列哪个指令用于将累加器的内容传送到外部数据存储器?A. MOVXB. MOVC. MOVCD. MUL答案:A二、填空题(每题2分,共20分)1. 单片机的______是单片机的核心部件,负责执行程序。
答案:CPU2. 8051单片机的定时器/计数器共有______个。
答案:23. 在8051单片机中,______指令用于将内部RAM的某个单元的内容传送到累加器。
答案:MOV4. 单片机的______接口用于实现单片机与外部设备的通信。
答案:串行通信5. 单片机的______功能允许它在执行当前任务的同时响应外部事件。
答案:中断三、简答题(每题10分,共30分)1. 请简述单片机的中断优先级是如何工作的?答案:单片机的中断优先级是指在多个中断请求同时发生时,单片机根据中断源的重要性来决定先响应哪一个中断请求。
通常,中断优先级由中断向量表中的地址顺序决定,优先级高的中断源对应的中断向量地址在表中靠前。
2. 描述单片机的I/O接口的作用。
答案:单片机的I/O接口是单片机与外部设备进行数据交换的通道。
它允许单片机接收外部设备的数据输入,并将处理后的数据输出到外部设备。
3. 简述单片机的定时器/计数器的作用。
答案:单片机的定时器/计数器用于提供精确的时间控制和事件计数。
单片机原理复习题1答案(1)

单片机复习题1一、填空题。
1、对程序存储器的读操作,只能使用MOVC.2、执行中断返回命令,要从堆栈弹出断点地址,以便去执行被中断的主程序。
从堆栈弹出的断点地址送给PC .3、在寄存器间址寻址方式中,指定寄存器中存放的是操作数地址4、某串行通信中有1个起始位、8个数据位和1个停止位,应选择的异步串行通信方式为方式15、当优先级的设置相同时,若以下几个中断同时发生,中断优先响应的是外部中断06、某单片机中,若fosc=12MHz,则定时器T1的最大定时时间可为65536μs。
7、若原来工作寄存器0组为当前寄存器组,现要改为1组,可以使用的指令是SETB RS08、设堆栈指针SP的值为37H,在子程序调用时把断点地址进栈保护后,SP的值为39H9、串行通信的传送速率单位是波特,波特的单位是位/秒10、当使用8031单片机时,需要扩展外部程序存储器,此时EA应为接地。
11、单片机内有组成微机的主要功能部件___CPU_______、____存储器_______和___I/O口________。
12、用户在堆栈区中进行数据存取时,按照先进后出的原则。
13、51系列基本型单片机有___5___个中断源,其中外部中断0的入口地址为____0003H________。
14、写出符号所表示的含义:PSW: 程序状态字RAM:数据存储器CPU: 中央处理器ROM: 程序存储器SP: 堆栈指针 I/O:输入/输出口15、写出MCS-51指令系统的常用寻址方式为:立即寻址、直接寻址、间接寻址、寄存器寻址。
.16、若由程序设定RS1、RS0=11,则选择的当前工作寄存器组为第___D组_____。
17、8051按指令的功能可分为数据传送类,算术运算类,控制转移类,位操作类等类型18、中断源的自然优先级由高到低排序为: INTO 、 TO 、INT1、T1、 RX或TX 。
19、8051的定时器/计数器有______T0__________、____T1__________两个16位的定时器/计数器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题已知x的补码数10110111B,x的真值是___201D。
进制转换:134D=__10000110B;=______86H。
32K存储容量对应的地址范围从0000H-7FFFH_。
CPU与内存或I/O接口相连的系统总线通常由_控制总线__、数据总线__、地址总线___等三种信号组成。
MCS-51单片机上电复位时PC=_0000_H,SP=_07_H;工作寄存器缺省采用第___________组,这组寄存器的地址范围是从______H~_____H。
MCS-51单片机系列有__5__个中断源,可分为___2__个优先级。
上电复位时外部中断0__中断源的优先级别最高。
MCS-51单片机内部RAM共分为______2__个功能区,其高端128个字节的地址空间称为特殊功能寄存器_区,其中仅有________个字节有实际意义。
8255可编程芯片通常作为_并行接口_______扩展之用;8253可编程芯片通常作为_定时器_______扩展之用。
8155可编程芯片通常作为_并行接口计数器和存储器______扩展之用;8279可编程芯片通常作为_键盘/显示控制器________扩展之用。
MCS-51 的并行I/O口信息有____读引脚________和____读锁存_________两种读取方法,读一改一写操作是针对并行I/O口内的锁存器进行的。
74LS273通常用来作为简单______输出__________接口扩展;而74LS244则常用来作为简单________输入_______接口扩展。
不带输入数据锁存器的D/A转换器,CPU必须通过______锁存或寄存__器件与D/A转换器传送数据;无三态输出功能的A/D转换器,应当通过_____三态___器件与CPU传送数据。
若用并行口来扩展一个有36只按键的行列式键盘,最少需__12_根I/O线。
74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中___八_块芯片。
MCS-51单片机访问外存储器时利用_____ALE_______信号锁存来自_____P0_____口的低八位地址信号。
在MCS-51系统中,当晶振频率采用12MHz时,一个机器周期等于_1__微秒。
8051的T0作为计数器用时,其计数频率不能超过晶振频率的___二十四分之一__。
二、选择题通常所说的主机是指( C )。
(A)硬件和软件(B)CPU和磁盘存储器(C)CPU和主存(D)运算器和控制器计算机能直接识别的语言是(A )。
(A)机器语言(B)汇编语言(C)自然语言(D)高级语言MCS-51单片机中,PC是(C )。
(A)一根硬件信号线。
(B)一个可由用户直接读写的RAM单元(C)一个不可寻址的特殊功能寄存器(D)一个能自动加1计数的ROM单元指令AJMP的跳转范围是(C )。
A)256Byte (B)1KB (C)2KB (D)64KB计算机工作时,能写入也能读出的半导体存储器是( A )。
(A)RAM (B)ROM (C)磁盘(D)磁带在CPU内部,反映程序运行状态或反映运算结果一些特征的寄存器是( B )。
(A)PC (B)PSW (C)A (D)SP区分片外程序存储器和数据存储器的最可靠方法是( D )。
(A)看其芯片型号是RAM还是ROM(B)看其位于地址范围的低端还是高端(C)看其离MCS-51芯片的远近(D)看其是被RD还是被PSEN信号连接各中断源发出的中断请求信号,都会标记在MCS-51系统中的(B )。
(A)TMOD (B)TCON/SCON (C)IE (D)IP计算机对输入/输出设备的控制方式主要有3种。
其中,A 方式硬件设计最简单,但要占用不少CPU的运行时间;B 方式的硬件线路最复杂,但可大大提高数据传送速率;而C 方式则介于上述两面三刀者之间。
A~C:①先进先出②后进先出③直接存储器存取④程序查询⑤高速缓存⑥系统总线⑦程序中断⑧逐行扫描请选择并填写答案:A=(4) B=(3) C=( 7 )MCS-51机响应中断的必要条件是( C ) (非中断必要条件)(A)TCON或SCON寄存器内的有关中断标志位为1(B)IE中断允许寄存器内的有关中断允许位置1(C)IP中断优先级寄存器内的有关位置1(D)当前一条指令执行完下列指令中错误的有( C )。
(A)CLR R1 (B)MOVX @DPTR,R0 (C) MOV P3.4,A(D)JBC TF0,$MCS-51系列单片机外扩存储器芯片时,4个I/O口中作为数据总线的是( B )。
(A)P0口和P2口(B)P0口(C)P2口和P3口(D)P2口三、简答题一.串行数据传送的主要优点和用途是什么?串行数据传送是将数据按bit逐位进行传送的方式。
其主要优点是所需的传送线根数不(单向传送只需一根数据线、双向仅需两根),对于远距离数据传送的情况,采用串行方式是比较经济的。
所以串行方式主要用于计算机与远程终端之间的数据传送,也很适于经公众电话网连接的计算机之间的通信,另外在某些场合,串行接口也可以代替并行接口来控制外设,以节省软硬件资源、简化线路。
二.MCS-51指令集中有无“程序结束”指令?上机调试时怎样实现“程序结束”功能?1、没有这样的指令。
但实现“程序结束”至少可以借助4种办法:①用原地踏步指令SJMP $ 死循环。
②在最后一条指令后面设断点,用断点执行方式运行程序。
③用单步方式执行程序。
④在末条指令之后附加一条LJMP监控显示器程序首地址或LJMP 0000H,返回监控状态。
三.MOV P1,#OFFH 这条指令应当理解为输出全“1”到P1口呢,还是理解为从P1口读引脚的预备动作?这要看P1口所接下来何种外设,也要看程序中的上下文,不能断然理解为前者或后者。
若所接外设为单纯输出设备,则理解为送出全“1”信号;若所接外设为单纯输入设备,则理解为读并口数据之前的预备动作;若所接外设为输入/输出双向传输设备,则要根据程序流程及该指令之前的程序意图去理解。
四.中断服务子程序与普通子程序有哪能些异同之处?五.单片机系统中的定时和计数功能有何区别?分别适用于什么场合?简述其工作原理。
、“定时”功能是对片内稳频脉冲(是晶振频率的1/12)的计数,从计数开始到计满溢出为止,可以由计数值×稳频脉冲周期值来得到一个准确的时间值;而“计数”功能则是对单片机引脚上的外来随机脉冲进行计数,一般情况下难以折算为精确进间。
定时功能适用于需要准确计量一段时间的场合;而计数功能适用于对外部事件的计数。
在单片机内,定时和计数的实现都是借助一个加1计数器,工作原理基本一样,只是定时方式下计数脉冲为f ose/12,计数方式下的计数脉冲由单片机外引脚(T0或T1)来输入。
六.8031单片机内部有128字节地址连续的RAM区,它可以用来存放和执行指令吗?请说明其主要用途七.MCS-51的程序存储器和数据存储器在物理上是各自独立的(即哈佛结构),这样设计的优点是什么?当二者的地址空间重合时,如何正确地访问它们?八.堆栈和堆栈指针是不是一回事?堆栈与一般存储空间有什么不同?在那些情况下SP内容会加2? 四、阅读并分析程序设R0=20H,R1=25H,(20H)=56H,(21H)=76H,(22H)=C0H,(25H)=A0H,(26H)=68H,(27H)=9CH,下列程序执行后,结果如何?CLR C C=0MOV R2,#3 R2=3 R2=2 R2=1LOOP:MOV A,@R0 A=56H A=76H A=C0HADDC A,@R1 A=0F6H A=DEH A=5CH,C=1MOV @R0,A (20H)=0F6H (21H)=DEH (22)=5CHINC R0 R0=21H RO=22H R0=23HINC R1 R1=26H R1=27H R1=28HDJNZ R2,LOOPJNC NEXTMOV @R0,#01H (23H)=01HSJMP $NEXT: DEC R0SJMP $(20H)=___0F6H__,(21H)=____DEH_,(22H)=___5CH__,(23H)=__01H____Cy=____1____, A=____5CH_,R0=____23H____ R1=___28H___椎栈指针SP中的内容为20H,内部RAM中30H和31H单元的内容分别为56H和8AH,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH 30HPUSH 31HPOP DPLPOP DPHMOV 30H,#00HMOV 31H,#0FFH(30H)=00H (31H)=0FFH DPTR=568AH SP=20H读下列程序段并回答问题:CLR CMOV A,#9AHSUBB A,60HADD A,61HDA AMOV 62H,A①请问该程序执行何种操作?对BCD码的加法结果进行调整②已知初值:(60H)=25H,(61H)=58H,请问运行后:(62H)=___33H__?请计算下面子程序的执行时间。
(注:除NOP指令外,其他指令执行时间都是2个机器周期,假定晶振频率为12MHz)。
DELAY: CPL RS1MOV R6,#20LOOP1: MOV R7,#127LOOP2: NOPDJNZ R7,LOOP2DJNZ R6,LOOP1CPL RS1RET五、硬件设计题(一)、试用单片机实验板设计一计数器,该计数器由4位LED数码管显示计数值,计数输入信号由P3.2的低电平输入,P3.3为计数器清零信号,当计数器计数到100时,蜂鸣器响一声。
(二)、设计硬件电路和程序。
设计单片机硬件电路:(1)包括:8051、晶振电路、上电复位和手工复位电路,P1口设计控制8个LED灯。
(2)设计一种控制程序,实现流水灯控制。
(提示:如从P1.0到P1.7逐个点亮,循环控制)。