微机原理与接口技术离线作业 联系客服

发布时间 : 星期五 文章微机原理与接口技术离线作业更新完毕开始阅读

《微机原理与接口技术》实验作业

[第一部分 简答题]

1. 80C51单片微机内部有哪几个常用的地址指针,它们各有什么用处。 答:80C51单片微机内部有三个常用的指针,即:

1PC是程序计数器,存放下一条将要从程序存储器取出的指令的地址。 ○

2SP是堆栈指示器,指向堆栈栈顶。 ○

3DPTR是数据指针,作为外部数据存储器或I/O的地址指针。 ○

2. 简述80C51的程序状态字PSW的主要功能。

答:程序状态字是一个程序可访问的8位寄存器,其内容的主要部分是算术逻辑运算单元ALU的输出。PSW中各位的含义如下:

1P是奇偶标志位。该位表示累加器A中位值为1的个数的奇偶性。 ○

2OV是溢出标志位。该位表示运算结果超出了目的寄存器A所能表示的带符号数的范围。○ 3RS1和RS0是4组工作寄存器组选择位。该两位用于设定当前工作寄存器的组号。 ○

4AC是辅助进位标志位。该位表示当进行加法或减法运算时,若低4位向高4位发生进位○

或借位时,AC将被硬件置位。

5CY是进位标志位。该位表示当进行算术运算时,运算结果中高位有进位或借位时,CY○

将被硬件置位。

6F0是用户标志位。留给用户使用,用户根据需要进行设置。 ○

3. 80C51访问片内外不同存储空间时采用哪3类传送指令。 1MOV指令用于对内部数据存储器的访问; 答:○

2MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)○; 3MOVX指令采用间接寻址方式访问外部数据存储器或I/O,有Ri和DPTR两种间接寻址方○式。

4. 简述80C51单片微机内部RAM低128字节4个主要区域的特点。 1工作寄存器区:答:○共4组寄存器,每组占8个存储单元,各组以R0-R7作为单元编号。占用00H-1FH共32个存储单元地址。

2位寻址区:20H-2FH,既可以一般数据存储器单元作用,按字节进行操作;也可以对单○

元中的每一位进行位操作,共计128位,位地址为00H-7FH。 3堆栈区:设置在用户数据存储器区内。 ○

4用户数据存储器区:在内部数据存储器低128存储单元中,除去前面3个区所占用的存○

储单元,剩下的所有单元为用户数据存储器。

5. 简述80C51单片微机的并行扩展三总线(AB、DB和CB)如何构成及应用。 答:80C51的P0口依靠ALE引脚对锁存器的控制,分时作数据总线D0-D7和地址总线低8位A0-A7。P2口作地址总线高8位A8-A15。控制总线由ALE、PSEN、RD、WR等控制信号构成。

6. 为什么要进行低功耗设计? 答:原因如下:

1实现绿色电子,节约能源。 ○

2某些场合(如野外)○、某些便携式仪器、仪表要求由电池供电,要求功耗小。 3能提高应用系统可靠性,因为进入低功耗后,单片微机对干扰往往不敏感。 ○

7. 说明80C51单片微机的复位方式主要有哪几种。

答:复位操作有上电复位、按键电平复位和外部脉冲复位三种方式。上电自动复位是通过外部复位电路的电容充电来实现的;按键电平复位是通过按压复位键使复位端经电阻与VCC接通来实现的;外部脉冲复位是由外部提供一个宽度大于2个机器周期的复位脉冲来实现的。

8. 80C51芯片内部主要集成逻辑功能部件有哪些?

答:80C51芯片内容主要包括中央处理器、内部程序存储器、内部数据存储器、定时器/计数器、并行I/O口P0-P3、串行口、中断系统以及定时控制逻辑电路等,各个部分通过内部总线相连。

9. 80C51的程序存储器中有几个特定地址。 答:有6个特定地址。 1复位地址:0000H-0002H ○

2外部中断0地址:0003H-000AH ○

3定时计数器0地址:000BH-0012H ○

4外部中断1地址:0013H-001AH ○

5定时计数器1地址:001BH-0022H ○

6串行口地址:0023H-002AH ○

10. 请简述如何在实验室完成实验任务,使用哪些资源?

答:仿真软件由WAVE的编辑软件及MICETEK公司的EasyProbe8052F仿真软件组成,自编源程序在PC上进行编辑、编译以及将编译通过后所生成的后缀名为HEX的机器码文件,通过RS-232串行口下载给仿真器,仿真器采用MICETEK公司的EasyProbe8052F仿真器,在仿真器上完成实验的验证、修改和完成。

[第二部分 读程序]

要求:⑴直接在源程序“;”右侧对程序加以注释。

⑵写出程序功能和运行后结果。

ORG 0000H SJMP MAIN

ORG 0030H

;设置外部数据存储器首地址 ;设置内部数据存储器首地址

程序1

MAIN:MOV DPTR,#2000H

MOV R0,#10H

MOV R1,#20H MOV R2,#05H CLR

C

;设置存放求和的首地址 ;设置取数据的长度

ADDA:MOVX A,@ DPTR

ADDC A,@ R0 DA A MOV INC INC

;从外部数据存储器取出数据

;将内部数据存储器数据与外部数据存储器数据求和 ;调整求和的结果

;将调整后求和结果存放到指定的内部存储器中 ;取出下一个地址空间的数据

@ R1,A DPTR R0

INC R1 DJNZ R2,ADDA AJMP END

⑵程序功能:从外部数据存储器2000H地址开始取数,一直取到2004H地址空间,再从内部数据存储器10H地址取数,一直取到14H地址空间,将取出外部存储器和内部存储器分别求和,求和结果存放到以20H地址开始的存储器中,一直存放到24H地址空间中。

问题1:若删去”DA A”一行 , 则程序功能为:将不能得到正确的求和结果

问题2: 若”MOV

R2,#05H”改为”MOV R2,#02H”, $

;判断是否达到数据长度,若没有则返回继续取数

则程序功能:只取出外部数据存储器2000H和2001H地址中的数据与内部数据存储器10H和11H地址中数据分别相加,求和结果依次存入20H和21H地址空间中。

问题3: 若和需存入10H-14H中, 则修改

ORG 0000H SJMP

MAIN

ORG 0030H

MAIN: MOV DPTR,#2000H

MOV R0,#10H MOV R2,#05H CLR

C

ADDA: MOVX A,@ DPTR

ADDC A,@ R0

DA A MOV INC INC

@ R0,A DPTR R0

DJNZ R2,ADDA AJMP END

程序2

ORG 0000H SJMP MAIN ORG 0030H MAIN:MOV DPTR,#TAB

MOV A,#02H MOVC

$

;设置数据指针指向程序存储器常数表的首地址 ;设置取数间隔

;取出程序存储器常数表中第三个常数22H ;将取出的常数存放起来

A,@A+DPTR

MOV R0,A SJMP

$

ORG 2080H

TAB DB 00H,11H,22H,33H ??;表(略)

END

程序功能: 运行后结果:

① 问题1:若”MOV A,#02H”改为”MOV A,#03H”,

则运行后结果:R0中数为33H

② 问题2:若运行后结果为00 H,则修改

MOV A,#00H