单片机题库

单片机复习知识点

1、会进行十进制和十六进制的相互转换。利用二进制作为桥梁。

2、在80C51单片机系统中,若晶振的频率为12MHz,一个机器周期为1us。若晶振的频率为6MHz,一个机器周期为2us。

3、某台计算机的地址线是16根,则其可以访问的最大内存空间64KB(2^16KB)。 4、在80C51单片机系统中,逻辑上分成了3个存储空间。 5、80C51单片机复位后,PC 的值00H、SP的值07H。

6、80C51在片内的数据存储器,既可以字节寻址又可以位寻址的地址范围是20H—2FH? 7、CPU工作的最小时间单位是振荡周期?一个机器周期内能完成1个最基本操作? 8、EQU指令必须放在程序的开头,DATA指令没有此限制。

9、开启定时器时,只需对TCON寄存器相应位进行设置,还与与其他寄存器有关(TMOD)。 10、IT1=1时,外部中断1触发方式为边沿触发方式?IT0=1时,外部中断0触发方式为电平触发方式?

11、80C51单片机扩展程序存储器所用的控制信号为PSEN?

12、80C51单片机复位后,若希望从片内程序存储器开始执行,则引脚 /EA接高电平? 13、地址空间为0000H~3FFFH外扩展存储器容量是多少16KB? 14、80C51单片机内部有4KB的ROM,外部可扩展64KB的ROM,因此可用ROM为68KB。×(64KB) 15、堆栈的作用是可以实现对现场数据或断点地址的保护?堆栈只能开辟在单片机的内部存储器中吗?√

16、程序状态字PSW中位RS1、RS0的用途是工作寄存器工作组选择位?

17、在80C51单片机系统中,外部中断0、1的入口地址分别是0003H、0013H? 18、80C51单片机扩展数据存储器所用的控制信号为WR/RD?

19、地址空间为0000H~1FFFH外扩展存储器容量是4KB。× 0000H-0FFFH

21、访问ROM使用指令,访问RAM用指令?内RAM…MOV;外RAM…MOVX;ROM…MOVC 22、用8位二进制补码数所能表示的十进制数的范围是-128~127? 23、1 MB=1024KB=1024×1024B 24、所谓的CPU是指中央处理器?

25、80C51系列单片机内部设有4个工作寄存器组,由内部特殊寄存器(PSW)选择工作寄存器组。

26、80C51的中断允许控制寄存器IE内容为82H,CPU将响应的中断请求是T0?当IE寄存器内容为87H时,CPU不能响应的中断请求是串行中断?

27、已知:ORG 0003H;LJMP 2000H;ORG 000BH;LJMP 3000H ; 当CPU响应外部中断0后,指向中断服务程序的PC的值是0003H?

28

29、当ALE

30、执行PUSH ACC指令,80C51完成的操作是

31、当门控位为0时,启动T1运行的指令是TR1=1?

32、若在单片机系统中只扩展一片Intel2732,则需要的地址口线为12条? 33、DPTR具有自动加1功能吗他?没有,PC有 34、80C51单片机,设置堆栈指针SP为37H后就发生了子程序调用,这时SP的值变为39H? 35、唯一能够被用户使用的16位寄存器是DPTR?

36、在相同的中断优先级设置下,多个中断同时申请,优先执行的中断服务是外部中断0? 37、单片机是将CPU、RAM、ROM、I/O接口电路做到一块集成电路芯片上的微型计算机。√

38、PSW=08H时,则当前工作寄存器是R1?

39、80C51的中断允许控制寄存器内容为88H,CPU将响应的中断请求是定时器T1中断? 40、已知:ORG 0003H;LJMP 2000H;ORG 000BH;LJMP 3000H ; 当CPU响应定时器T0溢出中断后,指向中断服务程序的PC的值是000BH? 41、控制定时器/计数器工作方式的寄存器是TCON?

42、80C51外扩ROM,RAM和I/O口时,它的地址总线是P0、P2口?

45、要用传送指令访问80C51片外RAM,它的指令操作码助记符是MOVX?

46、在工作方式0下,计数器是由TH的全部8位和TL的5位组成,因此其计数范围是1—8192?

47、对程序存储器的读操作,只能使用MOVC指令?

48、设置堆栈指针SP=30H后,进行一系列的堆栈操作,当进栈数据全部弹出后,SP应指向30H?

49、I/O接口位于总线与设备之间。√?

51、计算机系统的三总线是指数据总线、地址总线、控制总线?当单片机系统进行扩展时,一般用P0口作数据总线?用P0和P2口的作地址总线? 52、80C51内设128B的RAM,地址范围为00H-7FH?

53、80C51片内20H-2FH范围内的数据存储器,既可以字节寻址又可以位寻址?

54、80C51单片机的程序计数器PC是一个16位的程序地址寄存器,所以程序存储器的寻址空间是64KB?

55、80C51内设4KB ROM,地址范围为0000H-0FFFH?外部可扩展到64KB?地址范围为0000H-FFFFH?

56、程序状态字PSW中位RS1、RS0的用途是工作寄存器工作组选择位?当RS1RS0=01时,地址范围为08H-0FH ?

57、80C51子程序返回指令为RET?中断子程序返回指令为RETI?

58、80C51单片机有2个16位的定时计数器?与其有关的特殊功能寄存器有TMOD、TCON? 59、当单片机系统进行扩展时,数据总线为P0口、地址总线P0、P2口? 60、3线-8线译码器和2线-4线译码器分别是74LS138、74LS139?

61、用线选法扩展两片16KB的数据存储器,需要的低位地址线的根数是14根? 62、利用CJNE指令可以实现三分支程序结构吗?不能

63、常用伪指令的功能。如EQU:规定程序块或数据块存放的起始地址;END:程序结束;BIT:将位地地赋给给指定符号名;EQU:将表达式的值定义为一个指定的符号名等。 64、单片机的最小系统应包括电源、时钟电路和复位电路。为实现单片机的复位应该在RST引脚提供两个机器周期以上的高电平。

65、给出指令,请在指令注释处写出该指令的寻址方式

立即寻址:MOV A , #30H 直接寻址:MOV A , 30H

寄存器寻址:MOV A , R0\DPTR\A\B 寄存器间接寻址:MOV A , @RN 变址寻址:MOVC A , @A+DPTR\PC

66、利用80C51的P0口控制8个发光二极管LED。相邻的4个LED为一组,使2组每隔1s交替发光一次,周而复始。设计出硬件电路图,并编写程序。(设fosc=12MHz) (注意:

硬件电路图包括电源、时钟和复位电路) 解:选用定时器T0,采用方式1计数 计算初值:X=

TMOD赋值#01H, 硬件电路设计:

=15536=3CB0H

编写程序:

ORG 0000H LJMP MAIN ORG 000BH LJMP TT0 MAIN: MOV TMOD,#01H MOV TH0,#3CH

MOV TL0,#0B0H

MOV P0,#0FH MOV 30H,#10 SETB EA SETB TR0 SETB ET0 SJMP $ TT0: MOV TH0,#3CH MOV TL0,#0B0H

DJNZ 30H,DEL MOV A,P0 SWAP A MOV P0,A MOV 30H,#10

DEL:RETI END

67、现有一蜂鸣器,用89C51设计一系统,使蜂鸣器周而复始地响20ms,停20ms,设计电路图并编写程序。(fosc=12MHz) 解:设fosc=12MHz,电路图如下:

定时时间:应用公式t =(216-X)×12/fosc X=216-t(fosc /12) =216-20000=45536=B1E0H 程序: ORG 0000H MOV THO,#OE0H LJMP START SETB TR0 ORG 0040H LOOP: JNB TFO,DONE START:MOV TMOD,#01H CLR TF0 MOV TL0,#OB1H

DONE: MOV TL0,#OB1H

MOV THO,#OE0H CPL P1.0

SJMP LOOP

68、写一个软件延时1S和1min的子程序。设fosc=6MHz,则1个机器周期=2μs。 解:(1)1s=2μs×5×10

5

5×10=250×2000=250×200×5×2 (2) ORG 0000H DELAY1S:MOV R5,#5 DEL1: MOV R6,#200 DEL2: MOV R7,#250 DEL3: DJNZ R7,DEL3 DJNZ R6,DEL2 DJNZ R5,DEL1 69、分析程序并写出每条指令结果:

已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段。

MOV @R0, #11H ; 将11H 覆盖寄存器R0中的数据,此时(R0)=11H MOV A, R2 ; 将R2的内容赋给累加器A ,(A)= 20H ADD A, 20H ; 将20H的内容与累加器A相加,(A)=(A)+ (20H )

=20H+10H=30H

MOV PSW, #80H ; 将80H赋给PSW ,(PSW)=80H

5

RET

(3)1min=60S,调用上面1s子程序60次

ORG 0100H DELAY1M:MOV R0,#60 LOOP: LCALL DELAY1S DJNZ R0,LOOP RET

SUBB A, P0 ; 累加器A减去P0,(A)=(A)-(P0)=30H-30H=0 XRL A, #45H ; 求(A)⊕ 45H ,(A)=0BAH

MOV 40H, A ; 将累加器A的内容赋给40H,(40H)=0BAH 70、某程序段如下:

CLR SETB MOV MOV

RS0 RS1 A, #38H R0, A

MOV 29H, R0 CLR MOV

RS1 R1, A

MOV 26H, A

程序中R0和R1的地址分别为___10H ___,____01H____;程序执行后片内RAM中(26H)= _38H ____,(29H)= ___38H____。 71、某程序段如下,假设SP=30H。

MOV A, #30H MOV B, #10H PUSH A

PUSH B POP DPL POP DPH

程序执行后,SP= 30H DPTR= 3010H

72、已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A, @R0 MOV R0, A MOV A, @R0 ADD A, 21H ORL A, #21H RL A MOV R2, A RET

则执行结束(R0)= 20H (R2) = 6EH 73、阅读下列程序,并要求: (1) 说明程序功能;

(2) 写出涉及的寄存器及片内RAM单元的最后结果

MOV R0, #40H MOV A, @R0 INC R0 ADD A, @R0 INC R0 MOV @R0, A CLR A ADDC A, #0 INC R0 MOV @R0, A

程序功能: 将40H,41H单元中的内容相加结果放在42H单元,进位放在43H

(R0)= 43H ;(A)= 1 ;(40H)= 98H ,(41H)= AFH ;(42H)= 47H ,(43H)= 01H 74、执行下面一段程序:

MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A

PUSH B

POP DPL

POP DPH

程序执行后,SP= 30H DPTR= 3010H

72、已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:

MOV A, @R0

MOV R0, A

MOV A, @R0

ADD A, 21H

ORL A, #21H

RL A

MOV R2, A

RET

则执行结束(R0)= 20H (R2) = 6EH

73、阅读下列程序,并要求:

(1) 说明程序功能;

(2) 写出涉及的寄存器及片内RAM单元的最后结果

MOV R0, #40H

MOV A, @R0

INC R0

ADD A, @R0

INC R0

MOV @R0, A

CLR A

ADDC A, #0

INC R0

MOV @R0, A

程序功能: 将40H,41H单元中的内容相加结果放在42H单元,进位放在43H

(R0)= 43H ;(A)= 1 ;(40H)= 98H ,(41H)= AFH ;(42H)= 47H ,(43H)= 01H

74、执行下面一段程序:

MOV SP, #60H

MOV A, #10H

MOV B, #01H

PUSH A

PUSH B

POP B

A , B的内容是:(A) = 01H (B) = 10H

75、某程序段如下:

SETB

CLR

MOV

MOV

MOV

MOV

SETB

MOV RS0 RS1 A, #40H 30H, #0FH R0, A 31H, R0 RS1 R1, A

程序中R0和R1的地址分别为___08H____,___19H____。程序执行后片内RAM中(30H)= _0FH _,(31H)= __40H ___。

76、某程序段如下,假设SP=30H,DPTR=4455H。

PUSH DPL

PUSH DPH

POP 08H

程序执行后,SP = 31H (08H) = 44H

77、电路如图所示,请回答以下问题:

(1)若没连接的地址假定为1,试写出8255的A口、B口、C口及控制寄存器的地址。

(2)写出8255的工作方式命令字。

(3)编写8255的初始化程序。

(1) 由图可知,82C55的片选信号与A7相连,因此其PA、PB、PC和控制字寄存器的地

址只有A7、A1、A0相连的单片机地址确定。又因为其他未用的口为高电平,所以8255的A口、B口、C口及控制寄存器的地址分别为FF7CH、FF7DH、FF7EH、FF7FH。

(2) 与打印机相连采用方式1,PA口应设置为输出口,PC口高4位应设置为输入口,低

4位应设置成输出口。因此,其控制字寄存器的内容为0AEH。

(3) MOV DPTR , #FF7FH

MOV A , #AEH

MOVX @DPTR, A

78、电路如图所示,请回答以下问题:

(1)若未连接的地址假定为0,试写出8255的A口、

B口、C口及控制寄存器的地址。

(2)写出8255的工作方式命令字。

(3) 编写8255的初始化程序。

(1) 由图可知,82C55的片选信号与A7相连,因此其PA、PB、PC和控制字寄存器的地址只

有A7、A1、A0相连的单片机地址确定。又因为其他未用的口为高电平,所以8255的A口、B口、C口及控制寄存器的地址分别为0001H、0002H、0003H、0004H。

(2) 与打印机相连采用方式1,PA口应设置为输出口,PC口高4位应设置为输入口,低4

位应设置成输出口。因此,其控制字寄存器的内容为0ACH。

(3) MOV DPTR , #0004H

MOV A , #ACH

MOVX @DPTR, A

79、将定时器/计数器做脉冲信号发生器。编程采用中断方式利用定时器T0定时,以方式1在P1.0端输出周期性方波信号,方波周期为2ms,已知晶振频率为6MHz。

解:

(1) T0工作在定时方式1时,控制字TMOD的配置:GATE=0,C/T=0,M1M2=01,则取控

制字为01H。

(2) 计算计数初值X:晶振的频率为6MHz,所以机器周期Tcy 为2us

-316N=t/Tcy=1ms*10=1000us X=2-N=65536-1000=64536=0FC18H

即将FCH送入TH0,将18H送入TL0中。

(3) 实现程序如下:

ORG 0000H SETB TR0

AJMP MAIN SJMP $

ORG 000BH ORG 0200H

LJMP FBT0 FBT0:CPL P1.0

ORG 0030H MOV TH0,#0FCH

MAIN: MOV TMOD,#01H MOV TL0,#18H

MOV TH0,#0FCH SETB TR0

MOV TL0,#18H RETI

SETB ET0 END

SETB EA

80、设单片机晶振频率为6MHz,采用中断方式使用定时器1以方式0产生周期为2ms的等宽周期性方波,并由P1.0输出。试编程。

解:

(1) T1工作在定时方式0时,控制字TMOD的配置:GATE=0,C/T=0,M1M2=00,则取控制字为00H。

(2) 计算计数初值X:晶振的频率为6MHz,所以机器周期Tcy为2us

313N=t/Tcy=1ms*10=1000us X=2-N=8192-1000=7192=01C18H

即将1CH送入TH1,将18H送入TL1中。

(3)

实现程序如下: SETB EA

ORG 0000H SETB TR1

AJMP MAIN SJMP $

ORG 000BH ORG 0200H

LJMP FBT0 FBT0: CPL P1.0

ORG 0030H MOV TH1,#1CH

MAIN: MOV TMOD,#00H MOV TL1,#18H

MOV TH1,#1CH SETB TR1

MOV TL1,#18H RETI

SETB ET1 END

81、设单片机晶振频率为6MHz,采用查询方式,使用定时器1以方式0产生周期为500us的等宽周期性方波,并由P1.0输出。试编程。

解:

(1) T1工作在定时方式0时,控制字TMOD的配置:GATE=0,C/T=0,M1M2=00,则取控制字为00H。

(2) 计算计数初值X:晶振的频率为6MHz,所以机器周期Tcy为2us

13 X=2-250=8192-250=7942=1F06H

即将1FH送入TH1,将06H送入TL1中。

(3)

实现程序如下: JNB TF1,$

ORG 0000H CLR TF1

MOV TMOD,#00H CPL P1.0

SETB TR1 SJMP LOOP

LOOP:MOV TH1,#1FH END

MOV TL1,#06H

82、利用6264为8031扩展一片数据存储器RAM,要求画出硬件电路连接图,并给出芯片的地址范围(假定未用地址全部为0)。

解:当A15、A14、A13都去0时,6462的地址范围固定为0000H-1FFFH

83、利用27128为80C51扩展一片程序存储器。要求画出硬件电路连接图,并给出芯片的地址范围(假定未用地址全部为0)。

解:当A15、A14都去0时,6462的地址范围固定为0000H-3FFFH

84、综合题:

(1)下图中外部扩展的数据存储器容量是多少?

(2)三片6264的地址范围分别是多少?(地址线未用到的位填1)

(3)请编写程序,要求:

将30H~3FH中的内容送入6264 1# 的前16个单元中;

将6264 2# 的前32个单元的内容送入40H~5FH中;

(1) 外部扩展的数据存储器容量是24KB

(2) 1#的地址范围为6000H-7FFH;2#的值范围为0A000H-0BFFFH;3#的值范围为

0C000H-0DFFFH。

(3) ① MOV R1 ,#10H ② MOV R1,#32H

MOV DPTR,@6000H MOV DPTR,#0A000H

MOV R0,#30H MOV Ro ,#40H

LOOP: MOV A,@Ro LOOP: MOVX A ,@DPTR

MOVX @DPTR,A MOV @Ro ,A

INC DPTR INC DPTR

INC Ro INC Ro

DINE R1,LOOP DTNZ R1 ,LOOP

RET RET

85、把片内RAM40H~4FH单元中的16个补码逐一取出,若为正数则放回原单元,若为负数则求补后放回原单元。试编程。

单片机复习知识点

1、会进行十进制和十六进制的相互转换。利用二进制作为桥梁。

2、在80C51单片机系统中,若晶振的频率为12MHz,一个机器周期为1us。若晶振的频率为6MHz,一个机器周期为2us。

3、某台计算机的地址线是16根,则其可以访问的最大内存空间64KB(2^16KB)。 4、在80C51单片机系统中,逻辑上分成了3个存储空间。 5、80C51单片机复位后,PC 的值00H、SP的值07H。

6、80C51在片内的数据存储器,既可以字节寻址又可以位寻址的地址范围是20H—2FH? 7、CPU工作的最小时间单位是振荡周期?一个机器周期内能完成1个最基本操作? 8、EQU指令必须放在程序的开头,DATA指令没有此限制。

9、开启定时器时,只需对TCON寄存器相应位进行设置,还与与其他寄存器有关(TMOD)。 10、IT1=1时,外部中断1触发方式为边沿触发方式?IT0=1时,外部中断0触发方式为电平触发方式?

11、80C51单片机扩展程序存储器所用的控制信号为PSEN?

12、80C51单片机复位后,若希望从片内程序存储器开始执行,则引脚 /EA接高电平? 13、地址空间为0000H~3FFFH外扩展存储器容量是多少16KB? 14、80C51单片机内部有4KB的ROM,外部可扩展64KB的ROM,因此可用ROM为68KB。×(64KB) 15、堆栈的作用是可以实现对现场数据或断点地址的保护?堆栈只能开辟在单片机的内部存储器中吗?√

16、程序状态字PSW中位RS1、RS0的用途是工作寄存器工作组选择位?

17、在80C51单片机系统中,外部中断0、1的入口地址分别是0003H、0013H? 18、80C51单片机扩展数据存储器所用的控制信号为WR/RD?

19、地址空间为0000H~1FFFH外扩展存储器容量是4KB。× 0000H-0FFFH

21、访问ROM使用指令,访问RAM用指令?内RAM…MOV;外RAM…MOVX;ROM…MOVC 22、用8位二进制补码数所能表示的十进制数的范围是-128~127? 23、1 MB=1024KB=1024×1024B 24、所谓的CPU是指中央处理器?

25、80C51系列单片机内部设有4个工作寄存器组,由内部特殊寄存器(PSW)选择工作寄存器组。

26、80C51的中断允许控制寄存器IE内容为82H,CPU将响应的中断请求是T0?当IE寄存器内容为87H时,CPU不能响应的中断请求是串行中断?

27、已知:ORG 0003H;LJMP 2000H;ORG 000BH;LJMP 3000H ; 当CPU响应外部中断0后,指向中断服务程序的PC的值是0003H?

28

29、当ALE

30、执行PUSH ACC指令,80C51完成的操作是

31、当门控位为0时,启动T1运行的指令是TR1=1?

32、若在单片机系统中只扩展一片Intel2732,则需要的地址口线为12条? 33、DPTR具有自动加1功能吗他?没有,PC有 34、80C51单片机,设置堆栈指针SP为37H后就发生了子程序调用,这时SP的值变为39H? 35、唯一能够被用户使用的16位寄存器是DPTR?

36、在相同的中断优先级设置下,多个中断同时申请,优先执行的中断服务是外部中断0? 37、单片机是将CPU、RAM、ROM、I/O接口电路做到一块集成电路芯片上的微型计算机。√

38、PSW=08H时,则当前工作寄存器是R1?

39、80C51的中断允许控制寄存器内容为88H,CPU将响应的中断请求是定时器T1中断? 40、已知:ORG 0003H;LJMP 2000H;ORG 000BH;LJMP 3000H ; 当CPU响应定时器T0溢出中断后,指向中断服务程序的PC的值是000BH? 41、控制定时器/计数器工作方式的寄存器是TCON?

42、80C51外扩ROM,RAM和I/O口时,它的地址总线是P0、P2口?

45、要用传送指令访问80C51片外RAM,它的指令操作码助记符是MOVX?

46、在工作方式0下,计数器是由TH的全部8位和TL的5位组成,因此其计数范围是1—8192?

47、对程序存储器的读操作,只能使用MOVC指令?

48、设置堆栈指针SP=30H后,进行一系列的堆栈操作,当进栈数据全部弹出后,SP应指向30H?

49、I/O接口位于总线与设备之间。√?

51、计算机系统的三总线是指数据总线、地址总线、控制总线?当单片机系统进行扩展时,一般用P0口作数据总线?用P0和P2口的作地址总线? 52、80C51内设128B的RAM,地址范围为00H-7FH?

53、80C51片内20H-2FH范围内的数据存储器,既可以字节寻址又可以位寻址?

54、80C51单片机的程序计数器PC是一个16位的程序地址寄存器,所以程序存储器的寻址空间是64KB?

55、80C51内设4KB ROM,地址范围为0000H-0FFFH?外部可扩展到64KB?地址范围为0000H-FFFFH?

56、程序状态字PSW中位RS1、RS0的用途是工作寄存器工作组选择位?当RS1RS0=01时,地址范围为08H-0FH ?

57、80C51子程序返回指令为RET?中断子程序返回指令为RETI?

58、80C51单片机有2个16位的定时计数器?与其有关的特殊功能寄存器有TMOD、TCON? 59、当单片机系统进行扩展时,数据总线为P0口、地址总线P0、P2口? 60、3线-8线译码器和2线-4线译码器分别是74LS138、74LS139?

61、用线选法扩展两片16KB的数据存储器,需要的低位地址线的根数是14根? 62、利用CJNE指令可以实现三分支程序结构吗?不能

63、常用伪指令的功能。如EQU:规定程序块或数据块存放的起始地址;END:程序结束;BIT:将位地地赋给给指定符号名;EQU:将表达式的值定义为一个指定的符号名等。 64、单片机的最小系统应包括电源、时钟电路和复位电路。为实现单片机的复位应该在RST引脚提供两个机器周期以上的高电平。

65、给出指令,请在指令注释处写出该指令的寻址方式

立即寻址:MOV A , #30H 直接寻址:MOV A , 30H

寄存器寻址:MOV A , R0\DPTR\A\B 寄存器间接寻址:MOV A , @RN 变址寻址:MOVC A , @A+DPTR\PC

66、利用80C51的P0口控制8个发光二极管LED。相邻的4个LED为一组,使2组每隔1s交替发光一次,周而复始。设计出硬件电路图,并编写程序。(设fosc=12MHz) (注意:

硬件电路图包括电源、时钟和复位电路) 解:选用定时器T0,采用方式1计数 计算初值:X=

TMOD赋值#01H, 硬件电路设计:

=15536=3CB0H

编写程序:

ORG 0000H LJMP MAIN ORG 000BH LJMP TT0 MAIN: MOV TMOD,#01H MOV TH0,#3CH

MOV TL0,#0B0H

MOV P0,#0FH MOV 30H,#10 SETB EA SETB TR0 SETB ET0 SJMP $ TT0: MOV TH0,#3CH MOV TL0,#0B0H

DJNZ 30H,DEL MOV A,P0 SWAP A MOV P0,A MOV 30H,#10

DEL:RETI END

67、现有一蜂鸣器,用89C51设计一系统,使蜂鸣器周而复始地响20ms,停20ms,设计电路图并编写程序。(fosc=12MHz) 解:设fosc=12MHz,电路图如下:

定时时间:应用公式t =(216-X)×12/fosc X=216-t(fosc /12) =216-20000=45536=B1E0H 程序: ORG 0000H MOV THO,#OE0H LJMP START SETB TR0 ORG 0040H LOOP: JNB TFO,DONE START:MOV TMOD,#01H CLR TF0 MOV TL0,#OB1H

DONE: MOV TL0,#OB1H

MOV THO,#OE0H CPL P1.0

SJMP LOOP

68、写一个软件延时1S和1min的子程序。设fosc=6MHz,则1个机器周期=2μs。 解:(1)1s=2μs×5×10

5

5×10=250×2000=250×200×5×2 (2) ORG 0000H DELAY1S:MOV R5,#5 DEL1: MOV R6,#200 DEL2: MOV R7,#250 DEL3: DJNZ R7,DEL3 DJNZ R6,DEL2 DJNZ R5,DEL1 69、分析程序并写出每条指令结果:

已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段。

MOV @R0, #11H ; 将11H 覆盖寄存器R0中的数据,此时(R0)=11H MOV A, R2 ; 将R2的内容赋给累加器A ,(A)= 20H ADD A, 20H ; 将20H的内容与累加器A相加,(A)=(A)+ (20H )

=20H+10H=30H

MOV PSW, #80H ; 将80H赋给PSW ,(PSW)=80H

5

RET

(3)1min=60S,调用上面1s子程序60次

ORG 0100H DELAY1M:MOV R0,#60 LOOP: LCALL DELAY1S DJNZ R0,LOOP RET

SUBB A, P0 ; 累加器A减去P0,(A)=(A)-(P0)=30H-30H=0 XRL A, #45H ; 求(A)⊕ 45H ,(A)=0BAH

MOV 40H, A ; 将累加器A的内容赋给40H,(40H)=0BAH 70、某程序段如下:

CLR SETB MOV MOV

RS0 RS1 A, #38H R0, A

MOV 29H, R0 CLR MOV

RS1 R1, A

MOV 26H, A

程序中R0和R1的地址分别为___10H ___,____01H____;程序执行后片内RAM中(26H)= _38H ____,(29H)= ___38H____。 71、某程序段如下,假设SP=30H。

MOV A, #30H MOV B, #10H PUSH A

PUSH B POP DPL POP DPH

程序执行后,SP= 30H DPTR= 3010H

72、已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A, @R0 MOV R0, A MOV A, @R0 ADD A, 21H ORL A, #21H RL A MOV R2, A RET

则执行结束(R0)= 20H (R2) = 6EH 73、阅读下列程序,并要求: (1) 说明程序功能;

(2) 写出涉及的寄存器及片内RAM单元的最后结果

MOV R0, #40H MOV A, @R0 INC R0 ADD A, @R0 INC R0 MOV @R0, A CLR A ADDC A, #0 INC R0 MOV @R0, A

程序功能: 将40H,41H单元中的内容相加结果放在42H单元,进位放在43H

(R0)= 43H ;(A)= 1 ;(40H)= 98H ,(41H)= AFH ;(42H)= 47H ,(43H)= 01H 74、执行下面一段程序:

MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A

PUSH B

POP DPL

POP DPH

程序执行后,SP= 30H DPTR= 3010H

72、已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:

MOV A, @R0

MOV R0, A

MOV A, @R0

ADD A, 21H

ORL A, #21H

RL A

MOV R2, A

RET

则执行结束(R0)= 20H (R2) = 6EH

73、阅读下列程序,并要求:

(1) 说明程序功能;

(2) 写出涉及的寄存器及片内RAM单元的最后结果

MOV R0, #40H

MOV A, @R0

INC R0

ADD A, @R0

INC R0

MOV @R0, A

CLR A

ADDC A, #0

INC R0

MOV @R0, A

程序功能: 将40H,41H单元中的内容相加结果放在42H单元,进位放在43H

(R0)= 43H ;(A)= 1 ;(40H)= 98H ,(41H)= AFH ;(42H)= 47H ,(43H)= 01H

74、执行下面一段程序:

MOV SP, #60H

MOV A, #10H

MOV B, #01H

PUSH A

PUSH B

POP B

A , B的内容是:(A) = 01H (B) = 10H

75、某程序段如下:

SETB

CLR

MOV

MOV

MOV

MOV

SETB

MOV RS0 RS1 A, #40H 30H, #0FH R0, A 31H, R0 RS1 R1, A

程序中R0和R1的地址分别为___08H____,___19H____。程序执行后片内RAM中(30H)= _0FH _,(31H)= __40H ___。

76、某程序段如下,假设SP=30H,DPTR=4455H。

PUSH DPL

PUSH DPH

POP 08H

程序执行后,SP = 31H (08H) = 44H

77、电路如图所示,请回答以下问题:

(1)若没连接的地址假定为1,试写出8255的A口、B口、C口及控制寄存器的地址。

(2)写出8255的工作方式命令字。

(3)编写8255的初始化程序。

(1) 由图可知,82C55的片选信号与A7相连,因此其PA、PB、PC和控制字寄存器的地

址只有A7、A1、A0相连的单片机地址确定。又因为其他未用的口为高电平,所以8255的A口、B口、C口及控制寄存器的地址分别为FF7CH、FF7DH、FF7EH、FF7FH。

(2) 与打印机相连采用方式1,PA口应设置为输出口,PC口高4位应设置为输入口,低

4位应设置成输出口。因此,其控制字寄存器的内容为0AEH。

(3) MOV DPTR , #FF7FH

MOV A , #AEH

MOVX @DPTR, A

78、电路如图所示,请回答以下问题:

(1)若未连接的地址假定为0,试写出8255的A口、

B口、C口及控制寄存器的地址。

(2)写出8255的工作方式命令字。

(3) 编写8255的初始化程序。

(1) 由图可知,82C55的片选信号与A7相连,因此其PA、PB、PC和控制字寄存器的地址只

有A7、A1、A0相连的单片机地址确定。又因为其他未用的口为高电平,所以8255的A口、B口、C口及控制寄存器的地址分别为0001H、0002H、0003H、0004H。

(2) 与打印机相连采用方式1,PA口应设置为输出口,PC口高4位应设置为输入口,低4

位应设置成输出口。因此,其控制字寄存器的内容为0ACH。

(3) MOV DPTR , #0004H

MOV A , #ACH

MOVX @DPTR, A

79、将定时器/计数器做脉冲信号发生器。编程采用中断方式利用定时器T0定时,以方式1在P1.0端输出周期性方波信号,方波周期为2ms,已知晶振频率为6MHz。

解:

(1) T0工作在定时方式1时,控制字TMOD的配置:GATE=0,C/T=0,M1M2=01,则取控

制字为01H。

(2) 计算计数初值X:晶振的频率为6MHz,所以机器周期Tcy 为2us

-316N=t/Tcy=1ms*10=1000us X=2-N=65536-1000=64536=0FC18H

即将FCH送入TH0,将18H送入TL0中。

(3) 实现程序如下:

ORG 0000H SETB TR0

AJMP MAIN SJMP $

ORG 000BH ORG 0200H

LJMP FBT0 FBT0:CPL P1.0

ORG 0030H MOV TH0,#0FCH

MAIN: MOV TMOD,#01H MOV TL0,#18H

MOV TH0,#0FCH SETB TR0

MOV TL0,#18H RETI

SETB ET0 END

SETB EA

80、设单片机晶振频率为6MHz,采用中断方式使用定时器1以方式0产生周期为2ms的等宽周期性方波,并由P1.0输出。试编程。

解:

(1) T1工作在定时方式0时,控制字TMOD的配置:GATE=0,C/T=0,M1M2=00,则取控制字为00H。

(2) 计算计数初值X:晶振的频率为6MHz,所以机器周期Tcy为2us

313N=t/Tcy=1ms*10=1000us X=2-N=8192-1000=7192=01C18H

即将1CH送入TH1,将18H送入TL1中。

(3)

实现程序如下: SETB EA

ORG 0000H SETB TR1

AJMP MAIN SJMP $

ORG 000BH ORG 0200H

LJMP FBT0 FBT0: CPL P1.0

ORG 0030H MOV TH1,#1CH

MAIN: MOV TMOD,#00H MOV TL1,#18H

MOV TH1,#1CH SETB TR1

MOV TL1,#18H RETI

SETB ET1 END

81、设单片机晶振频率为6MHz,采用查询方式,使用定时器1以方式0产生周期为500us的等宽周期性方波,并由P1.0输出。试编程。

解:

(1) T1工作在定时方式0时,控制字TMOD的配置:GATE=0,C/T=0,M1M2=00,则取控制字为00H。

(2) 计算计数初值X:晶振的频率为6MHz,所以机器周期Tcy为2us

13 X=2-250=8192-250=7942=1F06H

即将1FH送入TH1,将06H送入TL1中。

(3)

实现程序如下: JNB TF1,$

ORG 0000H CLR TF1

MOV TMOD,#00H CPL P1.0

SETB TR1 SJMP LOOP

LOOP:MOV TH1,#1FH END

MOV TL1,#06H

82、利用6264为8031扩展一片数据存储器RAM,要求画出硬件电路连接图,并给出芯片的地址范围(假定未用地址全部为0)。

解:当A15、A14、A13都去0时,6462的地址范围固定为0000H-1FFFH

83、利用27128为80C51扩展一片程序存储器。要求画出硬件电路连接图,并给出芯片的地址范围(假定未用地址全部为0)。

解:当A15、A14都去0时,6462的地址范围固定为0000H-3FFFH

84、综合题:

(1)下图中外部扩展的数据存储器容量是多少?

(2)三片6264的地址范围分别是多少?(地址线未用到的位填1)

(3)请编写程序,要求:

将30H~3FH中的内容送入6264 1# 的前16个单元中;

将6264 2# 的前32个单元的内容送入40H~5FH中;

(1) 外部扩展的数据存储器容量是24KB

(2) 1#的地址范围为6000H-7FFH;2#的值范围为0A000H-0BFFFH;3#的值范围为

0C000H-0DFFFH。

(3) ① MOV R1 ,#10H ② MOV R1,#32H

MOV DPTR,@6000H MOV DPTR,#0A000H

MOV R0,#30H MOV Ro ,#40H

LOOP: MOV A,@Ro LOOP: MOVX A ,@DPTR

MOVX @DPTR,A MOV @Ro ,A

INC DPTR INC DPTR

INC Ro INC Ro

DINE R1,LOOP DTNZ R1 ,LOOP

RET RET

85、把片内RAM40H~4FH单元中的16个补码逐一取出,若为正数则放回原单元,若为负数则求补后放回原单元。试编程。


相关内容

  • 单片机题库带答案
  • 单片机题库 一.填空题 1.当使用8031单片机时,需要扩展外部程序存储器,此时/EA应接( (地)低电平 ). 2.8051单片机内部有( 2 )个定时/计数器,门控制信号GATE 设置为1 时,由( TRx )和( INTx )控制定时器的启动. 3. 若由程序设定RS1.RS0=01,则工作寄 ...

  • 单片机题库及答案-09
  • <单片机原理>复习题(2010.11) 一.填空题: 1.执行指令时,PC内容的低8位经口输出,高8位经 2.运算器的功能是进行运算和 3.访问内部RAM使用指令,访问外部RAM使用 4.在查询和中断两种数据输入输出控制方式中,效率较高的是. 5.假定累加器A的内容为30H,执行指令:1 ...

  • 西南交大微机与接口基础习题库
  • 一. 单项选择题 1. 通常我们所说的32位机指的是这种计算机的CPU( ). A .是由32个运算器组成的 B .的运算器为32位 C .有32条数据引脚 D .包含有32个寄存器 2. 运算器的核心部件是( ). A .累加器 B .算术逻辑部件 C. 数据总线 D. 标志寄存器 3. 微型计算 ...

  • 单片机考试题库
  • 1.十进制数170的十六进制表示数是(A) AAH; AFH; B0H; B1H 2.十进制数175的十六进制表示数是(B) AAH; AFH; ACH; ADH 3.十进制数180的十六进制表示数是(C) B6H; B7H; B4H; B9H 4.十进制数185的十六进制表示数是(D) BAH; ...

  • 云南职业技能鉴定
  • 无线电调试工 (学生高级组) 一、竞赛技术文件制定标准 无线电调试工项目以《无线电调试工国家职业标准》(高级)为基础,结合技工院校教学大纲制定。 二、竞赛内容、形式和成绩计算 (一)竞赛内容 本次竞赛内容包括理论知识和技能操作两部分。 (二)竞赛形式 采用单人竞赛形式,独立完成规定的工作任务。 (三 ...

  • 单片机原理题库
  • I.填空题 1.当8051的RST端上保持______个机器周期以上的低电平时,8051即发生复位. 2.若A中的内容为67H,那么,P标志位为______. 3. 8031复位时,通用寄存器组被选择为______,并行I/O口内部为______. 4. 8031中有______个______位定时 ...

  • 维修电工技师理论考试题库
  • 维修电工技师理论考试题库 2016-8-22 09:00| 发布者: admin | 查看: 10245| 评论: 1 摘要: 一.填空题(第1-20题.请将正确答案填入题内空白处.每题0.5分,共10分.) 1.肖特基二极管与普通整流二极管相比,反向恢复时间 短 ,工作频率高. 2.运算放大器基本 ...

  • 数电试题库及答案 专科1
  • 试题库及答案 试卷一 一. 基本概念题 (一) 填空题(共19分,每空1分) 1.按逻辑功能的不同特点,数字电路可分为 和 两大类. 2.在逻辑电路中,三极管通常工作在 饱和 和 截止 状态. 3.(406)10=( 110010100 )8421BCD 4.一位数值比较器的逻辑功能是对输入的 数据 ...

  • 市场类业务知识题库
  • 衢州移动业务学习题库 市场经营部 一.填空题 1.用户既有宽带(电视).4G终端.话费需求,请利用现有政策组合最优推荐:买一台4G终端,(买裸机送宽带电视+100话费.360元12M宽带2年). 2.2G换4G活动关键内容,请填表: (1)目标客户要求:网龄一年及以上.前3个月每月消费(29)元及以 ...