单片机第3章作业
完整版单片机原理与应用技术江力版第三四六章答案

第三章作业参考答案3-10. 己知(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)=34H3-12. 1设(R0)=32H,(A)=48H,片内RAM中(32H)=60H,(40H)=61H。
请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0 ; (A)=(32H)=60HMOV @R0,40H ; (32H)=61HMOV 40H,A ; (40H)=(A)=60HMOV R0,#40H ; (R0)=40H即:执行完程序段后,(R0)=40H, (A)=60H, 片内RAM中,(32H)=61H, (40H)=60H3-13 已知(A)=83H,(R0)=47H,(47H)=34H。
请写出执行完下列程序段后A的内容。
ANL A,47H ;(A)=83H∧34H=00HORL 47H,A ;(47H)=34H∨00H=34H00H?34H=34H;(A)= XRL A,@R0SWAP A ;(A)=43H答:执行完程序段后,(A)=43H3-14 14. 说明下段程序执行过程中,SP的内容及堆栈中内容的改变过程。
MOV SP,#30H ;(SP)=30HMOV 30H,#55HMOV 40H,#66HPUSH 30H ;(SP)=31H, 堆栈区中(31H)=55HPUSH 40H ;(SP)=32H, 堆栈区中(32H)=66HPOP 30H ;先将堆栈区中32H单元的内容送入30H单元,使(30H)=66H, 再使;SP值减1,即: (SP)=31HPOP 40H ;先将堆栈区中31H单元的内容送入40H单元,使(40H)=55H, 再使;SP值减1,即: (SP)=30H最终,(SP)=30H, 内部RAM中,(30H)=66H, (40H)=55H.3-15 编程实现两个16位二进制数的减法。
单片机原理及接口技术(第三版)李朝青编著 第三章作业答案

3.4 思考题与习题5.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答:访问特殊功能寄存器可采用寄存器寻址、直接寻址、寄存器间接寻址、部分的还可采用位寻址。
访问片外数据存储器只能采用寄存器间接寻址。
6.在89C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H, (48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。
MOV A,40H ;A=48H,直接寻址MOV R0,A ;R0=48H,寄存器寻址MOV P1,#0F0H ;P1=F0H,立即寻址MOV @R0,30H ;(48H)=38H,直接寻址MOV DPTR,#3848H ;DPTR=3848H,立即寻址MOV 40H,38H ;(40H)=40H,直接寻址MOV R0,30H ;R0=38H,直接寻址MOV P0,R0 ;P0=38H,寄存器寻址MOV 18H,#30H ;(18H)=30H,立即寻址MOV A,@R0 ;A=40H,寄存器间接寻址MOV P2,P1 ;P2=F0H,寄存器寻址9.设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H。
请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0 ;A=80HMOV @R0,40H ;(32H)=08HMOV 40H,A ;(40H)=80HMOV R0,#35H ;R0=35H答:R0=35H,A=80H,(32H)=08H,(40H)=80H。
16.已知(A)=83H,,(R0)=17H,,(17H)=34H。
请写出执行完下列程序段后A的内容。
ANL A,#17H ;A=03HORL 17H,A ;(17H)=34H∨03H=37HXRL A,@R0 ;A=03H⊕37H=34HCPL A ;A=CBH答:A=CBH17.使用位操作指令实现下列逻辑操作。
单片机第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章作业及答案

第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存的两个数交换。
单片机及应用第3章习题解答

第3章思考题及习题31.C51在标准C的基础上,扩展了哪几种数据类型?答:扩展了4种数据类型(见教材表3-1中最后4行)。
它们分别是:bit、sfr、sfr16和sbit。
2.C51有哪几种数据存储类型?其中数据类型“idata,code,xdata,pdata”各对应AT89S8051单片机的哪些存储空间答:C51有6种数据存储类型data、bdata、idata、xdata、pdata和code。
数据存储类型idata对应片内RAM的256字节。
数据存储类型code对应程序存储区。
数据存储类型xdata对应片外64KB的RAM空间。
数据存储类型pdata对应片外RAM的256字节。
3.bit与 sbit定义的位变量有什么区别?答:bit是用来定义普通的位变量,它的值只能是二进制的0或1。
而sbit定义的是特殊功能寄存器的可寻址位,它的值是可以进行位寻址的特殊功能寄存器的某位的绝对地址,例如PSW寄存器OV位的绝对地址0xd2。
4.说明3种数据存储模式(1)SMALL模式(2)COMPACT模式(3)LARGE模式之间的差别。
答:3种数据存储模式之间的差别如下:(1)SMALL模式。
在该模式下,所有变量都默认位于8051单片机内部的数据存储器,这与使用data指定存储器类型的方式一样。
在此模式下,变量访问的效率高,但是所有数据对象和堆栈必须使用内部RAM。
(2)COMPACT模式。
本模式下的所有变量都默认在外部数据存储器的1页(256字节)内,这与使用pdata指定存储器类型是一样的。
该存储器类型适用于变量不超过256字节的情况,此限制是由寻址方式决定的,相当于使用数据指针@Ri进行寻址。
与SMALL模式相比,该存储模式的效率比较低,对变量访问的速度也慢一些,但比LARGE模式快。
(3)LARGE模式。
在LARGE模式下,所有变量都默认位于外部数据存储器,相当于使用数据指针@DPTR进行寻址。
单片机实用技术--第3章习题解答

1.设变量x以补码形式存放在片内RAM 30H单元中,变量y与x的关系是:X, X>0Y= 20H, X=0X+5, X<0编程根据x的值求y值并放回原单元。
答:START:MOV A,30HJZ NEXTANL A,#80HJZ EDMOV A,#05HADD A,30HMOV 30H,ASJMP EDNEXT:MOV 30H,#20HED:SJMP $2.MCS-51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何?答:立即寻址对应程序存储器直接寻址对应内部数据存储器和SFR寄存器寻址对应工作寄存器R0~R7,A,B,DPTR寄存器间接寻址对应片内RAM:@R0,@R1,SP,片外RAM:@R0,@R1,@DPTR变址寻址对应程序存储器:@A+PC,@A+DPTR相对寻址对应程序存储器256字节范围内:PC+偏移量位寻址对应片内RAM的位寻址区(20H~2FH字节地址),某些可位寻址的SFR 3.访问特殊功能寄存器SFR可以采用哪些寻址方式?答:直接寻址方式和位寻址方式4.访问片内RAM单元可以采用哪些寻址方式?答:直接和间接寻址方式5.访问外部RAM单元可以采用哪些寻址方式?答:间接寻址方式6.访问外部ROM可以采用哪些寻址方式?答:立即、变址和相对寻址方式7.为什么说布尔处理功能是8051单片机的重要特点?答:因为8051具有位寻址功能8.对于AT89S52单片机内部RAM还存在高128字节,应采用何种方式访问?答:采用间接寻址方式9.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令。
(1)将R0的内容传送到R1;(2)内部RAM单元50H的内容传送到寄存器R4;(3)外部RAM单元2000H的内容传送到内部RAM单元70H;(4)外部RAM单元0800H的内容传送到寄存器R5;(5)外部RAM单元2000H的内容传送到外部RAM单元2100H。
单片机原理及应用教程(第2版)各章习题参考答案

单片机原理及应用第三章课后答案

第三章作业答案2. MCS-51有(4)个8位并行I/O口,在作为通用I/O口使用时P0~P3是准双向口,所以由输出转输入时必须先写入(1)。
6. 设(TMOD)=0A5H,则定时器T0的状态是( 方式1计数),定时器T1的状态是( 方式2定时)。
或设(TMOD)=0A5H,则定时器T0的状态是( 软件控制的16位计数器),定时器T1的状态是(软硬件控制的可自动重装初值的8位定时器)。
27.请写出1INT为低电平触发的中断系统初始化程序。
解:INT为低电平触发的中断系统初始化程序如下:1ORG 0000HLJMP MAINORG 0013HLJMP INTN1ORG 0100HMAIN:MOV SP,#60HSETB EASETB EX1;开1INT中断CLR PX1 ;令1INT为低优先级CLR IT1 ;令1INT为电平触发SJMP $INTN1:……RETIEND用MOV指令实现:MOV IE,#84HANL IP,#0FBH(或ORL IP,#04H)ANL TCON,#0FBH28.MCS-51单片机响应中断后,写出中断服务子程序的入口地址。
解:36.使用一个定时器,如何通过软硬结合方法实现较长时间的定时?解:设定好定时器的定时时间,采用中断方式用软件进行溢出次数累计,从而得到较长的定时时间,定时时间=定时器的定时时间×软件累计的溢出次数。
37.利用定时器输出周期为2 ms的方波, 设单片机晶振频率为6 MHz。
试编程实现之。
解:选用定时器/计数器T0 作定时器,工作在方式1,输出为P1.0 引脚,2 ms 的方波可由1 ms的高低电平相间隔而成,因而只要每隔1 ms对P1.0 取反一次即可得到这个方波。
初值的计算如下:T0=12/(6×106)= 2×10-6STC=M-T/T0=216-1×10-3/2×10-6=65536-500=65036=FE0CH当定时器/计数器采用方式0时,初值为:TC=M-T/T0=213-1×10-3/2×10-6=8192-500=7692=1E0CH,则真正的16位计数初值为:1E0CH(高8位,低5位)利用定时器/计数器时,必须用文字说明工作方式的设置,计算初值。
单片机课后第三章习题答案

单片机课后第三章习题答案单片机课后第三章习题答案第一题:题目:请简述单片机中断的概念及其作用。
答案:单片机中断是指在程序执行过程中,当某个特定的事件发生时,会暂时中断当前正在执行的程序,转而去执行与该事件相关的处理程序。
中断的作用主要有两个方面:一是提高系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。
第二题:题目:请简述单片机中断的分类及其优先级。
答案:单片机中断可以分为外部中断和内部中断。
外部中断是指通过外部引脚接收到的中断信号,如按键、传感器等;内部中断是指通过内部定时器或其他模块产生的中断信号,如定时器溢出中断、串口接收中断等。
优先级方面,不同的中断源可以设置不同的优先级,一般来说,优先级越高的中断会先被响应和执行,优先级越低的中断会被延迟执行。
但是需要注意的是,在处理中断时,要尽量保证高优先级中断的处理时间短,以免影响低优先级中断的及时响应。
第三题:题目:请简述中断服务程序的编写流程。
答案:中断服务程序的编写流程如下:1. 定义中断向量表:将每个中断源对应的中断服务程序的入口地址存储在中断向量表中,以便单片机在中断发生时能够正确地找到对应的中断服务程序。
2. 初始化中断控制寄存器:根据需要,设置中断源的触发条件和优先级。
3. 编写中断服务程序:根据中断源的不同,编写相应的中断服务程序。
中断服务程序一般包括中断处理前的准备工作、中断处理代码和中断处理后的清理工作。
4. 注册中断服务程序:将编写好的中断服务程序的入口地址注册到中断向量表中,以便单片机在中断发生时能够正确地跳转到对应的中断服务程序。
5. 启用中断:根据需要,使能相应的中断源,使其能够触发中断。
第四题:题目:请简述单片机中断的优缺点。
答案:单片机中断的优点主要体现在两个方面:一是提高了系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高了系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。
单片机原理及其接口技能技术总结王敏课后作业答案

精心整理第二章作业( P40)2-4MCS-51单片机中履行程序的地点放在哪?由几个位构成?最大寻址范围是多少?答:放在程序计数器 PC中, 16 位, 64KB。
2-5 在程序储存器中, 0000H、 0003H、000BH、0013H、 001BH、0023H 这 6 个单元有什么特定的含义?答: 0000H复位后, PC=0000H,开始履行程序的地点0003H外面中止 0(INT0)进口地点000BH准时器 0 中止( TF0)进口地点0013H外面中止 1(INT1)进口地点001BH准时器 1 中止( TF1)进口地点0023H串行口中止 TI/RI进口地点2-10 开机复位此后,CPU使用哪一组工作存放器?它们的地点是什么?怎样改变目前工作存放器?答:使用第 0 组工作存放器, 00H-07H,经过改正 PSW中的 RS1和 RS0两位来改变目前的工作存放器。
第三章作业( P75)3-7 指出指令中的50H或 66H个代表什么?解:①MOVA,#50H立刻数MOVA,50H直接地点MOV50H,#20H直接地点MOVC,50H位地点MOV50H,20H直接地点②MOV@R0,#66H立刻数MOVR6,#66H立刻数MOV66H,#45H直接地点MOV66H,C位地点MOV66H,R1直接地点3-9 写出能达成以下数据传递的指令:解:①R1 中内容传递到 R0;MOVA,R1MOVR0, A②内部 RAM20H单元中的内容送到30H单元;MOV30H,20H③外面 RAM20H单元中的内容送到内部RAM20H单元;MOVR0, #20HMOVXA,@R0MOV20H,A④外面 RAM2000H单元中的内容送到内部RAM20H单元;MOVDPTR,#2000HMOVXA,@DPTRMOV20H,A精心整理⑤外面ROM2000H单元中的内容送到内部RAM20H单元;MOVDPTR,#2000HMOVA,#00HMOVCA,@A+DPTRMOV20H,A⑥外面 2000H单元中的内容送到外面RAM3000H单元;MOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#3000HMOVX@DPTR,A3-11 已知:( 20H)=X;(21H) =Y;( 22H)=Z,请用图示说明以下程序履行后货仓的内容是多少?①MOVSP,#70H②MOVSP,#60HPUSH20HPUSH22HPUSH21HPUSH21HPUSH22HPUSH20H解: (73H)=Z;(72H)=Y;(71H)=X;(63H)=X;(62H)=Y;(61H)=Z ;3-20 试编出能达成以下操作的程序:解:①使 20H单元中数的高两位变“ 0”,其他位不变;ANL20H,#3FH②使 20H单元中数的高两位变“1”,其他位不变;0RL20H,#0C0H③使 20H单元中数的高两位变反,其他位不变;XRL20H,#0C0H④使 20H单元中数的高四位变“1”,低四位变“ 0”;MOV20H,#0F0H⑤使 20H单元中数的全部位变反。
(完整版)单片机,第三章答案

思考题:【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,试写出执行以下程序段后有关单元的内容。
第三章习题解答

1. MCS-51单片机有几种寻址方式?这几种寻址方式是如何寻址的?答:七种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。
2. 试编程将片外RAM中80H单元的内容送到片内RAM的2BH单元。
答:MOV @R0, #80HMOVX A, @R0MOV 2BH, A3. 试编程将片外RAM中40H单元的内容与R0的内容交换。
答:MOV @R1, #40HMOVX A, @R1XCH A, R0MOVX @R1, A4. 已知(A)=C9H,(B)=8DH,CY=1,执行指令ADDC A,B后结果如何?执行指令SUBB A,B后结果如何?答:执行指令ADDC A,B后(A)=57H,(B)=8DH,CY=1执行指令SUBB A,B后(A)=3BH,(B)=8DH,CY=05. 试编程将片外RAM中30H和31H单元的内容相乘,结果存放在32H和33H单元,高位存放在32H单元。
答:MOV R1, #30HMOVX A, @R1MOV B, AINC R1MOVX A, @R1MUL ABINC R1INC R1MOVX @R1, AMOV A, BDEC R1MOVX @R1, A6. 试编程将20H单元的2个BCD数拆开,并变成相应的ASCII码存入21H和22H单元。
答:MOV A, 20HANL A, #0FHORL A, #30HMOV 21H, AMOV A, 20HANL A, #0F0HSWAP AORL A, #30HMOV 22H, A7. 设在寄存器R3的低4位存有数码0~F中的一个数,试将其转换成ASCII码,并存入片外RAM的2000H单元。
答:MOV A, R3 ;取4位二进制数ANL A, #0FH ;屏蔽高4位PUSH A ;保存A内容到堆栈CLR C ;清CSUBB A, #0AH ;(A)-10POP A ;恢复A内容JC LOOP ;若C =1,则数<10转到LOOPADD A, #07H ;若C =0,则加37HLOOP:ADD A, #30H ;转换成ASCII码MOV DPTR,#2000HMOVX @DPTR, A8. 试编程将片内RAM中30H单元中8位无符号二进制数转换成3位BCD码,并存入片内RAM的40H(百位)和41H(十位、个位)2个单元中。
单片机第3章习题参考答案解析

单⽚机第3章习题参考答案解析第3章习题参考答案3.1(略)3.2(略)3.3(略)3.4指出下列指令源操作数的寻址⽅式和功能。
1)MOV A,# 40H ;⽴即寻址。
40H→ A2)MOV A, 40H ;直接寻址。
(40H)→ A3)MOV A, @R1 ;寄存器间址。
(R1)→ A4)MOV A, R3 ;寄存器寻址。
R3→ A5)MOVC A,@A+PC ;变址寻址。
(A+PC)→ A6)SJMP LOOP ;相对寻址。
程序转到标号为LOOP的语句处执⾏。
3.5内部RAM的00H单元的寻址⽅式:1)直接寻址,MOV A,00H2)因为00H是⼯作寄存器区,所以还可以寄存器寻址。
MOV A, R0特殊功能寄存器中的操作数的寻址⽅式:1)直接寻址,MOV A, SP2)部分SFR可以位寻址,MOV C, ACC.73.6变址寻址和相对寻址中的地址偏移量异同:1)变址寻址的偏移量是⼀个00H ~ FFH范围内的⽆符号数;相对寻址偏移量是⼀个带符号的8位⼆进制补码,范围为-128 ~ +127。
2)变址寻址的偏移量放在累加器A中,相对寻址的偏移量直接在指令中给出。
3)都是将基地址与地址偏移量相加,形成操作数地址。
3.7写出下列指令的机器码,指出指令中50H和66H各代表什么?1)指令 50H的含义机器码MOV A,# 50H 源操作数7450HMOV A,50H 源操作数的地址E550HMOV 50H,# 20H ⽬的操作数的地址755020HMOV C, 50H 位地址A250HMOV 50H,20H ⽬的操作数的地址852050H2)指令 66H的含义机器码MOV @R0,# 66H 源操作数7666HMOV R6,#66H 源操作数7E66HMOV 66H,# 45H ⽬的操作数的地址756645HMOV 66H,C 位地址9266HMOV 66H,R1 ⽬的操作数的地址8966H3.8写出下列指令的机器码,指出下列程序执⾏后的结果。
单片机原理及接口技术课后答案第三章

单⽚机原理及接⼝技术课后答案第三章第三章1、指令:CPU根据⼈的意图来执⾏某种操作的命令指令系统:⼀台计算机所能执⾏的全部指令集合机器语⾔:⽤⼆进制编码表⽰,计算机能直接识别和执⾏的语⾔汇编语⾔:⽤助记符、符号和数字来表⽰指令的程序语⾔⾼级语⾔:独⽴于机器的,在编程时不需要对机器结构及其指令系统有深⼊了解的通⽤性语⾔2、见第1题3、操作码 [⽬的操作数] [,源操作数]6、 MOV A,40H ;直接寻址(40H)→AMOV R0,A;寄存器寻址(A)→R0MOV P1,#0F0H ;⽴即数寻址0F0→P1MOV @R0,30H;直接寻址(30H)→(R0)MOV DPTR,#3848H;⽴即数寻址 3848H→DPTRMOV 40H,38H;直接寻址(38H)→40HMOV R0,30H;直接寻址(30H)→R0MOV P0,R0;寄存器寻址( R0 )→P0MOV 18H,#30H ;⽴即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址 ((R0)) →AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:→左边是内容,右边是单元7、⽤直接寻址,位寻址,寄存器寻址8、MOV A,DATA ;直接寻址2字节1周期MOV A,#DATA ;⽴即数寻址2字节1周期MOV DATA1,DATA2 ;直接寻址3字节2周期MOV 74H,#78H ;⽴即数寻址3字节2周期如果想查某⼀指令的机器码,字节数或周期数可查阅书本后⾯的附录A9、MOV A,@R0 ;((R0))=80H→AMOV @R0,40H ;(40H)=08H→(R0)MOV 40H,A ;(A)=80→40HMOV R0,#35H ;35H→R0最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H10、⽤直接寻址,位寻址,寄存器寻址11、只能采⽤寄存器间接寻址(⽤MOVX指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)⾼128字节:直接寻址,位寻址,寄存器寻址13、采⽤变址寻址(⽤MOVC指令)14、压缩BCD码在进⾏加法运算时应逢⼗进⼀,⽽计算机只将其当作⼗六进制数处理,此时得到的结果不正确。
单片机原理及应用第三章习题答案

单片机原理及应用第三章习题答案习题三1.在mcs-51单片机中,寻址方式有几种?其中对片内ram可以用哪几种寻址方式?对片外ram可以用哪几种寻址方式?请问:串行方式可以分成数的串行和指令串行,数的串行存有:常数串行(立即串行)、寄存器数串行(寄存器串行)、存储器数串行(轻易串行方式、寄存器间接串行方式、变址串行方式)和十一位串行,指令的串行存有绝对串行和相对串行。
片内ram串行存有:寄存器串行、轻易串行方式和寄存器间接串行方式。
片外ram串行存有:寄存器间接串行方式。
2.在对片外ram单元寻址中,用ri间接寻址与用dptr间接寻址有什么区别?请问:片外数据存储器串行中,用ri间接串行就可以出访低端的256字节单元,而用dptr作指针间接出访可以出访整个64k字节。
3.在位处理中,位地址的表示方式有哪几种?请问:1.轻易位地址(00h~0ffh)。
比如:20h2.字节地址带位号。
例如:20h.3表示20h单元的3位。
3.特殊功能寄存器名带位号。
例如:p0.1表示p0口的1位。
4.位符号地址。
例如:tr0是定时/计数器t0的启动位。
4.写出完成下列操作的指令。
(1)r0的内容送到r1中。
mova,r0movr1,a(2)片内ram的20h单元内容送至片内ram的40h单元中。
mov40h,20h(3)片内ram的30h单元内容送到片外ram的50h单元中。
mova,30hmovr0,#50hmovx@r0,a(4)片内ram的50h单元内容送至片外ram的3000h单元中。
mova,50hmovdptr,#3000hmovx@dptr,a(5)片外ram的2000h单元内容送到片内ram的20h单元中。
movdptr,#2000hmovxa,@dptrmov20h,a(6)片外ram的1000h单元内容送至片外ram的4000h单元中。
movdptr,#1000hmovxa,@dptrmovdptr,#4000hmov@dptr,a(7)rom的1000h单元内容送至片内ram的50h单元中。
单片机第3、4章习题答案

第3、4章习题一、选择题1.51单片机中,PC是一个16位的计数器指针,它的值永远指向下一条要执行的指令地址。
它决定程序执行的顺序和方向,寻址范围可达64KB 。
A、此叙述大部分错误B、此叙述完全正确C、此叙述大部分正确D、很难判断2.判断下列说法正确的是A、 89c51共有21个特殊功能寄存器,它们中一部分的位是可以进行位寻址的。
B、内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
C、程序指针PC也可以为用户编程时直接使用,可存入16位的数据。
D、以上说法都不正确。
3.C51中,char data var1;为。
(A)在内部RAM定义一个带符号的一字节变量;(B)在可位寻址的片内RAM定义了一个位变量;(C)在内部RAM(含52子系列的高128字节)定义浮点变量;(D)在片外RAM 低256字节内定义了一个整型变量;(E)在内部RAM定义一个带符号的一字节的数组。
4.C51中,bit bdata flags;为。
(A)在内部RAM定义一个带符号的一字节变量;(B)在可位寻址的片内RAM定义了一个位变量;(C)在内部RAM(含52子系列的高128字节)定义浮点变量;(D)在片外RAM 低256字节内定义了一个整型变量;(E)在内部RAM定义一个带符号的一字节的数组。
5.C51中,float idata x;为。
(A)在内部RAM定义一个带符号的一字节变量;(B)在可位寻址的片内RAM定义了一个位变量;(C)在内部RAM(含52子系列的高128字节)定义了一个浮点变量;(D)在片外RAM 低256字节内定义了一个整型变量;(E)在内部RAM定义一个带符号的一字节的数组。
6.C51中,unsigned int pdata var2;为。
(A)在内部RAM定义一个带符号的一字节变量;(B)在可位寻址的片内RAM定义了一个位变量;(C)在内部RAM(含52子系列的高128字节)定义了一个无符号浮点变量;(D)在片外RAM 0-255地址内定义了一个16位的无符号整型变量;(E)在内部RAM定义一个带符号的一字节的数组。
单片机原理及应用第三章课后答案

单片机原理及应用第三章课后答案第一节:单片机的概念和发展历程单片机是一种集成了处理器、存储器和各种输入输出接口的微型计算机系统。
它具有体积小、功耗低、功能强大等特点,广泛应用于各个领域。
单片机的发展经历了几个重要的阶段。
首先,20世纪70年代,中小型计算机开始出现,但体积庞大、功耗高,不适合实际应用。
之后,单片机技术的出现解决了这个问题,使得计算机系统可以被集成到一个芯片中。
1980年代,单片机开始应用于各种电子设备中,如家电、汽车等。
如今,随着技术的不断进步,单片机的功能更加强大,应用范围更为广泛。
第二节:单片机的工作原理单片机主要由CPU、存储器和外设接口等组成。
CPU是单片机的核心,负责指令的执行和数据的处理。
存储器主要用于存储程序和数据。
外设接口用于连接各种输入输出设备,如键盘、显示器、传感器等。
单片机的工作原理可以简单地描述为以下几个步骤:首先,单片机从存储器中获取指令,解析指令并执行相应的操作。
其次,单片机将处理的结果存储到存储器或输出到外设中。
最后,单片机不断地重复执行这些步骤,实现各种功能。
第三节:单片机的应用领域单片机广泛应用于各个领域,以下是几个典型的应用领域:1. 家电控制:单片机可用于控制家电设备,如空调、洗衣机、冰箱等。
通过编程,实现设备的自动化控制和智能化管理。
2. 工业自动化:单片机在工业领域中起着重要作用。
它可以实现生产线的自动化控制、监测和数据采集等功能,提高生产效率和质量。
3. 汽车电子:单片机在汽车中应用广泛,如引擎控制单元(ECU)、车载娱乐系统、车载导航系统等。
它可以实现发动机控制、车辆诊断、多媒体播放等功能。
4. 智能家居:单片机在智能家居中发挥着重要作用。
通过连接各种传感器和执行器,单片机可以实现家居设备的智能化控制,如灯光控制、门窗监测、安防系统等。
第四节:常见的单片机类型和特点1. 8051系列:8051是一种经典的单片机系列,具有成熟的开发环境和丰富的资源。
单片机原理与C51程序设计基础教程第3章课后习题及答案

答案1 立即寻址寄存器寻址间接寻址直接寻址变址寻址相对寻址位寻址2 累加器A PC DPTR3 00H,0,0,0,04 指令5 一二三6 转移指令的PC值加上它的字节数7 DPH=3CH , DPL=5FH , SP=4FH选择题1 C2 C3 A4 D5C问答题1(1) 分析问题:首先必须明确求解问题的意义和任务。
对项目背景和要完成的任务进行详细地了解和分析,将一个实际的问题转化为单片机可以处理的问题。
(2) 确定算法:根据实际问题的要求和指令系统的特点,决定所采用的计算公式和计算方法。
这是正确编程的基础,比程序设计语言本身更为重要。
(3) 绘制框图:根据所选定的算法,制定出运算步骤和顺序,把运算过程画成程序框图。
这样使程序清晰,结构合理,便于调试。
(4) 分配资源:要根据程序区、数据区、暂存区、堆栈区等预计所占空间大小,对片内外存储区进行合理分配并确定每个区域的首地址,便于编程使用。
(5) 编写程序:编写程序就是采用汇编语言来实现上面已确定的算法,也即是将由人类自然语言组织的程序框图转化为计算机语言组织的源代码。
(6) 仿真调试:利用单片机各种开发工具对所编写的程序进行测试,检验程序是否完成了指定的功能。
测试过程要尽可能仔细,保证程序中的各条支路都得到了检验。
(7) 软件优化:在完成指定功能的基础上,进行程序优化,以进一步缩短程序量、减少运算时间和节省工作单元。
(8) 状态固化:完成前期工作之后,将程序烧录到EEPROM等程序存储器上,保证单片机系统每次上电后都能正确运行程序。
(9) 文档说明:将程序的功能和使用方法,程序的基本结构和所采用的主要算法以及程序必要说明和注意事项等问题整理成一个文档,不仅便于用户使用,而且便于对程序的维护和扩充。
2.(1)bit位标量:利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。
它的值是一个二进制位,不是0 就是1,类似一些高级语言中的Boolean 类型中的True 和False。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV A, 34H
MOV A, R1 MOV A,@R0 •
(A)=0AFH P=0
(A)=00H (A)=44Hຫໍສະໝຸດ 注意:对PSW中P标志的影响。
练习3
• 设内部RAM30H单元中内容为52H,请给出以下每 条指令执行后的结果: MOV A, #30H (A)=30H MOV A, 30H (A)=52H MOV R0, #30H (R0)=30H MOV A, @R0 (A)=52H MOV 30H, #30H (52H)=30H • 设P1口内容为0AAH(P1口地址为90H),请给出以 下程序结果: MOV R0, #30H (R0)=30H MOV 10H, P1 (10H)=0AAH MOV A, 10H (A)=0AAH MOV @R0, A (30H)=0AAH MOV 40H, @R0 (40H)=0AAH
• 6. 试编写程序,将内部RAM的20H,21H, 22H三个连续单元的内容依次存入2FH, 2EH,2DH中。 • MOV 2FH,20H • MOV 2EH,21H • MOV 2DH,22H
练习1
• 下面几条指令是否正确: 1、MOV @R1,#80H ( √ ) 2、INC DPTR ( √ ) 3、CLR R0 ( × ) 4、 ADDC A,C ( × ) 5、ANL R1,#0FH ( × )
练习2
• 设内部RAM中33H单元中内容为44H, 34H单元中内容为0AFH,R0中内容为33H, R1中内容为00H,给出以下每一条指令执行 后A中的值和PSW中P的值。
练习4
• 1. 假定A=83H,(R0)=17H,(17H)=34H, 执行下列指令后,A的内容是什么? ANL A, #17H (A)=03H ORL 17H, A (17H)=37H XRL A, @R0 (A)=34H CPL A (A)=CBH • 2. 试编写一程序段,实现将外RAM 0FAH单元中 的内容传送到外RAM 04FFH单元中。 • MOV DPTR ,#04FFH • MOV R0 ,#0FAH • MOVX A ,@R0 • MOVX @DPTR,A
练习5
• 5 用查表法编一子程序,将R3中的数(0-9) 转换成ASCII码. TAR DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H
解
MAIN: MOV A,R3 ;待转换的数送A MOV DPTR,#TAR ;表首地址送DPTR MOVC A,@A+DPTR ;查ASCII码表 MOV R3,A ;查表结果送R3 RET TAR DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H
• 3. 请用两种方法实现累加器A与寄存器B的内 容交换。 • XCH A ,B
• 4. 试编写程序将片外RAM40H单元的内容与 R1的内容交换。 • • • • • • MOV B, R1 MOV R1, #40H MOVX A, @R1 XCH A, B MOVX @R1, A MOV R1, B