收藏 分销(赏)

单片机作业.doc

上传人:s4****5z 文档编号:8889287 上传时间:2025-03-06 格式:DOC 页数:5 大小:47KB
下载 相关 举报
单片机作业.doc_第1页
第1页 / 共5页
单片机作业.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
指出下列指令中源操作数的寻址方式。 MOV A,#55H ;立即寻址 MOV A,2AH ;直接寻址 MOV C,20H ;位寻址 MOV A,@R0 ;间接寻址 MOV @R0,A ;寄存器寻址 MOV A,R0 ;寄存器寻址 MOVX A,@DPTR ;间接寻址 MOV DPTR,#0123H ;立即寻址 MOVC A,@A+PC ;变址寻址 1己知(A)=7AH,(R0)=34H,(34H)=A5H,请写出分别执行下面各条指令后累加器A的内容。 (1) MOV A,R0 ;A=34H (2) MOV A,@R0 ;A=A5H (3) MOV A,34H ;A=A5H (4) MOV A,#34H ;A=34H 说明下段程序执行过程中,SP的内容及堆栈中内容的改变过程。 MOV SP,#30H; SP=30H。 MOV 30,#55H; MOV 40,#66H PUSH 30H; SP=31H,(SP)=55H。 PUSH 40H; SP=32H,(SP)=66H。 POP 30H; (30H)=66H,SP=31H。 POP 40H; (40H)=55H,SP=30H。 3 编程将内部RAM的20H~4FH单元内容清零 MOV R0,#20H MOV A,#00H MOV R1,#17 LOOP:MOV @R0,A INC R0 DJNZ R1,LOOP SJMP $ 编程查找内部RAM的32H-41H单元是否有0AAH这个数据,若有这一数据,则将50H单元置为0FFH,否则将50H单元清零 MOV R0,#32H; 内存首地址 MOV R1,#10H; 内存的长度16个单元 MOV 50H,#00H; 假设没有0AA这个数据 LOOP1: CJNE ,@R0 0AAH,NEXT1;判断数据,不相等转到NEXT1 JMP NEXT2 ;相等的就转移到NEXT2 NEXT1:INC R0 ;不相等时,R0加1,指向下一个内存数据 DJNZ R1,LOOP;判断数据有没有比较完, JMP EXIT NEXT2:MOV 50H,#0FFH;有0AAH这个数据,50H单元置0FFH,退出 EXIT:SJMP $ 5、查找20H~4FH单元中出现00H的次数,并将结果存入50H单元 MOV R0,#20H;内存首地址 MOV R1,#30H;内存长度 MOV 50H,#00H;结果清零 LOOP:CJNE @R0,#00H,NEXT INC 50H;出现00H,50H加1 NEXT:INC R0;指向一下个内存 DJNZ R1,LOOP;判断没有结束 SJMP $;结束 6 已知A=83H,R0=17H,(17H)=34H,写出下列程序段之后的A中的内容 ANL A,#17H; A=83H&17H=03H ORL 17H,A; (17H)=34H|03H=37H XRL A,@R0; A=03H异或37H=34H CPL A; A=0CBH 7.已知单片机的晶振频率为12M,分别设计延时程序为0.1s,1s的子程序 Delay100ms:MOV R7,#250 DEL1: MOV R6,#198 DEL2: DJNZ R6,DEL2 DJNZ R7,DEL1;(2*198+3)*250=99751us MOV R7,#123;1us DJNZ R7,$;246us RET;2us,99751+1+246+2=100000us=100ms Delay1s: MOV R8,#10; 1us DEL1: MOV R7,#250;1us DEL2: MOV R6,#198; 1us DEL3: DJNZ R6,DEL3; 198*2=396us DJNZ R7,DEL2; (1+396+2)*250=99750 DJNZ R8,DEL1; 1+(1+99750+2)*10 =997531 MOV R6, #10; DEL4: MOV R7,#121;1us DJNZ R7,$;242us DJRZ R6,DEL4;1+(1+242+2)*10=2451us MOV R7,#7;1uS DJNZ R7,$;14uS NOP ;1uS RET;2us,997531+2451+18=1s 数据存储器(RAM)用于存储数据。 8051内部有两个16位可编程序的定时器/计数器T0和T1,均为二进制加1计数器。可用于定时和对外部输入脉冲的计数。 8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。可实现对5个中断源的管理。8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。其中,IE用于控制5个中断源中哪些中断请求被允许向CPU提出,哪些中断源的中断请求被禁止;IP用于控制5个中断源的中断请求的优先权级别。 I/O接口是MCS-51单片机对外部实现控制和信息交换的必经之路,用于信息传送过程中的速度匹配和增加它的负载能力。可分为串行和并行I/O接口。 1. MCS-51系列单片机的引脚中有多少根I/O线?它们与单片机对外的地址总线和数据总线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大? 解:80C51单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。通常把4个端口称为P0~P3。在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。 2. 什么是指令?什么是程序?简述程序在计算机中的执行过程。 解:指令:人为输入计算机,由计算机识别并执行一步步操作的命令的形式称为指令。 程序:一系列指令的有序集合称为程序。 程序在计算机中是按序执行的,CPU通过程序计数器PC控制程序的执行顺序,一般情况下程序是按序执行的,当执行转移、调用、返回等指令时,程序转移到相应的目的地址处执行。CPU根据程序计数器PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,产生执行本条指令所需的全部信号,完成本条指令的执行。 3. 8051单片机的存储器组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?使用上有何特点? 解:(1)80C51在结构上的特点 80C51采用将程序存储器和数据存储器截然分开,分别寻址的结构,称为Harvard结构。 (2)在物理和逻辑上的地址空间 存储器上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。 在逻辑上有3个存储器地址空间:片内、片外统一的64KB程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。 (3)访问格式 访问片内RAM采用MOV格式 访问片外RAM采用MOVX格式 访问程序存储器ROM采用MOVC格式 4. 何为堆栈指针?堆栈操作有何规定? 解:堆栈是一个特殊的存储区。主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照“先进后出”的存取数据。堆栈指针SP是一个8位寄存器,是用于指示堆栈的栈顶地址的寄存器,它决定了堆栈在内部RAM中的物理位置。 5. DPTR是什么寄存器?它的作用是什么? 解:数据指针DPTR是16位的专用寄存器,它由两个8位的寄存器DPH(高8位)和DPL(低8位)组成。专门用来寄存片外RAM及扩展I/O口进行数据存取时的地址。编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用(即高位字节寄存器DPH和低位字节寄存器DPL)。 DPTR主要是用来保存16位地址,当对64KB外部数据存储器寻址时,可作为间址寄存器使用。 6. 8051单片机的PSW寄存器各位标志的意义如何? 解:程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。各个标志位的意义如下: PSW.7(Cy):进位标志位。 PSW.6(AC):辅助进位标志位,又称为半进位标志位。 PSW.5(F0):用户标志位。 PSW.4、PSW.3(RS1和 RS0):寄存器组选择位。 PSW.2(OV):溢出标志位。 PSW.1(空缺位):此位未定义。 PSW.0(P):奇偶校验位 7. 8051片内数据存储器有多少字节?存储空间地址范围为多少? 解:8051片内数据存储器有256B寻址空间。存储器空间的地址范围为:00H—-FFH 在这个存储器空间又可分为: 基本的数据存储区:00H—-7FH,可划分为工作寄存器、位寻址区、堆栈与数据缓冲区。 8. 8051片内RAM低128单元划分为哪三个主要部分?各部分主要功能是什么? 解:片内RAM低128单元划分及主要功能如下: (1)工作寄存器组(00H——1FH) 这是一个用寄存器直接寻址的区域,内部数据RAM区的0—31,共32个单元。它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0——R7。 (2)位寻址区(20H——2FH) 16个字节单元,共包含128位,这16个字节单元既可以进行字节寻址,又可以实现位寻址。主要用于位寻址。 (3)堆栈与数据缓冲区(30H——7FH) 用于设置堆栈、存储数据。 11.MCS-51单片机的时钟周期 ,机器周期,指令周期是如何定义的?当主频为12MHz的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时间? 解:时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。时钟周期又称为节拍(用P表示)。时钟周期是时序中的最小单位。一个状态有两个节拍, 机器周期定义为实现特定功能所需的时间。MCS-51的机器周期由12个时钟周期构成。 执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。MCS-51的指令可能包括1~4个不等的机器周期。 当MCS-51的主频为12MHz时,一个机器周期为1ms。执行一条指令需要的最长时间为4ms。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服