单片机练习题答案 一、填空题
1、若单片机振荡脉冲频率为6MHz时,一个机器周期为______ 2μs ________。 2、AT89C51单片机的XTAL1和XTAL2引脚是___外接晶振或时钟__引脚。
3、定时器/计数器的工作方式3是指的将 定时器/计数器T0 拆成两个独立的8位计数器。
4、若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为__08~0FH____。 5、写出完成相应功能的汇编指令:将立即数11H送到R2____ MOV R2,#11H ____、使ACC.2置位____ SETB ACC.2__、使累加器的最低2位清零___ ANL A,#0FCH ___。 6、A/D转换的作用是将__模拟____量转为数字量。ADC0809是__8___位的A/D转换芯片。 7、8051的堆栈区一般开辟在用户RAM区的地址为30H~7FH。 8、所谓寻址,其实质就是__如何确定操作数的单元地址问题_。
9、若单片机振荡脉冲频率为12MHz时,一个机器周期为____1μs ______。
10、定时器中断请求发生在__计数溢出的时候_____。
11、中断响应时间是指__从中断请求发生直到被响应去执行中断服务程序所需的时间____。
12、通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方式称为____程序查询方式___。
13、在中断服务程序中现场保护和现场恢复期间,中断系统应处在__关中断__状态。 14、8051单片机的内部硬件结构包括了:中央处理器(CPU)、数据存储器(RAM)、程序
存储器、和2个16位定时/计数器以及并行I/O口、串行口、中断控制系统、时钟电路、
位处理器等部件,这些部件通过 内部总线相连接。
15、MCS-51的堆栈只可设置在RAM的地址为30H~7FH,堆栈寄存器sp是8位寄存器。
16、MCS-51单片机的P0~P4口均是并行I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的数据总线 和 地址总线 ,在P0~P4口中,P0为真正的双相口,P1—P3为准双向口;P3口具有第二引脚功能。
17、若LED为共阳极接法(即负逻辑控制),则字符3的八段代码值(a->dot)应当为__0D__H。
18、MCS-51片内20H~2FH范围内的数据存储器,既可以__字节__寻址又可以位寻址。
第 1 页 共 18 页
19、AT89C51单片机有___2___级中断,___5___个中断源。
20、MCS-51系列单片机的典型芯片型号分别为_____8031或8051_____、_____ AT89C51或AT89C52_____、_____ AT89S51或AT89S52____。
21、假定(SP)=40H , (39H)=30H,(40H)=60H。执行下列指令: POP DPH POP DPL
后,DPTR的内容为6030H,SP的内容是38H 。
22、MCS—51单片机外部中断请求信号有电平方式和 边沿方式 ,在电平方式下,当采集到INT0、INT1的有效信号为 低电平 时,激活外部中断。
23、十进制数45转换成十六进制数是__2D___H,转换成二进制数是___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的堆栈一般开辟在 内部RAM30H~7FH的范围内 ,其堆栈指针是 SP 。 27、RS232C是 串行通信 总线标准。
28、AT89C51单片机的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.8000H
3、在MCS-51单片机内,当执行中断处理程序最后一句指令RETI后, D 。 A.程序返回到ACALL的下一句 B.程序返回到LCALL的下一句
第 2 页 共 18 页
C.程序返回到主程序开始处 D.程序返回到响应中断时一句的下一句 4、8051单片机中,唯一一个用户可以使用的16位寄存器是 D 。 A.PSW B.ACC C.SP D.DPTR
5、在CPU内部,反映程序运行状态或反映运算结果的寄存器是 B 。 A.PC B.PSW C.A D.SP
6、下列指令能使累加器A的最高位置1的是 D 。
A.ANL A,#7FH B.ANL A,#80H C.ORL A,#7FH D.ORL A,#80H 7、MCS-51系列单片机的汇编指令系统共 A 条指令。 A.111 B.112 C.113 D.115 8、MCS-51单片机CPU的主要组成部分为 A 。
A.运算器、控制器 B.加法器、寄存器 C.运算器、加法器 D.运算器、译码器
9、单片机上电复位后,PC的内容和SP的内容为 B 。
A.0000H,00H B.0000H,07H C.0003H,07H D.0800H,08H 10、访问外部存储器或其它接口芯片时,作数据线和低8位地址线的是 A 。 A.P0口 B.P1口 C.P2口 D.P0口 和 P2口 11、8051单片机上电复位后,堆栈区的最大允许范围是 B 个单元。 A.64 B.120 C.128 D.256
12、 8051的P0口,当使用外部存储器时它是一个 D 。 A.传输高8位地址口 A.传输低8位地址口 C.传输高8位数据口 D.传输低8位地址/数据口 13、寻址方式就是 C 的方式。
A.查找指令操作码 B.查找指令 C.查找指令操作数 D.查找指令操作码和操作数
14、ALU表示 D 。
A.累加器 B.程序状态字寄存器 C.计数器 D.算术逻辑部件 15、定时/计数器有4种操作模式,它们由 B 寄存器中的M1 M0状态决定。 A.TCON B.TMOD C.PCON D.SCON 16、判断运算是否溢出时用PSW的 B 标志位。 A.CY B.OV C.P D.RS0
第 3 页 共 18 页
17、访问片外数据存储器的寻址方式是 C 。
A.立即寻址 B.寄存器寻址 C.寄存器间接寻址 D.直接寻址 18、8051单片机的VSS(20)引脚是 B 引脚。
A.主电源+5V B.接地 C.备用电源 D.访问片外存贮器 19、下列指令正确的是 A 。
A.MOV DPTR,#1234H B.MOV R1,R2 C.MOV A,@DPTR D.MOV A,@A+DPTR 20、所谓CPU是指 A 。
A、运算器和控制器 B、运算器和存储器 C、输入输出设备 D、控制器和存储器 21、MCS-51复位后,程序计数器PC= B 。即单片机从 B 开始执行指令。 A.0001H B.0000H C.0003H D.0023H 22、单片机的P0、P1口作输入用途之前必须 A 。
A.在相应端口先置1 B.在相应端口先置0 C.外接高电平 D.外接上拉电阻 23、程序是以 C 形式存放在程序存储器中的。 A.C 语言程序 B.汇编程序 C.二进制编码 D.BCD码
24、用Protues软件仿真单片机实验时,要装载到单片机中的文件后缀名是 A 。 A.HEX B.SDI C.LSI D.ASM 25、MCS-51单片机复位后,专用寄存器ACC的状态是 C 。 A.01H B.07H C.00H D.0FFH 26、8051的程序计数器PC为16位计数器,其寻址范围是 D 。 A.8K B.16K C.32K D.64K 27、MCS-51的立即寻址方式中,立即数前面 D 。
A.应加前缀“/:”号 B.不加前缀号 C.应加前缀“@”号 D.应加前缀“#”号 28、单片机中PUSH和POP指令常用来 C 。
A.保护断点 B.保护现场 C.保护现场,恢复现场 D.保护断点,恢复断点
29、MCS-51寻址方式中,直接寻址的寻址空间是 D 。
A.工作寄存器R0~R7 B.专用寄存器SFR C.程序存储器ROM D.数据存储器256字节范围
第 4 页 共 18 页
30、单片机中使用MOVX A,@R1指令, C 寻址数据存储器1050H单元。 A.能直接 B.不能 C.与P2口配合能 D.与P1口配合能 31、下列指令中比较转移指令是指 B 。
DJNZ Rn,rel B.CJNE Rn,#data,rel C.DJNZ direct,rel D.JBC bit,rel 32、执行如下三条指令后,30H单元的内容是 B 。 MOV R1,#30H MOV 40H,#0EH MOV @R1,40H
A.40H B.0EH C.30H D.FFH 33、在MCS-51指令中,下列指令中 C 是无条件转移指令。
A.LCALL addr16 B.DJNZ direct,rel C.SJMP rel D.ACALL addr11 34、可实现将内部数据存储单元的内容传送到累加器A中的指令是 C 。
A.MOVX A,@R0 B.MOV A, #data C.MOV A,@R0 D.MOVX A, @DPTR 35、指令MUL AB 执行前(A)=18H ,(B)=05H,执行后,A、B的内容是 D 。 A.90H,05H B.90H,00H C.78H,05H D.78H,00H
36、MCS-51指令系统中,指令MOV A,@R0,执行前(A)=86H,(R0)=20H,(20H)=18H,执行后 C 。
A.(A)=86H B.(A)=20H C.(A)=18H D.(A)=00H
37、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)=0 38、控制串行接口工作方式的寄存器是 C
A.TCON B.PCON C.SCON D.TMOD 39、已知:R0=12H (12H)=28H
MOV A,#32H
MOV A,45H
MOV A,@R0 执行结果A的内容为 B
A.46H B.28H C.45H D.32H 40、下列指令能使累加器A低4位不变,高4位置F的是 D 。
第 5 页 共 18 页
A.ANL A,#OFH B.ANL A,#OFOH C.ORL A,#OFH D.ORL A,#OF0H
41、下列指令能使R0高4位不变,低4位置F的是 C 。
A.ANL R0,#OFH B.ANL R0,#OFOH C.ORL 0,#OFH D.ORL R0,#OFH
42、单片机中的程序计数器PC用来 C 。
A.存放指令 B.存放正在执行的指令地址 C.存放下一条指令地址 D.存放上一条指令地址
43、单片机AT89C51访问片外程序存储器,EA引脚 A 。 A.必须接地 B.必须接+5V电源
C.可悬空 D.以上三种情况视需要而定 44、下列指令能使R0的最高位取反的是 B 。
A.CPL R0.7 B.XRL 00H,#80H C.CPL (R0).7 D.ARL R0,#80H 45、下列指令判断若累加器A的内容不为0就转LP的是 D 。 A.JB A,LP B.JNZ A,LP C.JZ LP D.CJNE A,#0,LP
46、MCS-51指令系统中,执行下列程序后,程序计数器PC的内容为 C 。 ORG 000H
MOV DPDR,#1000 MOV A, #00H MOV 20H,A LJMP 1500 END
A.100 B.1000 C.1500 D.0
47、MCS-51指令系统中,执行下列程序后,堆栈指针SP的内容为 B 。 MOV SP,#30H MOV A,20H LACALL 1000 MOV 20H,A SJMP $
A.00H B.30H C.32H D.07H
第 6 页 共 18 页
48、在单片机算术运算过程中,指令DA A常用于 C 运算。 A.二进制 B.加法 C.BCD码加法 D.十六进制 49、指令ANL A,R0的功能是 A 。
A.将A与寄存器R0的内部容按位逻辑与 B.将A与寄存器R0的内部容按位逻辑异或 C.将A与寄存器R0的内部容按位逻辑非 D.将A与寄存器R0的内部容按位逻辑或 50、执行下列程序后,内部RAM 30H单元的内容是 B 。 MOV 30H,#00H MOV R0,#30H MOV A, 30H ADD A, #05H MOVC A, @A+PC MOV @R0, A SJMP $
TDB:DB 00H ,01H ,02H,03H,05H
A.00H B.02H C.05H D.30H
51、定时器T1的溢出标志为TF1,采用查询方式,若查询到有溢出时,该标志 A 。 A.由软件清零 B.由硬件自动清零 C.随机状态 D.AB都可以 52、对程序存储器的读操作,只能用下列哪一种指令 B 。 A.MOV B.MOVC C.MOVX D.PUSH
53、将内部数据存储器53H单元的内容传送至累加器,其指令是 A 。
A.MOV A, 53H B.MOV A, #53H C.MOVC A, 53H D.MOVX A, #53H
54、8051单片机的定时器T1用作定时方式时是 B 。 A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1 C.由外部时钟频率定时,一个时钟周期加1 D.由外部时钟频率定时,一个机器周期加1
55、8051单片机的定时器T0用作定时方式时是 D 。 A.由内部时钟频率定时,一个时钟周期加1
第 7 页 共 18 页
B.由外部计数脉冲计数,一个机器周期加1 C.外部定时脉冲由T0(P3.4)输入定时 D.由内部时钟频率计数,一个机器周期加1
56、用8051的定时器T1作计数方式,用模式2,则工作方式控制字为 A 。 A.60H B.02H C.06H D.20H 57、用8051的定时器T1作定时方式,用模式2,则初始化编程为 B 。
A.MOV TOMD,#06H B.MOV TOMD,#20H C.MOV TOMD,#10H D.MOV TOMD,#60H
58、启动定时器1开始定时的指令是 D 。
A.CLR TR0 B.CLR TR1 C.SETB TR0 D.SETB TR1 59、使8051的定时器T1停止计数的指令是使TCON的 D 。
A.TF0位置1 B.TR0位置1 C.TR0位置0 D.TR1位置0 60、下列指令判断若定时器T0未计满数就原地等待的是 B 。 A.JB T0,$ B.JNB TF0,$ C.JNB TR0,$ D.JB TF0,$
61、当CPU响应外部中断1 INT1的中断请求后,程序计数器PC的内容是 C 。 A.0003H B.000BH C.00013H D.001BH 62、MCS-51单片机的串行口是 B 工作的。
A.单工 B. 全双工 C. 半双工 D.单工/半双工 63、若某存储器芯片地址线为10根,那么它的存储容量为 A 。 A.1KB B.2KB C.4KB D.8KB
64、当外部中断0发出中断请求后,中断响应的条件是 C 。
A.SETB ET0 B.SETB EX0 C.MOV IE,#81H D.MOV IE,#61H
三、判断题
(×)1.MCS-51单片机是高档16位单片机。
(√)2.8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。
(√)3.MCS-51的数据存储器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最大可扩充64K字节的RAM。
(×)4.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期。
第 8 页 共 18 页
(×)5.MCS-51单片机上电复位后,片内数据存储器的内容均为00H。 (×)6.MCS-51单片机的片内存储器称为程序存储器。
(√)7.所谓的单片机,就是将CPU、存储器、定时/计数器、中断功能以及I/O设备等主要功能部件都集成在一起的超大规模集成电路的微型计算机。 (×)8.8051每个中断源相应地在芯片上都有其中断请求输入引脚。 (×)9.MCS-51单片机的指令格式中操作码与操作数之间必须用“,”分隔。 (√)10.MCS-51指令:MOVX A,@DPTR ;表示将DPTR指示的地址单元中的内容传送至A中。
(×)11.MCS-51指令中,MOVC为ROM传送指令。 (×)12.RC A为循环左移指令。
(×)13.CPU和外设之间的数据传送方式主要有查询方式和中断方式,两者相比后者的效率更低。 (√)14.MCS-51单片机,CPU对片外RAM的访问只能用寄存器间接寻址的方式,且仅有4 条指令。
(×)15.指令MUL AB执行前(A)=F0H,(B)=05H,执行后(A)=FH5,(B)=00H。 (×)16.-13的反码是11111010,补码是11110111 (√)17.MOV A,@R7 将R7单元中的数据作为地址,从该地址中取数,送入A中。 (×)18.已知:A=1FH,(30H)=83H,执行 ANL A,30H 后,结果:A=03H (30H)=83H P=0。
(×)19.MCS-51指令系统中,执行指令ORG 2000H; BCD: DB “A,B,C,D”;
表示将A、B、C、D的ASII码值依次存入2000H开始的连续单元中。
(×)20.51单片机只能做控制用,不能完成算术运算。 下面几条指令是否正确:
(√)21.MOV @R1,80H (√)22.INC DPTR (×)23.CLR R0 (×)24.ANL R1,#0FH (×)25.8051单片机的PC与DPTR都在CPU片内,因此指令MOVC A,@A+PC与指令MOVC A,@A+DPTR执行时只在单片机内部操作,不涉及片外存储器。
(×)26.设PC的内容为35H,若要把程序存贮器08FEH单元的数据传送至累加器A,则必须使用指令MOVC A,@A+PC。
第 9 页 共 18 页
(√)27.在MCS-51单片机内部结构中,TCON为控制寄存器,主要用来控制定时器的启动与停止。
(×)28.PC存放的是当前执行的指令。 (×)29.DECC A,C该指令书写格式正确。 (√)30.MCS-51单片机系统复位时,TMOD模式控制寄存器的低4位均为0。 (×)31.8051单片机对最高优先权的中断响应是无条件的。
(√)32.MCS-51单片机的中断允许寄存器的IE的作用是用来对各中断源进行开放或屏蔽的控制。
(√)33.为了消除按键的抖动,常用的方法有硬件和软件两种方法。 (×)34.ADC0809是一块数/模转换芯片,而DAC0832是一块模/数转换芯片。 (√)35.串行口的中断,CPU响应中断后,必须在中断服务程序中,用软件清除相应的中断标志位,以撤消中断请求。
(√)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 , 执行下列程序段后: MOV 20H , 60H MOV R1 , 20H MOV A , 40H XCH A , R1 XCH A , 60H
共 18 页 第 10 页
XCH A , @R1 MOV R0 , #10H XCHD A , @R0
问:( A ) = 5AH ( 10H ) =1FH ( 2EH ) = 3DH ( 40H ) = 2EH ( 60H ) = 3DH
3、执行下列程序段: MOV A , #00H MOV R7 , #0FFH MOV PSW, #80H ADDC A , R7
问:( CY ) = 1 ( AC ) = 1( P ) = 0 ( ACC ) = 00H ( R7 ) = 0FFH
4、已知( A ) =19H ,( B ) =04H DIV AB
问:执行后,( A ) = 6 ( B ) = 1
5、写出执行每条指令后的结果。 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,#73H
ORL P1,#38H
共 18 页 第 11 页
7、下列程序段执行后,(A)=___13______,(B)=___16______. MOV A,#0FBH MOV B,#12H DIV AB
8、下列程序段执行后,(R0)=__7EH_____,(7EH)=_FFH____,(7FH)=__3FH___. MOV R0,#7FH MOV 7EH,#0 MOV 7FH,#40H DEC @R0 DEC R0 DEC @R0
9、写出下列指令执行后的结果。 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 DPL
PUSH DPH
11、下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间___16us_____ MOV R3,#100;1
共 18 页 第 12 页
LOOP:NOP ;1 NOP NOP
DJNZ R3,LOOP ;2
RET ; 2
12、执行下面程序后,所实现的逻辑运算式为___p1.7=p1.3^p1.1^/p1.4__。 MOV C,P1.3 ANL C,P1.1 CPL P1.4
ANL C,P1.4 MOV P1.7,C
13、写出下面每条指令顺序执行后,各目的存储单元的值,并说明该条指令中源操作数的寻址方式。
MOV R0 , #20H ;__(R0)=20H____立即寻址__________________ MOV 20H , #29H ;_(20H)=29H 立即寻址_________________ CLR C ;__CY=0_________________________________ MOV A , @R0 ;__(A)=29H ___寄存器间接寻址_____________
14、执行如下三条指令后,30H单元的内容是 ___0EH MOV R1,#30H MOV 40H,#0EH MOV ﹫R1,40H
15、请分析下面程序执行后的操作结果,(A)=__40H_,(R0)=__60H_。 MOV A,#60H MOV R0,#40H MOV @R0,A
共 18 页 第 13 页
MOV 41H,R0 XCH A,R0
16、请描述数码管静态显示和动态扫描显示的原理?
态显示位码始终有效,每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,
数码管动态扫描的方法,将8个数码管的段选线并联在一起,由位选线控制是哪一位数码管有效,轮流向各位数码管送出字形码和相应的位选,轮流点亮扫描过程中,每位数码管的点亮时间是极为短暂的(约1ms),利用数码管的余晖效应和人眼的视觉残留效应,使人感觉好像各位数码管同时都在显示。
17、已知:(R0)=00H,写出执行指令后的结果。 ORG 0000H MOV A,R0 JZ L1
MOV R1,#00H AJMP L2
L1: MOV R1,#0FFH L2: SJMP L2 END
执行完整段程序后,(A)= __00H __ (R1)= __0FFH __。
18、已知片内RAM中ONE和TWO两个单元中存有两个无符号数,将两个数中的小者存入30H单元。请完成以下程序实现上述功能。 MOV A, ONE CJNE A, TWO, BIG SJMP STO
BIG: JC STO MOV A, TWO
共 18 页 第 14 页
STO: MOV 30H, A RET
19、执行下面程序后,(A)=_____ 06H _________。 MOV A, #06H MOVC A, @A+PC
DB 00H , 01H , 02H , 03H , 04H , 05H , 06H
20、设(SP)=60H,片内RAM的(30H)=24H,(31H)=10H,执行程序: PUSH 30H PUSH 3lH POP DPL POP DPH MOV A,#00H MOVX @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
共 18 页 第 15 页
MOV ﹫R0,A
执行后(30H)= 31H
23、执行下列程序后,(A)=_40H__,(B)=__1___。 MOV A,#0AH MOV B,#20H MUL AB
24、存放于ADDR1和ADDR2中的两个无符号二进制数,求其中的大数并存于ADDR3中,请完成以下程序实现上述功能。 MOV A, ADDR1 CJNE A, ADDR2,LP1 LP1: J C LP2 MOV ADDR3, A SJMP LP3 LP2: MOV ADDR3,ADDR2 LP3: RET
25、要求在AT89C51单片机P1.2引脚输出周期为100μs的方波。设fosc=12MHz。使用T0,采用中断控制写出在方式1下的设计程序
26、设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行后,结果如何? CLR C MOV R2,#3H LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0, A INC R0 INC R1
共 18 页 第 16 页
MUL AB
MOV B,#20H
MOV A,#0AH
SJMP $
DJNZ R2, LOOP
SJMP $
NEXT:DEC R0
JNC NEXT
MOV @R0, #01H
27、执行下列程序后,(A)=_40H(B)=_01H
Cy= 1 , A= 17H , R0= 23H , R1= 28H
答:(20)H= 20H , (21H)= 00H , (22H)= 17H,
;P2.0-595串行数据输入 P2.1-595移位时钟脉冲 P2.2-595输出锁存器控制脉冲
;======================================================================== 28、如下图所示,要求AT89C51单片机利用两片级联的74HC595移位寄存器,采用动态扫描显示的原理,在D1、D2两个四联装数码管上依次自左向右显示“83270061”这8个数字,请编写相应的程序。
共 18 页 第 17 页
;======================================================================== 29、内部RAM从list单元开始存放一单字节正数表,表中之数作无序排列,并以-1作结束标志。编程实现表中找出最小值。 MOV R0,#LIST MOV A,@R0 MOV MIN,A LOOP5:INC R0 MOV A,@R0
_JNB ACC.7____,LOOP3 RET
LOOP3:CJNE A,MIN,LOOP1 LOOP1:_JNC____ LOOP2 MOV MIN,A LOOP2:SJMP LOOP5
30、设两个十进制数分别在内部RAM 40H单元和50H单元开始存放(低位在前),其字节长度存放在内部30H单元中。编程实现两个十进制数求和,并把求和结果存放在40H开始的单元中。 MOV R0,#40H MOV R1,#50H MOV R2,#30H _CLR C________ LOOP:MOV A,@R0 ADDC A,@R1 __DA A_______ MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP RET
共 18 页 第 18 页
因篇幅问题不能全部显示,请点此查看更多更全内容