单片机-第三章答案.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
思考题: 【3- 1】汇编语言与C语言哪种语言的可读性和可移植性强?在对速度和时序敏感的场合应该 使用什么语言?对于复杂的单片机系统一般采用C与汇编混合编程的形式这句话对吗? 【3- 2】二进制机器语言与C和汇编语言两者之间是什么关系?用C或汇编编制的程序在ROM中 是以编译后的二进制代码的形式存放这句话对吗? 【3- 3】80C51系列单片机指令的格式包含哪几个部分?各部分之间的间隔符是什么?四个部 分中哪个部分是必须存在的,哪几个部分是可有可无的?标号的格式和代表的意义是? 【3-4】80C51系列单片机有哪几种寻址方式? 【3-5】80C51单片机中立即数是存放在ROM中还是RAM中? 【3-6】判断下列说法是否正确。 (1)立即数寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中。( ) (2)指令周期是执行一条指令的时间。( ) (3)指令中直接给出的操作数称为直接寻址。( ) (4)内部寄存器Rn(n=0~7)可作为间接寻址寄存器。( ) 【3-7】80C51单片机可以进行直接寻址的区域是? 【3-8】80C51单片机可以进行寄存器寻址的范围是? 【3-9】80C 【3-1】汇编语言和C语言在可读性和可移植性方面存在差异。汇编语言具有高度的硬件针对性,可读性相对较差,但可以直接控制硬件,适合于对速度和时序要求极高的场合。C语言则具有较好的可读性和可移植性,能够编写出结构化的程序,易于理解和维护,但在对速度敏感的应用中可能不如汇编语言。对于复杂的单片机系统,通常会结合C语言和汇编语言的优点,采用混合编程,利用C语言的高级抽象和汇编语言的高效特性。 【3-2】二进制机器语言是计算机能直接执行的语言,C和汇编语言都是高级语言,它们通过编译器转换成机器语言。C或汇编编写的程序在ROM中以二进制代码形式存放,这是正确的,因为ROM用来存储固化在芯片中的程序。 【3-3】80C51系列单片机指令格式包括操作码、操作数、标号和注释等部分,各部分之间通常由空格分隔。其中,操作码是必须存在的,其他部分如操作数、标号和注释可能是可选的。标号通常用于表示程序的跳转位置,格式通常是字母开头,后跟数字或字母,代表内存地址或程序流程控制点。 【3-4】80C51系列单片机有以下五种寻址方式:直接寻址、间接寻址、寄存器寻址、寄存器间接寻址和立即寻址。 【3-5】80C51单片机中的立即数是直接在指令中给出的数值,它通常存储在指令字中,而不是存放在ROM或RAM中。 【3-6】(1)正确,立即数寻址方式的数据直接在指令中。 (2)正确,指令周期是执行一条指令所需的时间。 (3)正确,直接寻址是指指令中直接给出了操作数的地址。 (4)错误,内部寄存器Rn不能作为间接寻址寄存器。 【3-7】80C51单片机可以进行直接寻址的区域是内部RAM的低128字节。 【3-8】80C51单片机可以进行寄存器寻址的范围是内部寄存器R0到R7。 【3-9】80C51单片机可以进行寄存器间接寻址的寄存器是R0和R1,寻址范围是内部RAM的低128字节和外部RAM。 【3-10】在寄存器间接寻址方式中,寄存器的内容是操作数的地址。 【3-11】80C51的变址寻址中,@A+PC和@A+DPTR可以作为基址或变址,所找的操作数可能在ROM中。 【3-12】相对寻址确实改变CPU执行指令的顺序,因此这个说法是对的。 【3-13】访问特殊功能寄存器通常使用直接寻址方式。 【3-14】访问外部RAM单元通常使用寄存器间接寻址(例如MOVX @R0,A)。 【3-15】访问内部RAM单元可以使用直接寻址、寄存器寻址或寄存器间接寻址。 【3-16】访问内外程序存储器可以使用立即寻址、直接寻址、寄存器间接寻址或变址寻址。 【3-17】80C51可以进行位寻址的字节单元除了11个特殊功能寄存器外,还包括内部RAM的20-2FH字节。位地址00H对应00H字节,08H对应08H字节,22H对应22H字节,7FH对应7FH字节,D0H对应D0H字节,E0H对应E0H字节。 【3-18】程序段执行后,R0=30H,A=40H,R1=A=40H,B=P1=0EFH,@R1=P1=0EFH,P2=P1=0EFH,10H=20H,30H=10H。 【3-19】对51子系列单片机,寄存器间接寻址中R0或R1的内容限制在7FH以内,是因为片内RAM只有128字节,高地址部分不支持直接寻址。 【3-20】外部RAM数据传送指令包括MOVX和MOVC。具体区别如下: (1)MOVX A,@R1是通过R1间接访问外部RAM,而MOVX A,@DPTR是通过DPTR间接访问外部RAM。 (2)MOVX @DPTR,A是写入外部RAM,而MOVX A,@DPTR是从外部RAM读取。 (3)MOV @R0,A是直接写入内部RAM,而MOVX @R0,A是写入外部RAM。 (4)MOVC A,@A+DPTR是访问程序存储器,而MOVX A,@DPTR是访问外部数据存储器。 【3-21】执行后,A将得到1002H单元的内容。 【3-22】PC提供程序存储器地址,DPTR提供数据存储器(片外RAM)和程序存储器的地址。 【3-23】指令序列如下: (1)MOV R0, R1 (2)MOVX A, @60H ; 读60H到累加器 MOV R0, A ; 保存到R0 (3)MOVX @40H, A ; 将累加器内容存入40H (4)MOV DPTR, #1000H ; 设置DPTR MOVX A, @DPTR ; 读1000H到累加器 MOVX @40H, A ; 将累加器内容存入40H 【3-24】交换代码示例: ``` MOV R0, #1000H ; 设置源地址 MOVX A, @R0 ; 读取1000H MOV R1, #60H ; 设置目标地址 MOVX @R1, A ; 存入60H MOV R0, #60H ; 重新设置源地址 MOVX A, @R0 ; 读取60H MOV R1, #1000H ; 重新设置目标地址 MOVX @R1, A ; 存入1000H ``` 【3-25】对程序存储器的读操作通常使用MOVC指令。 【3-26】(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=...,这部分内容未完整提供,无法继续分析。
剩余10页未读,继续阅读
- 粉丝: 193
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 分享:qt的Yolo图像处理模块(pri)
- 施工人员检测54-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma数据集合集.rar
- 基于Java + Mysql 实现的在线考试系统课程设计
- java小游戏,飞机大战0.1版本.zip
- 深度学习 python 特征标记
- GSD-file-for-DME5000-PROFIBUS-DC0000868.ZIP Firmware V1.5, V1.7, V2.0 SICK069D
- google-chrome-stable-124.0.6367.118-1.x86-64.rpm
- 施工人员检测53-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- scratch简单小游戏(贪吃蛇)
- freeplane笔记