微机原理与接口技术作业..
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江大学远程教育学院
《微机原理与接口技术》课程作业
姓名:张鹏飞学号:713128202005
年级:13春学习中心:华家池
第2章P52
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(外部读写存储器或1/0的写选通)
P3.7 RD(外部读写存储器或1/0的读选通)
4.80C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?
访问片内数据存储器和片外数据存储器的指令格式有何区别?
答:80C51单片机采用哈佛(Har-yard)结构,即是将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围分别可达64KB。
1.在屋里上设有4个存储器空间
●片内程序存储器;
●片外程序存储器;
●片内数据存储器;
●片外数据存储器。
2.在逻辑上设有3个存储器地址空间
●片内、片外统一的64KB程序存储器地址空间。
●片内2568(80C52为384 B)数据存储器地址空间。
片内数据存储器空间,在物理上又又包含两部分:
一对于80C51型单片机,从0~127字节为片内数据存储器空间;从128~255字节为特殊功能寄存器(SFR)空间(实际仅占用了20多个字节)。
●片外64KB 数据存储器地址空间。
在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。
访问片内RAM采用MOV指令,访问片外RAM则一定要采用MOVX指令,因为MOVX 指令会产生控制信号RD或WR,用来访问外RAM。访问程序存储器地址空间,则应采用MOVC指令。
6.80C51单片机片内RAM低128个存储单元划分为哪4个主要部分?各部分主要功能是什么?
答:80C51片内RAM的低128个存储单元划分为4个主要部分:
●寄存器区:共4组寄存器,每组8个存储单元,各组以R0~R7作为单元编号。常用于
保存操作数及中间结果等等。R0~R7也称为通用寄存器,占用00H~1FH共32个单元地址。
●位寻址区:20H~2FH,既可作为一般RAM单元使用,按字节进行操作,也可以对单元
中的每一位进行位操作,称为位寻址区。寻址区共有16个RAM单元,共计128位,位地址为00H~7FH。
●堆栈区:设置在用户RAM区内。
●用户RAM区:在内部RAM低128单元中,除去前面3个区,剩下的所有单元。
13.程序存储器指令地址、堆栈地址和外接数据存储器地址各使用什么指针?为什么?
答:程序存储器指令地址使用程序计数器PC指针,PC中存放的是下一条将要从程序存储器中取出的指令地址。程序计数器PC变化的轨迹决定程序的流程。PC的最基本的工作方式是自动加1。在执行条件转移或无条件转移指令时,将转移的目的地址送入程序计数器,程序的流向发生变化。在执行调用指令或响应中断时,将子程序的入口地址或者中断矢量地址送入PC,程序流向发生变化。
堆栈地址使用堆栈指示器SP,SP在80C51中存放当前的堆栈栈顶所指存储单元地址,是一个8位寄存器,对数据按照“先进后出”原则进行管理。
外接数据存储器地址使用数据DPTR,是一个16位的特殊功能寄存器,主要功能是作为片外数据存储器或1/0寻址用的地址寄存器,这时会产生RD或WR控制信号,用于单片机对外扩的数据存储器或1/0的控制。数据指针DPTR也可以作为访问程序存储器的基址寄存器,这时寻址程序存储器中的表格、常数等单元,而不是寻址指令。
第3章P93
9.MOV、MOVC、MOVX 指令有什么区别,分别用于那些场合,为什么?
答:MOV指令用于对内部RAM的访问。
MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。
MOVX指令采用间接寻址方式访问外部数据存储器或I/O,有Ri和DPTR两种间接寻址方式。MOVX指令执行时,在P3.7引脚上输出RD有效信号或在P3.6引脚上输出WR有效信号,可以用作外部数据存储器或1/0的读或写选通信号。
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,#OFFH ;(A)=55H
ORL 20H, A ;(20H)=FFH
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,则应考虑进位。
21.读下列程序,请完成下列任务: