单片计算机及其应用习题答案

  • 格式:doc
  • 大小:74.00 KB
  • 文档页数:9

单片机原理及应用作业参考答案

1.2 单片机的结构特点表现在哪些主要方面? . 单片机的结构特点表现在哪些主要方面?

答: (1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使 用两个不同的地址指针; (2)在内部有一个全双工的串行接口; (3)有一个独立进行操作的位处理器.

1.4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则 . 通用单片机的供应状态主要取决于什么?供应状态有哪几种? 是什么? 是什么?

答:通用单片机的供应状态主要取决于片内 ROM 的配置状态. (1)片内 ROM 的配置状态 掩膜 ROM,适合于低成本.大批量产品的场合 (2)片内 EPROM 配置状态 可通过高压脉冲写入应用程序到 EPROM,适合于开发样机,小批量生产. (3)片内无 ROM 配置状态 必须外扩 EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应 用场合.

2.3 单片机的 EA 端有何功用?8031 的 EA 端应如何处理,为什么? . 端有何功用? 端应如何处理,为什么? 答: EA 端是访问外部程序存储器的控制信号:当 EA 无效时,访问内部

ROM,当 EA 为有效时,访问 外部 ROM.由于 8031 没有内部 ROM,所以 EA 端必须接低电平.

2. . 4 MCS-51 引脚中有多少 I/O 线?它们与单片机对外的地址总线,它们与单片机对外的地址总线, 数据总线和控制总线有什么关系? - 数据总线和控制总线有什么关系? 地址总线和数据总线各是几位? 地址总线和数据总线各是几位?

答:MCS-51 引脚中有 32 根 I/O 线,一般由 P0 口提供单片机对外的数据总线,同时作为分时复用的地 址总线的低 8 位, P2 口作为地址总线的高 8 位, 由 控制总线由第二功能的状态下的 P3 口以及 RST, , EA ALE 和 PSEN 提供.

2.5 8051 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? . 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点?

答:数据存储器主要分为两个区域:00H~7FH 是真正的 RAM 区,80H~FFH 专门用作特殊功能寄存器 的区域. 其中 00H~7FH 可分为三个区域: 00H~1FH 为四组工作寄存器;

20H~2FH 为 128 位位寻址区, 30H~7FH 为一般 RAM 区

. 2.6 单片机对外有几条专用控制线?其功能是怎样的? . 单片机对外有几条专用控制线?其功能是怎样的?

答:单片机对外的专用控制线有 4 条,分别是: (1) PSEN : 外部取指操作,在访问外部 ROM

时, PSEN 信号自动产生; (2)ALE/ PROG :ALE 为地址锁存允许信号,在访问外部 ROM 或

RAM 时,用来锁存 P0 口的低 8 位地址.第二功能 PROG 是对 8751 的 EPROM 编程时,编程脉冲输入.

1 (3) EA /VPP: EA 是访问外部程序存储器的控制信号, EA 无效时,访问内部 ROM, EA

有效时,访 问外部 ROM,第二功能 VPP 为对 8751EPROM 的 21V 编程电源输入.

(4)RST/VPD:RST 是复位信号输入端,第二功能 VPD 是备用电源输入端.

2.8 有哪几种方法使单片机复位?复位后各寄存器,RAM 中的状态如何? 中的状态如何? . 有哪几种方法使单片机复位?复位后各寄存器,

答:单片机的复位方式有两种,上电自动复位和按钮复位.复位后各寄存器状态为: PC

0000H ACC 00H PSW 00H SP 07H DPTR 0000H P0~P3FFH IP XX000000B IE 0X000000B

TMOD 00H TCON 00H TL0 00H TH0 00H TL1 00H TH1 00H SCON 00H SBUF XXH PCON

0XXX0000B

2.9 在 8051 扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线 扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址, . 上出现争总线的现象?为什么? 上出现争总线的现象?为什么?

答:不会发生争总线的现象,因为从外部 ROM 取指令需要用 ALE 和 PSEN 信号控制读取操作,由 P2 和 P0 提供地址;而片外数据存储器的读写除了地址之外还要 RD , WR

控制,所以不会争总线.

2.10 如果 8051 端口 P0~P3 作为通用 I/O 口使用,则在输入引脚数据时应注意什么? . 口使用,则在输入引脚数据时应注意什么? ~

答:8051 的 P1,P2 和作为一般输入 I/O 口的 P 以及第一功能的 P3 口均为准双向口,在输入数据时应先 向端口写 1,然后方可作为高阻输入.以使其场效应管 T2 截止,才不会影响输入电平.

3.2 若要完成以下的数据传送,应如何用 MCS-51 的指令实现? . 若要完成以下的数据传送, 的指令实现?

(1)R1 的内容传送到 R0 (5)ROM2000H 单元的内容传送到 R0 MOV A,R1 MOV

DPTR,#2000H MOV R0,A CLR A MOVC A,@A+DPTR (2) 外部 RAM20H 单元的内容传送到 R0 MOV R0,#20H MOV R0,A MOVX A,@R0 (6)ROM2000H 单元的内容传送到内部

RAM20H 单元 MOV R0,A MOV DPTR,#2000H CLR A (3)外部 RAM20H 单元的内容传送到内 MOVC A,@A+DPTR 部 RAM20H 单元 MOV R0,#20H MOV 20H,A MOVX A,@R0

(7)ROM2000H 单元的内容传送到外部 RAM20H 单元 MOV 20H,A MOV DPTR,#2000H

CLR A (4)外部 RAM1000H 单元内容传送到内 MOVC A,@A+DPTR 部 RAM20H 单元

MOV DPTR,#1000H MOV R0,#20H MOVX A,@DPTR MOVX @R0,A MOV 20H,A

3.3 间接转移指令 JMP @A+DPTR 有何优点?为什么它能代替众多的判跳指令?试举例说明. 有何优点?为什么它能代替众多的判跳指令?试举例说明. .

答:该间接转移指令的转移地址由 A 的内容和数据指针 DPTR 的内容之和决定,且两者都是无符号数, 由 DPTR 决定多分支转移程序的首地址, A 的不同值实现多分支转移.

由 因为可以根据 A 的内容进行分 支转移,所以可以替代众多判跳指令. 如:根据 A 的内容调用相应的程序,如 A 为 0 调用 OP0,A 为 1 调用 OP1,这里 A 的值小于 128. MOV

DPTR,#OPTAB 2

A @A+DPTR … OPTAB: ACALL OP0 ACALL OP1 ACALL OP2 …

3.4 设内部 RAM 的 30H 单元的内容为 40H,即(30H)= )=40H,还知(40H)= )=10H,

(10H)= )=00H, . , )= ,还知( )= , ( )= , 端口 P1=0CAH.问执行以下指令后,各有关存储器单元,寄存器以及端口的内容(即 R0,R1,A,B, = .问执行以下指令后,各有关存储器单元,寄存器以及端口的内容( , , , , P1 以及 40H,30H,10H 单元的内容) 单元的内容) , , . MOV R0,#30H ;

(R0)=30H MOV A,@R0 ; (A)=(30H)=40H MOV R1,A ; (R1)=40H MOV B,@R1 ;

(B)=(40H)=10H MOV @R1,P1 ; (40H)=0CAH MOV P2,P1 ; (P2)=0CAH MOV 10H,#20H ;

(10H)=20H MOV 30H,10H ; (30H)=20H 3.5 已知 8751 单片机的 P1 口为输出,经驱动电路接有 8 只发光二极管.当输出位是 1 时,发光二极 . 口为输出, 只发光二极管. 管点亮; 时发光二极管熄灭.试分析下述程序的执行过程及发光二极管的发光情况. 管点亮;输出位是 0

时发光二极管熄灭.试分析下述程序的执行过程及发光二极管的发光情况. LP: MOV

P1,#81H ;1000 0001B LCALL DELAY LCALL DELAY MOV P1,#24H ;0010 0100B MOV

P1,#42H ;0100 0010B LCALL DELAY LCALL DELAY MOV P1,#42H ;0100 0010B MOV

P1,#24H ;0010 0100B LCALL DELAY LCALL DELAY SJMP LP MOV P1,#18H ;0001 1000B

答:程序执行 MOV P1,#DATA 后,根据 DATA 的每位的值点亮相应的 LED,调用延时程序使点亮的 LED 保持一段时间.LED 发光的情况为:每次同时点亮两个 LED 并从两边向中间移动,然后再向两边移动, 并一直循环.

3.6 在上题中,若系统的晶体振荡器频率为 6MHz,求子程序 DELAY 的延时时间. 的延时时间. .

在上题中, , DELAY: MOV R2,#0FAH ;①2S L1: MOV R3,#0FAH ;②2S L2: DJNZ R3,L2 ;③4S DJNZ R2,L1 ;④4S RET ;⑤4S 0FAH=250D 其中③执行 250 次,执行时间为 250×4S

其中②③④循环 250 次,该循环执行时间为(2+250×4+4)×250S 加上①和⑤的执行时间,DELAY 的延时时间为 2+(2+250×4+4)×250+4=251.506ms 延时程序的设计: 延时程序的设计: 首先设计内循环: MOV R3,#data1 ;2s NOP ;2s DJNZ R3,$ ;4s×data1 延时时间

t1=2+2+4×data1=4×(data1+1)=1000s=1ms,则 data1=249

3

RL JMP

若需要大于 1ms 时间,则先增加一层循环 MOV R2,#data2 ;2s L1: MOV R3,#data1 ;2s

NOP ;2s DJNZ R3,$ ;4s×data1 DJNZ R2,L2 ;(4s+t1)×data2 延时时间为:2+(4s+t1)×data2=2+[4s+4×(data1+1)]×data2= =2+4×(data1+2)×data2=250ms,这里将 data1 修正为

248, 得 2+4×(248+2)×data2=2+1000×data2=250ms 则 data2=250 3.7 根据图 3-3 线路,试设计灯亮移位程序,使 8 只发光二极管每次亮一个,循环右移或左移,一个一 线路,试设计灯亮移位程序, 只发光二极管每次亮一个,循环右移或左移, . 个地亮,循环不止. 个地亮,循环不止. MOV A,#80H DIS: MOV P1,A ACALL DELAY RR A AJMP DIS 3.8 设逻辑运算表达式为: . 设逻辑运算表达式为: