《单片机原理与应用》第三版课后习题答案资料.docx
《《单片机原理与应用》第三版课后习题答案资料.docx》由会员分享,可在线阅读,更多相关《《单片机原理与应用》第三版课后习题答案资料.docx(20页珍藏版)》请在咨信网上搜索。
<p>第一章 1.单片机内部至少包含哪些部件? 答:中央处理器CPU、I/O口、随机存储器RAM、只读存储器ROM。 2. 根据程序存储器的差别,单片机可以分为哪几种类型? 答:MCS-51系列单片机按片内不同程序存储器的配置来分,可以分为以下3种类型: 1、片内带Mask ROM(掩膜ROM)型:例如8051、80C51、8052、80C52。此类芯片是由半导体厂家在芯片生产过程中,将用户的应用程序代码通过掩膜工艺制作到ROM中。其应用程序只能委托半导体厂家“写入”,一旦写入后不能修改。此类单片机适合大批量使用。 2、片内带EPROM型:例如8751、87C51、8752。此类芯片带有透明窗口,可通过紫外线擦除存储器中的程序代码,应用程序可通过专门的编程器写入到单片机中,需要更改时可擦除重新写入。此类单片机价格较贵,不宜于大批量使用。 3、片内带EEPROM(电可擦可编程只读存储器)型:例如8951、89C51、8952。此类芯片可以在电脑上或专用设备上擦除已有信息,重新编程。此类单片机目前应用很广。 4、片内无ROM(ROMLess)型:例如8031、80C31、8032。此类芯片的片内没有程序存储器,使用时必须在外部并行扩展程序存储器存储芯片。此类单片机由于必须在外部并行扩展程序存储器存储芯片,造成系统电路复杂,目前较少使用。 3.单片机的主要特点是什么?它适宜构成通用微机系统还是专用微机系统?为什么? 答:单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。其主要特点如下: 1、价格便宜。 2、功能不大。只能专用在适用的领域,但在适用的领域中,性价比却是最佳。 3、可靠性高,抗干扰能力强。 4、功耗比较低。对电源要求低,适用面广。 5、外围扩展能力强。可以应用到不同的控制系统中。 根据其特点可知,单片机功能不大,不适宜构成通用微机系统,只适宜构成专用微机系统。 4. 研制微机应用系统时,应如何选择单片机的型号? 答:在单片机应用研究系统开发中,单片机是整个设计的核心。在进行正式的单片机应用研究系统开发之前,需要根据不同单片机的特性,从中作出合理的选择。 1.仔细调查市场,尽量选用主流的、货源充足的单片机型号,这些器件使用比较广泛,有许多设计资料供学习或参考。 2.尽量选择所需硬件集成在单片机内部的型号,例如ADC、DAC、I2C、SPI和USB等。这样便于整个控制系统的软件管理,减少外部硬件的投入,缩小整体电路板的面积,从而减少总体投资等。 3.对于手持设备,移动设备或者其他需要低功耗的设备,尽量选择低电压、低功耗的单片机型号,这样可以减少能量的消耗,延长设备的使用寿命。 4.在资金等条件允许的情况下,尽量选择功能丰富,扩展能力强的单片机,这样便于以后的功能升级和扩展。 5.对于体积有限制的产品,尽量选择贴片封装的单片机型号,这样可以减少电路板面积,从而降低硬件成本,同时也有助于电磁兼容设计。 第二章 1.分别写出一个MCS-51中ROM、EPROM、无ROM型单片机的型号和内部资源。其中哪个产品内部具有固化的软件?该软件能否被所有用户所使用?怎样使用该种产品? 答:1、8051、80C51、8052、80C52。此类芯片带有4K字节的掩膜ROM,由半导体厂家在芯片生产过程中,将用户的应用程序代码通过掩膜工艺制作到ROM中。其应用程序只能委托半导体厂家“写入”,一旦写入后不能修改。 2、8751、87C51、8752。此类芯片带有4K字节的EPROM,带有透明窗口,可通过紫外线擦除存储器中的程序代码,应用程序可通过专门的编程器写入到单片机中,需要更改时可擦除重新写入。 3、8031、80C31、8032。此类芯片片内无ROM,使用时必须在外部并行扩展程序存储器芯片。 其中8051、80C51、8052、80C52等产品具有固化软件,该软件不能被所有用户所使用,应用程序只能委托半导体厂家“写入”。 2.MCS-51中无ROM型单片机在应用中P2口和P0口能否直接作为输入/输出口连接开关、指示灯之类的外围设备?为什么? 答:不能。因为无ROM型单片机在应用中必须扩展程序存储器,P0口必须作为地址总线的低8位及数据总线复用, P2口必须作为高8位地址总线送出高8位地址,因此P2口和P0口的输出信号都是不稳定的,不能直接作为输入/输出口连接开关、指示灯之类的外围设备。 3. 什么是堆栈?8032的堆栈区可以设在什么地方?一般应设在什么区域?如何实现?试举例说明。 答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。 堆栈操作指令PUSH direct、POP direct只能采用直接寻址方式,8032的片内RAM中只有低128字节可以采用直接寻址方式访问,因此,尽管8032片内RAM的地址范围是00H-0FFH,但堆栈区只可以设在内部RAM中的00H-7FH的区域内,一般应设在30H-7FH的范围内。 可以通过赋值的方式设置堆栈区,如:MOV SP,#60H。 4. 8031的内部RAM中,哪些可以作为数据缓冲区? 答:8031内部RAM的128字节均可以作为数据缓冲区,但00H~1FH通常作为工作寄存器区使用,20H~2FH通常作为位寻址区使用。 5.对于8052单片机,地址为90H的物理单元有哪些? 答:一个是P1口,P1口的物理地址就是90H,使用直接寻址方式访问;还有一个是RAM单元,必须使用寄存器间接寻址方式访问。 6. MCS-51单片机构成系统时,程序存储器的容量最大是多少? 答:MCS-51单片机构成系统时,程序存储器的容量最大是64KB。 7. 当单片机系统的程序存储器的容量为8KB时,程序存储器的开始地址为多少? 答: 因为单片机复位时,PC=0000H,程序都是从0000H开始执行,所以无论何种情况,程序存储器的开始地址都必须是0000H。 8.MCS-51单片机构成系统时,外部数据存储器的容量最大是多少? 答:MCS-51单片机构成系统时,外部存储器的容量最大是64KB。 9. 当单片机系统外部数据存储器的容量为8KB时,数据存储器的开始地址一定要是0000H吗? 答:不一定。 10.什么是单片机的的节电方式? 答:MCS-51系列运行时耗电小,还提供两种节电工作方式——空闲方式和掉电方式。在单片机空闲时程序停止运行,进入待机状态,在接收到一个中断时退出空闲方式,处理完后继续进入空闲方式,就这样断断续续的工作以达到节电目的。 11.CHMOS型单片机,进入掉电方式时,单片机的振荡器是否工作?采用什么办法能使单片机退出掉电方式? 答:不工作。在掉电方式中,振荡器停止工作,单片机内部所以功能部件停止工作。在掉电方式期间,内部RAM和寄存器的内容维持不变。 退出掉电方式的唯一方法是硬件复位。 12. CHMOS型单片机,进入空闲方式时,单片机的振荡器是否工作?采用什么办法能使单片机退出空闲方式? 答:工作。进入空闲方式中,中断、串行口和定时器继续工作。CPU现场、内部RAM和其他特殊功能寄存器内容维持不变。 有两种方法退出空闲方式,一是采用被允许的中断源请求中断;二是硬件复位,因为空闲方式中,振荡器在工作,所以仅需两个机器周期便完成复位。 第三章 1. 指出下列指令中划线操作数的寻址方式和指令的操作功能。 答:MOV A, #78H; 立即寻址,将立即数送入累加器A MOV A, 78H; 直接寻址,将内部RAM 78H单元内容送累加器A MOV A, R6; 寄存器寻址,将R6内容送累加器A INC @R0; 寄存器间接寻址,将指针R0指向的内部RAM单元内容加1 PUSH ACC; 直接寻址,将累加器A的内容入栈 RL A; 寄存器寻址,将累加器A的内容左移1位 CPL 30H; 位寻址,将位变量30H的内容取反 SJMP $; 相对寻址,原地等待 MOVC A, @A+PC;基寄存器加变址寄存器间接寻址,程序存储器PC和累加器A中内容相加形成ROM地址,取数送到累加器A。 2.指出下列指令中哪些是非法的? INC @R1 DEC DPTR MOV A, @R2 MOV R1, @R0 MOV P1.1, 30H MOV #30H, A MOV 20H,21H MOV OV, 30H MOV A, @A+DPTR RRC 30H RL B ANL 20H,#30H XRL C, 30H 答:DEC DPTR DEC DPL MOV A, @R2 MOV A, @R1 MOV R1, @R0 MOV A, @R0 MOV P1.1, 30H MOV C, 30H和MOV P1.1, C MOV #30H, A MOV A, #30H MOV OV, 30H MOV C, 30H和MOV OV,C MOV A, @A+DPTR MOVC A, @A+DPTR RRC 30H RRC A 因为所有的移位指令均是对累积器A进行的 RL B RL A XRL C, 30H 错,因为位操作指令中,没有位的异或运算 3.如何将1个立即数30H送入内部RAM 90H单元?如何将立即数送特殊功能寄存器P1? 答:(1) MOV R0, #90H MOV @R0, #30H (2)MOV P1, #30H 4.执行下列一段程序后,试分析有关单元内容。 答:MOV PSW, #0; (PSW)=00H MOV R0, #30H; (R0)=30H MOV 30H, #40H (30H)=40H MOV 40H, #50 (40H)=32H MOV A, @R0 (A)=40H ADDC A, #0CEH (A)=40H+0CEH+0=0EH PSW=10000001B=81H INC R0 (R0)=31H 最后的执行结果:(R0)=31H, (30H)=40H, (40H)=32H, (A)=0EH, (PSW)=81H 5.试编写一段程序,将内部RAM 40H、41H单元内容传送到外部RAM 2000H、2001H单元中去。 答:MOV DPTR, #2000H MOV R0,#40H MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR MOV A, @R0 MOVX @DPTR, A 6.试编写一段程序,根据累加器A的内容,到程序存储器1000H起始的表格中取一双字节数,送内部RAM 50H、51H单元。 答:MOV DPTR, #1000H PUSH ACC MOVC A, @A+DPTR MOV 50H, A POP ACC INC DPTR MOVC A, @A+DPTR MOV 51H, A 7.试编写一段程序,进行两个16位数的相减运算:6483H-56E2H。结果高8位存内部RAM 40H,低8位存41H。 答:CLR C MOV A, #83H SUBB A, #0E2H MOV 41H, A MOV A, #64H SUBB A, #56H MOV 40H, A 8.试编写一段程序,将30H、31H单元中存放的BCD数,压缩成一个字节(原30H单元内容为高位),并放入30H单元。 答:MOV A, 30H SWAP A ORL A, 31H MOV 30H, A 9.试编写一段程序,将30H~32H单元中的压缩BCD拆成6个单字节BCD数,并放入33H到38H单元。 答:MOV A, 30H MOV R0, #33H ACALL LP MOV A, 31H ACALL LP MOV A, 32H ACALL LP SJMP $ LP: MOV B, A ANL A, #0FH MOV @R0, A INC R0 MOV A, B SWAP A ANL A, #0FH MOV @R0, A INC R0 RET 10.设晶振频率为6MHz,试编写一个延时1ms的子程序,并利用该子程序,编写一段主程序,在P1.0引脚上输出高电平宽2ms、低电平宽1ms的方波信号。 答:机器周期T=2μs, 延时1ms的子程序应运行500T, 子程序为: DELAY: MOV R0, #248; 1T DJNZ R0, $; 2T NOP; 1T RET 2T 子程序运行机器周期数为:1T+248*2T+1T+2T=500T,500T=1ms 主程序为: MOV PSW, #00H LOOP: SETB P1.0 ACALL DELAY ACALL DELAY CLR P1.0 ACALL DELAY SJMP LOOP 第四章 1.试根据P1口和P3口的结构特性,指出它们作为输入口或第二功能输入/输出的条件。 答:P1口作为输入口时,相应的口锁存器必须先置“1”,使输出场效应管T截止,CPU读P1时才能准确读取外部电路的输入信息。 同理,P3口作为第二功能I/O口时,相应的口锁存器也必须先置“1”。 2.MCS-51中无ROM型单片机,在应用中P0口和P2口能否直接作为输入/输出口连接开关、指示灯之类的外围设备?为什么? 答:不能。因为无ROM型单片机在应用中必须扩展程序存储器,P0口必须作为地址总线的低8位及数据总线复用, P2口必须作为高8位地址总线送出高8位地址,因此P2口和P0口的输出信号都是不稳定的,不能直接作为输入/输出口连接开关、指示灯之类的外围设备。 3.什么是堆栈?堆栈的作用有哪些? 答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。 作用:(1)子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹出堆栈。 (2)保护现场/恢复现场 (3)数据传输 4.MCS-51的T0、T1的定时器和计数器的方式差别是什么?试举例说明这两种方式的用途。 答:MCS-51的T0、T1的定时器和计数器本质上都是计数器, 定时器方式是对单片机内部的机器周期数进行计数, 计数器方式是对T0、T1引脚上输入的外部脉冲(方波)信号进行计数。 定时器方式用来产生定时信号,可用于串行通信,也可以通过口输出脉冲和方波信号;计数器方式可以用来检测外部信号的频率和脉宽。 5. 晶振为12MHz,用T0产生1ms的定时,可以选择哪几种方式?分别写出定时器的方式字和计数初值。如需要1s的定时,应如何实现? 答:由于定时器工作在方式2和方式3下时的最大定时时间只有0.256ms,因此要想获得1ms的定时时间,定时器必须工作在方式0或方式1。机器周期T =12×1/12×10-6s=1μs,计数值T计数=1ms/1μm=1000。 1、采用方式0,定时器的方式字TMOD=00H,定时器的计数初值为TC= M-T/ T计数= 213 -1*103/1=7192=1C18H,TH0应装#1CH;TL0应装#18H。 2、采用方式1,定时器的方式字TMOD=01H,定时器的计数初值为TC= M-T/ T计数= 216 -1*103/1=64536=FC18H,TH0应装#0FCH;TL0应装#18H。 如需要1s的定时,可以采用查询相应溢出标志位,结合软件计数100循环,即可实现1s的定时。 6.晶振为12MHz,如何用T0来测试20Hz~1000Hz之间的方波信号(设高低电平宽度相同)的周期?又如何测试频率为0.5MHz左右的脉冲频率? 答: 1、使用定时器方式,利用方波的边沿触发定时器的开始与结束,比如使用上升沿来启动定时器计数,机器周期T为1μs,下降沿停止计数。依据计数值N计算周期,周期=2N*T。 2、T0工作在计数器方式,待测试的脉冲信号引入T0引脚计数,同时T1工作在定时器方式,定时1ms,1ms定时结束时取T0计数值,脉冲频率=1000* T0计数值。 7.若晶振为11.0592MHz,串行口工作于方式1、波特率为4800bit/s,分别写出用T1、T2作为波特率发生器的方式字和计数初值。 答:T1作为波特率发生器。 由:波特率=2SMOD*振荡器频率/[32*12*(256-X)] 设SMOD=0,可得,4800=20*11059200/32/12/(256-X),可得的计数初值X=250=0FAH,将X值装入TH1中,TMOD=20H。 MOV TMOD,#20H; T1方式2 MOV TH1,#0FAH T2作为波特率发生器,需对T2CON(置“1”TCLK、RCLK)、TH2、TL2、RCAP2H、RCAP2L初始化编程,再置“1”TR2,具体略。 8.串行口方式0能否外接多个74LS164?若不可以,说明原因;若可以,画出逻辑框图并说明数据输出方法。 答:串口工作方式0时,可以外接多个74LS164。此时TXD用于发送同步脉冲接74LS164的CLK端,RXD用于发送数据接第一片74LS164的数据输入端DSA和DSB,74LS164的/CR和Vcc端接+5V,Vss端接地,后一片74LS164的数据输入端DSA和DSB接前一片74LS164的Q7。只要将数据载入SUBF之后,时钟脉冲和数据就会自动出现在单片机的I/O端口,程序不需要对I/O口再进行干预。出现在74LS164的数据低位在右,高位在左。将数据多次载入SUBF,就可以在多个74LS164的输出端得到稳定的数据。 逻辑框图略,可参考教材的例4-8. 9.MCS-51的中断处理程序能否存储在64KB程序存储器的任意区域?若可以,如何实现? 答:可以。因为每个中断源的中断入口地址处均预留了8个单元的空间,8个单元足够存放一条跳转指令,使程序转向64KB程序存储区的任意区域。 在相应的中断入口使用JMP指令进行跳转就可以实现。 10.在一个8031系统中,晶振为12MHz,一个外部中断请求信号是一个宽度为500ms的负脉冲,则应该采用哪种中断触发方式,如何实现? 答:应该采用边沿触发方式,采用SETB IT0或 SETB IT1即可。若采用电平触发方式,由于外部中断请求信号长期存在,可能会引起重复中断。 11.若外部中断请求信号是一个低电平有效的信号,是否一定要选择电平触发方式?为什么? 答:不一定。因为采用边沿触发,能自动锁存中断信号,是一种可靠的中断管理方式。 第五章 1. 若晶振为6MHz,试编写一个2ms延时子程序。 答:晶振为6MHz,机器周期T为2μs,应计满1000个T。 DELAY: MOV R7, #10 DLY0: MOV R6, #49 DLY1: DJNZ R6, DLY1;2T DJNZ R7, DLY0;2T RET 2.试编制一个子程序,对串行口初始化,使串行口以方式1,波特率1200bit/s(晶振为11.059MHz)发送字符串“MCS-51”。 答:ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV TMOD,#20H MOV TL1,#0E8H MOV TH1,#0E8H SETB TR1 MOV SCON,#42H MOV R4,#0 MOV DPTR,#TAB FS1: MOV A,R4 MOVC A,@A+DPTR CJNE R4,#6,FS2 SJMP FSJS FS2: JBC TI,FS3 SJMP FS2 FS3: MOV SBUF,A INC R4 SJMP FS1 FSJS: SJMP $ TAB: ‘M’,‘C’,‘S’,‘-’,‘5’,‘1’ END 3.晶振为11.059MHz,串行口工作与方式3,波特率为2400bit/s,第9位数据为奇校验位。编制一个程序,对串行口初始化,并用查询方式接受串行口上输入的10个字符存入内部RAM中30H开始的区域。 答: RECS: MOV SCON,#0D0H ;串行口方式3允许接收 MOV TMOD,#20H ;T1方式2定时 MOV TL1, #0F4H ;写入T1时间常数 MOV TH1, #0F4H SETB TR1 ;启动T1 MOV R0, #30H ;设数据指针 MOV R7, #10 ;接收数据长度 WAIT: JBC RI,NEXT ;等待串行口接收 SJMP WAIT NEXT: MOV A,SBUF ;取一个接收字符 JNB P,COMP ;奇偶校验 JNB RB8,ERR ;P≠RB8,数据出错 SJMP RIGHT ;P=RB8,数据正确 COMP: JB RB8,ERR RIGHT: MOV @R0,A ;保存一个字符 INC R0 ;修改指针 DJNZ R7,WAIT ;全部字符接收完? CLR F0 ;F0 =0,接收数据全部正确 ERR: SETB F0 ;F0 =1,接收数据出错 RET 4.写一个子程序,其功能是将(R0)指出的两个RAM单元中的数转化为ASCII字符,并用查询方式从串行口上发送出去。 答:设串行口以方式1工作,波特率为1200bit/s,晶振为11.059MHz。 ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV TMOD,#20H MOV TL1,#0E8H MOV TH1,#0E8H SETB TR1 MOV SCON,#42H MOV R4,#2 FS1: MOV A,@R0 ANL A,#0FH MOV DPTR,#TAB MOVC A,A+DPTR FS2: JBC TI,FS3 SJMP FS2 FS3: MOV SBUF,A INC R0 DJNZ R4,FS1 FSJS: SJMP $ TAB: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,41H,43H,44H,45H,46H END 5.试编写一个子程序将字符串“MCS-51 Microcomputer”装入外部RAM 8000H开始的显示缓冲区。 答:ORG 0000H AJMP 0030H MIAN: MOV DPTR,#8000H MOV R1,#0 MOV R0,#20 LOOP: MOV A,R1 ADD A,#6 MOVC A,@A+PC MOVX @DPTR,A INC DPTR INC R1 DJNZ R0,LOOP SJMP $ TAB:DB‘MCS-51 Microcomputer’ END 6. 试设计一个n字节的无符号十进制数加法子程序,其功能为将(R0)和(R1)指出的内部RAM中两个n字节压缩BCD码无符号十进制数相加,结果存放于被加数单元中。子程序入口时,R0,R1分别指向被加数和加数的低位字节,字节数n存于R2,出口时R0指向和的最高位字节,CY为进位位。 答: LEN EQU n ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP. #60H MOV R2, #LEN ACALL ADD_NBYTE SJMP $ ADD_NBYTE: CLR C LOOP: MOV A, @R0 ADDC A, @R1 DA A MOV @R0, A INC R0 INC R1 DJNZ R2, LOOP RET END 7.试设计一个n字节的无符号十进制数减法子程序,其功能是将R0指出的内部RAM中n字节无符号压缩BCD码减去(R1)指出的内部RAM中n字节无符号压缩BCD码,结果存放在被减数单元中。子程序入口时,R0,R1分别指向被减数和减数的低位字节,字节数n存于R2,出口R0指向差的高位字节,CY=1为正,CY=0为负,结果为补码。 答:以n=2为例。 1. 将2字节无符号压缩BCD码被减数转换4位BCD码,存入60H~63H,再转换为二进制数,存R3R4。 MOV A,@R0 ANL A,#0FH MOV 63H,A MOV A,@R0 SWAP A ANL A,#0FH MOV 62H,A INC R0 MOV A,@R0 ANL A,#0FH MOV 63H,A MOV A,@R0 SWAP A ANL A,#0FH MOV 62H,A DTB:MOV R0,#60H MOV R3,#3 MOV R3,#0 MOV A,@R0 MOV R4,A LOOP:MOV A,R4 MOV B,#10 MUL AB MOV R4,A MOV A,B XCH A,R3 MOV B,#10 MUL AB ADD A,R3 MOV R3,A INC R0 MOV A,R4 ADD A,@R0 MOV R4,A MOV A,R3 ADDC A,#0 MOV R3,A DJNZ R2,LOOP 2. 用相同程序可将2字节无符号压缩BCD码减数转换4位BCD码,存入60H~63H,再转换为二进制数,存R5R6。 3. 双字节无符号数减法程序,差存入R7R1 NSUB1:MOV A,R4 CLR C SUBB A,R6 MOV R1,A MOV A,R3 SUBB A,R5 MOV R7,A JBC POUT CMPT:MOV A,R1;负数求补 CPL A ADD A,#1 MOV R1,A MOV A,R7 CPL A ADDC A,#0 MOV @R0,A DEC R0 MOV @R0,R1 INC R0 RET 8.试设计一个子程序,其功能为判断R2R3R4R5中的压缩BCD码十进制数最高位是否为0,若最高位为0,且该十进制数不为0,则通过左移使最高位不为0。 略 9.试设计一个双字节无符号整数乘法子程序,其功能将R3R2和R5R4相乘,积存于30H-33H单元。 答:MULTB: CLR A MOV 30H, A MOV 31H, A MOV 32H, A MOV 33H, A MOV R0,#30H MOV A,R2 MOV B,R4 MUL AB ACALL RADD MOV A,R2 MOV B,R5 MUL AB DEC R0 ACALL RADD MOV A,R4 MOV B,R3 MUL AB DEC R0 DEC R0 ACALL RADD MOV A,R5 MOV B,R3 MUL AB DEC R0 ACALL RADD SJMP $ RADD: ADD A,@R0 MOV @R0,A MOV A,B INC R0 ADDC A,@R0 MOV @R0,A INC R0 MOV A,@R0 ADDC A,#00H MOV @R0,A RET 10.试设计一个子程序,其功能将无符号二进制整数R2R3R4R5除以R6R7,其商存放于30H,31H单元,余数存于R2R3。 略 11.试设计一个子程序,其功能为将R0指出的内部RAM中6个单字节正整数按从小到大的次序重新排列。 答: ORG 0200H MOV 30H,#6 SUM1 EQU 30H SUM2 EQU 31H LOOP1: MOV A,R0 INC A MOV R1,A MOV SUM2,SUM1 DJNZ SUM1,LOOP2 SJMP DONE LOOP2: DJNZ SUM2,LOOP3 SJMP LOOP1 LOOP3: MOV A,@R0 CLR C SUBB A,@R1 JC NEXT XCH A,@R1 MOV @R0,A NEXT: INC R0 INC R1 SJMP LOOP2 DONE: END 12.试设计一个子程序,其功能为应用查表指令:MOVC A,@A+PC,求累加器A的平方值,结果送入A,入口时A<15。 答:MEMO:INC A MOVC A,@A+PC RET TAB: DB 0,1,4,9,16,25,36,49 DB 64,81,100,121,144,169,196,225 13.试设计一个子程序,其功能将R0指出的内部RAM中双字节压缩BCD码转化为二进制数存放于R1指出的内部RAM中,并将结果再转化为BCD码存放于30H开始的单元中。 答:先将压缩BCD码转化为BCD码存放于30H开始的单元中 MOV R2,R0 MOV A,@R0 PUSH ACC ANL A,#0FH MOV 30H,A POP ACC SWAP A ANL A,#0FH MOV 31H,A INC R0 MOV A,@R0 PUSH ACC ANL A,#0FH MOV 32H,A POP ACC SWAP A ANL A,#0FH MOV 33H,A MOV A,31H; (( R1))=(31H)*10+(30H) MOV B,#10 MUL AB ADD A,30H MOV @R1,A MOV A,32H; ((R1)+1)(( R1))=(32H)*100+(( R1)) MOV B,#100 MUL AB ADD A,@R1 MOV @R1,A INC R1 MOV A,B ADDC A,@R1 MOV @R1,A MOV A,33H; ((R1)+1)(( R1))= (33H)*1000+((R1)+1)(( R1)) MOV B,#232 MUL AB DEC R1 ADD A,@R1 PUSH PSW MOV @R1,A INC R1 MOV @R1,B MOV A,33H MOV B,#3 MUL AB POP PSW ADDC A,@R1 MOV @R1,A 14.若晶振为6MHz,用T0产生500us的定时中断,试编写有关的初始化程序和对时钟进行计数的T0中断服务程序。时钟计数单元为:30H,31H,32H,分别存放压缩BCD码的时分秒参数。 答:晶振为6MHz,机器周期T为2μs,500us=250T,T0可以工作在方式2。有关的初始化程序和对时钟进行计数的T0中断服务程序如下: ORG 0000H SJMP MAIN ORG 000BH SJMP PT0 ORG 0030H MAIN: MOV TMOD,#02H MOV TH0,#6 MOV IE,82H SETB TR0 CLR A MOV 30H,A MOV 31H,A MOV 32H,A MOV 33H,A MOV 34H,A MOV 35H,A MOV R7,#40 MOV R6,#50 SJMP $ PT0: DJNZ R7,A1 MOV R7,#40 DJNZ R6,A1 MOV R6,#50 INC 33H CJNE 33H,#60,A2 MOV 33H,#0 MOV 30H,#0 INC 34H CJNE 34H,#60,A3 MOV 34H,#0 MOV 31H,#0 INC 35H CJNE 35H,#24,A4 MOV 35H,#0 MOV 32H,#0 A1: RETI A2: MOV A,33H MOV B,#10 DIV AB SWAP A MOV 30H,B MOV R0,#30H XCHD A,@R0 MOV 30H,A SJMP A1 A3: MOV A,34H MOV B,#10 DIV AB SWAP A MOV 31H,B MOV R0,#31H XCHD A,@R0 MOV 31H,A SJMP A1 A4: M</p>- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理与应用 单片机 原理 应用 第三 德安 课后 习题 答案 资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文