《单片机原理及应用》黄友锐主编课后习题答案-zyf(共32页).doc

上传人:飞****2 文档编号:13832050 上传时间:2022-05-01 格式:DOC 页数:32 大小:366.50KB
返回 下载 相关 举报
《单片机原理及应用》黄友锐主编课后习题答案-zyf(共32页).doc_第1页
第1页 / 共32页
《单片机原理及应用》黄友锐主编课后习题答案-zyf(共32页).doc_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《《单片机原理及应用》黄友锐主编课后习题答案-zyf(共32页).doc》由会员分享,可在线阅读,更多相关《《单片机原理及应用》黄友锐主编课后习题答案-zyf(共32页).doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上第1章1-1 什么是单片机?它与一般微型计算机在结构上何区别?答:单片微型计算机简称为单片机(Single Chip Computer),又称为微控制器(MCU即Micro-Controller Unit)。它是在一块芯片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储

2、器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。1-2 MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。答:MCS-51系列单片机内部资源配置AT89S5312KB Flash ROM256B3163219/2SPI,WDT,2个数据指针W77E5832KB Flash ROM256B+1024B31636212/2扩展了4位I/O口,双数据指针,WDT。资源。第2章2-1 MCS-51系列单片机内部有哪些主要的逻辑部件?答: 一个8位CPU;一个片内振荡器及时钟电路;

3、4K字节ROM程序存储器;128字节RAM数据存储器;两个16位定时器/计数器;可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;32条可编程的I/O线(四个8位并行I/O端口);一个可编程全双工串行口;具有五个中断源、两个优先级嵌套中断结构2-2 MCS-51设有4个8位端口(32条I/O线),实际应用中8位数据信息由哪一个端口传送?16位地址线怎样形成?P3口有何功能?答:实际应用中8位数据信息由P0口传送。16位地址线由P0口输出低8位地址A7A0,P2口输出高8位地址A15A8。P3口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同P1口;当作第二功能使

4、用时,P3.0RXD串行输入(数据接收)口,P3.1TXD串行输出(数据发送)口,P3.2外部中断0输入线,P3.3外部中断1输入线,P3.4T0定时器0外部输入,P3.5T1定时器1外部输入,P3.6外部数据存储器写选通信号输出,P3.7外部数据存储器读选通信号输入。2-3 MCS-51的存储器结构与一般的微型计算机有何不同?程序存储器和数据存储器各有何作用?答:MCS-51存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址系统、控制信号和功能。 程序存储器用来存放程序和始终要保留的常数,如经汇编后所编程序的机器码。数据存储器通常用来存放程序运行中所需

5、要的常数或变量,例如模/数转换时实时采集的数据等。2-4 MCS-51内部RAM区功能结构如何分配?4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?答:MCS-51系列单片机内部数据存储器:00H 7FH单元组成的低128字节地址空间的RAM区,又分为为工作寄存器区(00H1FH)、位寻址区(20H2FH)和用户RAM区(30H7FH)。 80H FFH(128 255)单元组成的高128字节地址空间的特殊功能寄存器(又称SFR)区。对于8032、8052、8752的单片机还有80HFFH单元组成的高128字节地址空间的RAM区。 4组工作寄存区是由程序状态字PSW(特殊功能寄存

6、器,字节地址为0D0H)中的D4、D3位(RS1和RS0)来决定的。位寻址区域的字节地址范围是20H2FH(对应的位地址范围是00H7FH)。2-5 特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?答:P0字节地址80H,TCON字节地址88H,P1字节地址90H,SCON字节地址98H,P2字节地址A0H,IE字节地址A8H,P3字节地址B0H,IP字节地址B8H,PSW字节地址D0H,ACC字节地址E0H,B字节地址F0H。2-6 简述程序状态字PSW中各位的含义。答:CY(PSW7)进位标志,AC(PSW6)辅助进位标志,F0(PSW5)用户标志位,RS1、RS0(PSW4、

7、PSW3)寄存器区选择控制位,OV(PSW2)溢出标志,P(PSW0)奇偶标志,每个指令周期都由硬件来置位或清“0”,以表示累加器A 中1的位数的奇偶数.2-7 一个时钟频率为6MHz的单片机应用系统,它的振荡信号周期、时钟周期、机器周期分别是多少?答:振荡信号周期=16us、时钟周期=13us、机器周期=2us。2-8 堆栈有何功能?堆栈指针的作用是什么?二者的关系?为什么在程序设计时,要对SP重新赋值?答:堆栈的主要功能:保护断点和程序现场,保存用户数据。堆栈指针的作用是:堆栈指针SP是一个8位特殊功能寄存器,指示出堆栈顶部在内部RAM中的位置。两者的关系:堆栈指针SP给定当前的栈顶,SP

8、的初始值越小,堆栈深度就越深。系统复位后,SP初始化为07H,使得堆栈事实上由08H 单元开始。考虑到08H1FH单元分属于工作寄存器区13,若程序设计中要用到这些区,则最好把SP值改置为1FH或更大的值如60H,SP的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。第3章3-4:(1)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #21HADD A, #45HADD A, #78HSJMP $END(2)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #78HADD A, #4

9、5HCLR C;SUBB A, #21HSUBB A, #09HSJMP $END(3)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #34HADD A, #0ABHMOV R0, AMOV A, 12ADDC A, #21HMOV R1, ASJMP $END(3)ORG 0000HAJMP STARTORG 0100HSTART:CLR C;MOV A, #0BCHSUBB A, #0CDHMOV R0, AMOV A, 1#2AHSUBB A, #0FHMOV R1, ASJMP $END3-5:请编程实现:将片内20H存储单元的8位二进制数转换成BC

10、D码,并存放在片外以2000H起始的单元中,2000H单元存放转换后的BCD码的百位,2001H单元存放转换后的BCD码的十位/个位。ORG 0000HAJMP STARTORG 0050HSTART:MOV A,20H ;A被除数MOV B, #100 ; B除数100DIV AB ;AB,A商(百位数BCD码),B余数MOVX 2000H,A ;(2000H)将百位数BCD码MOV A,B ;A余数作被除数MOV B,#10 ;B除数10DIV AB;AB,A商(十位数BCD码),B余数(个位BCD码)SWAP A;十位BCD码调整到A中高4位ADD A,B ;A中压缩成2位BCD码MOV

11、X 2001H,A ; (2001H)十位、个位BCD码SJMP $END3-6: 将片内RAM 20H,21H,22H,23H(千/百/十/个位)中的十进制的ascii码转换成bcd码,并压缩放于片内30H,31H两个单元,其中31H中放bcd码的十位/个位,30H中放bcd码的千位/百位。MOV A, #00H ;这一句不是必须MOV R0, #20HMOV R1, #21HXCHD A, R0 ;A(20H)SWAP A ;A高4位(20H)的BCD码数字XCHD A, R1 ;A低4位(21H)的BCD码数字MOV 30H,AMOV A, #00H ;这一句不是必须MOV R0, #2

12、2H MOV R1, #23HXCHD A, R0 ;A(22H)SWAP A ;A高4位(22H)的BCD码数字XCHD A, R1 ;A低4位(21H)的BCD码数字MOV 31H,A3-7:片内RAM的30H32H单元中连续存放了6个压缩BCD码,编制程序将它们转换为ASCII码,存入片外3000H开始的连续存储区中MOV R0,#30H MOV DPTR,3000HLOOP: MOV A,R0 SWAP A ANL A,#0FH ADD A,#30H ;30H= 0 MOVX DPTR,A INC DPTRMOV A,R0 ANL A,#0FH ADD A,#30H MOVX DPTR

13、,A INC DPTRINC R0 CJNE R0,#33H, LOOP3-9: 从外部RAM 2000H 单元开始存放着100个无符号数,编写程序统计出:(1)最大数;(2)最小数;(6)大于50,小于50,等于50的个数。(1) MOV DPTR, #2000H MOV 30H, #0 ;先用0当做最大数 (求最小数时,用255) MOV R2, #100LOOP: MOVX A, DPTR CJNE A, 20H, TTT ;(A)-(20H)TTT: JNC NEXT ;不够减转移 (求最小数时,用JNC NEXT) MOV 30H, A ;够减,这个数是大数,给(20H)NEXT:

14、INC DPTR DJNZ R2, LOOPSJMP $END(6)ORG 0600H MOV DPTR, #2000H MOV R2, #100 ;总数 MOV R3, #0 ; 小于50的数的个数 MOV R4, #0 ; 等于50的数的个数 MOV R5, #0 ; 大于50的数的个数LOOP: MOVX A, DPTR CLR C SUBB A, #50 JZ EQU_50 JNC BIG INC R3 ;小于50的个数 JMP NEXTEQU_50: INC R4 JMP NEXTBIG: INC R5NEXT: INC DPTR DJNZ R2, LOOP MOV 30H,R3 ;

15、 小于50的数的个数 MOV 31H,R4 ; 等于50的数的个数 MOV 32H,R5 ; 大于50的数的个数SJMP $3-10 MCS-51片外RAM区1000H1007H单元中存有8个无符号数,编程求其平均值,将结果存于1008H中。%先加,加的结果可能超出8位,所以存储结果于(30H)和(40H)单元中。MOV DPTR, #1000HMOV R7, #08HMOV 30H, #00HMOV 40H, #00HSS1:MOVX A, DPTRADD A, 30HMOV 30H, ACLR AADDC A, 40HMOV 40H, AINC DPTR DJNZ R7, SS1MOV R

16、7, #03H ;移位3次,等于除以8SS2:CLR C MOV A, 40H RRC AMOV 40H, AMOV A, 30HRRC AMOV 30H, A DJNZ R7, SS2MOVX DPTR, A3-11下面是以数学公式,X值存于片内20H,Y值存于21H单元中。Y=X2(X0) 0(X=0) 2X(X0)MAIN:MOV A,20H JZ SUL JB ACC.7,NEGMOV B,A MUL AB SJMP SULNEG:CLR C RLC A SUL:MOV 21H ,A 3-12试编写程序,将外部 RAM 2000H20FFH数据块,传送到3000H30FFH区域。MOV

17、 R6,#0FFHMOV R2,#00HMOV R3,#20H;暂存2000H地址MOV R4,#00HMOV R5,#30H;暂存3000H地址NEXT:MOV DPL,R2MOV DPH,R3MOVX A,DPTRMOV DPL,R4MOV DPH,R5MOVX DPTR,AINC R2INC R4DJNZ R6,NEXT3-13:振荡频率:6MHz(机器周期:2us),(1)1ms延时ORG 2000H MOVR7,125LOP1:NOP NOP DJNZR7,LOP1 RET(2) 100ms延时ORG 2000H MOVR6,100LOP2:MOVR7,125LOP1:NOPNOPD

18、JNZR7,LOP1DJNZR6,LOP2RET(3)1s延时ORG 2000H MOV R5,10LOP3: MOVR6,100LOP2:MOVR7,125LOP1:NOP NOP DJNZR7,LOP1 DJNZR6,LOP2 DJNZR5,LOP3RET3-14:片内RAM30H有一数(015),查表求平方值,存入31H中。ORG 1000HMAIN: MOV DPTR,#TABMOV 30H, #13 ;NUMB=015 MOV A, 30H MOVC A,A+DPTR MOV 31H,A SJMP $TAB: DB 0,1,4,9,16,25,36,49,64,81,100,121,

19、144,169,196,255第4章4-4 试编程实现,将设为高优先级中断,且为电平触发方式;T0溢出中断设为低优先级中断,串行口中断为高优先级中断,其余中断源设为禁止状态。SETB PX0CLR IT0 CLR PT0 SETB PS MOV IE,#93H4-9 试用中断技术设计一个秒闪电路,其功能是发光二极管LED每秒闪亮400ms。主机频率为6MHz。(仿真见exercise4_9.ms11)题意可理解为LED每次亮400ms,灭600ms。设使用定时器T1,定时时间为100ms,用P1.0作输出,设P1.0为高时灯灭。 ORG 0000H AJMP START ORG 000BH A

20、JMP T0INTORG 0050HSTART: MOV SP, #30H MOV TMOD,#01H ;T0方式1计数, MOV TH1, #3CH MOV TL1, #0B0H ;定时100ms MOV R0, #04H SETB F0 ;灯亮(1)、灭(0)的转换标志 MOV IE, #88H SETB P1.0 SETB TR1 SJMP $ ORG 0100HT0INT: MOV TH1, #3CH MOV TL1, #0B0H DJNZ R0, NEXT JNB F0, TURNON ;F0为0转TURNOFF: CPL P1.0 CLR F0 MOV R0, #06H SJMP

21、NEXTTURNON: CPL P1.0 SETB F0 MOV R0, #04HNEXT: RETI END4-1 简述中断、中断源、中断源的优先级及中断嵌套的含义。答: 当CPU正在处理某项事件的时,如果外界或内部发生了紧急情况,要求CPU暂停正在处理的工作转而去处理这个紧急情况,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。向CPU提出中断请求的源称为中断源。当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU在一个时刻只能响应并处理中断优先高的请求。在实际应用系统中,当CPU正在处理某个中断源,即正在执行中断服务程序时,会出现优先级更

22、高的中断源申请中断。为了使更紧急的级别高的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理级别更高的中断源,待处理完以后,再返回到被中断了的中断服务程序继续执行,但级别相同或级别低的中断源不能中断级别高的中断服务,这就是所谓的中断嵌套。4-2 MCS-51单片机能提供几个中断源?几个中断优先级?各个中断的源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?答: MCS-51单片机能提供五个中断源,两个中断优先级。中断优先级是由片内的中断优先级寄存器IP(特殊功能寄存器)控制的。PS:串行口中断优先级控制位。PS=1,串行口定义为高优先级中断源;PS

23、=0,串行口定义为低优先级中断源。 PT1:T1中断优先级控制位。PT1=1,定时器/计数器1定义为高优先级中断源;PT1=0,定时器/计数器1定义为低优先级中断源。 PX1:外部中断1中断优先级控制位。PX1=1,外中断1定义为高优先级中断源;PX1=0,外中断1定义为低优先级中断源。 PT0:定时器/计数器0(T0)中断优先级控制位,功能同PT1。PX0:外部中断0中断优先级控制位,功能同PX1。在同一优先级中,循环轮流排队。不分级别高低,所有中断源优先级都一律平等,CPU轮流响应各个中断源的中断请求。4-3 简述MCS-51单片机中断响应过程。答:CPU在每个机器周期的S5P2时刻采样中

24、断标志,而在下一个机器周期对采样到的中断进行查询。如果在前一个机器周期的S5P2有中断标志,则在查询周期内便会查询到并按优先级高低进行中断处理,中断系统将控制程序转入相应的中断服务程序。4-4 MCS-51单片机外部中断有哪两种触发方式?如何选择?对外部中断源的触发脉冲或电平有何要求?答:MCS-51单片机外部中断有:负边沿触发方式和电平触发方式。外部中断1()触发方式控制位。如果IT1为1,则外中断1为负边沿触发方式(CPU在每个机器周期的S5P2采样脚的输入电平,如果在一个周期中采样到高电平,在下个周期中采样到低电平,则硬件使IE1置1,向CPU请求中断);如果IT1为0,则外中断1为电平

25、触发方式。采用电平触发时,输入到的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使电平变高,否则将会再次产生中断。4-5 在MCS-51单片机的应用系统中,如果有多个外部中断源,怎样进行处理?答:当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU在一个时刻只能响应并处理一个中断请求,为此,要进行排队。排队的方式有:(1)按优先级排队。(2)循环轮流排队。MCS-51单片机优先级比较简单,只有两级,可以通过优先级控制寄存器设置不同的优先级。当优先级相同时,约定有5个中断源优先级顺序由高到低分别为:外部中断0、定时器/计数器0溢出、外部中断1、定时器/计数器1

26、溢出、串行口中断。4-6 MCS-51有哪几种扩展外部中断源的方法?各有什么特点?答:1) 利用定时器作为外部中断使用 特点:把MCS-51的两个定时器/计数器(T0和T1)选择为计数器方式,每当P3.4(T0)或P3.5(T1)引脚上发生负跳变时,T0和T1的计数器加1。可以把P3.4和P3.5引脚作为外部中断请求输入线,而定时器的溢出中断作为外部中断请求标志。2)采用中断和查询相结合的方法扩充外部中断源特点:这种方法是把系统中多个外部中断源经过与门连接到一个外部中断输入端(例如),并同时还接到一个I/O口,中断请求由硬件电路产生,而中断源的识别由程序查询来处理,查询顺序决定了中断源的优先级

27、。4-7 MCS-51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟对外部中断请求的响应?答:响应外部中断的典型时间是至少需要3个完整的机器周期。1、外部中断和的电平在每个机器周期的S5P2时被采样并锁存到IE0和IE1中,这个置入到IE0和IE1的状态在下一个机器周期才被其内部的查询电路查询,未产生了一个中断请求。2、没有满足响应的条件,CPU没有响应中断。3、没有由硬件生成一条长调用指令转到相应的服务程序入口。第5章5-1 MCS-51单片机定时/计数器作定时和计数用时,其计数脉冲分别由谁提供?定时: 计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率

28、和定时初值有关。计数:外部输入脉冲计数,接相应的外部输入引脚T0(P3.4)或T1(P3.5)5-2 MCS-51单片机内设有几个定时/计数器?它们是由哪些特殊功能寄存器组成?答:MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定时器T1。定时/计数器T0由特殊功能寄存器TH0、TL0(字节地址分别为8CH和8AH)构成,定时/计数器T1由特殊功能寄存器TH1、TL1(字节地址分别为8DH和8BH)构成。其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时器控制寄存器TCON。TMOD主要是用于选定定时器的工作方式,TCON主要是用于控制定时器的启动和停止。5-

29、3定时/计数器作定时器用时,其定时时间与哪些因素有关?作计数器用时,对外界计数频率有何限制? 答:定时器/计数器作定时用时,其定时时间与下面因素有关:晶体振荡器的频率、机器周期、计数器的长度、定时器/计数器初值。 用做计数器时,对外部输入端T0、T1上1到0的跳变进行加1计数。在计数状态下,每个机器周期的S5P2时刻采样外部输入,当第一个机器周期采样为高电平,而在第二个机器周期采样为低电平时,内部计数器加1。新的计数值在紧接着采样到跳变后的下一机器周期的S3P1出现在计数器中。由于检测一个1到0的跳变需要2个机器周期,即24个振荡周期,因此外部计数的最快速率为振荡频率的1/24。外部输入信号的

30、速率向下可以不受限制,但是脉冲宽度必须保证在其电平变化之前能被采样到一次,即至少保持一个完整的机器周期,否则,将会由于采样不到而出现漏计现象。3-1 设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值? MOV A,59H ;A=50H MOV R0,A ;R0=50H MOV A,#00H ;A=00H MOV R0,A ;50H=00H MOV A,#25H ;A=25H MOV 51H,A ;51H=25H MOV 52H,#70H ;52H=70HA=25H R0=50H 50H=00H 51H=25H 3-2 访问

31、外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。答:访问外部数据存储器指令有:MOVX DPTR,A MOV DPTR,#0100H MOV DPTR,A MOVX A,DPTR MOV DPTR,#0200H MOV A,DPTR MOVX A,Ri MOVX A,R0MOVX Ri,A MOVX R1,A 访问程序存储器指令有:MOVC A,A+PCMOVC A,A+DPTR3-3 设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH 30H ;61H

32、=24HPUSH 31H ;62H=10H SP=62HPOP DPL ;DPL=10HPOP DPH ;DPH=24H SP=60HMOV 30H,#00H ;30H=00HMOV 31H,#0FFH ;31H=0FFH3-4 设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值? XCH A,R1 ;A=23H R1=40H XCHD A,R1 ;A=25H 40H=03H3-5 两个四位BCD码数相加,被加数和加数分别存于50H,51H和52H,53H单元中(千位、百位在低地址中,十位、个位在高地址中),和存放

33、在54H,55H和56H中(56H用来存放最高位的进位),试编写加法程序。 ORG 0000H LJMP START ORG 0100H START: MOV A,53H ADD A,51H DA A MOV 55H,A MOV A,52H ADDC A,50H DA A MOV 56H,C SJMP $ END3-6 设(A)=B,(R5)=B,分别写出执行下列指令后结果。ANL A , R5 ; BORL A , R5 ; BXRL A , R5 ; B3-7指令SJMP rel中,设rel=60H,并假设该指令存放在2114H和2115H单元中。当该条指令执行后,程序将跳转到何地址?答:

34、 2116H+60H=2176H3-8 简述转移指令AJMP addr11、SJMP rel、 LJMP addr16及JMP A+DPTR的应用场合。 答:AJMP addr11 为2K字节范围内的无条件转跳指令,把程序的执行转移到指定的地址。SJMP rel是无条件转跳指令,执行时在PC加2后,把指令中补码形式的偏移量值加到PC上,并计算出转向目标地址。转向的目标地址可以在这条指令前128字节到后127字节之间。LJMP addr16执行这条指令时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向指定地址。转移的目标地址可以在64K程序存储器地址空间的任何地方,不影响任何标

35、志。JMP A+DPTR 指令的功能是把累加器中8位无符号数与数据指针DPTR中的16位数相加,将结果作为下条指令地址送入PC,利用这条指令能实现程序的散转。3-9 试分析下列程序段,当程序执行后,位地址00H,01H中的内容将为何值?P1口的8条I/O线为何状态? CLR C ;CY=0 MOV A,#66H ;A=66H JC LOOP1 CPL C ;CY=1 SETB 01H ;20H.1=1LOOP1: ORL C, ACC.0 ;CY=1 JB ACC.2,LOOP2 ; CLR 00H LOOP2: MOV P1,A ;P1=B SJMP $ 20H.0=0 20H.1=1 P1

36、=66H3-10 查指令表,写出下列两条指令的机器码,并比较一下机器码中操作数排列次序的特点。MOV 58H,80H 85(80)(58) 直接寻址字节送直接寻址字节: 汇编时源操作数在目标操作数之前。MOV 58H,#80H75(58)(80) 立即数送直接寻址字节: 汇编时目标操作数在原操作数之前。第4章4-1 什么是单片机的程序设计语言。答:单片机的程序设计语言是指计算机能理解和执行的语言,人与CPU、MCU交流的语言。MCS-51系列单片机的程序设计语言,按照语言的结构及其功能可以分为三种:机器语言、汇编语言、高级语言。4-2 单片机的程序设计包括哪几个步骤。答:程序设计步骤如下:(1

37、) 分析问题。即仔细分析任务书中要实现的功能和性能指标。(2) 确定算法。即找到解决问题思路、方法。(3) 分配内存单元。即确定数据结构。这一步往往与算法同时考虑。(4) 根据算法和数据结构,画出程序流程图。(5) 根据流程图编写汇编语言源程序。编辑录入,保存为*.ASM文件。(6) 汇编。排除语法错误。(7) 调试(DEBUG)。找出错误并更正,再调试,直至通过。(8) 编写相关说明文档。4-3 画出单片机的三种基本程序结构。答:AB条件成立吗?AB是否条件成立吗?A是否 顺序结构流程图 分支结构流程图 循环结构流程图4-4 单片机的分支结构程序指令有哪几条?答:分支结构程序指令有JB、JN

38、B、JC、JNC、JZ、JNZ、CJNE、JBC4-5 什么是单片机的程序嵌套?生活中有哪些现象与单片机的嵌套类似?答:一个程序中还会调用别的程序,这称为程序嵌套。 生活例子:在学习,有电话了,去接电话,水开了,放下电话去关掉电水壶,接着打电话,打完电话,接着学习。4-6 能否从一个子程序内部使用转移指令直接跳转到另一个子程序执行?答:可以,为了保证正确地从子程序2返回子程序1,再从1返回主程序,每次调用子程序时必须将下条指令地址保存起来,返回时按后进先出原则依次取出旧PC值。4-7 能否使用转移指令从主程序跳到子程序?答:不可以,当主程序需要执行某子程序的功能时,只需执行一条调用指令。而并非

39、使用转移指令4-8 能否使用转移指令从子程序跳到主程序?答:不可以,子程序的最后一条指令应该是返回指令RET或RETI,以确保子程序能够正确返回主程序。执行RET指令时单片机将原来存在堆栈中的断点地址弹出给PC,保证子程序返回主程序中调用子程序的地方继续执行主程序。子程序从子程序的标号开始,到RET或RETI指令结束。RET指令是一般子程序的返回指令。RETI指令是中断服务子程序的返回指令。4-9 画出主程序的一般流程图。答:主程序流程图 初始化模块上电/复位人机接口(键盘显示)模块输入模块运算模块输出模块4-10 画出子程序的一般流程图。答:子程序流程图 4-11 子程序的规范化设计包括那几个部分?答:子程序的规范化设计包括:(1) 子程序名称。给子程序起名字,起名的原则是子程序名能够反映子程序功能,该名字就是子程序的入口地址标识符。(2) 子程序功能,对子程序的功能给予简要的描述。(3) 入口参数,子程序所要运算或处理的数据(加工前的原料),在调用子程序之前,主程序要先准备好入口参数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁