微机原理与接口技术离线作业答案(必做)

  • 格式:doc
  • 大小:127.00 KB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江大学远程教育学院

《微机原理与接口技术》课程作业

姓名:学号:

年级:学习中心:温州—————————————————————————————第二章P47

2.80C51单片微机芯片引脚第二功能有哪些?

答:80C51单片机的P0、P2和P3引脚都具有第二功能。

第一功能第二变异功能

P0口地址总线A0~A7/数据总线D0~D7

P2口地址总线A8~A15

P3.0 RXD (串行输入口)

P3.1 TXD (串行输出口)

INT(外部中断0)

P3.2 0

INT(外部中断1)

P3.3 1

P3.4 T0 (定时器/计数器0的外部输入)

P3.5 T1 (定时器/计数器0的外部输出)

P3.6 WR(外部读写存储器或I/O的写选通)

P3.7 RD(外部读写存储器或I/O的读选通)

4.80C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?

访问片内数据存储器和片外数据存储器的指令格式有何区别?

答:80C51单片机采用哈佛(Har-yard)结构,即是将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围分别可达64KB。

⒈在物理上设有4个存储器空间

●片内程序存储器;

●片外程序存储器;

●片内数据存储器;

●片外数据存储器。

⒉在逻辑上设有3个存储器地址空间

●片内、片外统一的64 KB程序存储器地址空间。

●片内256B(80C52为384 B)数据存储器地址空间。

片内数据存储器空间,在物理上又包含两部分:

-对于80C51型单片机,从0~127 字节为片内数据存储器空间;从128~255

字节为特殊功能寄存器(SFR)空间(实际仅占用了20多个字节)。

●片外64 KB的数据存储器地址空间。

在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。

访问片内RAM采用MOV指令,访问片外RAM则一定要采用MOVX指令,因为MOVX 指令会产生控制信号RD或WR,用来访问片外RAM。访问程序存储器地址空间,则应采用MOVC指令。

6.80C51片内数据存储器低128个存储单元划分为哪4个主要部分?各部分主要功能是什么?

●答:寄存器区:共4组寄存器,每组8个存储单元,各组以R0~R7作为单元编号。

常用于保存操作数及中间结果等等。R0~R7也称为通用寄存器,占用00H~1FH

共32个单元地址。

●位寻址区:20H~2FH,既可作为一般RAM单元使用,按字节进行操作,也可以

对单元中的每一位进行位操作,称为位寻址区。寻址区共有16个RAM单元,共

计128位,位地址为00H~7FH。

●堆栈区:设置在用户RAM区内。

●用户RAM区:在内部RAM低128单元中,除去前面3个区,剩下的所有单元。

第三章P87

9.MOV、MOVC、MOVX 指令有什么区别,分别用于那些场合,为什么?

答:MOV指令用于对内部RAM的访问。

MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。MOVX指令采用间接寻址方式访问外部数据存储器,有Ri和DPTR两种间接寻址方式。MOVX指令执行时,在P3.7引脚上输出RD有效信号或在P3.6引脚上输出WR有效信号,可以用作外部数据存储器或I/O的读或写选通信号,与单片机扩展电路有关。

15.已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。

MOV A,#55H

ANL A,#0FFH

ORL 20H,A

XRL A,@R1

CPL A

答:各指令执行结果如下:

MOV A,#55H ;(A)=55H

ANL A,#0FFH ;(A)=55H

XRL A,@R1 ;(A)=AAH

CPL A ;(A) =55H

执行完程序段后,A的内容为55H。

16.阅读下列程序,说明其功能。

MOV R0,#30H

MOV A,@R0

RL A

MOV R1,A

RL A

RL A

ADD A,R1

MOV @R0,A

答:对程序注释如下:

MOV R0,#30H ;(R0)=30H

MOV A,@R0 ;取数

RL A ;(A)×2

MOV R1,A

RL A ;(A)×4

RL A ;(A)×8

ADD A,R1 ;(A)×10

MOV @R0,A ;存数

功能:将30H中的数乘以10以后再存回30H中。

条件:30H中的数不能大于25,25×10=250仍为一个字节。若30H中的数大于25,则应考虑进位。

17. 已知两个十进制数分别从内部数据存储器中的40H单元和50H单元开始存放(低位在前),其字节长度存放在内部数据存储器的30H单元中。编程实现两个十进制数求和,并把和的结果存放在内部数据存储器40H开始的单元中。

【答】程序如下:

ORG 0000H

SJMP MAIN

ORG 0030H

MAIN:

MOV R0,#40H ;被加数首址.又作两个十进制数和的首址

MOV R1,#50H ;加数首址

MOV R2,30H ;字节长度

CLR C

PP: MOV A,@R1 ;取加数

ADDC A,@R0 ;带进位加

DA A ;二一十进制数调整

MOV @R0,A ;存和