赵嘉蔚-北京交通大学-单片机原理与接口技术-课后习题
- 格式:docx
- 大小:29.14 KB
- 文档页数:14
目录《微机原理与接口技术》第一章作业 (2)一、书上P22 作业题2、3、7 (2)《微机原理与接口技术》第二章作业 (2)一、书上P59 作业题2、5、6、9、14 (2)《微机原理与接口技术》第三章作业 (3)一、书上P95 作业题4、5、6、7、10、11、12、13、14、15、16、17、18、22、27 (4)《微机原理与接口技术》第四章作业 (8)一、课本P155 8、12、13、14 (8)《微机原理与接口技术》第五章作业 (10)一、作业P180 2、5、7、8、9、10 (11)《微机原理与接口技术》第六章作业 (13)一、P207: 1,3,5,10,14。
18,19,20 (13)《微机原理与接口技术》第七章作业(一) (17)一、P268: 3, 6 , 7, 10 , 11 , 12 (17)《微机原理与接口技术》第七章作业(二) (20)一、P268: 15 , 16 , 19,21,25 (20)《微机原理与接口技术》第八章作业 (24)一、P292 6 、7 (24)《微机原理与接口技术》第一章作业一、书上P22 作业题2、3 、72. 完成下列数制之间的转换。
(1)01011100B=92D(3)135D=10000111B(5)10110010B=262Q=B2H3. 组合型BCD码和非组合型BCD码有什么区别?写出十进制数254 的组合型BCD数和非组合型BCD数。
答:组合型BCD码的储存格式用一个字节存放 2 位BCD码,高4 位表示十进制的十位数,低 4 位表示十进制的个位数,数值表示围为0~99;非组合型的储存格式是用一个字节的低4 位存放 1 位BCD码,高四位可以为0 或任意数,数值表示围为0~9。
254D 的组合型BCD码:0254D的非组合型BCD码:00000010 00000101 000001007. 计算机中为什么采用补码的形式储存数据?当计算机的字长n=16 时,补码的数据表示围是多少?答:是为了便于进行加减运算,简化机器硬件结构。
单片机原理和接口技术课后答案绪论1.第一台计算机的问世有何意义答第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。
与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2.计算机由哪几部分组成答由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.微型计算机由哪几部分构成答微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4.微处理器与微型计算机有何区别答微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。
5.什么叫单片机其主要特点有哪些答在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
单片机主要特点有控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。
6.微型计算机有哪些应用形式各适于什么场合答微型计算机有三种应用形式多板机(系统机)、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。
早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7.当前单片机的主要产品有哪些各有何特点答多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。
因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有l ATMEL公司融入Flash存储器技术推出的AT89系列单片机;l Philips公司推出的80C51、80C552系列高性能单片机;l 华邦公司推出的W78C51、W77C51系列高速低价单片机;l ADI公司推出的ADμC8xx系列高精度ADC单片机;l LG公司推出的GMS90/97系列低压高速单片机;l Maxim公司推出的DS89C420高速(50MIPS)单片机;l Cygnal公司推出的C8051F系列高速SOC单片机等。
北京交通大学微机原理与接口技术考题及答案(共7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--微机原理与接口技术2006—2007学年第1学期(A卷答案)一、填空题(每空1分,共15分)1.在实模式下,80486微处理器使用的地址线是20 条,存储器的最大寻址空间是 1MB ,存储器分段的最大容量是 64KB 。
2.计算机的数据表示的范围由字长n决定,若n=16,有符号数的表示范围是+32767~-32768 ,无符号数的表示范围是0~65535 。
3.在实模式下,设(CS)=1200H,(IP)=FF00H,指令的物理地址为21F00H 。
4.设(SP)=1000H,(AX)=2010H,执行指令PUSH AX后,(SP)= 0FFEH 。
的引脚信号NMI的功能是接受不可屏蔽中断请求。
6.在MOV 1100H[BX],AX 中,目标操作数的寻址方式是基址寻址。
7.在DMA传送中,8237A可提供的存储器的地址是 16 位。
8. 8259A中ISR是 8 位的寄存器,其作用是记录CPU正在服务的中断请求。
9.将中断允许标志IF置“1”的指令是 STI 。
10.ADC0809有 8 个模拟输入通道,可转换的模拟信号的范围是0~5V 。
二、选择题(选择正确答案,每题1分,共10分)1.在80x86中断系统中,中断向量表用于存放( C )(A)中断类型号(B)中断服务程序(C)中断服务程序的入口地址(D)中断源类型2.指令MOV AX,1000H ,源操作数存放在( A )(A)代码段中(B)堆栈段中(C)数据段中(D)附加段中3.串指令的源地址由( A )提供。
(A)DS:SI提供(B)CS:IP提供(C)ES:SI提供(D)SS:SP提供4.将寄存器AL的低4位屏蔽,应当用的指令是( B )(A)AND AL,0FH (B)AND AL,0F0H(C)XOR AL,0FH (D)XOR AL,0F0H5..执行JZ指令,转移的条件是( C )(A)ZF=0 (B)CF=0(C)ZF=1 (D)CF=126.EPROM芯片Intel 2764,片内寻址需要的地址线是( C )(A)11条(B)12条(C)13条(D)14条7.启动ADC 0809转换的命令是( A )(A)OUT 端口,AL (B)MOV 端口,AL(C)OUT AL,端口(D)MOV AL,端口8.若8250输入的基准时钟频率,除数寄存器装入60H时,则波特率为(C )(A)4800 (B)2400 (C)1200 (D)3009.CPU响应INTR中断请求的条件是(C )(A)TF=1 (B)DF=1 (C)IF=1 (D)CF=110.某中断的类型号为16,其对应向量表的地址是( C )(A)0020H (B)0030H (C)0040H (D)0050H三、改正下列语句的错误(每题1分,共4分)(1)MOV 20H, AL(2)POP CS(3)ADD [DI],[SI](4)INC AX,1四、回答下列问题(每题3分,共6分)1.当CPU响应INTR中断请求后,CPU是如何获取中断类型号?答:在第二个INTA中断响应周期,由8259 将中断类型号送上数据总线,送给CPU。
单元八负反馈与集成运算放大器一、填空题1 .如果将放大电路的输出量(电压或电流)的一部分或全部,通过某种电路送回到放大电路的输入端,这一过程称为反馈。
2 .若反馈到输入端的信号削弱了外加输入信号的作用,使净输入信号减小,则为负反馈;反之,使净输入信号增强的是正反馈。
3 .放大电路中常用的负反馈类型有图⅛4 .为了减小信号源工作电流,需提高放大电路输入电阻,则需引入串联负反馈。
5 .为了提高放大电路带负载能力,使负载能得到更稳定的工作电压,则需引入电压负反馈。
6 .由运算放大器构成的同相电压跟随器引入的是曳压里联负反馈。
二、选择题1 .在单管放大电路中,引入电流负反馈,放大电路的输出电阻将(B)稳定输出电流,电流源内阻大。
A.减小B.增加C,不变D.和信号源内阻有关2 .负反馈放大器的A=IOI若要a=IO?,则反馈系数尸=(A)A.0.009B.0.09C.0.9D.93 .要提高放大器的带负载能力,提高输入电阻,应引入(C)负反馈提高负载能力,输出电阻小,应为电压反馈;输入电阻高,应为串联反馈。
A.电压并联B.电流并联C.电压串联D.电流串联5.在深度负反馈时,放大器的放大倍数(B)仅与反馈系数F有关A.仅与基本放大器有关B.仅与反馈网络有关C.与基本放大器和反馈网络密切相关D.与基本放大器和反馈网络均无关7 .电路如图8-36所示,电阻口引入的反馈为(A )A.串联电压负反馈B.串联电流负反馈 C .并联电压负反馈 D.串联电压正反馈 8 .电路如图图8-37所示,负反馈的类型是(D )A.电压串联负反馈 C.电流串联负反馈8;.什么是反馈?什么是正反馈?什么是负反馈?通常采用什么方法判断放大电路的反馈性质?将输出信号的一部分或全部通过某种电路引回到输入端的过程称为反馈。
放大电路引入反馈后使净输入信号减小,增益减小,则为负反馈;若放大电路引入反馈后使净输入信号增大,增益增大则称为正反馈。
通常采用瞬时极性法。
单元一直流电源一、填空题1 .电路由曳源负载和空间环苴三部分组成。
电路的主要作用有两个:实现电能的传输和分配;实现信号的传输、存储和处理。
2 .电路分析计算中,必须先假设电流与电压的参考方向,电压与电流的参考方向可以独立地送足。
如果二者的参考方向一致,则成为关联。
按照假设的参考方向,若电压或电流的计算值为负,则说明其实际方向与参考方向相反。
3 .线性电阻上电压〃与电流,•关系满足邂定律,当两者取关联参考方向时其表达式为〃=吊。
4 .一个电路中电源发出的电功率恒等于负载吸喙的电功率,电路的功率是平衡的。
5 .基尔霍夫定律与电路的结构有关,而与构成该电路的元器件具有什么样的性质无关。
6 ∙KC1实际上是体现了电荷守恒定律或曳流连续的性质。
7 .KV1实际上是体现了电路中能量守恒的性质。
8 .应用叠加定理分析电路时,不作用的电压源应该短路;不作用的电流源应该开路,电源如果有内电阻,应该保留。
9 .节点电压法是以芭豆曳压为独立变量,应用JE1,列出节点电流方程的方法。
10 .一个10V内阻2Q的实际电压源,用实际电流源来等效,等效电流源的电流是内阻是更。
11 .列节点电压方程时,先指定一个节点为参考节点,其余节点与该节点之间的电压称为芭点电压。
12 .一个支路电压等于两个节点电压之差,它与参考点的选择无关。
13 .不能用叠加定理来计算线性电路中的电功率。
14 .一个含独立电源的线性二端网络,可以用戴维宁定理来等效,则其等效电压源等于该二端网络的开路电压,其等效内阻等于该端口内所有独立电源作用为零时,该端口的输入电阻。
二、选择题1 .已知电路中A点对地电位是65V z B点对地电位是35V,则%八=(C)。
A.IOOVB.-IOOVC.-30VD.30V2 .一个输出电压几乎不变的设备有载运行,当负载增大时,是指(D IA.负载电阻增大B.负载电阻减小C.负载电流减小D.电源输出功率增大3.电路如检测题图1所示,已知Z1=-IA,%=2V,R=R3=IQ,R2=2Ω,则电压源电压w s=(B1A.7VB.9VC.-7VD.-9V4.电路如图2所示,已知f1=-2A,M5=-2V,R3=R4=IQ,%=2C,则电流源电流is=(BXA.3AB.6AC.-6AD.2∕CR1+R2)A5.电路如图3所示,电流源功率如何?(B1A∙发出B .吸收C.为零 D.不确定6.电路如图4所示,w =-ιov,i=-2A ,则网络N 的功率为(BXA .吸收20WB .发出20wC .发出IOWD .发出-IoW7.电路如图5所示,已知/$=3A,^=20Ω,欲使电流∕=2A,则 1 .有三个电阻串联后接到电源两端,已知%=2&,两端的 电压为IOV ,求电源两端的电压是多少?(设电源的内阻为零\ 35V2 .电路如图所示。
4-3 外设端口有哪两种编址方法?各有什么特点?答:微型计算机对I/O端口进行编址的方式有两种:单独编址和统一编址。
1.外设端口单独编址特点:(1)需要专用I/O指令,实现CPU和外设间数据传送。
(2)I/O端口地址的独立。
2.外设端口与存储器统一编址特点:(1)无需专用I/O指令(2)I/O端口地址是内存地址中的一部分。
4-4 I/O数据有哪四种传送方式?各有什么特点?CPU与外设之间的数据传送方式有无条件传输方式、查询方式、中断方式和DMA方式。
1.无条件传输方式无条件传送又称为同步传送或直接传送方式。
CPU在与外设进行数据交换时,外设随时处于准备好的状态,这样CPU不必查询外设的状态,也不必等待,而是直接进行数据的输入输出。
2.查询传输方式查询传输方式也称为异步传输、条件传输方式。
采用查询方式时,CPU每次与外设进行数据传输前,都要先读取状态端口的信息,查询外设是否准备就绪,只有在外设处于“就绪”状态时,才能向外设的数据端口发送数据或从其中读取数据,如果外设未就绪,就需要CPU原地循环等待外设完成准备工作,所以CPU 的工作效率不高。
3.中断传输方式在中断传输方式中,以外设为主动方,每次外设准备好就可以向CPU发出一次中断请求,使CPU暂停当前正在执行的程序,转去与外设进行一次数据传输工作,当完成了本次数据的输入或输出后,再回到原先被打断的地方继续执行原来的程序。
中断方式可以大大提高CPU的效率和系统的实时性。
4.DMA方式DMA方式即直接存储器存取方式,是一种在DMA控制器的控制下实现的外设与存储器之间的直接数据传输方式。
在整个DMA传输过程中,是不需要CPU参与的,完全是通过硬件逻辑电路用固定的顺序发地址和读写信号来实现的,数据不需要经过CPU而是在外设和存储器之间高速传输。
4-5 8051内部的并行I/O口有哪些?各有什么功能?1.P0口P0口的第一功能是作为通用I/O口使用。
P0口的第二功能是作为地址(低8位地址)/数据总线的复用口。
第一章1-4运算器,控制器,存储器,输入设备,输出设备1-9(7)1-11(3)1-12(4)1-16(3)见例1-171-19(1)0100 01111-20(1)41 42 38第二章2-2 见书p30,2-4 见书p31,2-5 见书p31,2-6 见书p32,2-9 见书p38,2-10 见书p39,2-13 见书p43,2-14 见书p46,3-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位不变,原址存放。
习题答案习题 01.单片机是把构成微型计算机的各功能零件即〔微办理器〔CPU 〕〕、〔储存器〔 ROM 和 RAM 〕〕、〔总线〕、〔准时器 /计数器〕、〔输入 /输出接口〔 I/O 口〕〕及〔中断系统〕等零件集成在一块芯片上的微型计算机。
2.什么叫单片机?其主要特色有哪些?将微办理器〔 CPU 〕、储存器〔寄存程序或数据的ROM 和 RAM 〕、总线、准时器/计数器、输入 /输出接口〔 I/O 口〕、中断系统和其余多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。
单片机的特色:靠谱性高、便于扩展、控制功能强、拥有丰富的控制指令、低电压、低功耗、片内储存容量较小、集成度高、体积小、性价比高、应用宽泛、易于产品化等。
3.单片机有哪几个展开阶段?(1〕第一阶段〔 1974— 1976 年〕:制造工艺落伍,集成度低,并且采纳了双片形式。
典型的代表产品有Fairchild 企业的 F8 系列。
其特色是:片内只包含了8 位 CPU,64B 的 RAM 和两个并行口,需要外加一块3851 芯片〔内部拥有1KB 的 ROM 、准时器 /计数器和两个并行口〕才能构成一台完好的单片机。
〔 2〕第二阶段〔1977— 1978 年〕:在单片芯片内集成CPU、并行口、准时器/计数器、RAM 和 ROM 等功能零件,但性能低,品种少,应用范围也不是很广。
典型的产品有Intel 企业的 MCS-48 系列。
其特色是,片内集成有8 位的 CPU, 1KB 或 2KB 的 ROM , 64B 或128B 的 RAM ,只有并行接口,无串行接口,有 1 个 8 位的准时器 /计数器,中断源有 2 个。
片外寻址范围为4KB ,芯片引脚为40 个。
(3〕第三阶段〔 1979— 1982 年〕: 8 位单片机成熟的阶段。
其储存容量和寻址范围增大,并且中断源、并行 I/O 口和准时器 /计数器个数都有了不一样程度的增添,并且集成有全双工串行通信接口。
单元十一触发器及时逻辑电路-填空题1.与组合逻辑电路不同,时序逻辑电路的特点是:任何时刻的输出信号不仅与当时输入值、有关,还与电路过去状态有关,是0(a.有记忆性b.无记忆性)逻辑电路。
2.触发器是数字电路中a(a.有记忆b.非记忆)的基本逻辑单元。
3.在外加输入信号作用下,触发器可从一种稳定状态转换为另一种稳定状态,信号终止,稳态卜(a.不能保持下去b.仍能保持下去*4.JK触发器是b(a.CP为1有效b.CP边沿有效X5.Q^=J~Q i+~kQ'是城触发器的特性方程。
6.QZ=S+元是旦触发器的特性方程,其约束条件为竺3O7.σ,+'=r^÷fσ,是工触发器的特征方程。
8.在T触发器中,若使IΞ1,则每输入一个CP z触发器状态就翻转一次,这种具有翻转功能的触发器称为C触发器,它的特征方程是Q n+1=Q n o9.我们可以用JK触发器转换成其他逻辑功能触发器,令J=K=T,即转换成T触发器冷J=K=T=I,即转换为r触发器;令_J=D且K=万,即转换成D触发器。
10.我们可以用D触发器转换成其他逻辑功能触发器,令Qe=O=T0+及"=T㊉。
〃,即转换成T触发器;令7=1即=Qe=O=TE”,即转换为r触发器。
11.寄存器存放数据的方式有并任和串行;取出数据的方式有并行输出和串行输出。
12.寄存器分为数码寄存器和叠位寄存器。
二、选择题1.0=1,β=0,称为触发器的(A XA1态BO态C稳态D暂稳态2.在下列触发器中,有约束条件的是(C\AJK触发器BD触发器C同步RS触发器DT触发器3.一个触发器可记录一位二进制代码,它有(C)个稳态。
AO B1 C2 D34.存储8位二进制信息要(C)个触发器。
A2 B4 C8 D165.对于T触发器,若原态Q1O,欲使新态QM=I,应使输入τ=(B1AO B1 C Q D以上都不对6.对于T触发器,若原态Q=I,欲使新态Qe=I,应使输入T=(A1 AO B1 C Q D以上都不对7.对于D触发器,欲使QZ=Q0,应使输入D=(CIA0 B1 C Q D Q三、分析计算1时端和端的输入信号如题图11-24所示,设基本R-S触发器的初始状态分别为1和0两种情况,试画出。
单片机答案第 1 章思考题及习题 1 参考答案一、填空1.除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器 .2. 单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S51 单片机工作频率上限为MHz。
答:24MHz。
4.专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1.单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答: B2.在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3.下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B .家用电器的控制 C .数据库管理 D .汽车电子设备答: C三、判断对错1. STC 系列单片机是8051 内核的单片机。
对2.AT89S52 与 AT89S51相比,片内多出了 4KB的 Flash 程序存储器、 128B 的 RAM、 1个中断源、 1 个定时器(且具有捕捉功能)。
对3.单片机是一种 CPU。
错4.AT89S52 单片机是微处理器。
错5.AT89S51 片内的 Flash 程序存储器可在线写入( ISP),而 AT89C52则不能。
对6. 为 AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片 AT89S51替换。
对7. 为 AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片 AT89S52替换。
对8.单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是 DSP的长处。
对第 2 章思考题及习题 2 参考答案一、填空1.在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2μ s2. AT89S51 单片机的机器周期等于个时钟振荡周期。
第一章1-4运算器,控制器,存储器,输入设备,输出设备1-9(7)1-11(3)1-12(4)1-16(3)见例1-171-19(1)0100 01111-20(1)41 42 38第二章2-2 见书p30,2-4 见书p31,2-5 见书p31,2-6 见书p32,2-9 见书p38,2-10 见书p39,2-13 见书p43,2-14 见书p46,3-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,LOOPEND(4) ORG 0000HMOV A,40H;A寄存器放最大值,且初始化最大值(默认第一个数)MOV R3,#09H;比较次数MOV R0,#41HSTART: CJNE A,@R0,LOOPLOOP: JNC LOOP1;如果比A小,则跳转到LOOP1MOV A,@R0;如果比A大,则更新A的值LOOP1: INC R0DJNZ R3 STARTMOV 50H,ASJMP $END(5) MOV DPTR,#20000HMOV 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 @R0,AMOVX @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 DATA 10HLESS DATA 30HEQUAL DATA 31HBIG DATA 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,AMOVX 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 $END3-18 设有50个无符号8位二进制数,存放在8031单片机内部RAM以BOFER为首址的连续单元中,试编制将其中最小数存放到内部RAM的MIN单元的程序并画出相应的流程图。
ORG 0000HBOFER DATA 20HMIN DATA 60HMOV R2,#31H;循环49次MOV R1,# BOFER+1MOV MIN,BOFER;把最小值放A,且初始化时把第一个数放入ALOOP: CJNE @R1,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,#42H,NEXT;不为B则跳转LOOP1: INC R1;为B则使计数器加1INC R0NEXT: CJNE A,#0DH,LOOP1;判断是否结束(回车键)MOV DPTR,#0040H;把结果放外部RAM中MOV A,R1MOVX @DPTR,ASJMP $END3-23 已知MDA和MDB单元内分别存有两个小于10的整数a和b,试用查表子程序实现c=a2+2ab+b2,并把和存于MDC和MDC+1单元中(MDC单元中放低字节,MDC+1单元中放高字节)。
ORG 0000HMDA DATA 20HMDB DATA 21HMDC DATA 22HORG 0000HCLR CMOV A,MDAACALL SQRMOV R2,AMOV A,MDBACALL SQRADD A,R2MOV R2,A;a2+b2结果暂时放入R2MOV B,MDA;下面算2*a*bMOV A,MDBMUL ABRL AADDC 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 100 121DB 144 169 196 225END3-25 设有一长度为20H的字符串,存放在8031单片机片内RAM以10H为首地址的连续单元中,试编制将其中数字与字母分开并将它们分别送到以30H和50H为首地址的连续单元中的程序。
ORG 0000HMOV R2,#20H ;循环次数MOV R1,#10HMOV 60H,#30H ;数字存储首地址MOV 61H,#50H ;字母存储首地址LOOP: MOV A,@R1CJNE A,#40H,NEXTNEXT: JNC NEXT1 ;如果是字母则跳转到NEXT1 MOV R0,60H ;是数字,把数字的存储地址给R0MOV @R0,AINC 60HSJMP LOOP1NEXT1: MOV R0,61HMOV @R0,A ;是字母,把字母的存储地址给R0INC 61HLOOP1: INC R1DJNZ R2,LOOPSJMP $END第四章4-3,见书略4-4,见书略4-5,见书略4-8,见书略4-9,见书略4-16,16. 高电平:初值:低电平:初值:ORG 0000HAJMP MAINORG 000BHAJMP TOINTMAIN: MOV TMOD, #01HMOV TH0, #FDHMOV TL0, #64HMOV IE, #82HSETB P1.0SETB TR0SJMP $TOINT: MOV C, P1.0JC NEXTMOV TH0, #0FDHMOV TL0, #64HSJMP COMNEXT: MOV TH0, #0FAHMOV TL0, #0CAHCOM: CPL P1.0RETIEND4-17,定时器50ms,循环2次可得100ms,设定初值3CB0HORG 0000HAJMP MAINORG 001BHAJMP BRT1MAIN: MOV TMOD #10HMOV TH1, #3CHMOV TL1, #0B0HMOV R1,#10HMOV R0,#70HMOV R2,#5MOV R3,#02HMOV IE,#88HSETB TR1LOOP: SJMP $BRT1: MOV TH1, #3CHMOV TL1, #0B0HDJNZ R3, DONEMOV R3, #02HDJNZ R2, LOOPCLR ET1SJMP DONELOOP: MOV R4, #10LOOP1: MOV A,@R1MOV @R0,AINC R1INC R0DJNZ R4, LOOP1DONE: RETIEND4-26,串行接口设置为方式1,采用定时器T1方式2作为波特率发生器,SMOD=0,则计数初值0E6H分别装入TL1,TH1,程序如下:ORG 0000HAJMP MAINORG 0023HAJMP PR1RBLOCK DATA 2000HMAIN: MOV TMOD, #20HMOV TL1, #0E6HMOV TH1, #0E6HMOV PCON, #00HSETB TR1MOV SCON, #50HMOV DPTR, # RBLOCKMOV R2, #30SETB EASETB ESWAIT: JB PSW.5 ERROR1SJMP WAITERROR1: CLR EASJMP $PR1: CLR RIMOV A, SBUFMOV C, PSW.0JC ERRORANL A, #7FHMOVX @DPTR, ADJNZ R2, NEXTCLR EASJMP $ERROR: SETB PSW.5SJMP NEXT1NEXT: INC DPTRNEXT1: RETIEND第五章5-8 要在单片机片外扩展16KB数据存储器,选择其地址为0000~3FFFH。