《《片机练习题答案》word版.doc》由会员分享,可在线阅读,更多相关《《片机练习题答案》word版.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 单片机练习题答案一、填空题1、若单片机振荡脉冲频率为6MHz时,一个机器周期为_ 2s _。2、AT89C51单片机的XTAL1和XTAL2引脚是_外接晶振或时钟_引脚。3、定时器计数器的工作方式3是指的将 定时器/计数器T0 拆成两个独立的8位计数器。4、若由程序设定RS1、RS0=01,则工作寄存器R0R7的直接地址为_080FH_。5、写出完成相应功能的汇编指令:将立即数11H送到R2_ MOV R2,#11H _、使ACC.2置位_ SETB ACC.2_、使累加器的最低2位清零_ ANL A,#0FCH _。6、A/D转换的作用是将_模拟_量转为数字量。ADC0809是_8_位的A
2、/D转换芯片。7、8051的堆栈区一般开辟在用户RAM区的地址为30H7FH。8、所谓寻址,其实质就是_如何确定操作数的单元地址问题_。9、若单片机振荡脉冲频率为12MHz时,一个机器周期为_1s _。10、定时器中断请求发生在_计数溢出的时候_。11、中断响应时间是指_从中断请求发生直到被响应去执行中断服务程序所需的时间_。12、通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方式称为_程序查询方式_。13、在中断服务程序中现场保护和现场恢复期间,中断系统应处在_关中断_状态。14、8051单片机的内部硬件结构包括了:中央处理器(CPU)、数据存储器(RAM)、
3、程序存储器、和2个16位定时/计数器以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过内部总线相连接。 15、MCS-51的堆栈只可设置在RAM的地址为30H7FH,堆栈寄存器sp是8位寄存器。16、MCS-51单片机的P0P4口均是并行I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的数据总线 和 地址总线,在P0P4口中,P0为真正的双相口,P1P3为准双向口;P3口具有第二引脚功能。17、若LED为共阳极接法(即负逻辑控制),则字符3的八段代码值(a-dot)应当为_0D_H。18、MCS-51片内20H2FH范围内的数据存储器
4、,既可以_字节_寻址又可以位寻址。19、AT89C51单片机有_2_级中断,_5_个中断源。20、MCS-51系列单片机的典型芯片型号分别为_8031或8051_、_ AT89C51或AT89C52_、_ AT89S51或AT89S52_。21、假定(SP)=40H , (39H)=30H,(40H)=60H。执行下列指令:POP DPHPOP DPL后,DPTR的内容为6030H,SP的内容是38H 。22、MCS51单片机外部中断请求信号有电平方式和 边沿方式 ,在电平方式下,当采集到INT0、INT1的有效信号为 低电平 时,激活外部中断。 23、十进制数45转换成十六进制数是_2D_H
5、,转换成二进制数是_00101101_B。24、AT89C51单片机内部硬件结构是由一个_8_位中央处理器(CPU)、一个256B片内RAM及_4_KB Flash ROM 、_21_个特殊功能寄存器、_4_个8位并行I/O口、_2_个16位定时/计数器、_1_个串行I/O口以及中断系统等部分组成,各功能部件通过片内单一总线联成一个整体,集成在一块芯片上。25、单片机内有组成微机的主要功能部件CPU 、存储器 和 I/O 接口。26、堆栈的特性是 先进后出 ,8051的堆栈一般开辟在 内部RAM30H7FH的范围内 ,其堆栈指针是 SP 。27、RS232C是 串行通信 总线标准。28、AT8
6、9C51单片机的P0口用作输出时,应外接_上拉电阻_。29、除了单片机芯片和电源外,AT89C51单片机最小系统包括_时钟_电路和_复位_电路。30、MCS-51有一个全双工的 异 步串行口,有 4 种工作方式。二、选择题1、下列同样优先级的中断源同时请求时,哪个可以优先处理? C A.T0 B.T1 C.INT0 D.INT1 2、MCS-51单片机复位操作的主要功能是把PC初始化为 C 。A.0100H B.2080H C.0000H D.8000H3、在MCS-51单片机内,当执行中断处理程序最后一句指令RETI后, D 。A.程序返回到ACALL的下一句 B.程序返回到LCALL的下一
7、句C.程序返回到主程序开始处 D.程序返回到响应中断时一句的下一句4、8051单片机中,唯一一个用户可以使用的16位寄存器是 D 。A.PSW B.ACC C.SP D.DPTR5、在CPU内部,反映程序运行状态或反映运算结果的寄存器是 B 。A.PC B.PSW C.A D.SP6、下列指令能使累加器A的最高位置1的是 D 。A.ANL A,#7FH B.ANL A,#80H C.ORL A,#7FH D.ORL A,#80H7、MCS51系列单片机的汇编指令系统共 A 条指令。A.111 B.112 C.113 D.1158、MCS-51单片机CPU的主要组成部分为 A 。A运算器、控制器
8、 B加法器、寄存器 C运算器、加法器 D运算器、译码器9、单片机上电复位后,PC的内容和SP的内容为 B 。A0000H,00H B0000H,07H C0003H,07H D0800H,08H10、访问外部存储器或其它接口芯片时,作数据线和低8位地址线的是 A 。AP0口 BP1口 CP2口 DP0口 和 P2口11、8051单片机上电复位后,堆栈区的最大允许范围是 B 个单元。A64 B120 C128 D25612、 8051的P0口,当使用外部存储器时它是一个 D 。A传输高8位地址口 A传输低8位地址口C传输高8位数据口 D传输低8位地址/数据口 13、寻址方式就是 C 的方式。A查
9、找指令操作码 B查找指令 C查找指令操作数 D查找指令操作码和操作数14、ALU表示 D 。A累加器 B程序状态字寄存器 C计数器 D算术逻辑部件15、定时/计数器有种操作模式,它们由 B 寄存器中的M1 M0状态决定。A.TCON B.TMOD C.PCON D.SCON16、判断运算是否溢出时用PSW的 B 标志位。A.CY B.OV C.P D.RS017、访问片外数据存储器的寻址方式是 C 。A.立即寻址 B.寄存器寻址 C.寄存器间接寻址 D.直接寻址18、8051单片机的VSS(20)引脚是 B 引脚。A主电源+5V B接地 C备用电源 D访问片外存贮器19、下列指令正确的是 A
10、。A.MOV DPTR,#1234H B.MOV R1,R2 C.MOV A,DPTR D.MOV A,A+DPTR20、所谓CPU是指 A 。A、运算器和控制器 B、运算器和存储器 C、输入输出设备 D、控制器和存储器21、MCS-51复位后,程序计数器PC= B 。即单片机从 B 开始执行指令。A0001H B0000H C0003H D0023H22、单片机的P0、P1口作输入用途之前必须 A 。A在相应端口先置1 B在相应端口先置0 C外接高电平 D外接上拉电阻23、程序是以 C 形式存放在程序存储器中的。A.C 语言程序 B.汇编程序C.二进制编码 D.BCD码24、用Protues
11、软件仿真单片机实验时,要装载到单片机中的文件后缀名是 A 。A.HEX B.SDI C.LSI D.ASM 25、MCS-51单片机复位后,专用寄存器ACC的状态是 C 。A01H B07H C00H D0FFH26、8051的程序计数器PC为16位计数器,其寻址范围是 D 。A8K B16K C32K D64K27、MCS-51的立即寻址方式中,立即数前面 D 。A应加前缀“/:”号 B不加前缀号 C应加前缀“”号 D应加前缀“#”号28、单片机中PUSH和POP指令常用来 C 。A保护断点 B保护现场 C保护现场,恢复现场 D保护断点,恢复断点29、MCS-51寻址方式中,直接寻址的寻址空
12、间是 D 。A工作寄存器R0R7 B专用寄存器SFR C程序存储器ROM 数据存储器256字节范围30、单片机中使用MOVX A,R1指令, C 寻址数据存储器1050H单元。A能直接 B不能 C与P2口配合能 D与P1口配合能31、下列指令中比较转移指令是指 B 。DJNZ Rn,rel BCJNE Rn,#data,rel CDJNZ direct,rel DJBC bit,rel 32、执行如下三条指令后,30H单元的内容是 B 。MOV R1,#30H MOV 40H,#0EHMOV R1,40HA40H B0EH C30H DFFH33、在MCS-51指令中,下列指令中 C 是无条件
13、转移指令。ALCALL addr16 BDJNZ direct,rel CSJMP rel DACALL addr1134、可实现将内部数据存储单元的内容传送到累加器A中的指令是 C 。AMOVX A,R0 BMOV A, #data CMOV A,R0 DMOVX A, DPTR35、指令MUL AB 执行前(A)=18H ,(B)=05H,执行后,A、B的内容是 D 。A90H,05H B90H,00H C78H,05H D78H,00H36、MCS-51指令系统中,指令MOV A,R0,执行前(A)=86H,(R0)=20H,(20H)=18H,执行后 C 。A(A)=86H B(A)=
14、20H C(A)=18H D(A)=00H37、MCS-51指令系统中,指令ADD A,R0 执行前(A)=38H,(R0)=54H,(C)=1 执行后,其结果为 D 。A(A)=92H (C)=1 B(A)=92H (C)=0 C(A)=8CH (C)=1 D(A)=8CH (C)=038、控制串行接口工作方式的寄存器是 C A.TCON B.PCON C.SCON D.TMOD39、已知:R0=12H (12H)=28H MOV A,#32H MOV A,45H MOV A,R0 执行结果A的内容为 B A.46H B.28H C.45H D.32H40、下列指令能使累加器A低4位不变,高
15、4位置F的是 D 。AANL A,#OFH BANL A,#OFOH CORL A,#OFH DORL A,#OF0H41、下列指令能使R0高4位不变,低4位置F的是 C 。AANL R0,#OFH BANL R0,#OFOH CORL 0,#OFH DORL R0,#OFH42、单片机中的程序计数器PC用来 C 。A.存放指令 B.存放正在执行的指令地址C.存放下一条指令地址 D.存放上一条指令地址43、单片机AT89C51访问片外程序存储器,引脚 A 。A.必须接地 B.必须接+5V电源C.可悬空 D.以上三种情况视需要而定44、下列指令能使R0的最高位取反的是 B 。ACPL R0.7
16、BXRL 00H,#80H CCPL (R0).7 DARL R0,#80H45、下列指令判断若累加器A的内容不为0就转LP的是 D 。AJB A,LP BJNZ A,LP CJZ LP DCJNE A,#0,LP46、MCS-51指令系统中,执行下列程序后,程序计数器PC的内容为 C 。ORG 000HMOV DPDR,#1000MOV A, #00HMOV 20H,ALJMP 1500ENDA100 B1000 C1500 D047、MCS-51指令系统中,执行下列程序后,堆栈指针SP的内容为 B 。MOV SP,#30HMOV A,20HLACALL 1000MOV 20H,ASJMP
17、$A00H B30H C32H D07H48、在单片机算术运算过程中,指令DA A常用于 C 运算。A二进制 B加法 CBCD码加法 D十六进制49、指令ANL A,R0的功能是 A 。A.将A与寄存器R0的内部容按位逻辑与 B.将A与寄存器R0的内部容按位逻辑异或C.将A与寄存器R0的内部容按位逻辑非 D.将A与寄存器R0的内部容按位逻辑或50、执行下列程序后,内部RAM 30H单元的内容是 B 。MOV 30H,#00HMOV R0,#30HMOV A, 30HADD A, #05HMOVC A, A+PCMOV R0, ASJMP $TDB:DB 00H ,01H ,02H,03H,05
18、HA00H B02H C05H D30H51、定时器T1的溢出标志为TF1,采用查询方式,若查询到有溢出时,该标志 A 。A.由软件清零 B.由硬件自动清零 C.随机状态 D.AB都可以52、对程序存储器的读操作,只能用下列哪一种指令 B 。A.MOV B.MOVC C.MOVX D.PUSH53、将内部数据存储器53H单元的内容传送至累加器,其指令是 A 。 AMOV A, 53H BMOV A, #53H CMOVC A, 53H DMOVX A, #53H54、8051单片机的定时器T1用作定时方式时是 B 。A由内部时钟频率定时,一个时钟周期加1B由内部时钟频率定时,一个机器周期加1
19、C由外部时钟频率定时,一个时钟周期加1 D由外部时钟频率定时,一个机器周期加155、8051单片机的定时器T0用作定时方式时是 D 。A由内部时钟频率定时,一个时钟周期加1 B由外部计数脉冲计数,一个机器周期加1 C外部定时脉冲由T0(P3.4)输入定时 D由内部时钟频率计数,一个机器周期加156、用8051的定时器T1作计数方式,用模式2,则工作方式控制字为 A 。A60H B02H C06H D20H57、用8051的定时器T1作定时方式,用模式2,则初始化编程为 B 。AMOV TOMD,#06H BMOV TOMD,#20H CMOV TOMD,#10H DMOV TOMD,#60H
20、58、启动定时器1开始定时的指令是 D 。ACLR TR0 BCLR TR1 CSETB TR0 DSETB TR159、使8051的定时器T1停止计数的指令是使TCON的 D 。ATF0位置1 BTR0位置1 CTR0位置0 DTR1位置060、下列指令判断若定时器T0未计满数就原地等待的是 B 。AJB T0,$ BJNB TF0,$ CJNB TR0,$ DJB TF0,$61、当CPU响应外部中断1 INT1的中断请求后,程序计数器PC的内容是 C 。A0003H B000BH C00013H D001BH62、MCS-51单片机的串行口是 B 工作的。A.单工 B. 全双工 C. 半
21、双工 D.单工/半双工63、若某存储器芯片地址线为10根,那么它的存储容量为 A 。A.1KB B.2KB C.4KB D.8KB64、当外部中断0发出中断请求后,中断响应的条件是 C 。ASETB ET0 BSETB EX0 CMOV IE,#81H DMOV IE,#61H三、判断题()1MCS-51单片机是高档16位单片机。()28051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。()3MCS-51的数据存储器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最大可扩充64K字节的RAM。()4单片机的一个机器周期是指完成某一个规
22、定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期。()5MCS-51单片机上电复位后,片内数据存储器的内容均为00H。()6MCS-51单片机的片内存储器称为程序存储器。()7所谓的单片机,就是将CPU、存储器、定时/计数器、中断功能以及I/O设备等主要功能部件都集成在一起的超大规模集成电路的微型计算机。 ()88051每个中断源相应地在芯片上都有其中断请求输入引脚。 ()9MCS-51单片机的指令格式中操作码与操作数之间必须用“,”分隔。()10MCS-51指令:MOVX A,DPTR ;表示将DPTR指示的地址单元中的内容传送至A中。()11MCS-51指令中,MOVC为ROM传
23、送指令。()12RC A为循环左移指令。 ()13CPU和外设之间的数据传送方式主要有查询方式和中断方式,两者相比后者的效率更低。 ()14MCS-51单片机,CPU对片外RAM的访问只能用寄存器间接寻址的方式,且仅有4 条指令。()15指令MUL AB执行前(A)=F0H,(B)=05H,执行后(A)=FH5,(B)=00H。()16-13的反码是11111010,补码是11110111 ()17MOV A,R7 将R7单元中的数据作为地址,从该地址中取数,送入A中。()18已知:A=1FH,(30H)=83H,执行 ANL A,30H 后,结果:A=03H (30H)=83H P=0。()
24、19MCS-51指令系统中,执行指令ORG 2000H;BCD: DB “A,B,C,D”;表示将A、B、C、D的ASII码值依次存入2000H开始的连续单元中。()2051单片机只能做控制用,不能完成算术运算。 下面几条指令是否正确:()21MOV R1,80H ()22INC DPTR ()23CLR R0 ()24ANL R1,#0FH ()258051单片机的PC与DPTR都在CPU片内,因此指令MOVC A,A+PC与指令MOVC A,A+DPTR执行时只在单片机内部操作,不涉及片外存储器。()26设PC的内容为35H,若要把程序存贮器08FEH单元的数据传送至累加器A,则必须使用指
25、令MOVC A,A+PC。()27在MCS-51单片机内部结构中,TCON为控制寄存器,主要用来控制定时器的启动与停止。()28PC存放的是当前执行的指令。 ()29DECC A,C该指令书写格式正确。 ()30MCS-51单片机系统复位时,TMOD模式控制寄存器的低4位均为0。()318051单片机对最高优先权的中断响应是无条件的。()32MCS-51单片机的中断允许寄存器的IE的作用是用来对各中断源进行开放或屏蔽的控制。()33为了消除按键的抖动,常用的方法有硬件和软件两种方法。 ()34ADC0809是一块数/模转换芯片,而DAC0832是一块模/数转换芯片。 ()35串行口的中断,CP
26、U响应中断后,必须在中断服务程序中,用软件清除相应的中断标志位,以撤消中断请求。()36指令JNB TF0,LP的含义是:若定时器T0未计满数,就转LP。()37当8051的定时器T0计满数变为0后,溢出标志位(TCON的TF0)也变为0。四、程序分析题1、已知(A)=83H,(R0)=17H,(17H)=34H,执行下列程序段后: ANL A , #17H ORL 17H , A XRL A , R0 CPL A 问:(A)= CBH ,(R0)= 17H ,(17H)= 37H 。 2、已知(10H)=5AH ,(2EH)=1FH,(40H)=2EH,(60H)=3DH , 执行下列程序段
27、后: MOV 20H , 60H MOV R1 , 20H MOV A , 40H XCH A , R1 XCH A , 60H XCH A , R1 MOV R0 , #10H XCHD A , R0 问:( A ) = 5AH ( 10H ) =1FH ( 2EH ) = 3DH( 40H ) = 2EH ( 60H ) = 3DH3、执行下列程序段: MOV A , #00H MOV R7 , #0FFH MOV PSW, #80H ADDC A , R7 问:( CY ) = 1 ( AC ) = 1( P ) = 0( ACC ) = 00H ( R7 ) = 0FFH4、已知( A
28、 ) =19H ,( B ) =04H DIV AB 问:执行后,( A ) = 6 ( B ) = 15、写出执行每条指令后的结果。 MOV A,#25H CLR A ;(A)= _00H_。 CPL A ;(A)= _0DA H_。6、执行下列程序段中第一条指令后,(P1.7)=_0_, (P1.3)=_0_, (P1.2)=_0_;执行第二条指令后,(P1.5)=_1_,(P1.4)=_1_,(P1.3)=_1_.ANL P1,#73HORL P1,#38H7、下列程序段执行后,(A)=_13_,(B)=_16_.MOV A,#0FBHMOV B,#12HDIV AB8、下列程序段执行后
29、,(R0)=_7EH_,(7EH)=_FFH_,(7FH)=_3FH_.MOV R0,#7FHMOV 7EH,#0MOV 7FH,#40HDEC R0DEC R0DEC R09、写出下列指令执行后的结果。 MOV A,#37H MOV R0,#20H MOV R0,A ANL A,#0FH(A)=_07H_ (R0)=_ 20H _ (20H)=_37H _10、已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=_0BH_,内部RAM(0AH)=_46H_,(0BH)=_45H_PUSH DPLPUSH DPH11、下列程序中注释的数字为执行该指令所需的机器周期数,若
30、单片机的晶振频率为6MHz,问执行下列程序需要多少时间_16us_MOV R3,#100;1LOOP:NOP ;1NOP NOPDJNZ R3,LOOP ;2RET ; 212、执行下面程序后,所实现的逻辑运算式为_p1.7=p1.3p1.1/p1.4_。 MOV C,P1.3ANL C,P1.1CPL P1.4 ANL C,P1.4 MOV P1.7,C13、写出下面每条指令顺序执行后,各目的存储单元的值,并说明该条指令中源操作数的寻址方式。MOV R0 , #20H ;_(R0)=20H_立即寻址_MOV 20H , #29H ;_(20H)=29H 立即寻址_CLR C ;_CY=0_M
31、OV A , R0 ;_(A)=29H _寄存器间接寻址_14、执行如下三条指令后,30H单元的内容是 _0EH MOV R1,#30H MOV 40H,#0EH MOV R1,40H 15、请分析下面程序执行后的操作结果,(A)=_40H_,(R0)=_60H_。MOV A,#60HMOV R0,#40HMOV R0,AMOV 41H,R0XCH A,R016、请描述数码管静态显示和动态扫描显示的原理?态显示位码始终有效,每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱
32、动5个数码管静态显示则需要58=40根I/O端口来驱动,数码管动态扫描的方法,将8个数码管的段选线并联在一起,由位选线控制是哪一位数码管有效,轮流向各位数码管送出字形码和相应的位选,轮流点亮扫描过程中,每位数码管的点亮时间是极为短暂的(约1ms),利用数码管的余晖效应和人眼的视觉残留效应,使人感觉好像各位数码管同时都在显示。17、已知:(R0)=00H,写出执行指令后的结果。 ORG 0000H MOV A,R0 JZ L1 MOV R1,#00H AJMP L2L1: MOV R1,#0FFH L2: SJMP L2 END执行完整段程序后,(A)= _00H _ (R1)= _0FFH _
33、。18、已知片内RAM中ONE和TWO两个单元中存有两个无符号数,将两个数中的小者存入30H单元。请完成以下程序实现上述功能。MOV A, ONECJNE A, TWO, BIGSJMP STO BIG: JC STO MOV A, TWO STO: MOV 30H, ARET19、执行下面程序后,(A)=_ 06H _。MOV A, #06HMOVC A, A+PCDB 00H , 01H , 02H , 03H , 04H , 05H , 06H20、设(SP)60H,片内RAM的(30H)24H,(31H)10H,执行程序: PUSH 30H PUSH 3lH POP DPL POP D
34、PH MOV A,#00HMOVX DPTR,A 最后执行结果是将0送 _外部RAM地址为2410H的单元中_ 。21、写出下面每条指令顺序执行后,各目的存储单元的值,并说明该条指令中源操作数的寻址方式(已知内部RAM(40H)的值为30H)。MOV R1, #40H ;_(R1)=40H,立即寻址_CLR C ;_(Cy)=0,位寻址_MOV A,R1 ;_(A)=30H,寄存器间接寻址_RLC A ;_(A)=60H,寄存器寻址 22、有如下程序段: MOV R0,#30H SETB C CLR A ADDC A,R0 MOV R0,A 执行后(30H)= 31H 23、执行下列程序后,(
35、A)=_40H_,(B)=_1_。MOV A,#0AHMOV B,#20HMUL AB24、存放于ADDR1和ADDR2中的两个无符号二进制数,求其中的大数并存于ADDR3中,请完成以下程序实现上述功能。MOVA, ADDR1CJNE A, ADDR2,LP1LP1: J C LP2 MOV ADDR3, A SJMP LP3 LP2: MOV ADDR3,ADDR2 LP3: RET25、要求在AT89C51单片机P1.2引脚输出周期为100s的方波。设fosc=12MHz。使用T0,采用中断控制写出在方式1下的设计程序26、设R0=20H,R1=25H,(20H)=80H,(21H)=90
36、H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行后,结果如何?CLR MOV R2,#3H LOOP: MOV ,R0 ADDC ,R1 MOV R0, A INC R0 INC R1 DJNZ R2, LOOP JNC NEXT MOV R0, #01H SJMP $NEXT:DEC R0 SJMP $答:(20)H= 20H , (21H)= 00H , (22H)= 17H,Cy= 1 , A= 17H , R0= 23H , R1= 28H27、执行下列程序后,(A)=_40H(B)=_01HMOV A,#0AHMOV B,#20HMUL AB28、如下图所示,要求AT89C51单片机利用两片级联的74HC595移位寄存器,采用动态扫描显示的原理,在D1、D2两个四联装数码管上依次自左向右显示“83270061”这8个数字,请编写相应的程序。;=