单片机程序分析试题与答案
单片机应用技术考试题答案
单片机应用技术考试试题(1)一、填空题(每空1分,共20分)1.MCS-51是指单片机的(系列号)号,8031、8051是指单片机的(型)号。
2.MCS-51共有(111)条指令,可分为几种不同的寻址方式。
如:MOV A,Ri 属于(寄存器间接)寻址方式,MOV C, bit 属于(位)寻址方式。
3.单片机(计算机)在进行(有符号)运算的情况下应使用补码。
4.单片机位寻址区的单元地址是从(20H)单元到(2FH)单元,若*位地址是09H,它所在单元的地址应该是(21H)。
5.转移指令与调用指令的相同点是两种指令都是通过改变程序计数器PC的内容来实现转移的;不同点是,当执行调用指令时,它不仅能转移到*一指定地址处,而且当子程序执行到(RET)指令后,它能自动返回到(调用指令的下一条)指令处,而普通转移指令(不)能返回。
6.8031有两个16位可编程定时/计数器,其中定时作用是指对单片机(对内部f osc/12)脉冲进行计数,而计数器作用是指对单片机(外部)脉冲进行计数。
7.当P1口做输入口输入数据时,必须先向该端口的锁存器写入(FF),否则输入数据可能出错。
8.堆栈指针SP的内容将始终指示(堆栈的栈的栈顶),当单步执行了调用指令LCALL addr16后SP的内容将(不会)改变。
9.由于执行每条指令都要占用CPU的时间,因此采用循环结构并多次重复执行*些指令可实现软件延时。
而硬件延时一般是采用单片机的(定时/计数器)再通过软件编程来实现。
10.单片机串行通信时,若要发送数据,就必须将要发送的数据送至(SBUF)单元,若要接收数据也要到该单元取数。
11.单片机串行通信时,其波特率分为固定和可变两种方式,在波特率可变的方式中,可采用(定时器T1)的溢出率来设定和计算波特率。
二、选择题(每空1分,共10分)1.判断是否溢出时用PSW的(B)标志位,判断是否有进位时用PSW的(A)标志位。
A.CY B.OV C.P D.RS0 E.RS12.在运用仿真系统调试程序时,当要观察子程序内部指令的执行结果时,通常采用(B)调试方法。
《单片机》读程序题题库答案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分。
单片机试题(附答案)
单片机试题(附答案)一、单选题(共107题,每题1分,共107分)1.8051单片机的P0口可以驱动()个LSTTL负载。
A、4B、16C、8D、2正确答案:C2.在51系列单片机应用系统中启动ADC0809进行A/D转换时,使用()指令。
A、MOVXB、(B)MOVXC、MOVD、MOVE、A,@A+DPTR正确答案:A3.8051单片机的P0口做为输出口在驱动NMOS负载时必须接()。
A、下拉电阻B、上拉电阻C、地D、电源正确答案:B4.8051单片机的工作频率为6MHz,其内部定时器的最大定时时间是()。
A、8192μSB、131072μSC、256μSD、65536μS正确答案:B5.MCS-51单片机复位后程序计数器PC=()。
A、0FFFFB、2000C、0100D、0000H正确答案:D6.对于MCS-51单片机来说,上电复位所需的最短时间是振荡周期建立时间加上()个机器周期时间。
A、1B、2C、4D、8正确答案:B7.对于MCS-51单片机来说,上电复位所需的最短时间是振荡周期建立时间加上()个机器周期时间。
A、2B、4C、8D、16正确答案:A8.累加器A的内容是0ADH,执行RLA指令后累加器的内容变为()。
A、56B、5AC、(C)5BD、不确定正确答案:C9.堆栈指针的英文缩写是()。
A、STB、SPC、SD、S正确答案:B10.累加器A的内容是89H,执行RLA指令后累加器的内容变为()。
A、10B、11C、12D、13H正确答案:D11.下列芯片中属于单片机的芯片是()。
A、Z80B、8086C、80586D、M68HC08正确答案:D12.对于8751单片机,当其引脚EA接低电平时,可扩展的外部程序存储器最大为()k字节。
A、64B、60C、32D、16正确答案:A13.LJMP跳转空间最大可达到()。
A、2KB、(B)256C、(C)128D、64KB正确答案:D14.对于MCS-51单片机来说,上电复位所需的最短时间是振荡周期建立时间加上()个机器周期时间。
《单片机原理与应用》试题与答案
试题 1一、填空题(25 分,每空 1 分)1. AT89S51单片机为位单片机2. MCS-51 系列单片机的典型芯片分别为、、。
3. AT89S51的异步通信口为(单工/半双工/全双工)4. AT89S51有级中断,个中断源5. AT89S51 内部数据存储器的地址范围是,位地址空间的字节地址范围是,对应的位地址范围是,外部数据存储器的最大可扩展容量是。
6. AT89S51单片机指令系统的寻址方式有、_______、_ ___、_ __ __、。
7. 如果(A)=34H ,(R7)=0ABH ,执行XCH A, R7;结果(A)= ,(R7)= 。
8. 82C55 可以扩展个并行口,其中条口线具有位操作功能;9. 当单片机复位时PSW=H,这时当前的工作寄存器区是区,R4 所对应的存储单元地址为H。
10. 若A 中的内容为67H,那么,P 标志位为。
11. 74LS138是具有3 个输入的译码器芯片,其输出作为片选信号时,最多可以选中片芯片。
二、判断以下指令的正误:(5 分)(1)MOV 28H,@R4;()(2)INC DPTR;()(3)DEC DPTR ;()(4)CLR R0 ;()(5)MOV T0,#3CF0H;()三、简答题1. 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= __ ___;(DPL)=____ ____;(SP)=____ ____;(6 分)2. 采用6MHz 的晶振,定时1ms,用定时器方式0 时的初值应为多少?(请给出计算过程)(6 分)3. 分析下列程序的功能( 5 分)PUSH ACCPUSH BPOP ACCPOP B四、图为8 段共阴数码管,请写出如下数值的段码。
a b c d e f g hD0 D1 D2 D3 D4 D5 D6 D7 afbgced h0____ __;1_______ _;2_______ _;3____ _ ;_4______ ;5_____ ;P_____ _;7_______ ;8____ __;C_______;五、简述AT89S51单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。
(完整版)单片机试题及答案
(完整版)单⽚机试题及答案单⽚机原理与接⼝技术习题答案习题与思考题11-1 微型计算机通常由哪些部分组成?各有哪些功能?答:微型计算机通常由控制器、运算器、存储器、输⼊/输出接⼝电路、输⼊设备和输出设备组成。
控制器的功能是负责从内部存储器中取出指令并对指令进⾏分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调⼯作;运算器主要完成算数运算和逻辑运算;存储器⽤于存储程序和数据;输⼊/输出接⼝电路完成CPU与外设之间相连;输⼊和输出设备⽤于和计算机进⾏信息交流的输⼊和输出。
1-2 单⽚微型计算机与⼀般微型计算机相⽐较有哪些区别?有哪些特点?答:与通⽤微型计算机相⽐,单⽚机的硬件上,具有严格分⼯的存储器ROM和RAM和I/O端⼝引脚具有复⽤功能;软件上,采⽤⾯向控制的指令系统和硬件功能具有⼴泛的通⽤性,以及品种规格的系列化。
单⽚机还具备体积⼩、价格低、性能强⼤、速度快、⽤途⼴、灵活性强、可靠性⾼等特点。
1-3 简述计算机的⼯作过程。
答:计算机的⼯作是由微处理器以⼀定的时序来不断的取指令、指令译码和执⾏指令的过程。
1-4 单⽚机的⼏个重要指标的定义。
答:单⽚机的重要指标包括位数、存储器、I/O⼝、速度、⼯作电压、功耗和温度。
1-5 单⽚微型计算机主要应⽤在哪些⽅⾯?答:单⽚机的主要应⽤领域有智能化产品、智能化仪表、智能化测控系统、智能化接⼝等⽅⾯。
1-6 为什么说单⽚微型计算机有较⾼的性能价格⽐和抗⼲扰能⼒?答:因为单⽚微型计算机主要⾯向特定应⽤⽽设计,设计者在硬件和软件上都⾼效率地设计,量体裁⾐、去除冗余,⼒争在同样的硅⽚⾯积上实现更⾼的性能,具备较⾼的性能、价格⽐;单⽚机嵌⼊式系统中的软件⼀般都固化在存储器芯⽚或单⽚机本⾝中,⽽不是存贮于磁盘等载体中,另外单⽚机体积⼩,可以放⼊屏蔽设备中,从⽽使其具有较⾼的抗⼲扰能⼒。
1-7 简述单⽚机嵌⼊式系统的定义和特点。
答:单⽚机嵌⼊式系统是嵌⼊到对象体系中的专⽤计算机系统;其特点是⾯向特定应⽤、与各个⾏业的具体应⽤相结合、硬件和软件⾼效率、软件固化在存储器芯⽚或单⽚机本⾝和不具备⾃举开发能⼒。
单片机考试题目及答案
单片机考试题目及答案一、选择题1. 下列单片机中,不属于8位单片机的是:A. 8051B. AVRC. PICD. STM32答案:D. STM322. 在单片机中,下面哪个不是内部存储器:A. RAMB. ROMC. FlashD. EEPROM答案:A. RAM3. 在单片机内,系统时钟频率越高,单片机运行速度越快,对错?A. 对B. 错答案:A. 对二、填空题1. 单片机是一种集成了______的芯片。
答案:微处理器、存储器、外围设备2. 在单片机系统中,指令寄存器用来存放______。
答案:待执行的指令3. 单片机内部时钟频率通常由______提供。
答案:晶振三、判断题1. 单片机中,外部设备通过I/O口与单片机进行通信,可利用端口输入和输出数据。
答案:正确2. 在单片机内部,EEPROM是一种易擦除可编程只读存储器。
答案:错误四、简答题1. 请简述单片机中的中断概念及中断响应过程。
答:中断是单片机在执行程序时,由于处理器内部或外部事件发生而打断其正常工作顺序,转而去执行相应的中断服务程序。
中断响应过程分为五个步骤:中断请求、中断决策、保存现场、跳转执行、中断返回。
2. 请简要介绍单片机中的I/O口及其作用。
答:单片机中的I/O口用于和外部设备进行数据传输,可以输入或输出数字信号,实现与外界的通信。
通过I/O口可以控制LED灯、数码管、继电器等外部设备,也可以接收来自按键、传感器等的输入信号。
以上是单片机考试题目及答案,希望能对您有所帮助。
如有任何疑问,请随时联系我们。
单片机复习题-程序分析题(含答案)
程序分析题(含答案)1.设(A)=38H, (20H)=49H, PSW=00H, (B)=02H,填写以下结果。
SETB CADDC A, 20HRLC A(A)= ______;(CY)= ______;(P)= ______;MUL AB (B)= ______;2.阅读程序并回答下列问题:X DA TA 50HY DA TA 51HORG 00HJMP STARTORG 100HSTART: MOV SP,#60HMOV X,#10MOV Y,#10LCALL SUBSUB: NOPINC XDEC YMOV A,YJZ SUBRETLCALL SUBSUBRET: NOPRET计算X和Y的值是多少?(X)=;(Y)=;3.执行下列程序后,R2,R3的内容是什么?请在要求注释的地方给程序加上注释MOV R3,#45HMOV DPTR,#TABL ;注释:MOV A,R3ANL A,#0FH ;注释:MOVC A,@A+DPTR ;注释:MOV R2,AMOV A,R3ANL A,#0F0HSWAP AMOVC A,@A+DPTRMOV R3,A………………………..TABL:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H(R2)=;(R3)=;4.51单片机振荡频率为12MHz,阅读程序后说明ORG 0000HLJMP MAINORG 001BHLJMP INTT1ORG 0040HINTT1:MOV TH1, #3CHMOV TL1, #0B0HDJNZ R7, L2MOV R7, #20CPL P1.2L2:RETIORG 0100HMOV SP, #5FHMOV R7, #20MOV TMOD, ①MOV TH1, #3CHMOV TL1, #0B0HSETB EASETB ②SETB TR1SJMP $1) 根据程序内容填空:①;②;2) 定时器T1的定时时间是多少?3) 寄存器R7在程序中的作用是什么?4) 该程序完成什么功能?5.执行下面一段程序;填写运行结果MOV SP, #60HMOV A, #10HMOV B, #01HPUSH APUSH BPOP APOP BA , B的内容是:(A)=(B)= ;6.设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。
单片机考试试题及答案
单片机考试试题及答案一、选择题(每题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、8051是在8031的基础上,片内集成了4KB的ROM 作为程序存储器;8751是在8031的基础上,片内集成了4KB的EPROM 作为程序存储器。
2、MCS-51单片机的外部引脚按功能分为电源及时钟引脚、控制引脚、输入/输出引脚(I/O)三部分。
3、MCS-51单片机系统中,当PSEN信号有效时,表示CPU要程序存储器读取信息。
4、查表指令有MOVC A ,@A+PC和MOVC A,@A+DPTR两条,它们都属于基址寄存器加变址间接寻址方式。
5、一个机器周期包括12 个振荡周期,具体分为 6 个状态周期。
6、设(A)=85H,(RO)=20H,(20H)=AFH,执行指令:ADD A, @RO 后,(A)= 34H 、CY= 1 、AC= 1 、OV= 1 。
7、若要设定T1为方式2下的计数模式,T0设定为方式1下的定时模式,则TMOD的初始化值为61H 。
8 已知SP=30H ,PC=2345H,标号LABEL所在的地址为3456H,问执行长调用指令LCALL LABEL 后,(SP)= 32H ,(PC)=3456H9.某MCS-51 系统用于定时测试压力、温度、定时用T0来实现,压力超限和温度超限的报警信号分别由INT0和INT1输入,中断优先排列顺序依次为压力超限――――温度超限―――定时检测,则专用寄存器IE= 87H ,IP= 05H 。
二.选择题1.在中断服务程序中,至少应有一条( D )A .传送指令 B. 转移指令 C. 加法指令 D. 中断返回指令2.单片机复位后,SP、PC、PSW的内容为(C )A.SP = 07H PC = 0000H PSW = FFHB.SP = 00H PC = 00H PSW= 00HC.SP = 07H PC = 0000H PSW= 00HD.SP = 00H PC = 00H PSW = FFH3.8031定时/计数器共有四种操作模式,并由TMOD寄存器中M1 M0的状态决定,当M1 M0的状态为01 时,定时/计数器被设定为(B )A.13位定时/计数器B.16位定时/计数器C.自动重装8位定时/计数器D.T0为2个独立的8位定时/计数器,T1停止工作4.LCALL存于2000H开始的地址单元中,执行完相应的子程序中的返回指令后,PC=( D )A. 2000HB.2001HC. 2002HD. 2003H5.MCS-51单片机的堆栈区是在( A )。
单片机试卷及标准答案
单片机试卷及标准答案一、单项选择题(每题1分,共20分)1. 单片机是一种()。
A. 集成电路B. 集成电机C. 集成回路D. 单一器件2. 单片机的主频指的是()。
A. 程序的速度B. 数据的走向C. 系统的数据位数D. 主振荡电路的频率3. 下列哪个不是单片机的主要应用领域?A. 嵌入式系统B. 军工领域C. 工业自动化D. 网络通信4. 单片机的存储单元主要分为()。
A. RAM、ROM、FLASHB. CD-ROM、DVD-ROM、BD-ROMC. 动态存储器、静态存储器、磁盘存储器D. 内存、硬盘、U盘5. 单片机系统中,时钟信号的频率一般由()决定。
A. 软件B. 主振荡器C. 时钟芯片D. 输入电压6. 单片机中,ALU是指()。
A. 控制单元B. 存储单元C. 算术逻辑单元D. 输入输出接口7. 单片机中,控制单元的主要功能是()。
A. 执行指令B. 存储数据C. 实现数据运算D. 负责数据输入输出8. 下列哪个不是单片机的指令格式?A. 功能码地址码B. 三地址码C. 扩展操作码D. 浮点操作码9. 单片机的中断是指()。
A. 系统异常B. 错误指令C. 外部事件D. 内存错误10. 单片机操作系统是()。
A. DOSB. WindowsC. LinuxD. 内置于单片机芯片中的系统11. 在单片机编程中,汇编语言编写的程序需要通过()转化为机器语言。
A. 编译器B. 汇编器C. 解释器D. 虚拟机12. 在连接单片机与外设接口时,常用的接口标准有()。
A. USBB. RS232C. EthernetD. HDMI13. 单片机的输入输出方式主要分为()。
A. 串行方式和并行方式B. 电压输入和电流输出C. 数字输入和模拟输出D. 多级输入和输出14. 单片机可以通过通信接口与其他设备进行()。
A. 数据传输B. 电力传输C. 信号传输D. 病毒传输15. 单片机编程中,使用中断的目的是()。
单片机试卷及答案
6.程序状态寄存器PSW的作用是用来保存程序运行过程中的各种状态信
息。其中CY为 标志,用于无符号数加(减)运算,当进行
操作时作为位累加器。OV为
标志,用于有符号数的加(减)
运算。
7.8031有两个16位可编程定时/计数器,T0和T1。它们的功能可由控制
寄存器
、
的内容决定,且定时的时间或计数的次数与
三、 简答题(每空5分 共20分)
(1) 简述P0,P2口的功能和使用注意事项
答:
(2) 简述51系列单片机的四个控制引脚的作用
答:
(3) 8051内部数据存储区分为几个不同的区域?各有何作用 答
(4) 堆栈有何作用?一般应设在什么区域? 答:
五、 阅读并分析程序(每空2分,共20分)
1.下列程序执行后,结果如何? MOV R0, #7FH MOV 7EH,#0 MOV 7FH,#40H DEC @R0 DEC R0 DEC @R0
1、 填空题(每空1分,共30分)
1、4K
2、 FLASH存储器
3、十进制调整指令 DA A
4、111条
5、 直接寻址
6、变址寻址
7、位寻址
8、 (36) D
9、(9B) H
10、(57)D 11、 (01101000)B
12、31H
13、20H~2FH 14、工作寄存器区第1组 15、0000H
MOV P1,A
;第一次执行该指令时,结果是(
)
JBC TF1,DISP
;查询T1计数溢出
SJMP CONT
;60s不到继续计数
DELAY:MOV R3,#14H
;置50ms计数循环初值
MOV TH0,#3CH
单片机考试题目及答案
单片机考试题目及答案一、单项选择题(每题2分,共20分)1. 单片机中,以下哪个寄存器用于存储程序计数器(PC)的值?A. SPB. PCC. DPTRD. SCON答案:B2. 在8051单片机中,下列哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOV A, @R0B. MOVX A, @DPTRC. MOV A, #dataD. MOV A, R0答案:B3. 下列哪个指令是8051单片机的无条件跳转指令?A. SJMPB. CJNEC. DJNZD. JZ答案:A4. 在8051单片机中,以下哪个中断源的中断优先级最高?A. 外部中断0B. 定时器0中断C. 外部中断1D. 串行通讯中断答案:C5. 8051单片机的定时器/计数器工作在方式1时,其计数器的计数范围是多少?A. 0到255B. 0到65535C. 0到32767D. 0到65536答案:C6. 8051单片机中,哪个指令用于将累加器A的内容与立即数进行逻辑“或”操作?A. ORL A, #dataB. ORL A, directC. ORL A, @R0D. ORL direct, #data答案:A器R0的内容进行逻辑“与”操作?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:A8. 8051单片机中,哪个指令用于将累加器A的内容与直接地址中的数据进行逻辑“异或”操作?A. XRL A, #dataB. XRL A, directC. XRL direct, AD. XRL A, @R0答案:B器R0的内容进行逻辑“异或”操作?A. XRL A, R0B. XRL R0, AC. XRL A, #dataD. XRL direct, A答案:A10. 8051单片机中,哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑“与”操作后,结果存回R0?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:B二、填空题(每题2分,共20分)1. 8051单片机的内部RAM分为______和______两部分。
(完整版)单片机考试常见试题程序分析题
程序分析及编程1.设(A)=04H,(CY)=1, 写出下列各条指令的结果。
RL A; (A)= 08HRR A; (A)= 02HRLC A; (A)= 09HRRC A; (A)= 82H2设(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1, 写出下列各条指令的结果。
MOV A ,R0 (A)=30H (R0)=30HXCH A, R0 (A)=30H (R0)=30HXCHD A,@R0 (A)=A5H (R0)=30H (30H)=30HADD A,#30H (A)=D5H (CY)=1ADDC A,30H (A)=06H (CY)=1SUBB A,#30H (A)=D5H (CY)=14.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后:请问:A=(),SP=(),(51H)=(),(52H)=(),PC=()。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AMOV A,BINC AMOVC A,@A+DPTRPUSH ARETORG4000HDB10H,80H,30H,50H,30H,50H答:(A)=50H , (SP)=50H , (51H)=30H , (52H)=50H , (PC)=5030H5.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容为()。
:ANL A,#17HORL17H,AXRL A,@R0CPL A答:0CBH6.如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后则:DPH=(),DPL=(),SP=():POP DPHPOP DPLPOP SP答:DPH=3CH , DPL=5FH , SP=4FH7.假定,SP=60H,A=30H,B=70H,执行下列指令后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。
单片机程序设计题库及答案
单片机程序设计题库及答案2.查表法求 Y=某 2。
设某(0≤某≤15)在片内 RAM 的 20H 单元中,要求查表求 Y,存入片内 RAM21H 单元。
1)ORG1000H3.分析下面程序MOVR0,#0C8H;(R0) =200CLRP1.7;P1.7 为低电平LOOP:CPLP1.7;P1.7 变反(1μ) NOP;(1μ) NOP;(1μ)DJNZR0,LOOP;(R0)≠0 则转(2μ)4.设计一个延时 10m 的延时子程序,已知单片机使用的晶振为 6MHZ。
机器周期数 ORG0020H1MOVR0,#0AH;外循环 10 次 1DL2:MOVR1,#MT;内循环 MT 次 1DL1:NOP 1NOP;空操作指令2DJNZR1,DL12DJNZR0,DL2RET内循环 DL1 到指令 DJNZR1,DL1 的计算:(1+1+2)ⅹ2μⅹMT=1000μMT=125=7DH 总的延时时间: {1+[1+(1+1+2)ⅹ125+2]ⅹ10}ⅹ2μ=10.062m5.试计算延时程序的执行时间DELAY:MOVR6,#64H (=100) 1I1:MOVR7,#0FFH (=255) 1I2:DJNZR7,I22DJNZR6,I12RET2 延时时间计算:(设时钟 fOSC=12MHz)T=1u计算延时程序的执行时间(设时钟 fOSC=6MHz,T=2u) 7.十六进制数转换为 ASCII 码:HASC:CJNEA,#0AH,NN:JNCN1 (C=0 跳 N1) ADDA,#30HSJMPSEN1:ADDA,#37HSE:RET8.设从片内 RAM30H 单元和40H 单元有两个 16 字节数,把它们相加,结果放于 30H 单元开始的位置处(设结果不溢出)。
ORG1000HMOVR0,#30HMOVR1,#40HMOVR2,#16CLRC9.按下面公式编写程序,某为无符号数,存在 20h 单元 y 存放在 21h 单元MOVB,#2MULABAJMPNE 某 T2NE 某 T1:CPLANE 某 T2:MOV21H,AEND从内部 RAM22h 单元开始存有一个无符号数数据块,长度 n 存于 21h 中。
单片机程序分析试题与答案
六、设计题1.某单片机控制系统有8个发光二极管。
试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。
答:图(5分) 构思(3分)MOV A,#80H (1分)UP:MOV P1,A (1分)RR A (2分)SJMP UP (1分)2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。
试画出8051与外设的连接图并编程实现上述要求。
答:图(5分) 构思(3分)程序(4分)ORG 0000HLJMP MAINORG 0003HLJMP AINT0ORG 0013HLJMP BINT1MAIN: MOV IE,#83HSETB IT0SETB IT1MOV R0,#00HMOV DPTR,#TABUP: MOV A,R0MOVC A,@A+DPTRMOV P1,ASJMP UPAINT0: INC R0CJNE R0,#10,AINT01MOV R0,#0AINT01: RETIBINT1: DEC R0CJNE R0,#0FFH,BINT11MOV R0,#9BINT11: RETI1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。
1.SQR:1NC AMOVC A,@A+PCRETTAB:DB 0,1,4,9,16DB 25,36,49,64,812.请使用位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨C Y)2.ORL C,11HMOV 12H,CMOV C,P1.0ORL C,/10HANL C,12HMOV BIT,CRET3.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。
Y=10 01xxx> -=<⎧⎨⎪⎩⎪3. MOV A,V ARCJNE A,#0,COMPSJMP RES ;x=0,Y=0COMP:JNC POSI ;x>0,Y=1MOV A,#0FFH ;x<0,Y=-1SJMP RESPOSI:MOV A,#01HRES:MOV FUNC,ARET4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。
(完整版)单片机考试试题带答案
单片机原理及应用试卷A一、填空题(每空1分,共20分)1、单片微型计算机由CPU、存储器和I/O 三部分组成。
2、MCS-51系统中,当PSEN信号有效时,表示从P0口稳定地送出了低8位地址。
3、访问8031片外数据存储器采用的是寄存器间接寻址方式。
4、累加器(A)=80H,执行完指令ADD A,#83H后,进位位CY= 1 。
5、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H入栈,37B0H送入PC。
6、51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择。
7、在变址寻址方式中,以A作为变址寄存器,以PC或DPTR作基址寄存器。
8、中断请求信号有电平触发和脉冲触发两种触发方式9、用串行口扩展并行口时,串行接口的工作方式应选为方式0。
10、74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。
11、51的并行I/O口信息有读引脚和读锁存器两种读取方法,读—改—写操作是针对并行I/O口内的锁存器进行的。
12、A/D转换器的三个重要指标是转换速度、分辨率和转换精度。
二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。
每题1.分,共10分)1、计算机能识别的语言是( C )。
(A)汇编语言(B)自然语言(C)机器语言(C)高级语言2、MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B )。
(A)P0和P2口(B)P0口(C)P2和P3口(D)P2口3、在中断服务程序中,至少应有一条( D )。
(A )传送指令 (B )转移指令 (C )加法指令 (D )中断返回指令 4、访问外部数据存储器时,不起作用的信号是( C )。
(A )RD (B )WR (C )PSEN (D )ALE 5、以下指令中,属于单纯读引脚的指令是( C )。
(A )MOV P1,A (B )ORL P1,#0FH (C )MOVC C ,P1.5 (D )DJNZ P1,LAB 6、使用定时器T1时,有几种工作模式( C )。
单片机试题及答案
单片机试题1、填空(每空2 分,共40 分)1、MCS-8051系列单片机字长是8 位,有40 根引脚,96系列字长是16 位。
单片机的特点有体积小、价格低、功能全。
2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器。
3、8051最多可以有4 个并行输入输出口,最少也可以有1个并行口,即P1 。
P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号。
4、ALE信号的作用是低8位地址锁存。
5、8051复位后,PC= 0 H。
若希望从片内存储器开始执行,EA脚应接高电平,PC值超过0FFF H时,8051会自动转向片外存储器继续取指令执行。
6、8051的C/T是加(加或减)计数的。
7、8051的中断向量表在3 H、0B H和13H、1BH、23H。
8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址。
9、指令JB 0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC 。
(0A7H是P2.7的地址)10、将CY与A的第0位的非求或的指令是ORL C,/ACC.0 ,若原A=0,执行后A= 0 。
2、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少?(共5 分)[解答] OV:0、CY:1、AC:1、P:1 A:-953、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。
画出连接示意图,写出完整的程序。
(共15 分)4、将8051外部扩展2K EPROM,同时扩展16K RAM作数据存储器,采用的2716是2K 的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器。
请画出连接示意图。
要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE。
单片机试题库及 参考答案
试题1 参考答案一、填空题(25分,每空1分)1. AT89S51单片机为8 位单片机2. MCS-51系列单片机的典型芯片分别为 8031 、 8051 、 8751 。
3. AT89S51的异步通信口为全双工(单工/半双工/全双工)4. AT89S51有 2 级中断, 5 个中断源5. AT89S51内部数据存储器的地址范围是00H~7FH ,位地址空间的字节地址范围是20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。
6. AT89S51单片机指令系统的寻址方式有__寄存器寻址__、____直接寻址____、___寄存器间接寻址_____、_立即寻址____、基址寄存器加变址寄存器寻址。
7. 如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。
8. 82C55可以扩展3个并行口,其中8 条口线具有位操作功能;9. 当单片机复位时PSW= 00 H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04 H。
10. 若A中的内容为67H,那么,P标志位为 1 。
11. 74LS138具有3个输入的译码器芯片,其输出作为片选信号时最多可以选中8片芯片。
二、判断以下指令的正误:(5分)(1)MOV 28H,@R4;(×)(2)INC DPTR;(√)(3)DEC DPTR;(×)(4)CLR R0 ;(×)(5)MOV T0,#3CF0H;(×)三、简答题1、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= ___3CH___;(DPL)=___5FH___;(SP)=___50H___;(6分)2、采用6MHz的晶振,定时1ms,用定时器方式0时的初值应为多少?(计算过程)(6分)解:∵采用6MHZ晶振∴机器周期为2us(213-X)×2×10-6=1×10-3∴X=7692(D)=1E0CH=1 1110 0000 1100(B),化成方式0要求格式为 1111 0000 1100 B即0F00CH综上可知:TLX=0CH, THX=0F0H3. 分析下列程序的功能(5分) PUSH ACC PUSH B POP ACCPOP B解: 该程序的功能是通过累加器ACC 与寄存器B 数据交换。
单片机试题和答案解析
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的地址是。
单片机试题与答案
单片机试题与答案一、单选题(共107题,每题1分,共107分)1.MCS-51单片机复位后程序计数器PC= ( ) 。
A、0FFFFB、2000C、0030D、0000H正确答案:D2.对于MCS-51系列单片机来说,立即寻址可寻址的空间是 ( ) 。
A、内部RAM中0-7FH的空间和SFRB、内部RAM和外部RAMC、程序存储器D、外部RAM正确答案:C3.8051单片机的P2口可以驱动 ( )个LSTTL负载。
A、8B、4C、32D、16正确答案:B4.累加器A的内容是85H,执行RR A 指令后累加器的内容变为( )。
A、0C6B、0C2C、42D、41H正确答案:B5.对于MCS-51系列单片机来说,相对寻址可寻址的最大范围是( )。
A、-129~+128B、-128~+127C、-127~+129D、-126~+127正确答案:B6.AT89C51单片机其串口工作方式中波特率可由用户根据晶振频率随意设定的是 ( )。
A、方式0和2B、方式0和1C、方式1和3D、方式1和2正确答案:C7.MCS-51系列单片机的堆栈位于( ) 中。
A、外部RAMB、程序存储器C、内部RAMD、寄存器正确答案:C8.对于MCS-51单片机来说,若其振荡器已经工作,则在其RST引脚加至少持续 ( )个机器周期的高电平就可以实现单片机的复位。
A、1B、2C、4D、6正确答案:B9.MCS-51系列单片机的P2口除作为输入/输出接口使用外,还可以作为 ( )使用。
A、数据总线B、高8位地址总线C、低8位地址总线D、控制总线正确答案:B10.8031单片机内部有 ( )个16位定时/计数器。
A、4B、3C、2D、5正确答案:C11.8031单片机的累加器是 ( ) 位的。
A、1B、16C、8D、4正确答案:C12.下列指令中有错误的是 ( ) 。
A、MOVB、MOVXC、(C)MOVD、JE、TF1,LOOP正确答案:A13.MCS-51系列单片机的P2口可以驱动 ( )个LSTTL负载。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六、设计题1.某单片机控制系统有8个发光二极管。
试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。
答:图(5分) 构思(3分)MOV A,#80H (1分)UP:MOV P1,A (1分)RR A (2分)SJMP UP (1分)2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。
试画出8051与外设的连接图并编程实现上述要求。
答:图(5分) 构思(3分)程序(4分)ORG 0000HLJMP MAINORG 0003HLJMP AINT0ORG 0013HLJMP BINT1MAIN: MOV IE,#83HSETB IT0SETB IT1MOV R0,#00HMOV DPTR,#TABUP: MOV A,R0MOVC A,@A+DPTRMOV P1,ASJMP UPAINT0: INC R0CJNE R0,#10,AINT01MOV R0,#0AINT01: RETIBINT1: DEC R0CJNE R0,#0FFH,BINT11MOV R0,#9BINT11: RETI1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。
1.SQR:1NC AMOVC A,@A+PCRETTAB:DB 0,1,4,9,16DB 25,36,49,64,812.请使用位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨C Y)2.ORL C,11HMOV 12H,CMOV C,P1.0ORL C,/10HANL C,12HMOV BIT,CRET3.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。
Y=10 01xxx> -=<⎧⎨⎪⎩⎪3. MOV A,V ARCJNE A,#0,COMPSJMP RES ;x=0,Y=0COMP:JNC POSI ;x>0,Y=1MOV A,#0FFH ;x<0,Y=-1SJMP RESPOSI:MOV A,#01HRES:MOV FUNC,ARET4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。
4. MOV R0,#SUMMOV A,R2ANL A,#OFHMOV @R0,A ;存低字节BCDMOV A,R2ANL A,#0F0HSW AP A1NC R0MOV @R0,A ;存高字节BCDRET5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。
5. MOV DPTR,#8000HMOV R0,#10HMOV R2,#50HLOOP:MOVX A,@DPTR ;取数MOVX @R0,A ;存数1NC DPTR1NC R0DJNZ R2,LOOPRE T1.已知如图,8155的PA口用于输出,PB口用于输入,PC口用于输出,请:(1)写出8155的各I/O口的口地址和存储器的地址范围。
1.(1)(2)编写出8155初始化程序。
B155命令字格式:(2)初始化程序:MOV DPTR,#0100HMOV A,#0DHMOVX @DPTR,A2.已知如图并给出下列程序,请在读图并理解程序后回答下列问题:(1)程序功能为_巡回采集8个通道的数据__。
(2)ADC0809的口地址为___ADC0809口地址为7FF0H~7FF7H(或7FF8~7FFFH)__。
(3)EOC的作用是_EOC为A/D转换结束信号,用来引起中断或查询,以便读取A/D的转换结果_。
(4)程序运行结果存于__外部RAM的A0H~A7H。
_。
ADC:MOV DPTR,#7FFOHMOV R0,#0A0HMOV R2,#8MOV A,#0LOOP:MOVX @DPTR,AJB P3.3,$MOVX A,@DPTRMOVX @R0,A1NC DPTR1NC R0DJNZ R2,LOOPAJMP ADC说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写) 1.ANL A,20H 直接寻址2.ADDC A,#20H 立即寻址3.JZ rel 相对寻址4.CLR C 位寻址5.RRA 寄存器寻址六、使用简单指令序列完成以下操作(12分)1.请将片外RAM20H—25H单元清零MoV R0,#20HMOV R7,#06HCLR ALOOP:MOVX @R0,AINC R0DJNZ R7,LOOP2.请将ROM3000H单元内容送R7MOV DPTR,#3000HCLR AMOVC A,@A+DPTRMOV R7,A1有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。
要求将该字符串中每一个字符加偶校验位。
(以调用子程序的方法来实现。
)源程序如下:ORG 1000HMOV R0,#40HMOV R7,#10NEXT: MOV A,①@R0ACALL SEPAMOV @R0,AINC R0DJNZ ②R7,NEXTSJMP $SEPA:ADD A,#00H③JNB PSW.0,SRETORL A,④#80HSRET:⑤RET2.从内部RAM30H单元开始,有10个单字节数据。
试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。
(10分)答:MOV R0,#30HMOV R1,#40HMOV A,#50HMOV R7,#10LOOP:MOV 20H,@R0JB 20H.7,FSHUZSHU:MOV @ R1,20HINC R1SJMP NEXTFSHU:XCH A,R1MOV @R1,AXCH A,R1INC ANEXT: DJNZ R7,LOOPSJMP $七:将内部RAM20H为首的16个单元的8位无符号数排序写出程序,并作适当注释SORT: MOV R0, #20HMOV R7,#07HCLR TR0 ;交换标志位复位LOOP: MOV A,@R0MOV 2BH, AINC R0MOV 2AH, @R0CLR CSUBB A, @R0;比较前后两个数JC NEXT ;MOV @R0, 2BHDEC R0MOV @R0, 2AHINC R0SETB TR0 ;置交换标志位有效NEXT: DJNZ R7, LOOPJB TR0, SORT;若交换标志位有效,继续进行HERE: SJMP $八、读图题(20分)阅读下列硬件图,补齐连接线(5分),并回答问题(各5分):(1、ALE、PSEN、WR、RD的功能ALE作地址锁存的选通信号,以实现低八位地址的锁存,PSEN信号作扩展程序存储器的读选通信号WR、RD作为扩展数据存储器和I/O端口的读写选通信号。
(2、图中各芯片的功能74LS373:地址锁存器,用来锁存P0口发送的地址低8位2764 :容量为8KB的程序存储器(EPROM)用来存储程序6264 :容量为8KB的数据存储器(RAM)用来存储数据8031:不含程序存储器的8位单片机芯片,是不带I/O设备的微型计算机。
(3、2764、6264的地址范围(P2.5取”0”)1.数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。
ORG 1000HMOV R7,#20HMOV R0, #30HMOV R1,#60HLOOP:MOV A,@R0MOV R1,AINC R0INC R1DJNZ R7, LOOPSJMP $END2. 将4个单字节数放片内30H~~33H,它们求和结果放在片内40H,41H单元。
ORG 1000HMOV R7,#04HMOV R0,30HCLR AMOV 41H,ALOOP:ADD A,@R0JNC NEXTINC 41HNEXT:INC R0DJNZ R7,LOOPMOV 40H,ASJMP $END3.RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD 码的十位和个位放在累加器A中,百位放在R2中。
ORG 2200HMOV A,40HMOV B,#64HDIV ABMOV R2,AMOV A,#0AHXCH A,BDIV ABSWAP AORL A,BSJMP $END4.编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。
ORG 1000HMOV R7,#07HMOV R0,#40HLOOP:MOV A,@R0ANL A,#0FHMOV @R0,AINC R0DJNZ R7,LOOPSJMP $END。