北京交通大单片机第4章参考答案

合集下载

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案【篇一:《单片机原理及接口技术(第2版)张毅刚》第4章习题及答案】第4章 at89s51单片机的中断系统思考题及习题41.外部中断1的中断入口地址为 ,定时器1的中断入口地址为。

答:0013h;001bh2.若(ip)=00010100b,则优先级最高者为,最低者为。

答:外部中断1,定时器t13.中断服务子程序与普通子程序有哪些相同和不同之处?答:reti指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而ret指令则没有这个操作。

除了这一点两条指令不同外,其它操作都相同。

4.下列说法正确的是。

答:da. 各中断源发出的中断请求信号,都会标记在at89s51的ie寄存器中b. 各中断源发出的中断请求信号,都会标记在at89s51的tmod寄存器中c. 各中断源发出的中断请求信号,都会标记在at89s51的ip寄存器中d. 各中断源发出的中断请求信号,都会标记在at89s51的tcon与scon寄存器中5.at89s51单片机响应外部中断的典型时间是多少?在哪些情况下,cpu将推迟对外部中断请求的响应?答:在一个单一中断的系统里,at89s51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

在下述三种情况下,at89s51将推迟对外部中断请求的响应:(1)at89s52正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。

(3)正在执行的指令是reti或是访问ie或ip的指令。

如果存在上述三种情况之一,at89s52将丢弃中断查询结果,将推迟对外部中断请求的响应。

6.中断查询确认后,在下列各种at89s51单片机运行情况下,能立即进行响应的是。

a. 当前正在进行高优先级中断处理b. 当前正在执行reti指令c. 当前指令是div指令,且正处于取指令的机器周期d. 当前指令是mov a,r3答:d7. at89s51单片机响应中断后,产生长调用指令lcall,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送,使程序执行转向中的中断地址区。

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案【篇一:《单片机原理及接口技术(第2版)张毅刚》第4章习题及答案】第4章 at89s51单片机的中断系统思考题及习题41.外部中断1的中断入口地址为 ,定时器1的中断入口地址为。

答:0013h;001bh2.若(ip)=00010100b,则优先级最高者为,最低者为。

答:外部中断1,定时器t13.中断服务子程序与普通子程序有哪些相同和不同之处?答:reti指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而ret指令则没有这个操作。

除了这一点两条指令不同外,其它操作都相同。

4.下列说法正确的是。

答:da. 各中断源发出的中断请求信号,都会标记在at89s51的ie寄存器中b. 各中断源发出的中断请求信号,都会标记在at89s51的tmod寄存器中c. 各中断源发出的中断请求信号,都会标记在at89s51的ip寄存器中d. 各中断源发出的中断请求信号,都会标记在at89s51的tcon与scon寄存器中5.at89s51单片机响应外部中断的典型时间是多少?在哪些情况下,cpu将推迟对外部中断请求的响应?答:在一个单一中断的系统里,at89s51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

在下述三种情况下,at89s51将推迟对外部中断请求的响应:(1)at89s52正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。

(3)正在执行的指令是reti或是访问ie或ip的指令。

如果存在上述三种情况之一,at89s52将丢弃中断查询结果,将推迟对外部中断请求的响应。

6.中断查询确认后,在下列各种at89s51单片机运行情况下,能立即进行响应的是。

a. 当前正在进行高优先级中断处理b. 当前正在执行reti指令c. 当前指令是div指令,且正处于取指令的机器周期d. 当前指令是mov a,r3答:d7. at89s51单片机响应中断后,产生长调用指令lcall,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送,使程序执行转向中的中断地址区。

单片机第4章习题答案

单片机第4章习题答案

第4章习题答案一、填空题1.机器语言2.机器汇编、手工汇编3.AREA1=1000H、BUF=1004H、TIME=01H、ACK=1006H4.(A)=4FH、(R0)=4BH、(R1)=E5H、(21H)=D8H、(22H)=4BH、(2FH)=E5H二、简答题1.什么叫伪指令?伪指令与指令有什么区别?答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编时,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。

2.汇编语言的格式是怎样的?汇编语言语句格式为:标号:操作码操作数;注释3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?(1)编起始地址命令ORG功能:规定此命令之后的程序或数据的存放起始地址。

(2)定义字节伪指令格式:[标号:] DB X1,X2, (X)功能:从指定地址开始,存放若干字节数据。

(3)字定义伪指令格式:[标号:] DW Y1,Y2,…,Yn功能:从指定地址开始,存放若干字数据。

(4)汇编结束伪指令END功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。

(5)赋值伪指令格式:标号 EQU 表达式功能:将表达式的值(数据或地址)赋给标号。

(6)位定义伪指令格式:[标号] BIT 位地址功能:将位地址赋给标号。

4.汇编语言程序设计分为哪几个步骤?答:汇编语言程序设计一般要经过以下几个步骤:(1)分析问题,明确任务(2)确定算法(3)画出程序流程图(4)编写源程序(5)汇编和调试5.结构化程序设计有哪几种常用的程序结构?答:顺序结构、分支结构、循环结构和子程序结构6.子程序调用时,参数的传递方法有哪几种?答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。

7.分析下列程序的功能。

X DATA 30HY DATA 32HMOV A,XJNB ACC.7,TRUECPL AADD A,#01HTRUE:MOV Y,A答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H 单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。

北京交通大学单片机第4章参考答案

北京交通大学单片机第4章参考答案

3-5 指出下列指令中45H代表什么。

MOV A,#45HMOV A,45HMOV 45H,46HMOV C,45HMOV A,#45H中的45H代表立即数45H,该立即数为16进制。

MOV A,45H 中的45H代表直接地址45H单元。

MOV 45H,46H中的45H代表目的操作数所指定的单元为45H。

MOV C,45H中的45H代表45H位。

3-6 分析下列程序执行的结果。

(1)MOV A,#60HMOV R0,#40HMOV @R0, AMOV 41H, R0XCH A, R0执行结果为:(A)=40H(R0)=60H(40H)=60H(41H)=40H (2)MOV DPTR,#2003HMOV A,#18HMOV 20H,#38HMOV R0,#20HXCH A,@R0执行结果为:(DPH)=20H(DPL)=03H(A)=38H(20H)=18H(R0)=20H(3)MOV 20H,#01HMOV A,20HINC ACPL AMOV DPTR,#2000HMOVX @DPTR, A执行结果为:(20H)=01H(A)=FDH(DPTR)=2000H(2000H)=FDH3-8 按要求写出相应的指令。

(1)把寄存器R6的内容送到累加器A中。

(2)把外部RAM 1000H单元的内容传送到内部RAM 30H单元中。

(3)清除内部RAM 3FH 单元的高4位。

(4)使累加器A的最低位置1。

(5)清除进位位。

(6)使ACC.4和ACC.5置1。

(7)把外部ROM 2000H单元中的内容送到内部RAM的20H单元中。

(8)把外部ROM 2000H单元中的内容送到外部RAM的3000H单元中。

(1)MOV A,R6(2)MOV DPTR,#1000HMOVX A,@DPTRMOV R0,#30HMOV @R0,A(3)ANL 3FH,#0FH(4)ORL A,#01H(5)CLR C(6)ORL A,#30H(7)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV 20H,A(8)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV DPTR,#3000HMOVX @DPTR,A3-10 编写程序段完成如下要求。

单片机第四章习题答案

单片机第四章习题答案

第 4 章 单片机内部功能模块习题解答1. 什么是中断?中断有何优点?中断是指计算机在执行程序的过程中,由于计算机系统外界或内部发生某一紧急事件,要求CPU 暂时中止当前的工作转去处理所发生的紧急事件,待处理完后再回到原来被中止的地方,继续原来的工作的过程。

在计算机中引入中断技术具有以下优点:(1)可以提高CPU 的工作效率;(2)便于实时处理;(3)便于故障处理,提高系统的稳定性。

2. MCS-51单片机的中断系统有哪些功能部件组成?分别作什么用?MCS-51单片机的中断系统有4个与中断有关的特殊功能寄存器(TCON 、SCON ),中断允许控制寄存器IE ,中断优先级寄存器IP 和中断顺序查询逻辑等组成。

其功能分别为:TCON 用于寄存定时器T0、T1的溢出中断和外部0INT 、1INT 的中断请求及设置外部中断的触发方式;SVON 的低2位用于作串行发送和接收中断标志;IE 用于设置各中断源允许和禁止;IP 用于设置各中断源的优先级别;中断查询逻辑用于确定中断响应的次序。

3. MCS-51单片机有几个中断源?各中断标志如何产生,又如何清除?MCS-51有五个中断源,它们是:(1)外部中断0(0INT )中断,低电平有效。

通过P3.2引脚引入。

(2)外部中断1(1INT )中断,低电平有效。

通过P3.3引脚引入。

(3)定时/计数器0(T0)溢出中断。

(4)定时/计数器1(T1)溢出中断。

(5)串行口中断,当串行口完成一帧数据的发送和接收时,便请求中断。

中断标志位产生与复位:(1)外部中断0(0INT )中断标志:当外部中断0引脚0INT 上的电平由1变为0时,IE0由硬件置“1”,外部中断0请求中断。

在CPU 响应该中断时由硬件清0。

(2)外部中断1(1INT )中断标志:当外部中断1引脚1INT 上的电平由1变为0时,IE1由硬件置“1”,外部中断1请求中断。

在CPU 响应该中断时由硬件清0。

单片机第四章课后答案

单片机第四章课后答案
多机通信介绍:
TXD RXD 8051 TXD RXD 8051 1#从机 TXD RXD 8051 2#从机 TXD RXD 8051 3#从机
主机
多机通信的实现,主要依靠主、从机之间正确地设置与判断 SM2和发送或接收的第9位数据(TB8或RB8)完成的。现 将二者的作用总结如下: 在单片机串行口以方式2或方式3接收时,一方面,若SM2=1, 表示置多机通信功能位,这时有两种情况: ①接收到第9位数据为1,此时数据装入SBUF,并置RI=1,向 CPU发中断请求; ②接收到第9位数据为0,此时不产生中断,信息将丢失,不能 接收。另一方面,若SM2=0,则接收到的第9位信息无论是1还 是0,都产生RI=1的中断标志,接收的数据装入SBUF。根据这 个功能,就可以实现多机通信。
对主机随后发来的信息不理睬,直到发送新的一帧地址信息。
(4)主机发送控制指令和数据信息给被寻址的从机。其中,主机置TB8=0,表 示发送的是数据或控制指令。对于没选中的从机,因为SM2=1,RB8=0,所以
不会产生中断,对主机发送的信息不接收
第四章
MCS-51存储器和I/O扩展
§4-1 §4-2 存储器扩展 并行I/O口扩展
74HC373
8031
6116
G OE
EA
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7
ALE
(3)连线说明 地址线:A0~A10连接单片机地址总线的A0~A10,即P0.0~P0.7、 P2.0、P2.1、P2.2共11根 数据线:D0~D7连接单片机的数据线,即P0.0~P0.7 控制线:片选端CE连接单片机的P2.7,即单片机地址总线的最高位 A15;读允许线OE连接单片机的读数据存储器控制线RD;写允许线 WE连接单片机的写数据存储器控制线WR

第4章思考题及习题4参考答案

第4章思考题及习题4参考答案

第4章思考题及习题4参考答案一、填空1.外部中断1的中断入口地址为。

定时器T1的中断入口地址为。

答:0013H;001BH2.若(IP)=00010100B,则优先级最高者为,最低者为。

答:外部中断1,定时器T13.AT89S52单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送入,使程序执行转向中的中断地址区。

答:PC、PC、程序存储器4.AT89S52单片机复位后,中断优先级最高的中断源是。

答:外部中断05.当AT89S52单片机响应中断后,必须用软件清除的中断请求标志是。

答:串行中断、定时器/计数器T2中断二、单选1.下列说法错误的是()。

A. 同一级别的中断请求按时间的先后顺序响应B. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应C. 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求D. 同级中断不能嵌套答:B2.在AT89S52的中断请求源中,需要外加电路实现中断撤销的是()。

A. 电平方式的外部中断请求B.跳沿方式的外部中断请求C.外部串行中断D.定时中断答:A3.中断查询确认后,在下列各种AT89S52单片机运行情况下,能立即进行响应的是()。

A.当前正在进行高优先级中断处理B.当前正在执行RETI指令C.当前指令是MOV A,R3D.当前指令是DIV指令,且正处于取指令的机器周期答:C4.下列说法正确的是()。

A. 各中断源发出的中断请求信号,都会标记在AT89S52的IE寄存器中B. 各中断源发出的中断请求信号,都会标记在AT89S52的TMOD寄存器中C. 各中断源发出的中断请求信号,都会标记在AT89S52的IP寄存器中D. 各中断源发出的中断请求信号,都会标记在AT89S52的TCON、SCON以及T2CON寄存器中答:D三、判断对错1.定时器T0中断可以被外部中断0中断。

单片机习题集答案(第四章)

单片机习题集答案(第四章)

第四章习题1、何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。

MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。

2、80C51单片机有几个定时/计数器?它们由哪几个功能寄存器组成?怎样实现定时功能和计数功能?80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。

通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。

3、定时/计数器T0有几种工作方式?各自的特点是什么?M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器1028位自动重置定时/计数器113两个8位定时/计数器(只有T0有)4、定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式的初值应是多少?有四种方式。

方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。

如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。

5、设振荡频率为12MHz,如果要用定时器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别是多少?只能选择方式1,初值为65536-50000=155366、何为同步通信?何为异步通信?各自的特点是什么?异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。

特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。

同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符,后面加上校验字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3-5 指出下列指令中45H代表什么。

MOV A,#45HMOV A,45HMOV 45H,46HMOV C,45HMOV A,#45H中的45H代表立即数45H,该立即数为16进制。

MOV A,45H 中的45H代表直接地址45H单元。

MOV 45H,46H中的45H代表目的操作数所指定的单元为45H。

MOV C,45H中的45H代表45H位。

3-6 分析下列程序执行的结果。

(1)MOV A,#60HMOV R0,#40HMOV @R0, AMOV 41H, R0XCH A, R0执行结果为:(A)=40H(R0)=60H(40H)=60H(41H)=40H (2)MOV DPTR,#2003HMOV A,#18HMOV 20H,#38HMOV R0,#20HXCH A,@R0执行结果为:(DPH)=20H(DPL)=03H(A)=38H(20H)=18H(R0)=20H(3)MOV 20H,#01HMOV A,20HINC ACPL AMOV DPTR,#2000HMOVX @DPTR, A执行结果为:(20H)=01H(A)=FDH(DPTR)=2000H(2000H)=FDH3-8 按要求写出相应的指令。

(1)把寄存器R6的内容送到累加器A中。

(2)把外部RAM 1000H单元的内容传送到内部RAM 30H单元中。

(3)清除内部RAM 3FH 单元的高4位。

(4)使累加器A的最低位置1。

(5)清除进位位。

(6)使ACC.4和ACC.5置1。

(7)把外部ROM 2000H单元中的内容送到内部RAM的20H单元中。

(8)把外部ROM 2000H单元中的内容送到外部RAM的3000H单元中。

(1)MOV A,R6(2)MOV DPTR,#1000HMOVX A,@DPTRMOV R0,#30HMOV @R0,A(3)ANL 3FH,#0FH(4)ORL A,#01H(5)CLR C(6)ORL A,#30H(7)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV 20H,A(8)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV DPTR,#3000HMOVX @DPTR,A3-10 编写程序段完成如下要求。

(1)将寄存器R0中的内容乘以10(积小于256)。

(2)将片内RAM 30H单元开始的15个字节的数据传送到片外RAM 3000H开始的单元中。

(3)将片外RAM 2000H开始的5个字节的数据传送到片内RAM 20H开始的单元中。

(4)有10个字节的二进制数存放在片内RAM以40H开始的单元内,编程找出其中的最大值并存于内部50H单元中。

(5)将片外RAM空间2000H~200AH中的数据的高4位变零,低4位不变,原址存放。

(6)将外部RAM 2040H单元的内容与3040H单元的内容互换。

(1)MOV B,#0AHMOV A,R0MUL ABMOV R0,A(2) ORG 0000HMOV R0,#30HMOV DPTR,#3000HMOV R7,#0FHLOOP: MOV A,@R0MOVX @DPRT,AINC R0INC DPTRDJNZ R7,LOOPSJMP $END(3) MOV DPTR,#2000HMOV R0,#20HMOV R7,#05HLOOP: MOVX A,@DPTRMOV @R0,AINC R0INC DPTRDJNZ R7,LOOPSJMP $END(4) ORG 0000HMOV 50H,40H ; 50H放最大值,且初始化最大值(默认第一个数)MOV R3,#09H;比较次数MOV R0,#41HSTART: MOV A,@R0CJNE A,50H,LOOPLOOP: JC LOOP1;如果A比50H的值小,则跳转到LOOP1MOV 50H,@R0;如果比50H的值大,则更新50H(最大值)的值LOOP1: INC R0DJNZ R3,STARTSJMP $END(5) MOV DPTR,#2000HMOV R1,#0BHLOOP: MOVX A,@DPTRANL A,#0FHMOVX @DPTR,AINC DPTRDJNZ R1,LOOPSJMP $(6) MOV DPTR,#2040HMOVX A,@DPTRMOV R0,#20HMOV @R0,AMOV DPTR,#3040HMOVX A,@DPTRXCH A ,@R0MOVX @DPTR AMOV A,@R0MOV DPTR,#2040HMOVX @DPTR,A3-15 设有一带符号的十六位数以补码形式存放在R2、R3寄存器中,试编制求其原码的程序。

ORG 0000HSTART: MOV A,R3JB ACC.7,NEXT;判读符号位,如果是正数则原码与补码一样,如果为负,求原码的方法是符号位不变,其余位取反加1MOV R3,AHERE: SJMP $NEXT: XRL A, #7FH;高八位,符号位不变,其余取反MOV R3, A;放回R3MOV A, R2;低八位XRL A, #0FFH;取反ADD A, #01H;加1MOV R2, A;放回R2MOV A,R3;看低八位是否有向高八位进位ADDC A,#00HMOV R3,ASJMP $END3-16 设有一不带符号的十六进制数组,存放在8031单片机片内RAM以BUFFER为首址的连续单元中,其长度为30个字节,要求统计小于10,等于10及大于10的数的个数,并把它们分别存放到片内RAM的LESS、EQUAL、BIG单元中,试编制实现上述要求的程序并画出相应的流程图。

ORG 0000HBUFFER DA TA 10HLESS DA TA 30HEQUAL DA TA 31HBIG DA TA 32HMOV R0,#BUFFERMOV R7,#1EHMOV LESS,#00HMOV EQUAL,#00HMOV BIG,#00HNEXT: CJNE @R0,#0AH, LOOP1;循环次数INC EQUALAJMP LOOP3LOOP1: JC LOOP2INC BIGAJMP LOOP3LOOP2: INC LESSLOOP3: INC R0DJNZ R7, NEXTSJMP $END3-17 在外部RAM 1000H单元开始的存储区域存放着10个用ASCII码表示的0~9之间的数字,请编程将它们转换成BCD码,然后存放在2000H~2004H单元(以压缩BCD码存放)。

方法一:ORG 0000HMOV R2,#05HMOV DPTR,#1000HMOV R0,#20HLOOP: MOVX A,@DPTRANL A,#0FHMOV R4,AINC DPTRMOVX A,@DPTRANL A,#0FHSWAP AADD A,R4MOV @R0,AINC R0INC DPTRDJNZ R2,LOOPMOV R5,#05HMOV R0,#20HMOV DPTR,#2000HLOOP1: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R5,LOOP1SJMP $END方法二:ORG 0000HMOV R2, #05HMOV DPTR, #1000HMOV R1,#20HLOOP: MOVX A,@DPTRANL A, #0FHMOV R4, AINC DPTRMOVX A,@DPTRANL A, #0FHSWAP AADD A , R4MOV P2,#20HMOVX @R1,AINC DPTRINC R1DJNZ R2, LOOPSJMP $END3-18 设有50个无符号8位二进制数,存放在8031单片机内部RAM以BOFER为首址的连续单元中,试编制将其中最小数存放到内部RAM 的MIN单元的程序并画出相应的流程图。

BOFER DA TA 20HMIN DA TA 60HORG 0000HMOV R2,#31H;循环49次MOV R1,# BOFER+1MOV MIN,BOFER;把最小值放MIN,且初始化时把第一个数放入MINLOOP: MOV A, @R1CJNE A, MIN, LOOP1LOOP1: JNC LOOP2;@R1>MINMOV MIN,@R1 ;MIN >@R1,MIN要更新LOOP2: INC R1DJNZ R2, LOOPSJMP $END3-19 设有一字符串存放在8031单片机内部RAM以20H为首址的连续单元中,字符串以回车结束。

要求统计该字符串中字符B(‘B’=42H)的个数,并将其存入外部RAM的40H单元中。

试编写实现上述要求的程序并画出相应的流程图。

ORG 0000HMOV R0,#20HMOV R1,#00H;‘B’的个数初始化LOOP: MOV A, @R0CJNE A, #0DH,LOOP1;判断是否结束(回车键)MOV DPTR,#0040H;把结果放外部RAM中MOV A,R1MOVX @DPTR,ASJMP $LOOP1: CJNE A,#42H,NEXT;不为B则跳转INC R1;为B则使计数器加1NEXT: INC R0AJMP LOOPEND3-23 已知MDA和MDB单元内分别存有两个小于10的整数a和b,试用查表子程序实现c=a2+2ab+b2,并把和存于MDC和MDC+1单元中(MDC单元中放低字节,MDC+1单元中放高字节)。

ORG 0000HMDA DA TA 20HMDB DA TA 21HMDC DA TA 22HMOV A,MDAACALL SQRMOV R2,AMOV A,MDBACALL SQRADD A,R2MOV R2,A;a2+b2结果暂时放入R2MOV B,MDA;下面算2*a*bMOV A,MDBMUL ABRL AADD A,R2MOV MDC,ACLR AADDC A,#00HMOV MDC+1,ASJMP $SQR: ADD A,#01HMOVC A,@A+PCRETSQRTAB:DB 0 1 4 9 16 25 36 49 64 81 100END3-25 设有一长度为20H的字符串,存放在8031单片机片内RAM以10H为首地址的连续单元中,试编制将其中数字与字母分开并将它们分别送到以30H和50H为首地址的连续单元中的程序。

gORG 0000HMOV R2,#20H ;循环次数MOV R1,#10HMOV 60H,#30H ;数字存储首地址MOV 61H,#50H ;字母存储首地址LOOP: MOV A,@R1CJNE A,#40H,NEXTNEXT: JNC NEXT1 ;如果是字母则跳转到NEXT1MOV R0,60H ;是数字,把数字的存储地址给R0MOV @R0,AINC 60HSJMP LOOP1NEXT1: MOV R0,61HMOV @R0,A ;是字母,把字母的存储地址给R0INC 61HLOOP1: INC R1DJNZ R2,LOOPSJMP $END4-3 外端口有哪两种编址方法?各有什么特点?答:微型计算机对I/O端口进行编址的方式有两种:单独编址和统一编址。

相关文档
最新文档