单片微机原理与接口技术答案(宋跃版) 下载本文

内容发布更新时间 : 2024/12/23 11:41:02星期一 下面是文章的全部内容请认真阅读。

(10)电源系统的配置:单片机应用系统一定需要电源,要考虑电源的组数、输出功率、抗干扰。要熟悉常用三端稳压器(78хх系列、79хх系列)、精密电源(AD580,MC1403,CJ313/336/385,W431)的应用。

(11)抗干扰的实施:采取必要的抗干扰措施是保证单片机系统正常工作的重要环节。它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。

软件设计: (1)总体规划:软件所要完成的任务已在总体设计时规定,在具体软件设计时,要结合硬件结构,进一步明确软件所承担的一个个任务细节,确定具体实施的方法,合理分配资源。

(2)程序设计技术:合理的软件结构是设计一个性能优良的单片机应用系统软件的基础。在程序设计中,应培养结构化程序设计风格,各功能程序实行模块化、子程序化。一般有以下两种设计方法:

(a)模块程序设计:模块程序设计是单片机应用中常用的一种程序设计技术。它是把一个较长的程序分解为若干个功能相对独立的较小的程序模块,各个程序模块分别设计、编程和调试,最后由各个调试好的模块组成一个大的程序。其优点是单个功能明确的程序模块的设计和调试比较方便,容易完成,一个模块可以为多个程序所共享。其缺点是各个模块的连接有时有一定难度。

(b)自顶向下的程序设计:自顶向下程序设计时,先从主程序开始设计,从属程序或子程序用符号来代替。主程序编好后再编制各从属程序和子程序,最后完成整个系统软件的设计。其优点是比较符合于人们的日常思维,设计、调试和连接同时按一个线索进行,程序错误可以较早的发现。缺点是上一级的程序错误将对整个程序产生影响,一处修改可能引起对整个程序的全面修改。

(3)程序设计:在选择好软件结构和所采用的程序设计技术后,便可着手进行程序设计,将设计任务转化为具体的程序。

(a)建立数学模型:根据设计任务,描述出各输入变量和各输出变量之间的数学关系,此过程即为建立数学模型。数学模型随系统任务的不同而不同,其正确度是系统性能好坏的决定性因素之一。

(b)绘制程序流程图:通常在编写程序之前先绘制程序流程图,以提高软件设计的总体效率。程序流程图以简明直观的方式对任务进行描述,并很容易由此编写出程序,故对初学者来说尤为适用。

在设计过程中,先画出简单的功能性流程图(粗框图),然后对功能流程图进行细化和具体化,对存储器、寄存器、标志位等工作单元作具体的分配和说明,将功能流程图中每一个粗框的操作转变为具体的存储器单元、工作寄存器或I/O口的操作,从而给出详细的程序流程图(细框图)。 (c)程序的编制:在完成程序流程图设计以后,便可以编写程序。程序设计语言对程序设计的影响较大。汇编语言是最为常用的单片机程序语言,用汇编语言编写程序代码精简,直接面向硬件电路进行设计,速度快,但进行大量数据运算时,编写难度将大大增加,不易阅读和调试。在有大量数据运算时可采用C语言(如MCS-51的C51)或PL/M语言。 编写程序时,应注意系统硬件资源的合理分配与使用,子程序的入/出口参数的设置与传递。采用合理的数据结构、控制算法,以满足系统要求的精度。在存储空间分配时,应将使用频率最高的数据缓冲器设在内部RAM;标志应设置在片内RAM位操作区(20H~2FH)中;指定用户堆栈区,栈区的大小应留有余量;余下部分作为数据缓冲区。 在编写程序过程中,根据流程图逐条用符号指令来描述,即得汇编语言源程序。应按MCS-51汇编语言的标准符号和格式书写,在完成系统功能的同时应注意保证设计的可靠性,如数字

第 页 共 46 页

41

滤波、软件陷阱、保护等。必要时可作若干功能性注释,提高程序的可读性。

(4)软件装配:各程序模块编辑之后,需进行汇编或编译、调试,当满足设计要求后,将各程序模块按照软件结构设计的要求连接起来,即为软件装配,从而完成软件设计。在软件装配时,应注意软件接口。

4. 单片机应用系统硬件设计的基本任务是什么? 解:

一个单片机应用系统的硬件设计包含两部分内容:一是系统扩展,即当单片机内部的功能单元不能满足应用系统的要求时必须进行片外扩展,选择适当的芯片,设计相应的电路;二是系统的配置,即按照系统功能要求配置外围设备,如通信接口、键盘、显示器、打印机、A/D、D/A转换器等,要设计合理的接口电路。

5. 在单片机应用系统设计中,硬件调试的基本步骤是什么?

解:

(1)静态检查

根据硬件电路图核对元器件的型号、规格、极性、集成芯片的插接方向是否正确。用逻辑笔、万用表等工具检查硬件电路连线是否与电路图一致,有无短路、虚焊等现象。严防电源短路和极性接反。检查数据总线、地址线和控制总线是否存在短路的故障。

(2)通电检查

通电检查时,可以模拟各种输入信号分别送入电路的各有关部分,观察I/O口的动作情况,查看电路板上有无元件过热、冒烟、异味等现象,各相关设备的动作是否符合要求,整个系统的功能是否符合要求。

6. 在单片机应用系统设计中,有那些常见的可靠性设计内容? 解:

可靠性通常是指在规定的条件下,在规定的时间内完成规定功能的能力。可采用以下的方法提高系统的可靠性。

(1)隔离技术。(2)屏蔽措施。 (3)双绞线传输。

第 页 共 46 页

42

(4)长线传输的阻抗匹配。 (5)对信号整形。

(6)抑制机械触点,接触器、可控硅的噪声。

(7)提高印刷电路板(PCB)设计中的抗干扰能力。 (8)合理设计地线。

(9)注意各电路之间的电平匹配,总线驱动能力;单片机的空闲端要接地或接电源,或者定义成输出;室外使用的单片机系统或从室外架空引入室内的电源线、信号线,要防止雷击等。

7. 简述单片机应用系统软件设计的主要步骤和方法。

解:

软件设计随单片机应用系统的不同而不同,一般可分 为以下几个方面(图11.7画出了单片机软件设计的流程

图11.7 软件设计的流程图

图)。

(1)总体规划

(2)程序设计技术

① 模块程序设计

② 自顶向下的程序设计 (3)程序设计

① 建立数学模型 ② 绘制程序流程图 ③ 程序的编制 (4)软件装配

8. 简述单片机应用系统的调试步骤和方法。 解:

硬件和软件调试完成之后,应进行系统调试。在系统

调试时,应将全部硬件电路都接上,应用程序模块、子程序也都组合好,进行全系统软、硬件调试,系统调试的任务是排除软、硬件中的残留错误,使整个系统能够完成预定的工作任务,达到要求的性能指标。

在进行系统调试时,对于有电气控制负载的系统,应先试验空载,空载正常后再试验负载情况。要试验系统的各项功能,避免遗漏。

系统调试成功之后,就可以将程序固化到ROM中,程序固化可以在有些仿真系统中进行,最好用专用程序固化器进行固化操作,因为它的功能完善,使用方便、可靠。

将固化好程序的ROM插回到应用系统电路板的相应位置,即可脱机运行。系统试运行要连续运行相当长的时间,以考验其稳定性。并要进一步进行修改和完善处理。

一般地,经开发装置调试合格的软、硬件,脱机后应正常运行。但由于开发调试环境与应用系统的实际运行环境不尽相同,也会出现脱机后不能正常运行的情况。当出现脱机运行故障时,应考虑程序固化有无错误;仿真系统与实际系统在运行时,有无某些方面的区别(如驱动能力);在联机仿真调试时,未涉及的电路部分有无错误。

9. 按照单片机应用系统设计的一般方法和步骤,设计一个函数发生器,并写出完整的设计

第 页 共 46 页

43

报告。

解:

设计提示:利用单片机控制函数发生器ICL8038芯片,外接少量元器件,制作一台多功能智能函数发生器,要求此函数发生器既能产生各种波形,又能以数字形式显示新产生波形的频率和幅值。

函数发生器一般由以下几部分组成:单片机最小系统,函数发生器ICL8038,真有效值转换电路,A/D和D/A转换电路,显示、键盘及控制电路等。

ICL8038是大规模单片函数发生器,只要外接少量元件,就能产生方波、三角波、正弦波等各种波形。

为减少误差,提高函数发生器的准确度,采用真有效值转换电路,以改善ICL8038产生的波形畸变。一般采用真有效值转换器芯片AD636或AD537来实现。

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

12-1 微型计算机的发展可划分为几个阶段?当前广泛使用的微机主要采用哪一代的技术? 答:(略)

12-2 8086CPU 由哪两部分组成?它们的主要功能各是什么?总线端口部件BIU 由哪几部分组成?作用各是什么?

答:8086 微处理器由两个独立的单元组成,一个称为总线端口单元,另一个称为执行单元EU。

指令执行单元EU 的功能是负责全部指令的译码和执行,同时管理CPU内部的有关寄存器。执行单元EU 由一个16 位的算术逻辑单元(ALU)、16 位的标志寄存器(实际仅用9 位)、8 个16位的寄存器,以及数据暂存器和EU 控制器等组成。

指令执行单元EU 的工作就是执行指令,并不直接与外部发生联系,而是从总线端口单元BIU 的指令队列中源源不断地获取指令并执行,省去了访问存储器取指令的时间,提高了CPU 的利用率和整个系统的运行速度。

BIU是8086 微处理器在存储器和I/O设备之间的端口部件,负责对全部引脚的操作,即8086 对存储器和I/O设备的所有操作都是由BIU 完成的。

第 页 共 46 页

44

总线端口单元BIU 主要由4 个段寄存器、1个指令指针寄存器、1 个与EU通信的内部寄存器、先入先出的指令队列、总线控制逻辑和计算20 位物理地址的地址加法器组成。4个段寄存器分别称为代码段寄存器(CS)、数据段寄存器(DS)、堆栈段寄存器(SS)和附加数据段寄存器(ES)。

12-3 8086 在最大模式和最小模式下各有什么特点和不同?

答:所谓最小工作方式,就是系统中只有一个8086 微处理器,在这种情况下,所有的总线控制信号,都是直接由8086 CPU 产生的,系统中的总线控制逻辑电路被减到最少,最小工作方式适用于由单微处理器组成的小系统。在这种系统中, 8086 CPU 直接产生所有的总线控制信号,因而省去了总线控制逻辑。

最大工作方式是相对于最小工作方式而言的,将8086/8088 CPU 的引脚MN/MX 接地,就使CPU 工作于最大模式。最大系统用在中、大规模的微机应用系统中,在最大系统下,系统中至少包含两个微处理器,其中一个为主处理器,即8086CPU,其他的微处理器称之为协处理器,是协助主处理器工作的。

12-4 8086CPU 的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快?

答:常用的寻址方式有立即寻址、寄存器寻址、存储器和I/O 端口寻址。其中存储器寻址又包括直接寻址、寄存器间接寻址、变址寻址和基址加变址寻址。其中立即数寻址的指令执行速度最快。

12-5 分别指出下列指令中的源操作数和目标操作数的寻址方式。 (1) (2) (3) (4) (5)

MOV SI,200 MOV AX,DATA [DI] ADD AX,[BX][SI] AND BX,CX MOV [BP],AX 立即寻址 变址寻址 寄存器间接寻址 寄存器寻址 基址加变址寻址 12-6 在8086 汇编语言中如何定义代码段,如何定义过程段?

答:汇编语言源程序的基本结构是段,一个汇编语言源程序由若干个代码段、数据段、附加段和堆栈段组成。段之间的顺序可以随意安排,通常数据段在前,代码段在后。每个段都有段首指令和段结束指令,段的内容介于这两条指令之间。

其一般结构如下:

SSEG SEGMENT STACK 〈堆栈段的内容〉 SSEG ENDS

DSEG SEGMENT DATA 〈数据段的内容〉 DSEG ENDS

CSEG SEGMENT CODE 〈代码段的内容〉 CSEG ENDS

END 〈启动标号〉

12-7 已知一个SRAM 芯片的容量为8KB×8,该芯片的地址线为多少条?数据线为多少条?

第 页 共 46 页

45