练习题(有答案)

更新时间:2024-02-02 03:01:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1.8031单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。

a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在(b )

a) RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为0111 0101 0100 0010 则其表示的十进制数值为( b )

a) 7542H b) 7542 c) 75.42H d) 75.42 4.单片机能直接运行的程序叫 ( c ) 。

a)源程序 b)汇编程序 c)目标程序 d)编译程序 5.CPU主要的组成部部分为( a )

a)运算器、控制器 b)加法器、寄存器 c)运算器、寄存器 d)运算器、指令译码器 6.INTEL 8051 CPU是( c )位的单片机

a) 16 b)4 c)8 d)准16 7.8031复位后,PC与SP的值为( b )

a )0000H,00H b) 0000H,07H c) 0003H,07H d)0800H,00H

8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为(b )。

a)MOV A, @R1 b)MOVC A, @A + DPTR c)MOVX A, @ R0 d)MOVX A, @ DPTR

9.8031单片机中既可位寻址又可字节寻址的单元是( a )

a)20H b)30H c)00H d)70H 10.下列哪条指令是正确的( d )

a) PUSH R2 b) ADD R0,A c) MOVX A @DPTR d) MOV @R0,A 11.单片机8031的ALE引脚是 ( b ) 。

A.输出高电平 B.输出矩形脉冲,频率为fosc的1/6 C.输出低电平 D.输出矩形脉冲,频率为fosc的1/2 12.单片机8031的引脚 /EA ( d ) 。

A.必须接地 B.必须接+5V C.可悬空 D.以上三种视需要而定

13.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是(a )。

A.P0口 B.P1口 C.P2口 D.P0口 和 P2口 14.PSW中的RS1和RS0用来 (a ) 。

a.选择工作寄存器区号 B.指示复位 C.选择定时器 D.选择工作方式

15.上电复位后,PSW的值为 ( d ) 。

A.1 B。07H C。FFH D。0

16.51单片机上电复位后,堆栈区的最大允许范围是 (b )个单元。

A.64 B。120 C。128 D。256

17.单片机上电复位后,堆栈区的最大允许范围是内部RAM的 ( d ) 。

A.00H—FFH B.00H—07H C.07H—7FH D.08H—7FH 18.INTEL8031的P0口,当使用外部存贮存器时它是一个 ( d) 。 A.传输高8位地址口 A.传输低8位地址口

C.传输高8位数据口 D.传输低8位地址/数据口 19.P0口作数据线和低8位地址线时 ( b) 。

A.应外接上拉电阻 B.不能作I/O口 C.能作I/O口 D.应外接高电平

20.寻址方式就是 ( c ) 的方式。

A.查找指令操作码 B.查找指令

C.查找指令操作数 D.查找指令操作码和操作数

21.8031 单片机若晶振频率为fosc=12MHz,则一个机器周期等于( c) μS。

A.1/12 B.1/2 C.1 D.2

22.单片机上电后或复位后,工作寄存器R0是在 (a ) 。

A.0区00H单元 B.0区01H单元 C.0区09H单元 D.SFR

23.单片机8051的XTAL1和XTAL2引脚是 (d ) 引脚。

A.外接定时器 B.外接串行口 C.外接中断 D.外接晶振 24.8051单片机的VSS(20)引脚是 ( B) 引脚。

A.主电源+5V B.接地 C.备用电源 D.访问片外存贮器

25.8051单片机的VCC(40)引脚是 (A ) 引脚。

A.主电源+5V B.接地 C.备用电源 D.访问片外存贮器

26.8051单片机( A)口是一个8位漏极型开路型双向I/O端口。 A.P0 B.P1 C.P2 D.P3

27.MCS—51复位后,程序计数器PC= (B )。即程序从 ( B ) 开始执行指令。 A.0001H B.0000H C.0003H D.0023H

28.MCS—51的片内外的ROM是统一编址的,如果/EA端保持高电平,8051的程序计数器PC在 (B )地址范围内。

A.1000H—FFFFH B.0000H—FFFFH C.0001H—0FFFH D.0000H—0FFFH

29.MCS—51的专用寄存器SFR中的堆栈指针SP是一个特殊的存贮区,用来 ( ?? ),它是按后进先出的原则存取数据的。 A.存放运算中间结果 B.存放标志位

C.暂存数据和地址 D.存放待调试的程序

30.单片机的堆栈指针SP始终是指示 ( B )。

A.堆栈底 B.堆栈顶 C.堆栈地址 D.堆栈中间 31.单片机的P0、P1口作输入用途之前必须 (A ) 。

A.在相应端口先置1 B.在相应端口先置0 C.外接高电平 D.外接上拉电阻

32.MCS—51的串行数据缓冲器SBUF用于( B ) 。

A.存放运算中间结果 B.存放待发送或已接收到的数据 C.暂存数据和地址 D.存放待调试的程序 33.MCS—51单片机复位后,专用寄存器ACC的状态是 (A ) 。 A.0000H B.07H C.00H D.0FFH 34.当程序状态字寄存器PSW状态字中RS1和RS0分别为0和1 时,系统先用的工作寄存器组为 (B ) 。

A.组0 B.组1 C.组2 D.组3

35.8051单片机中,唯一一个用户可使用的16位寄存器是 ( D ) 。

A.PSW B.ACC C. SP D.DPTR

36.8051的程序计数器PC为16位计数器,其寻址范围是( D)。

A.8K B.16K C.32K D.64K

37.单片机应用程序一般存放在( B )中。

A.RAM B.ROM C.寄存器 D.CPU

38.下列指令中影响堆栈指针的指令是( D )。 A.LJMP B.ADD C.MOVC A,A+PC D.LCALL 39.MCS—51汇编语言指令格式中,唯一不可缺少的部分是(B )。 A.标号 B.操作码 C.操作数 D.注释 40.MCS—51的立即寻址方式中,立即数前面( D )。 A.应加前缀“/:”号 B.不加前缀号 C.应加前缀“@”号 D.应加前缀“#”号

41.MCS—51的立即寻址的指令中,立即数就是 (B )。 A.放在寄存器R0中的内容 B.放在程序中的常数 C.放在A中的内容 D.放在B中的内容 42.单片机中PUSH和POP指令常用来 (C )。

A.保护断点 B.保护现场

C.保护现场,恢复现场 D.保护断点,恢复断点 43.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是 ( A ) 。

A.JNB P1.0,LP B.JB P1.0,LP C.JC P1.0,LP D.JNZ P1.0,LP

44.下列指令中比较转移指令是指 ( B ) 。

A.DJNZ Rn,rel B.CJNE Rn,#data,rel C.DJNZ direct,rel D.JBC bit,rel

45.MCS—51指令系统中,执行下列程序后,堆栈指针SP的内容为 ( B )。

MOV SP,#30H MOV A,20H LCALL 1000 MOV 20H,A SJMP $

A.00H B.30H C.32H D.07H 46.MCS—51指令系统中,指令DA A是 (D ) 。 A.除法指令 B.加1指令 C.加法指令 D.十进制调整指令

47.MCS—51指令系统中,指令DA A应跟在 ( B ) 。 A.加法指令后 B.BCD码的加法指令后 C.减法指令后 D.BCD码的减法指令后 48.执行下列程序后,累加器A的内容为 ( b ) 。 ODG 0000H MOV A, #00H ADD A, #02H

MOV DPTR, #0050H MOVC A, @A+DPDR MOV @R0, A SJMP $

ORG 0050H

BAO: DB 00H,08H,0BH,6H,09H,0CH END

A.00H B.0BH C.06H D.0CH 49.8051单片机传送外部存贮器地址信号的端口是( D) 。 A.P0口和P1口 B.P1口和P2口

C.P1口和P3口 D.P0口和P2口

50.单片机程序存储器中储存的程序通常称为( C )

A.汇编语言 B.高级语言 C.机器语言 D.逻辑语言 51.MCS-51单片机的位寻址区位于内部RAM的(D )单元。 A. 00H—7FH B. 20H—7FH C. 00H—1FH D. 20H—2FH

52.在MCS—51单片机的运算电路中,不能为ALU提供数据的是( A )

A.PSW B.寄存器B C.累加器A D.暂存器 53.执行返回指令时,返回的断点是(C )

A.调用指令的首地址 B.调用指令的末地址 C.调用指令下一条指令的首地址 D.返回指令的末地址 54.内部RAM中的位寻址区定义的位是给(D)

A.位传送操作准备的 B.位逻辑运算操作准备的 C.位控制转移操作准备的 D.以上都对

55.MCS-51单片机可分为两个中断优先级,各中断源的优先级别设定是利用寄存器( D )

A.IE B.TCON C.SCON D.IP

56.CPU是根据( A )引脚上的电平来区分是从片内存储器取指还是从片外存储器取指。

A./EA B.ALE C.RESET D./PSEN 57.下列指令正确的是( D )

A.PUSH @R0 B.DJNZ @R1,rel C.SETB A D.JC NEXT

58.MCS-51单片机外部地址扩展总线由( B )构成。

A.P0和P1 B.P0和P2 C.P0和P3 D.P1和P2

59.标准51单片机定时器的计数时钟周期T等于(D ) A.2/f B.4/f C.6/f D.12/f

二、填空题

1.一个完整的微机系统由 和 两大部分组成。 2. MCS-8051系列单片机字长是 8 位,有 16 根引脚,96系列字长是 位。

3.8051 的引脚RST是____(IN脚还是OUT脚),当其端出现_高___电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到_低___电平,8051才脱离复位状态,进入程序运行状态,从ROM 0 H单元开始取指令并翻译和执行。

4.半导体存储器分成两大类 和 ,其中 具有易失性,常用于存储 。

5. 8051单片机的存储器的最大特点是 ,Px并行口的地址是与 内部数据 存储器统一编址的,或者说属于该存储器。 6.求十进制数-102的补码(以2位16进制数表示),该补码为 。 7.PC存放_______________,具有__自动加____特性。在8051中决定程序执行顺序的是PC还是DPTR? 它是__位? (是,不是)SFG?

8.123= B= H。

9. 8051最多可以有 个并行输入输出口,最少也可以有 个并行口,即 。P3常需复用作 。 10.8051内部有 并行口,P0口直接作输出口时,必须外

接 ;并行口作输入口时,必须先 ,才能读入外设的状态。

11. ALE信号的作用是 。

12. 8051复位后,PC= H。若希望从片内存储器开始执行,/EA脚应接 高 电平,PC值超过 时,8051会自动转向片外存储器继续取指令执行。

13.MCS-51的堆栈只可设置在 ,其最大容量为 ,存取数据的原则是 。堆栈寄存器SP是 位寄存器,存放 。

14.中断处理的全过程分为以下3个阶段: 、 、 。 15.定时和计数都是对 进行计数,定时与计数的区别是 。

16.读扩展程序存储器的读控制信号是 ,读扩展数据存储器的读控制信号是 . 17.当CPU访问片外的存储器时,其低八位地址由 口提供,高八位地址由 口提供,8位数据由 口提供。

18.在I/O口中, 口在接LED时,必须提供上拉电阻, 口具有第二功能。

19. 89C51具有 KB的字节寻址能力。

20.在89C51中,片内RAM分为地址为 的真正RAM区,和地址为 的特殊功能寄存器(SFR) 区两个部分。

21.在89C51中,通用寄存器区共分为 组,每组 个工作寄存器,当CPU复位时,第 组寄存器为当前的工作寄存器。

22、在89C51中,一个机器周期包括 个振荡周期,而每条指令都由一个或几个机器周期组成,分别有单周期指令、双周期指令和 4周期 指令。 23、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个 电平并维持 个机器周期,可将系统复位。

24、单片机89C51复位后,其I/O口锁存器的值为 ,堆栈指针的值为 ,SBUF的值为 ,内部RAM的值不受复位的影响,而其余寄存器的值全部为 。

25.单片机89C51片内有两个 位的定时/计数器,即T0和T1,它们都有

和 的功能。 26、单片机89C51的时钟频率为6MHz,若要求定时1ms,定时/计数器工作于模式1,其定时/计数器的初值为 。

27、单片机89C51具有 通信和 通信两种通信方式 28 、串行通信有 通信和 通信两种通信方式。 29、在异步通信中,数据的帧格式定义一个字符由4部分组成,即: 、 、 和 。

30、单片机89C51中的串行通信共有 种方式,其中方式 是用作同步移位寄存器来扩展I/O口的。

三、判断题(对者打√,错者打×,并改正)

1 中断服务程序的最后一条指令是RET。 ( )

2 存储器分成内存和外存两大部分,其中外存可以直接与CPU交换信息。 ( )

3 P2口既可以作为I/O使用,又可以作地址/数据复用口使用。( ) 4 在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址。( )

5 RC A为循环左移指令。 ( )

6 MOV A,30H的源操作数为立即寻址方式。 ( ) 7 MOV A,@A+DPTR是一条查表指令。 ( ) 8 MUL AB的执行结果是高8位在A中,低8 位在B中。 ( ) 9 AJMP跳转空间最大可达到64KB 。 ( ) 10 DPTR是由DPH和DPL两个8位特殊寄存器组成的。 ( )

11.MCS—51单片机是高档16位单片机。( )

12.MCS—51的产品8051与8031的区别是:8031片内无ROM。( )

13.单片机的CPU从功能上可分为运算器和存贮器。( )

14.MCS-51的指令寄存器是一个8位寄存器,用于暂存待执行指令,等待译码。( )

15.MCS—51的指令寄存器是对指令寄存器中的指令进行译码,将指令转变为执行此指令所需要的电信号。( )

16.8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。 ( )

17.8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存程序运行中的各种状态信息。 ( )

18.MCS—51的程序存贮器用于存放运算中间结果。 ( ) 19.MCS—51的数据存贮器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最大可扩充64K字节的RAM。 ( )

20.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。 ( ) 21.CPU的机器周期为振荡器频率的倒数。 ( )

22.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期组成。 ( ) 23.单片机的指令周期是执行一条指令所需要的时间。一般由若干个机器周期组成。 ( ) 24.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。( ) 25.MCS—51单片机上电复位后,片内数据存储器的内容均为00H。 ( )

26.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的方脉冲。 ( )

27.8051单片机片内RAM从00H~1FH的32个单元,不仅可以作工作寄存器使用,而且可作为RAM来读写。 ( )

28.MCS—51单片机的片内存贮器称为程序存贮器。 ( ) 29.MCS—51单片机的数据存贮器是指外部存贮器。 ( ) 30.MCS—51单片机的特殊功能寄存器集中布置在片内数据存贮器的一个区域中。 ( )

31.当89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。( )

32.当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。( ) 33.MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同的。( )

34是读端口还是读锁存器是用指令来区别的。( )

35.在89C51的片内RAM区中,位地址和部分字节地址是冲突的。( ) 36.中断的矢量地址位于RAM区中。( )

37.在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。( ) 38.工作寄存器区不允许做普通的RAM单元来使用。( ) 39.工作寄存器组是通过置位PSW中的RS0和RS1来切换的。( ) 40.特殊功能寄存器可以当作普通的RAM单元来使用。( )

41.访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。( )

42.堆栈指针SP的内容可指向片内00H~7FH的任何RAM单元,系统复位后,SP初始化为00H。( )

43.DPTR只能当作一个16位的特殊功能寄存器来使用。( ) 44.程序计数器PC是一个可以寻址的特殊功能寄存器。( )

45.单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。( )

46.单片机系统上电后,其内部RAM的值是不确定的。( )

47.在执行子程序调用或执行中断服务程序时都将产生压栈的动作。( ) 48.定时/计数器工作于定时方式时,是通过89C51片内振荡器输出经12分频后的脉冲进行计数,直至溢出为止。( )

49.定时/计数器工作于计数方式时,是通过89C51的P3.4和P3.5对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。( ) 50.定时/计数器在工作时需要消耗CPU的时间。( )

51.定时/计数器的工作模式寄存器TMOD可以进行位寻址。( )

52.定时/计数器在使用前和溢出后,必须对其赋初值才能正常工作。( ) 53.在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。( )

54.在A/D转换器中,逐次逼近型在精度上不及双积分型,但双积分型在速度上较低。( )

55.A/D转换的精度不仅取决于量化位数,还取决于参考电压。( ) 56.单片机89C51的定时/计数器是否工作可以通过外部中断进行控制。( ) 57.并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。( )

58.串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。( )

59.异步通信中,在线路上不传送字符时保持高电平。( )

60.在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。( ) 61.异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。( ) 62.在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。( )

63.在单片机89C51中,串行通信方式1和方式3的波特率是固定不变的。( ) 64.在单片机89C51中,读和写的SBUF在物理上是独立的,但地址是相同的。( ) 65.单片机89C51一般使用非整数的晶振是为了获得精确的波特率。( ) 66.单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换。( )

三、简答题

1.请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为0.6V),为什么?

2.简述定时/计数器4种工作模式的特点。

3.能否把继电器直接接在89C51的某一口线上来用?为什么?

4.MCS-51系列单片机具有几个中断源?分别是如何定义的?其中哪些中断源可以被定义为高优先级中断?如何定义?

5. 各中断源对应的中断服务程序的入口地址是否能任意设定?

6. 如果想将中断程序设置在程序储存区的任意区域,在程序中应该作何种设置?请举例加以说明。

7.在51系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令?

A-51单片机系统是用12MHZ的外部晶体振荡器,请问: (1) 该片机系统的状态周期与机器周期各为多少?

(2) 该单片机的定时器O(TO)工作在方式2时,TO的最大定时时间为多少? (3) 当单片机的定时器O(TO)工作在方式2时,要求每记满250us便生产一次定时器溢出,请问,TO中需要预置的初始值应为多少? 4.MCS-51单片机存储器分为哪几个区域及地址划分范围? 5.试用三种方法将累加器A中无符号数乘4。 6.DAC0832与单片机的接口方式有哪几种? 五、改错题(10分)

请判断MCS-51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1、CLR A 2、MUL R0,R1 3、MOV DPTR,1050H 4、 MOV A,@R7 5、 ADD 30H,20H 6、 MOV R1,C 7、 JMP @RO+DPTR 8、 MOV A,#3000H 9、 MOVC @A+DPTR,A 10、 MOVX A,@A+DPTR 六、分析题(共14分)

该程序是信号灯控制程序,采用P1口控制8个发光二极管的亮与灭(由线路板决定,P1口输出低电平时对应的发光二极管被点亮)。

ORG 0000H

AJMP MAIN

ORG 000BH ;该地址是( )地址

LJMP TT0 ;当出现( )时,才会执行到该指令。

ORG 0030H

MAIN:MOV TMOD, #01H ;执行该指令的目的( )

MOV TH0,#3CH ;设置T0 50ms定时初始值

MOV TL0,#0B0H ;此时堆栈指针的内容是( ) MOV R2, #40 ;设50ms循环40次定时2秒

MOV R3, #8 ;设( )个数

SETB ET0 SETB EA

SETB TR0 ;启动( )

SJMP $ ;执行该程序的目的( TT0:MOV TH0, #3CH

MOV TL0, #0B0H

DJNZ R2, BACK ;不够40次(2秒)退出中断 MOV R2, #40H ;

LCALL LAMP ;调亮灯子程序 :RETI ;中断返回

LAMP:CLR TR0 ;进入亮灯程序后为何关定时器( MOV R4, #0FEH ;设置亮灯控制字

LP1:MOV P1, R4 ;最先亮的灯是( )

ACALL DELAY ;调亮灯延时

MOV A, R4 ;此时SP内容是( )CLR C ;清进位位为参与亮灯循环 RLC A ;带进位位左移循环 MOV R4 , A DJNZ R3, LP1 SETB TR0

RET ;亮灯子程序返回

) ) BAC DELAY: ;延时程序省略

END ;

七、设计题

1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。 参考书第144页的6-4 void main() {

unsigned char i,j; j=0x01; for(;;) {

P1=j;

For(i=0;i<254;i++) j=j*2;

if(j==0) j=0x01; } }

2.MCS-51系列单片机存储器扩展:试用一片2764 EPROM和一片6264静态RAM分别为8031扩展外部程序存储器和外部数据存储器,试用三总线结构画出扩展电路图,说明扩展的容量,并写出各芯片的地址范围。

0~1FFFH

3.在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。画出连接示意图,写出完整的程序。(共 15 分)

答:

方式2:是波特率固定的9位一步传送,不需要初始化定时器1

SCON:

D7SM0A机:

D6SM1D5SM2D4REND3TB8D2RB8D1TID0RI

//串口初始化(方式2)

main() {

SCON=0x80 //10000000b while(1) {

SBUF=P1; While(TI==0); TI=0; } }

B机: main() {

SCON=0x90 //10010000b while(1) {

if(RI==1) {

P1=SBUF; } RI=0; }

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。最后写出各片的地址范围。(共 12 分)

数据线8根从P0直接到2716的D、两片6264的D;

地址线低8位从P0经锁存器后到各片内地址口,高8位从P2出0-2三位直接到2716的地址口,0-4五位直接到两片6264内,

P2.,7接2716的/CE, P2.5接一片6264的/CE,经非门后接另一片6264;

ALE接锁存器的G,锁存器/OE接地,/PSEN接2716的/OE,/WR接6264的/WE,/RD接/OE。

2716:7800H-7FFFH,6264:0-1FFFH,2000H-3FFFH

5、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A。若是非法的BCD码,则A返回值为255。(共10分)

SUBP:

MOV R1,A ANL A, #0F0H SWAP A

CJNE A, #10, NEXT1 NEXT1:JNC ERROR

MOV B, #10 MUL AB XCH A, R1 ANL A, #0FH

CJNE A, #10,NEXT2 NEXT2:JNC ERROR

ADD A, R1 RET

ERROR:MOV A,#255 RET

6.用8051输出控制8个LED从LED1到LED8、再到LED1…,每次一个LED发光,并不断循环。一个开关控制引起中断,电平触发,中断后8个LED一起闪5下,然后恢复前面的循环。画出连接示意图,写出完整的程序。(软件延时用循环5*126*200次控制)(共10分)

delay() { unsigned char i,j,k for(i=0;i<5;i++) for(j=0;j<126;j++) for(k=0;k<200;k++) }

unsigned char dat[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

void main(void) {

while(1) {

P1=dat[i++]; i= i&0x07; delay(); } }

sbit P21=P2^1;

void int0_isr() interrupt 0

{ unsigned char i,j; P2=0xff; if(P21==0) {

for(j=0;j<5;i++) {

P1=0xff; delay(); p1=0X0; delay(); } } }

本文来源:https://www.bwwdw.com/article/d7fw.html

Top