单片机程序题.docx
- 文档编号:3035663
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:20
- 大小:37.35KB
单片机程序题.docx
《单片机程序题.docx》由会员分享,可在线阅读,更多相关《单片机程序题.docx(20页珍藏版)》请在冰点文库上搜索。
单片机程序题
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)MOVD)ORL
SWAPA
(3)A,B(3)A)MULB)DIVC)MOVD)ORL
MOV(4),A(4)A)21HB)#21HC)21D)#21
SJMP$
END
(1)B#0FH
(2)BDIV(3)DORL(4)A21H
17.把16进制数FFH转换成BCD码,结果存放在20H22H单元
ORG0000H
MOVA,#0FFH
MOVB,
(1)
(1)A)64HB)#64HC)100HD)#100H
DIVAB
MOV20H,A
MOVA,
(2)
(2)A)AB)BC)@R0D)R7
MOVB,(3)(3)A)10B)10HC)#10D)#10H
DIVAB
MOV21H,A
MOV22H,B
SJMP$
END
(1)B#64H
(2)BB(3)D#10H
18.利用定时/计数器1产生1ms定时,采用中断方式编程使在P1.7引脚上输出周期为2ms的方波,设单片机晶振频率为6MHz,请把程序补充完整
ORG0000H
LJMPMAIN
ORG
(1)
(1)A)0003HB)000BHC)0013HD)001BH
LJMPTSVR
ORG0100H
MAIN:
MOVTMOD,#10H
MOVTH1,
(2)
(2)A)0FEHB)0FCHC)0E0HD)0F0H
MOVTL1,(3)(3)A)18HB)0BHC)0CHD)19H
SETBET1
SETBEA
SETB(4)(4)A)IT1B)TR1C)IT0D)TR0
SJMP$
TSVR:
MOVTH1,
(2)
MOVTL1,(3)
(5)P1.7(5)A)CLRB)SETBC)ANLD)CPL
RETI
END
(1)C0013H
(2)A0FEH(3)COCH(4)BTR1(5)DCPL
19.对内部RAM40H单元开始连续16个单元清零。
ORG0000H
MAIN:
MOVR0,
(1)
(1)A)40HB)#40HC)16HD)10
MOVR7,
(2)
(2)A)40HB)#40HC)16HD)#10H
LCALLZERO
SJMP$
(3):
PUSH(4)(3)A)ZEROB)STARTC)MAIND)SUB
(4)A)AB)ACCC)BD)SP
CLRA
LOOP:
MOV@R0,A
INCR0
DJNZR7,LOOP
(5)(5)A)SJMP$B)LJMPMAINC)RETD)RETI
(1)B#40H
(2)D#10H(3)AZero(4)BACC(5)Cret
20.有如下指令序列
MOVA,#80H
ADDA,#80H
SETBF0
ANLC,/F0
CPLC
MOVF0,C
当执行完该指令序列后布尔累加器C的值为
(1)
(1)A)0B)1C)0FFHD)不确定,F0的值为
(2)
(2)A)0B)1C)0FFHD)不确定
(1)B1
(2)B1
21.中断入口地址通常放的指令为
(1)
(1)A)LCALLB)LJMPC)RETD)RETI
(1)BLJMP
22.DECR0和DJNZR0,这两条指令对通用寄存去R0的操作都是(R0)←(R0)-1,但是前者属于
(1)
(1)A)数据传送B)算术运算C)逻辑运算D)控制转移指令,后者属于
(2)
(2)A)数据传送B)算术运算C)逻辑运算D)控制转移指令。
(1)B算术运算
(2)D控制转移
23.用指令实现逻辑表达式:
Q=U•(/V+W))+X•(/(Y+Z))。
(备注:
/A表示对A求反)
UBITP1.0
VBITP1.4
WBITTF1
XBIT22H.0
YBIT22H.3
ZBITIE1
QBITP1.5
ORG0000H
MOVC,
(1)
(1)A)WB)XC)UD)V
ORLC,W
(2)
(2)A)ORLC,UB)CPLCC)ANLC,/UD)CLRC
ANLC,U
MOVF0,C
MOVC,Y
(3)C,Z(3)A)ORLB)ANLC)CPLD)SETB
CPLC
(4)C,X(4)A)ORLB)ANLC)CPLD)SETB
ORLC,F0
(5)(5)A)SETBQB)CPLQC)MOVQ,CD)MOVC,Q
SJMP$
END
(1)DV
(2)BCPLC(3)AORL(4)BANL(5)CMOVQ,C
24.根据R2的内容转向不同的分支
ORG0000H
MAIN:
MOVDPTR,
(1)
MOVA,R2
(2)A,R2
JNCNADD
(3)
NADD:
JMP(4)
TBJ1:
(5)
AJMPPRG1
AJMPPRH2
AJMPPRG3
AJMP$
PRG0:
MOVA,#0
SJMPHALT
PRG1:
MOVA,#1
SJMPHALT
PRG2;MOVA,#2
SJMPHALT
PRG3:
MOVA,#3
HALT:
SJMP$
END
(1)D#TBJ1
(2)DADD(3)BINCDPH(4)B@A+DPTR(5)BAJMPPRG0
25.MCS-51片内数据寄存器分为工作寄存器、位寻址区和数据缓冲区三个区域。
工作寄存器区德地址范围:
(1);分
(2)组。
当前寄存器组由程序状态字PSW中(3)位的状态组合决定。
片内数据存储器中位寻址的范围:
(4)
(1)B00-1FH
(2)A4(3)CRS1,RS0(4)20-2FH
26.执行如下指令序列
MOVPSW,#0
SETBC
MOVA,#90H
MOVR1,A
ADDCA,R1
后累加器A的值为
(1)
(1)A)20HB)21HC)181HD)121H,标志寄存器PSW的值为
(2)
(2)A)0C0HB)0C4HC)84HD)44H
(1)B21H
(2)C84H
30.MCS-51系列单片机中定时控制寄存器TCON是
(1)位寄存器,其中TCON。
7是
(2)位标志位;定时方式寄存器TMOD.1、TMOD.0是(3)、(4)标志位,他们组合定义了T0的工作方式
(1)D8
(2)CTF1(3)BM1(4)CM0
31.若要求外部中断0为边沿触发方式,则下列哪条指令不是初始化中断过程中必须的
(1)
(1)DSETBPX0
32.阅读程序
ORG0000H
MOVR2,#2
MAIN:
MOVDPTR,#TBJ1
MOVA,R2
(1)A,R2
JNCNADD
INCDPH
NADD:
JMP@A+DPTR
TBJ1:
AJMPPRG0
AJMPPRG1
AJMPPRH2
AJMPPRG3
AJMP$
PRG0:
MOVA,#0
SJMPHALT
PRG1:
MOVA,#1
SJMPHALT
PRG2;MOVA,#2
SJMPHALT
PRG3:
MOVA,#3
HALT:
SJMP$
END
根据这个程序,执行完jmp指令后执行
(2)条指令。
这个程序是(3)(3)A)散转B)查表C)排序D)数制转换典型算法的程序,是(4)(4)A)顺序B)分支C)循环D)子程序结构的程序。
(1)CADD
(2)CajmpPRG2(3)A散转(4)B分支
33.把存放2000H~20FFH连续256个数据搬移到3000H~30FFH单元。
(1)D#2000H
(2)B#20H(3)D#30H(4)ADPL
1.单片机有(111)条指令,分为(五类)
111条五类
2.下列堆栈指令错误的是:
(1)A)PUSH30B)POPAC)PUSHPSWD)POPDPH
BPOPA
3.I/O口编址方式为
(1)单独编址
(2)存储器统一编址
4.CPU是单片机的核心部件,有(运算器)和(控制器)两大部分组成,前者是运算部件,它是以(ALU)为核心
(1)运算器
(2)控制器(3)ALU
5
(1)A)ACCB)PSWC)SPD)DPTR.是标志寄存器,(SP)是堆栈指针,(SCON)串行口通讯控制器,(IE)是中断允许寄存器,(DPTR)是数据指针为(16)位
(1)PSW
(2)SP(3)SCON(4)IE(5)DPTR(6)16
6.I/O设备和CPU是通过
(1)A)电线B)三态门C)锁存器D)接口电路连接的,起作用
(2)A)分离作用B)隔离作用C)转发作用D)传递作用(3)A)锁存作用B)保持作用C)通信作用D)电压转换(4)A)分离B)信号转化C)变换作用D)保护作用(5)A)通信作用B)类型转化C)联络作用D)总线复用
(1)D接口电路
(2)B隔离作用(3)A锁存作用(4)C变换作用(5)C联络作用
7.存储系统将存储器分为
(1)A)程序存储器B)内部RAMC)寄存器D)外部RAM和
(2)A)特殊功能寄存器B)通用寄存器C)位寄存器D)数据寄存器采用(3)A)哈佛结构,通过MOVX指令可访问(4)A)内部RAMB)通用寄存器C)程序存储器D)片外数据寄存器和I/O接口
(1)A程序储存器
(2)D数据寄存器(3)A哈佛(4)D片外数据寄存器和I/O接口
8.单片机芯片有8个部分组成,即
(1)A)中央处理器B)程序计数器PCC)累加器AD)控制器时钟电路,
(2)A)程序存储器B)布尔处理器C)运算器D)PSW数据存储器并行I/O口,串行口,定时器/计数器及中断系统
(1)A中央处理器
(2)A程序储存器
9.51内部的并行I/O口P3口除了作为通用I/O口还具有第二功能,其中P3.2和P3.3第二功能分别为(/INT0)和(/INT1)
(1)C/INT0
(2)D/INT1
10.若要求外部中断0为边沿触发方式,则下列哪条指令不是初始化中断过程中必须的
(1)A)SETBEAB)SETBEX0C)SETBIT0D)SETBPX0
(1)DSETBPXO
11.执行如下操作
ORG0000H
MOVDPTR,#5000H
MOVA,#20H
JMP@A+PC
ORG501EH
JNCA
INCA
DECA
SJMP$
END
当执行完JMP@A+DPTR指令后程序计数器PC的值为
(1)
(1)A)501EHB)501FHC)5020HD)5021H,程序运行后累加器A的值为
(2)
(2)A)22HB)21HC)20HD)1FH
(1)C5020H
(2)D1FH
12.十六进制数63H分别用不同进制表示:
二进制(01100011),八进制(143),十进制(99),若63H为BCD码,则对应的十进制数为(63)
(1)0110001
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 程序