单片机程序题word文档良心出品.docx
《单片机程序题word文档良心出品.docx》由会员分享,可在线阅读,更多相关《单片机程序题word文档良心出品.docx(17页珍藏版)》请在冰豆网上搜索。
单片机程序题word文档良心出品
1.外部中断1采用负边沿的中断触发方式,请把程序补完整
ORG0000H
LJMPST
ORG
(1)
(1)A)O013HB)0003HC)0010HD)001BH
LJMPFT
ORG0100H
ST:
SETBEX1
SETBIT1
(2)
(2)A)LCALLFTB)SETBPX1C)SETBEAD)MOVP1,#0FFH
SJMP$
FT:
CPLP1.0
RETI
END
(1)A0013H
(2)CSETBEA
2.下面是一段软件延时程序,请把程序补完整
Delay:
(1)r7,#100;1us
(1)A)MOVB)MOVEC)ADDD)ORG
Del1:
movr6,#123;1us
NOP
DEL2:
DJNZR6,DEL2:
2us
DJNZR7,
(2):
2us
(2)A)DEL1:
B)DEL1C)DEL2D)DEL2:
SJMP$
END
程序延时时间约为(3)ms(3)A)100B)50C)75D)25
(1)AMOV
(2)BDEL1(3)D25
3.下面是一段多个单字节数求累加和程序,实现了从50H开始的连续5个字节求和,结果存放在R3R4中
ORG0000H
MOVR3,
(1)
(1)A)#0B)50C)50HD)#50H
MOVR4,
(1)
(1)
MOVR0,#50H
MOVR2,#5
LOOP:
MOVA,R4
ADDA,@R0
MOVR4,A
(2)R0
(2)A)ADDCB)ADDC)DECD)INC
CLRA
(3)A,R3(3)A)ADDCB)ADDC)DECD)INC
MOVR3,A
(4)R2,(5)(4)A)ADDCB)ADDC)DJNZD)INC
(5)A)SUM:
B)LOOP:
C)LOOPD)SUM
SJMP$
END
(1)A#0
(2)DINC(3)AADDC(4)CDJNZ(5)CLOOP
4.求函数Y=X!
(X=0,1,…7)的值。
设自变量存放在ABC单元。
Y值为双字节存于R2R3中,R3存放Y值低字节,查表程序如下
ORG0000H
ABCEQU30H
L1:
MOVA,ABC
ADDA,
(1)
(1)A)AB)BC)CD)ABC
MOVR3,A
ADDA,
(2)
(2)A)#04HB)#08HC)#06HD)#07H
MOVCA,@(3);1字节指令(3)A)A+DPTRB)AC)A+PCD)A+SP
(4)A,R3(4)A)MOVB)XCHC)ADDD)ADDC
ADDA,#04H
MOVCA,@(3)
MOV(5),A(5)A)R0B)R1C)R2D)R3
SJMP$
TAB:
DB01,00,01,00,02,00,06,00
DB24H,00H,20H,01,20H,07,40H,50H
END
(1)DABC
(2)B#08H(3)CA+PC(4)BXCH(5)CR2
5.ORG0000H
MOVA,#128
MOVB,#0AH
DIVAB
MOV30H,B(X语句)
(1)A)19B)12C)08HD)0F8H
MOVB,#0AH
DIVAB
MOV31H,B
MOV32H,A(Y语句)
(2)A)128HB)01HC)28HD)28
SJMP$
END
当程序执行到完X语句处时累加器A的值为
(1);当程序执行完Y语句时累加器A的值为
(2)
(1)B12
(2)B01H
6、ORG0000H.
MAIN:
MOVSP,#5FH
MOV70H,#40H
MOV71H,#10H
PUSH70H
PUSH71H
LCALLZERO
SJMP$
;子程序名:
ZERO功能:
对内部数据区清零
功能:
对内部数据区清零
入口参数:
70内部数据区地址
71h内部数据区长度
出口参数:
无
占用资源:
R0,R7,70h,71h
ZERO:
POPDPH
POPDPL
POP
(1)
(1)A)00HB)01HC)05HD)07H
POP
(2)
(2)A)00HB)01HC)05HD)07H
CLRA
LOOP:
MOV@R0,A
INCR0
DJNZR7,LOOP
PUSH(3)(3)A)DPLB)DPHC)DPTRD)PC
PUSH(4)(4)A)DPLB)DPHC)DPTRD)PC
RET
END
上述程序为主程序调用子程序,参数传递方式为(5)(5)A)寄存器B)堆栈C)地址D)其他
(1)A07H
(2)A00H(3)ADPL(4)BDPH(5)B堆栈
7.在P1.0输出周期2ms的方波。
(CPU采用12MHz时钟,T0产生1ms中断,T0采用方式1)
ORG0000H
START:
MOVTMOD,
(1)
(1)A)01HB)#01HC)10HD)#10H
MOVTL0,
(2)
(2)A)24HB)24C)#24HD)#24
MOVTH0,(3)(3)A)0FCHB)0E0HC)#0FCHD)#0E0H
STEBTR0
LOOP:
JBC(4),PTFO(4)A)TR0B)IT0C)IE0D)TF0
AJMPLOOP
PTF0:
MOVTL0,
(2)
MOVTH0,(3)
(5)P1.0(5)A)CLRB)SETBC)CPLD)INC
AJMPLOOP
(1)B#01H
(2)C#24H(3)C#OFCH(4)DTFO(5)CCPL
8.把内部RAM中起始地址为BLK1的数据块传送到外部RAM以BLK2为起始地址的区域,直到遇到“#”字符的ASCII码为止。
参考程序如下
ORG2000H
BLK1EQU30H
BLK2EQU1000H
MOVSP,#6FH
MOVR0,3BLK1;BLK1数据块起始地址
MOVDPTR,#BLK2;BLK2数据块起始地址
XH:
CLRC
MOVA,
(1);取数据
(1)A)R0B)#R0C)@R0HD)@R0
(2)A,#23H;判断是否为“#”字符
(2)A)ADDB)SUBBC)ADDCD)DEC
JZ(3)(3)A)XHB)XH:
C)STOP:
D)STOP
(4)ACC(4)A)SUBBLB)POPC)PISHD)ADD
(5)@DPTR,A(5)A)MOVB)MOVXC)MOVCD)ADD
INCR0
(6)DPTR(6)A)INCB)DECC)MOVCD)ADD
AJMPXH;循环控制
Stop:
SJMP$
END
(1)D@R0
(2)BSUBB(3)CSTOP:
(4)BPOP(5)BMOVX(6)AINC
9.在6位LED动态显示电路图中,
8155的PA口作
(1),
(1)A)字位码口B)字形码口C)输入口D)状态端口
PB口作
(2),
(2)A)字位码口B)输入口C)控制端口D)字形码口
PA和PB口都工作为(3),(3)A)输出口B)输入口C)控制端口D)状态端口
要使N1块显示数字3,其字形码为(4),字位码为(5),(4)A)2FHB)40HC)B0HD)80H
(5)A)04HB)01HC)08HD)10H
要使N1,N3,N5块同时显示数字6,其字形码为(6),字位码为(7),(6)A)0B2HB)42HC)82HD)7DH
(7)A)18HB)15HC)09HD)1AH
要使6位LED显示器全灭,字位码位(8)或字形码为(9),(8)A)3FHB)00HC)0FHD)20H
(9)A)00HB)0FHC)0F0HD)0FFH
要使其中一位显示y,其字形码位(10)(10)A)11HB)6EHC)91HD)81H
(1)A字位码口
(2)D字形码口(3)A输出口(4)CBOH(5)B01H(6)C82H(7)B15H(8)B00H(9)DOFFH(10)C91H
10.DJNZR0,rel这条指令含有两个操作数,第一个操作数R0属于
(1)
(1)A)直接B)寄存器C)寄存器间接D)位
寻址方式,第二个操作数rel属于
(2)
(2)A)立即B)基址加变址寄存器间接C)相对D)直接寻址方式
(1)B寄存器
(2)C相对
11.执行如下指令序列MOVSP,#50H
PUSHACC后SP的值为
(1)
(1)A)59B)59HC)81HD)51H,累加器ACC的值为
(2)
(2)A)50HB)59HC)51HD)不变
(1)D51H
(2)D不变
12.能够使累加器A的高三位取反的指令是
(1)
(1)A)ANLA,#0E0HB)ORLA,#0E0HC)XRLA,#0E0HD)NOTA,#0E0H,能使累加器A高6位置1的指令是
(2)
(2)A)ANLA,#0FCHB)ORLA,#0FCHC)XRLA,#0FCHD)NOTA,#0FCH
(1)CXRLA#OEOH
(2)BORLA#OFCH
13.一个外设与CPU之间传送的信息通常有
(1)、
(1)A)数据信息B)数字信息C)字节信息D)位信息
(2)、
(2)A)数据信息B)数字信息C)字节信息D)状态信息(3)、(3)A)数据信息B)控制信息C)字节信息D)位信息三类
(1)A数据信息
(2)D状态信息(3)B控制信息
14.下列哪种数据传送方式中CPU的有效利用率最低
(1)
(1)A)无条件传送B)查询式传送C)中断方式D)DHA方式
(1)B查询式传送
15.下面一段程序实现了ASCII码到二进制的转换,请把程序补充完整
ORG0000H
ATOH:
MOVA,#’A’
CLRC
SUBBA,
(1)
(1)A)#30B)30HC)#30HD)#03
CJNEA,
(2),HEQ
(2)A)#0AHB)#0AC)0AHD)#0AD
SJMPBIG
HEQ:
JCAEHD
BIG:
SUBBA,(3)(3)A)#70B)07C)07HD)#07H
AEHD:
AJMP$
END
(1)C#30H
(2)A#0AH(3)D#07H
16.20H单元中的两个BCD码相乘,结果以BCD码的形式存放在21H单元
ORG0000H
MOVB,20H
ANLB,
(1)
(1)A)0FHB)#0FHC)0F0HD)#0F0H
MOVA,20H
ANLA,#0F0H
SWAPA
MULAB
MOVB,#10
(2)AB
(2)A)MULB)DIVC)MOV