版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、思考题:【3-1】汇编语言与 C 语言哪种语言的可读性和可移植性强?在对速度和时序敏感的场合应该使用 什么语言?对于复杂的单片机系统一般采用C与汇编混合编程的形式这句话对吗?【3-2】二进制机器语言与C和汇编语言两者之间是什么关系?用C或汇编编制的程序在ROM中是 以编译后的二进制代码的形式存放这句话对吗?【3-3】80C51系列单片机指令的格式包含哪几个部分?各部分之间的间隔符是什么?四个部分中哪个部分是必须存在的,哪几个部分是可有可无的?标号的格式和代表的意义是?【3-4】 80C51 系列单片机有哪几种寻址方式?【3-5】 80C51单片机中立即数是存放在ROM中还是RAM中?【3-6】
2、判断下列说法是否正确。 TOC o 1-5 h z (1) 立即数寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中。()(2) 指令周期是执行一条指令的时间。()(3) 指令中直接给出的操作数称为直接寻址。()(4)内部寄存器Rn (n=07)可作为间接寻址寄存器。()【3-7】 80C51 单片机可以进行直接寻址的区域是?【3-8】 80C51 单片机可以进行寄存器寻址的范围是?【3-9】 80C51 单片机可以进行寄存器间接寻址的寄存器是?寻址的范围是?【3-10】在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作 数的( )。【3-11】 80C5
3、1 单片机变址寻址方式中可以作基址的寄存器是?可以作变址的寄存器是? A+PC, A+DPTR所找到的操作数是在ROM中对吗?3-12J80C51单片机相对寻址改变的是PC的当前值,即改变的CPU执行指令的顺序这句话对否? 【3-13】若访问特殊功能寄存器,只可以采用那种寻址方式?【3-14】若访问外部RAM单元,只可以使用哪种寻址方式?【3-15】若访问内部RAM单元,可使用哪些寻址方式?【3-16】若访问内外程序存储器,可使用哪些寻址方式?【3-17】80C51 单片机可以进行位寻址的字节单元范围除11 个可位寻址的特殊功能寄存器外还包括 哪个区域?分别找出位地址是00H、08H、22H、
4、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)MOVX1)MOV
5、XA, R12)MOVXA, DPTR3)MOVR0, AMOVXA, DPTRMOVXDPTR, AMOVXR0, A(4)MOVCA,A+DPTRMOVX 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)片外R
6、AM 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)二()。POPDPHPOPDPLPOPSP【3-27】假定,(SP) =
7、60H,(A) =30H,(B) =70H,执行下列指令后,SP的内容为(),61H单 元的内容为(),62H单元的内容为()。PUSH AccPUSH B3-28】已知程序执行前有(A) =02H,SP)=52H,(51H)二FFH,(52H)二FFH。下述程序执行后,A) =(),(SP) =(),(51H) =(),(52H) =(),(PC) =()。POPDPHPOPDPLMOVDPTR, #4000HRLAMOVB, AMOVCA, A+DPTRPUSHAccMOVA, BINCAMOVCA, A+DPTRPUSHAccRETORG4000HDB10H, 80H, 30H, 50H
8、, 30H,50H3-29】已知( A) =5BH ,( R1 ) =40H ,(40H ) =C3H ,(PSW ) =81H,试写出各条指令的执行结果,并说明程序状态字的状态。( 1 ) XCH A, R1( 2) XCH A, 40HXCH A, R1XCHD 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,#40H3-30】试分析下面两组指令的执行结果有何不同?(1)MOV A,#0FFH(2)MOV A,#0FFHINC A ADD A, #O1H【3-
9、31】 DA A指令有什么作用?怎样使用?【3-32】已知(A) =87H,(R0) =42H,(42H) =24H,请写出执行下列程序段后A的内容。ANL A, #23HORL 42H, AXRL A, R0CPL A3-33】写出完成如下要求的指令但是不能改变未涉及位的内容。(1 )把 Acc.3, Acc.4, Acc.5 和 Acc.6 清 0 。(2)把累加器A的中间4位清0。(3)把 Acc.2 和 Acc.3 置 1。【3-34】假定(A) =83H,(R0)=17H,(17H) =34H,执行以下指令后,(A)二()。ANLA, #17HORL17H, AXRLA, R0CPL
10、 A【3-35】假设(A)=55H,(R3)=0AAH,在执行指令ANLA,R3” 后,(A)二(),(R3)二()。【3-36】已知组合逻辑关系式为F二AB+C,请编写模拟其功能的程序。设A、B、C、F均代表位地址。 3-37】编程完成下述操作。(1)将外部RAM 1000H单元的所有位取反;(2)将外部RAM 60H单元的高2位清零,低两位变反,其余位保持不变。【3-38】试用位操作指令实现逻辑操作:P1.0二(10H V P1.0),PSW.仁(18H V CY )。3-39】仔细辨析下列指令的意义,找出错误的指令,并简要说明原因。1)CLRA2)CLREOH3)CLRACC4)CLRA
11、CC05)CPLA6)CPLEOH7)CPLACC8)CPLACC0【3-4 0】指令LJMP addrl6和AJMP addrll的区别是什么?3-41】试分析以下两段程序中各条指令的作用,程序执行完将转向何处? ( 1 )MOV p1 , #0CAHMOV A, #56HJB P1.22, L1JNB ACC3, L2L1 :L2:MOV A, #43HJB ACC2,L1JBC ACC6,L2L1: :L2: :3-42】判断以下指令的正误。1)MOV28H, R2;2)DECDPTR;3)INCDPTR;4)CLRR0;5)CPLR56)MOVR0, R1 ;7)PUSHDPTR;8)
12、MOVF0, C;9)MOVF0, Acc.310MOVX A, R1 ;11MOVC, 30H;12)RLCR0【3-43】借助指令表(附录B),对如下指令代码(十六进制)进行手工反汇编。FF C0 E0 E5 F03-44】以下指令中,属于单纯读引脚的指令是( )。A) MOV P1, AORL P1, #0FHMOV C, Pl.5ANL P1, #OFH【3-45】用AT89S51单片机的P1 口做输出,经驱动电路接8个发光二极管,见图3-11所示。 当输出位为“0”时,发光二极管点亮;输出为“”时,发光二极管为暗。试编制程序将8个发 光二极管全部点亮;将8个发光二极管全部熄灭;将8个
13、发光二极管隔一个点亮一个;每次亮一个,循环左移,一个一个地亮,循环不止。H.0CT2)(ADOPO.aM.1(T2EX)亮一个,循环左移,一个一个地亮,循环不止。H.0CT2)(ADOPO.aM.1(T2EX)(AD1JPOJP3 2M2W.2P3.3(AD3)P0JP】4(AEMJFO-1PI.5(AD5)P0JPl 6P! 7AD7JP07舟讦宦辽P3.2(INTUi価渾 A 102.2P3.5(TD(AMJP2.3P3.4(T0At2)P2J(A13JF2.5首VPP(AMJP2.fi(AI5JP2.7XTALJXTAL2vcc GXDRST(RXD)P3.fl(TXDJP3.LP3.6
14、(Rj图3-11单片机P1 口驱动发光二极管【3-46】如图3-12所示,这是由AT89C51构建的最小系统,外部连接了 4个按键S1S4及4个发光 二极管LED1-LED4,P1 口的高4位用于接收按键的输入状态,而低4位用于驱动发光二极管。请结合 图示,编写程序,完成以下要求。若SI闭合,则发光二极管LED丨点亮;若S2闭合,则发光二极管.LED2点亮。以此类推, 即发光二极管实时反映按键状态。(2)用4个发光二极管实现对按键键值的BCD编码显示。即若SI闭合,键值为1,编码为0001 , LEDI点亮;若S2闭合,键值为2,编码为0010, LED2点亮;若S3闭合,键值为3,编码为00
15、11, LEDI、 LED2同时点亮;若S4闭合,键值为4,编码为0100,LED3点亮。AT89C51(AD0)P0.0 (ADl)PO.l (AD2)P0.2 (AD3)P0.3 (AD4)P0.4 (AD5)P0.5 (AD6)P0.6 (AD7)P0.7AT89C51(AD0)P0.0 (ADl)PO.l (AD2)P0.2 (AD3)P0.3 (AD4)P0.4 (AD5)P0.5 (AD6)P0.6 (AD7)P0.7(A8)P2.O (A9)P2.1 (A10)P22 (A11)P2.3 (A12)P2.4 (A13)P2.5 (A14)P2.6 (A15)P2.7vcc GND
16、 (RXD)P3.0 (TXD)Pj.1 ALEPROGPSENP1.1(T2EX)Pl .2Pl .3Pl .4Pl.5Pl.6Pl.7P3.3(tT)P3.2(INT0)P3.5CT1)P3.4(T0)EAATP XTAL1XTAL2RSTP3.7(RD)P3.6(WR)第三章思考题答案:【3-1 】解答:C语言那种语言的可读性和可移植性强,例如对于用C语言编制的51单片机程序,只需要稍 作修改就可以移植到PIC类型的单片机上。汇编语言适用于对速度和时序敏感的场合。正确。3-2】解答:C语言与汇编语言经过编译后将是二进制的机器语言。正确。【3-3】解答:一条完整的汇编语言指令包括标号、操作
17、码、操作数和注释四部分。其中标号与操作码用冒号分隔,操作码和操作数之间用空格,多个操作数之间用逗号分隔, 注释用冒号开头。四个部分中操作码是必须存在的,其他三部分在有的指令中可以不出现。标号是一种符号地址。标号以字母开头,由1-8个字母或数字组成。【3-4】解答:80C51系列单片机提供了七种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器 间接寻址、变址寻址(基址寄存器+变址寄存器间接寻址)、相对寻址、位寻址。【3-5】解答:立即寻址寻址方式中的立即数是存放在ROM中。【3-6】解答:(1)正确 (2)正确 (3)错误 (4)错误【3-7】解答:直接寻址方式可访问以下存储空间:内部RAM低1
18、28个字节单元,指令中直接地 址以单元地址的形式给出。特殊功能寄存器。【3-8】解答:寄存器寻址中规定的寄存器有:工作寄存器R0R7。累加器A。双字节AB。数据指针 DPTR。【 3-9】解答:能用于间接寻址的寄存器有R0, R1, DPTR,SP。其中R0、R1必须是工作寄存器组中的寄存器。采用R0、R1作为间址寄存器,可寻址内部RAM的低128个单元和外部RAM低256个单元单元; 采用16位的DPTR作为间址寄存器,可寻址外部RAM的整个64KB地址空间。【 3-10】解答:地址。【3-11】解答:80C51单片机变址寻址方式中是以DPTR或PC作基址寄存器,以累加器A作变址寄存器。是的
19、。A+PC, A+DPTR寻址所找到的操作数是在ROM中。【3-12】解答:正确o 80C51单片机凡是指令中带有rel相对偏移量的指令,其PC的改变都是相对 的。【3-13】解答:若访问特殊功能寄存器,只可以采用直接寻址。【3-14】解答:若访问外部RAM单元,只可以使用寄存器间接寻址方式。【3-15】解答:若访问内部RAM单元,可使用直接寻址、寄存器寻址、寄存器间接寻址和位寻址。 【3-16】解答:若访问内外程序存储器,可使用变址寻址方式。【 3-17】解答:还包含内部RAM的20H-2FH,共16个字节,16*8=128个位,每一位都有一个位地址,对应位 地址 00H-7FH。位地址是0
20、0H、08H、22H、7FH、D0H、E0H 对应的字节地址分别是20H、21H、24H、2FH、D0H、 E0H。【3-18】解答:R0J30H,(R0) =30HA(R0),(A) =40HR1(A),(R1) =40HB(R1),(B) =10H(R1)(P1),(R1)二(40H) =EFH P2J(P1),(P2) =EFH10HJ20H,(10H) =20H 30H(10H),(30H) =20H结果:(R0) =30H, (A) =40H, (R1) =40H, (B) =10H, (40H) =EFH, (P2) =EFH, (10H) =20H, (30H) =20H【3-1
21、9】解答:因为寄存器间接寻址方式中R0或R1的内容是操作数的RAM地址,内部RAM的寻址 范围是 00H7FH。【3-20】解答:外部数据传送指令有4条: MOVX A, DPTR;MOVX DPTR, A;MOVXA, Ri;MOVX R, A。都是访问片外RAM,但二者寻址范围不同。前1条指令是对片外RAM低256个单元的“读”操 作;后1条指令是对片外RAM 64KB空间的“读”操作。访问空间相同,但数据传送方向不同。前1条指令是对片外RAM64KB空间的“读”操作;后1 条指令是对片外RAM64KB空间的“写”操作。访问空间不同。前1条指令是对片内RAM低128个单元的“写”操作;后1
22、条指令是对片外 RAM 低 256 个单元的“写”操作。二者访问的空间不同,寻址方式不同。前1条指令是变址寻址方式,对ROM操作;后1条指 令是寄存器间接寻址方式,对片外RAM操作。【 3-21 】解答: 1031H。【3-22】解答: ROM; ROM 和外部 RAM。【 3-23】解答:由于在工作寄存器与工作寄存器之间不能直接传送数据,所以需要借助累加器AoMOV A, R1MOV R0, A片外RAM向片内RAM传送数据,不能直接进行,需要借助累加器Ao由于片外RAM是60H单元, 地址小于FFH,所以间址寄存器使用Ri即可。MOV R1 , #60HMOVXA,R1MOVR0,AMOV
23、R1,#60HMOVXA,R1MOV40H,A片外数据不能直接送入片外单元,需要先将片外数据读入累加器,然后再送到片外。MOVDPTR, #1000HMOVXA, DPTRMOVR1 , #40HMOVXR1 , A【3-24】解答:片外RAM与片内RAM之间的数据传送不能直接进行,需要借助累加器A。数据交换 需要使用数据交换指令 XCH。MOVDPTR, #1000HMOVXA, DPTRXCHA, 60HMOVXDPTR, A3-25 】解答: D。3-26 】解答: 3CH;5FH;50H。3-27 】解答: 30H;70H。3-28 】解答: 50H;52H;30H;50H;5030H
24、。3-29 】解答: 结果:(A) - (R1),(A) =40H,(R1) =5BH,(PSW) =81H 结果:(A) - (40H),(A) =C3H,(40H) =5BH,(PSW) =80H 结果:(A) - (R1),(A)二C3H,(R1)二(40H) =5BH,(PSW) =80H 结果:(A) 03 - (R1) 03,(A) =53H,(R1) = (40H) =CBH,(PSW) =80H 结果:(A) 03 - (A) 47,(A) =B5H,(PSW) =81H结果:AJ(A) + (R1),(A) =9BH,(PSW) =05H结果:AJ(A) + (40H),(A
25、) =1EH,(PSW) =80H结果:AJ(A) +40H,(A) =9BH,(PSW) =05H结果:AJ(A) + (40H) +CY,(A) =1FH,(PSW) =81H结果:AJ(A) - (40H) -CY,(A) =97H,(PSW) =85H结果:AJ(A) - 40H - CY,(A) =1AH,(PSW) =01H3-30】解答:该组指令执行后(A) =00H,不影响CY位。该组指令执行后(A) =00H,影响CY位。说明:单独执行INC指令,只影响奇偶标志位P,不影响半进位标志位AC和进位位CY位。执行ADD 指令后,将影响CY、AC和P位。【3-31】解答:DA A指
26、令的作用是对A中刚进行的两个BCD码的加法结果进行修正,即继续使BCD 码加法运算的结果保持为BCD码。使用时,DA A指令只能使用在加法指令后,即ADD指令和ADDC指令。【3-32】解答:A(A)A23H,(A) =03H42H(42H)V(A),(42H) =37HAJ(A)(R0),(A) =34HAJ( A ) ,(A) =CBH结果:(A) =CBH3-33】解答:(1)ANL A,#87H(2)ANL A,#0C3H(3)ORL A,#0CH【3-34】解答:OCBH。【 3-35】解答: 00H;0AAH。【 3-36】解答: ANLA,BORL A,C MOV F,C【 3-
27、37】解答:(1)MOV DPTR,#1OOOHMOVX A , DPTRCPL AMOVX DPTR, A(2)MOV RO,#6OHMOVX A , ROANL A,#3FHXRL A,#O3HMOVX RO,A【 3-38 】解答:(1)MOV C,1OHANL C,P1.O(2)ORL C,18HMOV PSW.1,C【 3-39】解答:(1)正确。(2)错误。原因:清零指令只能用于累加器ACC和位操作,而本题中EOH只能是字节地址(位地 址的范围是00H7FH),所以该条指令错误。(3)错误。原因:ACC是直接字节地址,不能用于清零指令。(4)正确。ACC.0是一个位,可以应用到清零
28、指令中。(5)正确。(6)错误。原因:取反指令只能用于累加器ACC和位操作,而本题中EOH只能是字节地址(位地 址的范围是00H7FH),所以该条指令错误。(7)错误。原因:ACC是直接字节地址,不能用于取反指令。(8)正确。ACC.0是一个位,可以应用到取反指令中。【3-40】解答:指令LJMPaddr16是长转移指令,指令中提供了 16位目的地址,寻址范围是64KB。 指令AJMP addrll是绝对转移指令,指令中11位目的地址,其中a7a0在第二字节,a10a8则占 据第一字节的高3位,寻址范围是与PC当前值(本指令所在地址+本条指令所占用的字节数2)在 同一个 2K 的区域内。3-41 】解答:1)MOVP1 , #0CAH;P1JCAH, P1=CAH=11001010BMOVA, #56H;AJ56H, A=56H=01010110BJBP1.2, L1;若P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 9.2《项脊轩志》课件 统编版高二语文选择性必修下册-2
- 2025年事业单位招聘考试综合类专业能力测试试卷及答案(工程类)
- 2026年人工智能图像识别服务协议
- 2026年清洁服务合作协议
- 2026农产品加工技术提升与品牌价值培育研究
- 2026农业技术行业市场市场供求现状分析及投资发展规划研究蓝
- 2026乌克兰农业科技行业市场供需分析及投资评估规划分析研究报告
- 2025中铁一局选拔领导人员副职后备干部笔试历年参考题库附带答案
- 山东省青岛市西海岸新区6中2026届中考语文五模试卷含解析
- 特种设备维护保养检查记录表(报警系统)
- 清宫寿戏《双福寿》文本考证与演出演变研究
- 企业安全生产总体和年度安全生产目标
- 特殊困难老年人家庭适老化改造工作台账
- 奥林巴斯相机μ-840说明书
- 【中考真题】2024年山东省青岛市中考数学试题(含解析)
- GA/T 2167-2024移民管理机构对外窗口设置规范
- 组合铝合金模板工程技术规程
- DB31∕T 1043-2017 暴雨强度公式与设计雨型标准
- 《土建施工员培训》课件
- 机械识图全套课件
- 2025年江苏省南通市中考生物试卷(含答案解析)
评论
0/150
提交评论