单片机,第三章答案
单片机 第3章 习题解答

MOV C,P2.2 ORL C,TCON.5 ANL C,P1.1 MOV F0,C MOV C,TCON.3 ORL C,/20H.0 ANL C,F0 ANL C,/20H.1 MOV P3.3,C
试编写程序,查找内部RAM的20H—30H单 元中出现00H的次数,并将结果送入31H单元
编写一段程序,比较内部RAM中20H
CLR C MOV A, 20H SUBB A, 21H JNC MAX MOV A, 20H XCH A , 21H MOV 20H, A MAX:SJMP MAX
在内部RAM的20-2FH连续16个单元中存放单字节无
P.52 1—1
MOV R1, #00H MOV A, #00H MOV DPTR, #2000H LOOP1: MOVX @DPTR, A INC DPTR DJNZ R1, LOOP SJMP $
P.52 1—2
MOV R2, #16 MOV R0, #20H MOV R1, #30H LOOP: MOV A, @R0 XCH A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2,LOOP SJMP $
P.52 2—1
MOV A, 40H ADD A, 50H MOV R4, A MOV A, 41H ADDC A, 51H MOV R3, A
P.52 2—2
CLR C MOV A, 40H SUBB A, 50H MOV R7, A MOV A, 41H SUBB A, 51H MOV R6, A
PSW .5 P1.5 B.0 A.0 A.7
单片机原理及应用第3章习题解答

第3章思考题及习题3参考答案一、填空1.访问SFR,只能使用寻址方式。
答:直接。
2.指令格式是由和组成,也可仅由组成.答:操作码,操作数,操作码。
3.在基址加变址寻址方式中,以作为变址寄存器,以或作为基址寄存器。
答:A,PC,DPTR4.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器单元的内容送入累加器A中。
答:1031H5.在AT89S52中,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址.答:程序,数据6.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的。
答:地址7.下列程序段的功能是 .答:A的内容与B的内容互换.PUSH AccPUSH BPOP AccPOP B8.已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后, (A)= ,(SP)= ,(51H)= ,(52H)= ,(PC)=。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 4000HDB 10H,80H,30H,50H,30H,50H答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H9.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下指令后,(A)= 。
ANL A,#17HORL 17H,AXRL A,@R0CPL A答:(A)=0CBH。
10.假设(A)=55H,(R3)=0AAH,在执行指令“ANL A,R3”后,(A)= ,(R3)= 。
答:(A)=00H,(R3)=0AAH。
11.如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后,(DPH)= ,(DPL)= ,(SP)= .POP DPHPOP DPLPOP SP答:(DPH)=3CH,(DPL)=5FH,(SP)=50H12.假定,(SP)=60H,(A)=30H,(B)=70H,执行下列指令后,SP的内容为,61H单元的内容为 ,62H单元的内容为 .PUSH AccPUSH B答:(SP)=62H,(61H)=30H,(62H)=70H。
单片机第3章习题答案

单片机第3章习题答案第3章习题答案一、选择题1.在中断服务程序中,至少应该有一条( D )。
(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令2.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( C )。
(A)MOV (B)MOVC (C)MOVX (D)以上都行3.JNZ rel指令的寻址方式是( C )。
(A)立即寻址(B)寄存器寻址(C)相对寻址(D)位寻址4.执行LCALL 1020H指令时,MCS-51所完成的操作是( D )。
(A)保护PC (B)PC←1020H(C)保护现场(D)PC+3入栈,PC←1020H5.下面哪条指令产生WR信号( D )。
(A)MOVX A,@DPTR (B)MOVC A,@A+PC(C)MOVC A,@A+DPTR (D)MOVX @DPTR,A6.在执行PUSH ACC指令时,MCS-51完成的操作是( A )。
(A)(SP)←(SP)+1,((SP))←(ACC)(B)(SP)←(ACC),((SP))←(SP)-1(C)(SP)←(SP)-1,((SP))←(ACC)(D)((SP))←(ACC),(SP)←(SP)+17.MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )。
(A)C (B)F0 (C)OV (D)P8.指令AJMP的跳转范围是( C )。
(A)256B (B)1KB (C)2KB (D)64KB9.在寄存器间接寻址方式中,指定寄存器中存放的是( B )。
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量10.执行返回指令时,返回的断点是( C )。
(A)调用指令的首地址(B)调用指令的末地址(C)调用指令下一条指令的首地址(D)返回指令的末地址二、填空题:1.8051指令基本格式由标号、操作码助记符、操作数和注释组成。
2.MOV A,20H源寻址方式为直接寻址。
3.执行ANL A,#0FH指令后,累加器A的高4位=0000B 。
单片机第三章答案

3.2指出下列每条指令的寻址方式和功能:○1MOV A, #50H该指令是立即数寻址方式,功能:A←立即数52H,就是操作数包含在指令字节中,跟在指令操作码后面字节内容就是操作数本身,把立即数52H送到累加器中。
○2MOV A, 50H该指令是直接寻址方式,功能:A←50H,指令中直接给出该操作数所在的单元的地址,将50H 单元里的内容送到累加器中。
○3MOV A, @R0该指令是寄存器间接寻址方式,功能:A←(R0),指令中给出的某一个寄存器的内容是操作数所在的存储单元地址,从该地址去取操作数,把R0单元的操作数送到累加器里。
○4MOV A, R7该指令是寄存器寻址方式,功能:A←R7,指令中直接给出该寄存器的名称,将寄存器单元里的操作数送给累加器。
○5MOVC A, @A+PC该指令是变址寻址方式,功能:操作数的地址是由一个基地址加一个偏移地址组成。
该指令把基址寄存器PC的内容为基本地址,加上变址寄存器A的内容形成16位的地址,访问程序存储器中的数据表格。
○6SJMP LOOP该指令是相对转移指令该指令的寻址方式为相对寻址方式,功能:PC ←PC+2,PC←PC+LOOP3.3设内部RAM中的69H单元的内容为50H,写出当执行下列程序段后寄存器A﹑R0和内部RAM中50H﹑51H单元的内容为何值?MOV A,69H ;A中的值为50HMOV R0,A ;将A中的值送到R0中MOV A,#00H ;将立即数00H送到A中MOV @R0,A ;将A中的内容送到间接寻址的内部RAM中50H单元中MOV A,#35H ;将立即数35H送到A中MOV 51H,A ;将A中的值送到51H单元中MOV 52H,#80H ;将立即数80H送到52H单元中可以知道:完成这段程序后,A中的值为:35H,R0:50H,内部RAM中50H:00H,51H:35H3.6设堆栈指针SP中的内容为60H,内部RAM中的30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR以及SP中内容将有何变化?PUSH 30H ;SP←SP+1,(SP)←(30H),SP=61H,(61H)=24HPUSH 31H ;SP←SP+1,(SP)←(31H),SP=62H,(62H)=10HPOP DPL ;DPL←(SP),SP←SP-1,(82H)=10H,SP=61HPOP DPH ;DPH←(SP),SP←SP-1,(83H)=24H,SP=60HMOV 30H,#00H ;30H←00HMOV 31H,#0FFH ;31H←0FFH可以知道:完成这段程序后,61H中的内容为:24H,62H:10H,内部RAM中30H:00H,31H:0FFH,DPTR:2410H,SP:60H。
单片机第3章作业及答案

第3章作业1、简述89C51的寻址方式,每一种方式请举一例。
(1) 立即数寻址(Immediate Addressing)立即数寻址是将操作数直接存放在指令中,作为指令的一部分存放在代码段里。
例如指令:MOV A,#30H(2) 直接寻址(Direct Addressing)直接寻址是将操作数的地址直接存放在指令中。
这种寻址方式的操作数只能存放在内部数据存贮器和特殊功能寄存器中。
例如:MOV A,30H(3) 寄存器寻址(Register Addressing)寄存器寻址是指操作数存放在以上所说的寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。
例如:MOV A,R0(4) 寄存器间接寻址(Register Indirect Addressing)寄存器间接寻址是指操作数存放在以寄存器内容为地址的单元中。
例如:MOV A,@R0(5) 变址寻址(Base-Register-plus-Index-Register-Indirect Addressing)变址寻址是指操作数存放在变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。
其中累加器A作变址寄存器、程序计数器PC或寄存器DPTR 作基址寄存器。
例如:MOVC A, @A+DPTR(6) 相对寻址(Relative Addressing)相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。
例如:JZ 61H(7) 位寻址(Bit Addressing)位寻址,是指对片内RAM中20H~2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址。
例如:位寻址指令MOV C,20H,此指令是将RAM中位寻址区20H位地址中的内容,送给位累加器C。
字节地址寻址指令:MOV A,20H,此指令是将内部RAM中20H单元中的内容送给累加器A。
2、请给下列指令加注释:MOV A , 50H ;将片内RAM 50H单元中的数传送到累加器A中MOV A , #50H ;将立即数#50H传送到累加A中MOV 50H , #30H ;将立即数#30H传送到片内RAM 50H单元中MOV 52H , 51H ;将片内RAM 51H单元中的数传送到内RAM 51H单元中3、完成下列功能,写出相应指令:(1) 在片内RAM 50H单元中存入立即数#76H;MOV 50H , #76H(2) 将片内RAM 30H单元中的低4位与高4交换;MOV A , 30HSW AP AMOV 30H , A(3) 将累加器A的低4位清0;ANL A , #11110000B(4) 将片内RAM 50H单元中的数取反后存入片外RAM7100H单元中;MOV A , 50HCPL AMOV DPTR , #7100HMOVX @DPTR , A(5) 片内RAM 36H单元中存的小于10的BCD码乘以10以后存与片内RAM 37H中;MOV A , 36HRL ARL ARL ARL AMOV 37H , A(6) 将片内RAM51H最高位置1;ORL 51H , #10000000B(7) 将程序状态字寄存器中的F0位置1;CLR F0(8) 片内RAM 78H单元中的数为#09H则转移,否则顺序执行;MOV A , #09HCLR CSUBB A , 78HJZ NEXT(9) 请将片外RAM 3100H和3101H存的两个数交换。
单片机原理及应用第三章习题答案

单片机原理及应用第三章习题答案第一题:题目:什么是中断?中断是指在程序执行过程中,由于发生了某个特定事件,导致当前的程序需要暂时中断执行,转而去处理其他紧急或优先级更高的事件。
中断可以提高系统的实时性和响应速度。
第二题:题目:请简述中断的分类及其优缺点。
中断可以分为外部中断和内部中断。
外部中断:外部中断是通过外部设备触发的中断,例如按键输入、定时器溢出等。
外部中断的优点是能够及时响应外部事件,缺点是响应时间有一定延迟,并且可能会引起系统的不稳定性。
内部中断:内部中断是通过程序内部指令触发的中断,例如软件中断、硬件错误等。
内部中断的优点是响应时间几乎可以忽略,缺点是需要消耗较多的系统资源。
第三题:题目:简述中断的处理过程。
中断的处理过程一般包括以下几个步骤:1. 中断请求发生:外部设备或程序内部触发中断请求。
2. 中断响应:CPU接收到中断请求后,保存当前程序的执行状态,暂停当前程序的执行,并跳转到中断服务程序。
3. 中断服务程序执行:中断服务程序是为了处理中断事件而编写的程序,它会根据中断类型执行相应的操作,例如处理外部设备的输入、更新系统状态等。
4. 中断处理完成:中断服务程序执行完后,将恢复之前保存的执行状态,继续执行被中断的程序。
第四题:题目:请简述常见的中断优先级判断方式。
常见的中断优先级判断方式有两种:硬件优先级判断和软件优先级判断。
硬件优先级判断:硬件优先级判断是通过硬件电路来实现的,每个中断信号都有一个对应的硬件中断优先级,优先级高的中断信号将打断当前正在执行的中断信号。
软件优先级判断:软件优先级判断是通过编程的方式来实现的,每个中断信号都有一个对应的中断优先级,在中断服务程序中通过程序代码来判断当前是否有更高优先级的中断请求。
第五题:题目:请说明中断向量表的作用。
中断向量表是一个存储中断处理程序入口地址的数据结构,它将每个中断编号与对应的中断服务程序的入口地址进行映射。
当一个中断请求发生时,中断向量表将根据中断编号找到对应的中断服务程序的入口地址,从而实现中断的处理。
MCS51第三章习题及答案

第三章: MCS-51单片机的结构和原理习题及解3.3: DPTR是什么寄存器?它的作用是什么?它由哪几个特殊功能寄存器组成?解: DPTR是16位数据指针寄存器。
它的作用是:1: 用于外部64KB数据存储器RAM的16位地址指针;2: 用于外部64KB程序存储器ROM的16位基数指针,用于查表;3: 用于外设的16位端口地址指针。
它由两个8位的特殊功能寄存器DPL和DPH组成,其中DPL 存放DPTR中的低8位数据,DPH存放DPTR中的高8位数据。
3.5: 什么叫堆栈?堆栈指示器SP的作用是什么?8051单片机堆栈的最大容量不能超过多少字节?解: 堆栈是在片内RAM中开辟出的专用存储区,按照“先进后出”的原则存取数据。
SP 是8位特殊功能寄存器,又称为堆栈栈顶指针,SP中的值为堆栈的栈顶地址。
由于SP 为8位寄存器,所以8051单片机堆栈的最大容量不能超过256个字节。
3.7: 8051单片机的内部数据存储器可以分为几个不同区域?各有什么特点?解: 内部数据存储器可以分为4个不同区域,特点是:1: 工作寄存器区,地址从00H ~ 1FH;2: 可位寻址区,地址从20H ~ 2FH;3: 字节寻址区,地址从30H ~ 7FH;4: 特殊功能寄存器区,地址从80H ~ FFH。
3.9: 8051单片机对外有几条专用控制线?其功能是什么?解: 8051单片机有两条输出控制线ALE和/PSEN。
两条输入控制线/EA和RST/VPD。
ALE的功能:1: 扩展外部存储器时,P0口为8位数据/低8位地址复用线,为了将地址线分离出来需用8位锁存器,ALE用于控制该锁存器的控制端。
2: 仅用片内存储器时,输出1/6钟频的的连续波形。
/PSEN的功能是控制外部ROM读有效。
/EA的功能是选择仅片外ROM及有片内、外ROM。
RST/VPD的功能是,1: RST为复位功能,2: VPD为写内片内ROM信息。
3.13: 为什么外扩存储器时,P0口要外接锁存器,而P2口却不接?解: 由于P0口为8位数据/低8位地址复用线,要将地址线分离出来需外接8位锁存器。
单片机课后第三章习题答案

单片机课后第三章习题答案单片机课后第三章习题答案第一题:题目:请简述单片机中断的概念及其作用。
答案:单片机中断是指在程序执行过程中,当某个特定的事件发生时,会暂时中断当前正在执行的程序,转而去执行与该事件相关的处理程序。
中断的作用主要有两个方面:一是提高系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。
第二题:题目:请简述单片机中断的分类及其优先级。
答案:单片机中断可以分为外部中断和内部中断。
外部中断是指通过外部引脚接收到的中断信号,如按键、传感器等;内部中断是指通过内部定时器或其他模块产生的中断信号,如定时器溢出中断、串口接收中断等。
优先级方面,不同的中断源可以设置不同的优先级,一般来说,优先级越高的中断会先被响应和执行,优先级越低的中断会被延迟执行。
但是需要注意的是,在处理中断时,要尽量保证高优先级中断的处理时间短,以免影响低优先级中断的及时响应。
第三题:题目:请简述中断服务程序的编写流程。
答案:中断服务程序的编写流程如下:1. 定义中断向量表:将每个中断源对应的中断服务程序的入口地址存储在中断向量表中,以便单片机在中断发生时能够正确地找到对应的中断服务程序。
2. 初始化中断控制寄存器:根据需要,设置中断源的触发条件和优先级。
3. 编写中断服务程序:根据中断源的不同,编写相应的中断服务程序。
中断服务程序一般包括中断处理前的准备工作、中断处理代码和中断处理后的清理工作。
4. 注册中断服务程序:将编写好的中断服务程序的入口地址注册到中断向量表中,以便单片机在中断发生时能够正确地跳转到对应的中断服务程序。
5. 启用中断:根据需要,使能相应的中断源,使其能够触发中断。
第四题:题目:请简述单片机中断的优缺点。
答案:单片机中断的优点主要体现在两个方面:一是提高了系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高了系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
思考题:【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】80C51单片机可以进行寄存器间接寻址的寄存器是寻址的范围是【3-10】在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的()。
【3-11】80C51单片机变址寻址方式中可以作基址的寄存器是可以作变址的寄存器是@A+PC,@A+DPTR所找到的操作数是在ROM中对吗【3-12】80C51单片机相对寻址改变的是PC的当前值,即改变的CPU执行指令的顺序这句话对否【3-13】若访问特殊功能寄存器,只可以采用那种寻址方式【3-14】若访问外部RAM单元,只可以使用哪种寻址方式【3-15】若访问内部RAM单元,可使用哪些寻址方式【3-16】若访问内外程序存储器,可使用哪些寻址方式【3-17】80C51单片机可以进行位寻址的字节单元范围除11个可位寻址的特殊功能寄存器外还包括哪个区域分别找出位地址是00H、08H、22H、7FH、D0H、E0H对应的字节地址【3-18】已知(30H)=40H,(40H)=10H,(10H)=32H,(P1)=0EFH,试写出执行以下程序段后有关单元的内容。
MOV R0,#30HMOV A,@R0MOV R1,AMOV B,@RiMOV @R1,P1MOV P2,P1MOV 10H,#20HMOV 30H,10H【3-19】为什么对基本型的51子系列单片机(片内RAM为128B),其寄存器间接寻址方式(例如MOV A,@R0)中,规定R0或R1的内容不能超过7FH【3-20】外部RAM数据传送指令有几条试比较下面每一组中两条指令的区别(1)MOVX A,@R1 MOVX A,@DPTR(2)MOVX A,@DPTR MOVX @DPTR,A(3)MOV @R0,A MOVX @R0,A(4)MOVC A,@A+DPTR MOVX A,@DPTR【3-21】假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC 后,把程序存储器()单元的内容送入累加器A中。
【3-22】在AT89S51中,PC和DPTR都用于提供地址,但PC是为访问()提供地址,而DPTR 是为访问()和()提供地址。
【3-23】试写出完成以下数据传送的指令序列。
(1)R1的内容传送R0;(2)片外RAM 60H单元的内容送入R0;(3)片外RAM 60H单元的内容送入片内RAM 40H单元;(4)片外RAM 1000H单元的内容送入片外RAM 40H单元。
【3-24】试编程,将外部RAM 1000H单元中的数据与内部RAM 60H单元中的数据相互交换。
【3-25】对程序存储器的读操作。
只能使用()。
A)MOV指令B)PUSH指令C)MOVX指令D)MOVC指令【3-26】(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后,(DPH)=(),(DPL)=(),(SP)=()。
POP DPHPOP DPLPOP SP【3-27】假定,(SP)=60H,(A)=30H,(B)=70H,执行下列指令后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。
PUSH AccPUSH B【3-28】已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后,(A)=(),(SP)=(),(51H)=(),(52H)=(),(PC)=()。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 4000HDB 10H,80H,30H,50H,30H,50H【3-29】已知(A)=5BH,(R1)=40H,(40H)=C3H,(PSW)=81H,试写出各条指令的执行结果,并说明程序状态字的状态。
(1)XCH A,R1(2)XCH A,40H(3)XCH A,@R1(4)XCHD A,@Rl(5)SWAP A(6)ADD A,R1(7)ADD A,40H(8)ADD A,#40H(9)ADDC A,40H(10)SUBB A,40H(11)SUBB A,#40H【3-30】试分析下面两组指令的执行结果有何不同(1)MOV A,#0FFH (2)MOV A,#0FFHINC A ADD A,#O1H【3-31】DA A指令有什么作用怎样使用【3-32】已知(A)=87H,(R0)=42H,(42H)=24H,请写出执行下列程序段后A的内容。
ANL A,#23HORL 42H,AXRL A,@R0CPL A【3-33】写出完成如下要求的指令.但是不能改变未涉及位的内容。
(1)把,,和清0 。
(2)把累加器A的中间4位清0。
(3)把和置1。
【3-34】假定(A)=83H,(R0)=17H,(17H)=34H,执行以下指令后,(A)=()。
ANL A,#17HORL 17H,AXRL A,@R0CPL A【3-35】假设(A)=55H,(R3)=0AAH,在执行指令“ANL A,R3”后,(A)=(),(R3)=()。
【3-36】已知组合逻辑关系式为F=AB+C,请编写模拟其功能的程序。
设A、B、C、F均代表位地址。
【3-37】编程完成下述操作。
(1)将外部RAM 1000H单元的所有位取反;(2)将外部RAM 60H单元的高2位清零,低两位变反,其余位保持不变。
【3-38】试用位操作指令实现逻辑操作:=(10H∨),=(18H∨CY)。
【3-39】仔细辨析下列指令的意义,找出错误的指令,并简要说明原因。
(1)CLR A(2)CLR EOH(3)CLR ACC(4)CLR ACC.0(5)CPL A(6)CPL EOH(7)CPL ACC(8)CPL ACC.0【3-40】指令LJMP addrl6和AJMP addrl1的区别是什么【3-41】试分析以下两段程序中各条指令的作用,程序执行完将转向何处(1)MOV p1,#0CAHMOV A,#56HJB ,L1JNB ACC.3,L2……L1::L2::(2)MOV A,#43HJB ACC.2,L1JBC ACC.6,L2……L1::L2::【3-42】判断以下指令的正误。
(1)MOV 28H,@R2;(2)DEC DPTR;(3)INC DPTR;(4)CLR R0;(5)CPL R5(6)MOV R0,R1;(7)PUSH DPTR;(8)MOV F0,C;(9)MOV F0,;(10)MOVX A,@R1;(11)MOV C,30H;(12)RLC R0【3-43】借助指令表(附录B),对如下指令代码(十六进制)进行手工反汇编。
FF C0 E0 E5 F0【3-44】以下指令中,属于单纯读引脚的指令是()。
A)MOV P1,AB)ORL P1,#0FHC)MOV C,D)ANL P1,#0FH【3-45】用AT89S51单片机的P1口做输出,经驱动电路接8个发光二极管,见图3-11所示。
当输出位为“0”时,发光二极管点亮;输出为“1”时,发光二极管为暗。
试编制程序①将8个发光二极管全部点亮;②将8个发光二极管全部熄灭;③将8个发光二极管隔一个点亮一个;④每次亮一个,循环左移,一个一个地亮,循环不止。
图3-11 单片机P1口驱动发光二极管【3-46】如图3-12所示,这是由AT89C51构建的最小系统,外部连接了4个按键S1~S4及4个发光二极管LEDl-LED4,P1口的高4位用于接收按键的输入状态,而低4位用于驱动发光二极管。
请结合图示,编写程序,完成以下要求。
(1)若Sl闭合,则发光二极管LEDl点亮;若S2闭合,则发光二极管.LED2点亮……。
以此类推,即发光二极管实时反映按键状态。
(2)用4个发光二极管实现对按键键值的BCD编码显示。
即若Sl闭合,键值为1,编码为0001,LEDl点亮;若S2闭合,键值为2,编码为0010,LED2点亮;若S3闭合,键值为3,编码为0011,LEDI、LED2同时点亮;若S4闭合,键值为4,编码为0100,LED3点亮。
图3-12第三章思考题答案:【3-1】解答:(1)C语言那种语言的可读性和可移植性强,例如对于用C语言编制的51单片机程序,只需要稍作修改就可以移植到PIC类型的单片机上。
(2)汇编语言适用于对速度和时序敏感的场合。
(3)正确。
【3-2】解答:(1)C语言与汇编语言经过编译后将是二进制的机器语言。
(2)正确。
【3-3】解答:(1)一条完整的汇编语言指令包括标号、操作码、操作数和注释四部分。
(2)其中标号与操作码用冒号分隔,操作码和操作数之间用空格,多个操作数之间用逗号分隔,注释用冒号开头。
(3)四个部分中操作码是必须存在的,其他三部分在有的指令中可以不出现。
(4)标号是一种符号地址。
标号以字母开头,由1-8个字母或数字组成。
【3-4】解答:80C51系列单片机提供了七种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址(基址寄存器+变址寄存器间接寻址)、相对寻址、位寻址。
【3-5】解答:立即寻址寻址方式中的立即数是存放在ROM中。
【3-6】解答:(1)正确(2)正确(3)错误(4)错误【3-7】解答:直接寻址方式可访问以下存储空间:①内部RAM低128个字节单元,指令中直接地址以单元地址的形式给出。
②特殊功能寄存器。
【3-8】解答:寄存器寻址中规定的寄存器有:①工作寄存器R0~R7。
②累加器A。
③双字节AB。
④数据指针DPTR。