D/A 转换器的输入为数字量,经转换后输出为模拟量。有关 D/A 转换器的技术性能指标很多,如绝对精度、相对精度、线性度、输出电压范围、输入数字代码种类等等。本节仅对几个与接口有关的指标作一简介。
由于单片机只能处理数字量,因而应用系统中凡遇到有模拟量的地方,就要进行模拟量向数字量或数字量向模拟量的转换,这就需要解决单片机与 A/D 和 D/A 的接口问题。
在单片机应用系统中,常常需要人机对话,因而功能开关、拨码器、键盘、显示器和打印机等输入/输出设备就必不可少,本文将介绍一些外部设备及它们与单片机的接口技术。
MCS 51 系列单片机具有 64KB 的程序存储空间,其中 8051 、8071 片内有 4KB 的程序存储器,8031 片内无程序存储器 。当采用 8051 、8071 型单片机而程序超过 4KB,或采用 8031 单片机时,就需对程序存储器进行外部扩展。
其一,是把系统所需的外设和单片机连接起来,使单片机系统能与外界进行信息交换。如通过键盘、A/D 转换器等外部设备向单片机送入数据、命令等有关信息,去控制单片机运行;通过显示器、发光二极管、打印机等设备把单片机处理的结果送出来,向人们提供各种信息或对外界设备提供控制信号,这项任务实际上就是单片机接口设计。
模式 0 又分为模式 0 输出和模式 0 输入两种工作状态。但应注意:在这种模式下,不管输出还是输入,通信数据总是从 P3.0(RXD) 管脚输出或输入,而 P3.1(TXD) 管脚总是用于输出移位脉冲,每一个移位脉冲将使 RXD 端输出或者输入一位二进制码。在 TXD 端 的移位脉冲即为模式 0 的波特率,其值固定为晶振频率 fOSC 的 1/12 ,即每个机器周期移动一位数据。
CPU 与外部设备交换数据有并行和串行通信两种方式。并行通信是指数据的各位同时进行传送的方式。其特点是传送速度快、效率高,显然并行传送的数据有多少位,就需要有多少根传输线。当传送距离较远时,位数较多就会导致通信线路成本的大幅度增加,因此它仅适合于短距离传送。串行通信是指数据的各位按顺序一位一位地传送的通信方式。其特点是只要一对传输线就可实现通信,对传输的数据较多、距离很远 时 ,它可以大量节约系统的硬件投资。因此,在远距离的数据通信系统中一般采用串行通信方式。
TMOD 的地址是 89H ,它不能位寻址 ,它里面的内容被称为方式字,设置时一次写入,其各位的定义如图 6.2 所示。高 4 位用于定时器 T1 ,低 4 位用于定时器 T0 。
单片机定时器其实跟我们平时常说的计数器,是同一个电子元件,只不过计数器记录的是单片机外部情况,所接收的也是外部脉冲,而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件。
MCS 51 单片机有 5 个(8052 有 6 个) 中断源,为了使每个中断源都能独立地被允许 或禁止 ,以便用户能灵活使用,它在每个中断信号的通道中设置了一个中断屏蔽触发器。只有该触发器无效,它所对应的中断请求信号才能进入 CPU ,即此类型中断开放。否则,即使其对应的中断标志位置 1 ,CPU 也不会响应中断 ,即此类型中断被屏蔽了。同时 CPU 内还设置了一个中断允许触发器,它控制 CPU 能否响应中断。
中断是计算机中一个很重要的概念,中断技术的引入使计算机的发展和应用大大地推进了一步。因此,中断功能的强弱已成为衡量一台计算机功能完善与否的重要指标之一。
在单片机系统设计中,程序设计是重要的一环,它的质量直接影响到整个系统的功能。用汇编语言进行程序设计的过程和用高级语言设计程序有相似之处,其设计过程大致可以分为以下几个步骤:
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
所谓寻址方式,就是寻找操作数地址的方式,在用汇编语言编程时,数据的存放 、传送、运算都要通过指令来完成。编程者必须自始至终都要十分清楚操作数的位置 ,以及如何将它们传送到适当的寄存器去参与运算。每一种计算机都具有多种寻址方式 。寻址方式的多少是反映指令系统优劣的主要指标之一。寻址方式是汇编语言程序设计最基本的内容之一,必须要十分熟悉。
时序就是 CPU 总线信号在时间上的顺序关系。CPU 的控制器实质上是一个复杂的同 步时序电路,所有工作都是在时钟信号控制下进行的。每执行一条指令,CPU 的控制器都要发出一系列特定的控制信号,这些控制信号在时间上的相互关系就是 CPU 的时序。