当前位置:首页 > 微机原理与接口技术离线作业
《微机原理与接口技术》实验作业
[第一部分 简答题]
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
共分享92篇相关文档