
⑤江芬开故大等 单片机技术及应用 (讲义) ®3 顾筠编 2018年11月
单片机技术及应用 (讲义) 顾筠 编 2018 年 11 月


前言与目录 单片机面向控制,在各种机电、电子产品或机电技术中得到广泛应用。单片机课 程融合了数字电子技术、控制技术、软件编程等知识与技能。 本课程围绕MCS5引系列单片机进行学习,课程主要包括有关单片机的基本概忽 和基本知识,单片机的组成结构。寻址方式、指令系统和程序设计方法,单片机内部 O接口单元及应用,外围设备与接口等。 通过本课程的学习,要求: 1。理解单片机相关的基础知识,单片机最小系统: 2.掌握MCS-51的寻址方式和指令系统: 3。掌握单片机程序设计方法: 4.理解单片机接口应用方法:并行口、中断系统、定时计数器、串行口: 5.了解常用外设的接口方法和程序设计方法:AD和D/A接口、LED显示。 本讲义依据单片机的功能应用划分成单元,共有10个单元的学习内容 第1单元单片机基础概述 第2单元单片机组成结构 第3单元单片机的存储器 第4单元单片机指令系统 第5单元单片机程序设计 第6单元并行接口 第7单元中断系统 第8单元定时器/计数器 第9单元串行接口 第10单元外围设备与接口 每个单元都设置有习题,供同学们恩考练习,以巩固学习内容:
前言与目录 单片机面向控制,在各种机电、电子产品或机电技术中得到广泛应用。单片机课 程融合了数字电子技术、控制技术、软件编程等知识与技能。 本课程围绕 MCS-51 系列单片机进行学习,课程主要包括有关单片机的基本概念 和基本知识,单片机的组成结构,寻址方式、指令系统和程序设计方法,单片机内部 I/O 接口单元及应用,外围设备与接口等。 通过本课程的学习,要求: 1.理解单片机相关的基础知识,单片机最小系统; 2.掌握 MCS-51 的寻址方式和指令系统; 3.掌握单片机程序设计方法; 4.理解单片机接口应用方法:并行口、中断系统、定时计数器、串行口; 5.了解常用外设的接口方法和程序设计方法:A/D 和 D/A 接口、LED 显示。 本讲义依据单片机的功能应用划分成单元,共有 10 个单元的学习内容。 第 1 单元 单片机基础概述 第 2 单元 单片机组成结构 第 3 单元 单片机的存储器 第 4 单元 单片机指令系统 第 5 单元 单片机程序设计 第 6 单元 并行接口 第 7 单元 中断系统 第 8 单元 定时器/计数器 第 9 单元 串行接口 第 10 单元 外围设备与接口 每个单元都设置有习题,供同学们思考练习,以巩固学习内容

兼岸机技求及应用 第10单元 外围设备与接口 【导言】 本单元讲述常用外围设备的接口方法:主要学习DA和AD转换的基本概念和原理,介 绍MCS-51单片机与常用D/A和AD转换接口的连接方法。单片机常用外设LED显示器(数 码管)、按继和迹盘的接口方法及应用。学习LED显示原理与应用。 【学习目标】 掌捏:DAC0832及其和MCS51的接口方法。 ADC0809及其和MCS.51单片机的接口, ADC0809及其和MCS.51单片机的接口, 理解:D/A和AD转换原理,LED显示原理与键盘扫描原理。 【学习重点和难点】 1,重点:AD和D/A基木概多,数码恰应用。 2,难点:DA(C0832和ADC0809转换器应用。 【学习内容】 1D.1/模(DA)转换接口的扩展 10.2模/数(A/D)转换接口的扩展 10.3LED显示器及接口 10.4按键、键盘及接口
单片机技术及应用 1 第 10 单元 外围设备与接口 【导言】 本单元讲述常用外围设备的接口方法。主要学习 D/A 和 A/D 转换的基本概念和原理,介 绍 MCS-51 单片机与常用 D/A 和 A/D 转换接口的连接方法。单片机常用外设 LED 显示器(数 码管)、按键和键盘的接口方法及应用。学习 LED 显示原理与应用。 【学习目标】 掌 握:DAC0832 及其和 MCS-51 的接口方法。 ADC0809 及其和 MCS-51 单片机的接口。 ADC0809 及其和 MCS-51 单片机的接口。 理 解:D/A 和 A/D 转换原理,LED 显示原理与键盘扫描原理。 【学习重点和难点】 1.重点:A/D 和 D/A 基本概念,数码管应用。 2.难点:DAC0832 和 ADC0809 转换器应用。 【学习内容】 10.1 数/模(D/A)转换接口的扩展 10.2 模/数(A/D)转换接口的扩展 10.3 LED 显示器及接口 10.4 按键、键盘及接口

第10单元外图设备与换口 单片机是面向控制的。在工业控制和参数测量时,经常遇到一些如温度、速度、流量, 压力等物理量,这些连续变化的物理量称为模拟量。计算机只能处理数字量。一般非电模拟 量要先转换为榄拟电量〔电压或电流》,再转换为数字量,计算机才能对其进行分析处理。 将模拟量转换成数字量的装置称为棋/数(A/D》转换器。 对于控制过程来说,最终日的足要根据当时现场情况进行控制,所以计算机还应该发出 信号送到控制目标。为此带要通过数/模(D/A)转换器把计算机中的数字量变成模拟电:或 电流。将数字量转换成模拟量的装置称为数/模(D/A)转换器。 一殷A/D、D/A转换器都用集成电路实现,可以很方便地和单片机相连。 CS-51单片机应用系统的类型有多种多样,如暂能仪表、控村单元、数据采集系统、 分布式监测系统等。输入/输出设备是单片机应用系统中的重要组成部分,原始的领据信息 需通过输入设备输入到计算机,计算机的处理结果通过输出设备显示、打印和实现各种控制 功使。 单片机应用系统中常用的外部设备有七段显示器、键盘、打印机等。 本章介绍数/模和慎/数转换原理及应用,介绍ED数码显示器及接口,按健、健盈及接 口等. 10.1数/模(D/A)转换接口的扩展 10.1.1数/模(D/A)转换方法 实现D/A转换的方法有脉冲调幅、调宽、T型电阻式等。在集成电路中,通常采用T 型电阻网络实现数字量往模拟电流的转换,再利用运算放大器来完成模拟电瓷到模拟电压的 转换。 图10-1是采用T型电阻网路的D/A转换器。整个网络只需要R和2R两种电阻。 2 2 图I0厂I采用T型电阻网路的D/A转换图 对图中的一个支路中,如果开关倒向左边,支路中的电阻就接到真正的地,如果开关倒 2
第 10 单元 外围设备与接口 2 单片机是面向控制的。在工业控制和参数测量时,经常遇到一些如温度、速度、流量、 压力等物理量,这些连续变化的物理量称为模拟量。计算机只能处理数字量。一般非电模拟 量要先转换为模拟电量(电压或电流),再转换为数字量,计算机才能对其进行分析处理。 将模拟量转换成数字量的装置称为模/数(A/D)转换器。 对于控制过程来说,最终目的是要根据当时现场情况进行控制,所以计算机还应该发出 信号送到控制目标。为此需要通过数/模(D/A)转换器把计算机中的数字量变成模拟电压或 电流。将数字量转换成模拟量的装置称为数/模(D/A)转换器。 一般 A/D、D/A 转换器都用集成电路实现,可以很方便地和单片机相连。 MCS-51 单片机应用系统的类型有多种多样,如智能仪表、控制单元、数据采集系统、 分布式监测系统等。输入/输出设备是单片机应用系统中的重要组成部分,原始的数据信息 需通过输入设备输入到计算机,计算机的处理结果通过输出设备显示、打印和实现各种控制 功能。 单片机应用系统中常用的外部设备有七段显示器、键盘、打印机等。 本章介绍数/模和模/数转换原理及应用,介绍 LED 数码显示器及接口,按键、键盘及接 口等。 10.1 数/模(D/A)转换接口的扩展 10.1.1 数/模(D/A)转换方法 实现 D/A 转换的方法有脉冲调幅、调宽、T 型电阻式等。在集成电路中,通常采用 T 型电阻网络实现数字量往模拟电流的转换,再利用运算放大器来完成模拟电流到模拟电压的 转换。 图 10-1 是采用 T 型电阻网络的 D/A 转换器。整个网络只需要 R 和 2R 两种电阻。 对图中的一个支路中,如果开关倒向左边,支路中的电阻就接到真正的地,如果开关倒 R0 -+ K0 K1 K2 K3 图 10-1 采用 T 型电阻网络的 D/A 转换器 V0 VREF 2R 2R 2R 2R 2R R R R 2 0 2 1 2 2 2 3 A B C D

单木机技米及应用 向右边,电阻就接到虚地。所以不管开关倒向哪一边,都可认为是按“地”。但只有开关倒 向右边时,才能给运算放大器输入端提供电源。 T型电阻树络巾,节点A的左边为两个2R的电阻并联,它门的等效电阻为R,节点B 左边也是两个2R的电阻并联,结果等效电阻也是R,以此类推,在D点等效于一个数值为 R的电阻连在参考电压VF上。可以算出C点、B点,A点的电位分别为V/2、-V匹/4、 -VeEr/8。 当右边弟二个支路的开关K:倒向右边时,运算放大器得到的输入电流为V/2R。 右边第·个支路的开关K:倒向右边时,运算放大器得到的输入电流为V/4R。 同样,可以算出,K1、Kn国向右边时,箱入电流分别为-V/8R、-V/16R。 让开关K、K、K1,K对应于1位二进制数,当一个二进制数据为1111时,流入运算 放大器的电流为: I=-Va_VuL_Vut_Vo 2R 4R 8R 16R -+片+=-g1+ 2R +Σ+48 2R 2+2 27 括号内各项分别对应二进制数2°、2、22、2。 相应的输出电瓜: 2R 由上式可见,输出电压除了和输入的二进制数有关以外,还和运算放大器的反馈电阳R、 标准电压Vr有关。 在D/A转换接口设计中主耍考虑的问题是D/A转换芯片的选择、数字量的输入码及模 拟量的梭性输出、参考电压电流源、模拟电量输出的调整与分配等。 衡量D/A转换性能的主要技术指标是: 1,分拼幸;输出模拟量的最小变化量,即最低位增1时所引起的输出量变化,输出模 拟量与拾入数字量的位数n有关,分辨率可表示为2。位数越多,分辨率越高。 2,线性误差:实际转换特性偏离埋想转换特性的最大值称位线性误差,D/A转换器的 转换特性应该是线性的。但实际上输出特性不是理想线性。线性误差一般用模拟量和理热俏 的最大差值折合成的数字输入量表示。 3.满刻度误差:输入全为1时,输出电压与理想值之问的误差 4.转换时间:从转换器输入数字量到输出稳定模拟电压所需要的时间, 除以上性能指标外,D/A转换器与CPU接口是杏容易,也是衡量D/A转换器性能的一 个标准。根据能否直接和总线相连,D/A转换花片可以分为两类。一类芯片内部没有数据输 入将存器,这类芯片内部结构简单,价格比较低廉,比如AD7520、DAC0802等,但在单片 机应用系统中使用这种芯片必须外加数据箱入锁存器。另一类芯片内部有数据输入膏存器
单片机技术及应用 3 向右边,电阻就接到虚地。所以不管开关倒向哪一边,都可认为是接“地”。但只有开关倒 向右边时,才能给运算放大器输入端提供电源。 T 型电阻网络中,节点 A 的左边为两个 2R 的电阻并联,它们的等效电阻为 R,节点 B 左边也是两个 2R 的电阻并联,结果等效电阻也是 R,以此类推,在 D 点等效于一个数值为 R 的电阻连在参考电压 VREF上。可以算出 C 点、B 点、A 点的电位分别为-VREF/2、-VREF/4、 -VREF/8。 当右边第二个支路的开关 K3倒向右边时,运算放大器得到的输入电流为 VREF/2R。 右边第一个支路的开关 K2倒向右边时,运算放大器得到的输入电流为 VREF/4R。 同样,可以算出,K1、K0倒向右边时,输入电流分别为-VREF/8R、-VREF/16R。 让开关 K3、K2、K1、K0对应于 1 位二进制数,当一个二进制数据为 1111 时,流入运算 放大器的电流为: 16R V 8R V 4R V 2R V I REF REF REF REF ) 8 1 4 1 2 1 (1 2R VREF ) 2 1 2 1 2 1 (1 2R V 1 2 3 REF 括号内各项分别对应二进制数 2 0、2 1、2 2、2 3。 相应的输出电压: O R0 V I 2R VREF × ) 2 1 2 1 2 1 R (1 0 1 2 3 由上式可见,输出电压除了和输入的二进制数有关以外,还和运算放大器的反馈电阻 R0、 标准电压 VREF有关。 在 D/A 转换接口设计中主要考虑的问题是 D/A 转换芯片的选择、数字量的输入码及模 拟量的极性输出、参考电压电流源、模拟电量输出的调整与分配等。 衡量 D/A 转换性能的主要技术指标是: 1.分辨率:输出模拟量的最小变化量,即最低位增 1 时所引起的输出量变化。输出模 拟量与输入数字量的位数 n 有关,分辨率可表示为 2 -n。位数越多,分辨率越高。 2.线性误差:实际转换特性偏离理想转换特性的最大值称位线性误差。D/A 转换器的 转换特性应该是线性的。但实际上输出特性不是理想线性。线性误差一般用模拟量和理想值 的最大差值折合成的数字输入量表示。 3.满刻度误差:输入全为 1 时,输出电压与理想值之间的误差。 4.转换时间:从转换器输入数字量到输出稳定模拟电压所需要的时间。 除以上性能指标外,D/A 转换器与 CPU 接口是否容易,也是衡量 D/A 转换器性能的一 个标准。根据能否直接和总线相连,D/A 转换芯片可以分为两类。一类芯片内部没有数据输 入寄存器,这类芯片内部结构简单,价格比较低廉,比如 AD7520、DAC0802 等,但在单片 机应用系统中使用这种芯片必须外加数据输入锁存器。另一类芯片内部有数据输入寄存器

第10单元外围设备与操口 比如DA0832、AD7524等,这些芯片使用时可以直接和CPU数据总线相连。 10.1.2DAC0832 DAC0832是美国数据公可的8位D/A转换器.DAC0832以其价康、接口简单,转换控 制容易等优点,在单片机应用系统中得到了广泛的应用。属于该系列的芯片还有830,831 等 一,DAC0832的结构 DAC0832片内有数据存器、电流输出,输出电流稳定时间为15,功耗为20mW。 DAC0832是20引用双列直插式封装芯片. 图10-2是DAC0832的月图 西 图中各信号意义如下: WRI 2 19☐LE CS:片选信号. AGND3 18▣WR2 1.E:允许锁存信号, DI3 4 DAC 17☐XFR 2 16 ▣M4 ·WR1:输入诗行器写选通信号。 0832 DII 15☐D15 ·WR2:DAC寄存器写选通估号。 DKI ■ 4☐1 16 XFER:传送控制信号。 VR山 8 13☐ DI7 Dl7-D0:8位数据输入墙。 RFR loT:模拟电流输出端,当DAC寄存器中全为1 DGND 10 11 louz 时,输出电流最大 图102DAC0832的引脚信号 loUm:模拟电流输出瑞,c+loP一常数, R:反馈电阻引出端。RB端可以直接接到外部 运算放大器的输出瑞。 V:参考电压输入端。范围为+10V-~10V。 Vcc:芯片电源电压。范围为+5V-+15V。 AGND:模拟电. DGND:数字地, D7--DIO 8位 8位 8位 VREP DAC0832的结构 louT2 徐入 D/A Kri 框图见图10-3。 ADC 嵛存器 尚存器 转换图 LEI LE2 Rya AGND 梳报地 Voc W DXGND XFE承 量字地 图1一3DAC082结构把阁
第 10 单元 外围设备与接口 4 比如 DAC0832、AD7524 等,这些芯片使用时可以直接和 CPU 数据总线相连。 10.1.2 DAC0832 DAC0832 是美国数据公司的 8 位 D/A 转换器。DAC0832 以其价廉、接口简单、转换控 制容易等优点,在单片机应用系统中得到了广泛的应用。属于该系列的芯片还有 0830,0831 等。 一.DAC0832 的结构 DAC0832 片内有数据锁存器、电流输出,输出电流稳定时间为 1s,功耗为 20 mW。 DAC0832 是 20 引脚双列直插式封装芯片。 图 10-2 是 DAC0832 的引脚图。 图中各信号意义如下: CS :片选信号。 ILE:允许锁存信号。 WR1:输入寄存器写选通信号。 WR2 :DAC 寄存器写选通信号。 XFER :传送控制信号. DI7~DI0:8 位数据输入端。 IOUT1:模拟电流输出端,当 DAC 寄存器中全为 1 时,输出电流最大。 IOUT2:模拟电流输出端,IOUT1+IOUT2=常数。 RFB:反馈电阻引出端。RFB 端可以直接接到外部 运算放大器的输出端。 VREF:参考电压输入端。范围为+10V~-10V。 VCC:芯片电源电压。范围为+5V~+15V。 AGND:模拟地。 DGND:数字地。 DAC0832 的结构 框图见图 10-3。 图 10-2 DAC0832 的引脚信号 CS WR1 AGND DI3 DI2 DI1 DI0 VREF RFB DGND VCC ILE WR2 XFER DI5 DI6 DI7 IOUT1 IOUT2 DI4 DAC 0832 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 图 10-3 DAC0832 结构框图 8 位 输入 寄存器 8 位 ADC 寄存器 8 位 D/A 转换器 DI7~DI0 CS ILE WR2 WR1 VREF IOUT1 IOUT2 RFB AGND VCC DGND LE1 LE2 模拟地 XFER 数字地

单岸机故术及应用 DAC832内部有两级输入缓冲镇存器,一个T型电阻网锋,为电流输出型芯片,T型电 阻网路需要外接运算放大器,才能得到电压输出。LE是弟一级输入缓冲锁存器(输入寄存 器)的懒存信号,XER(通道控制信号)是第二级缓冲懒存器(DAC将存器)的镜存信号。 当LE为高电平时,CS和WRI为低电平时,LE1为高,输入寄存器的绘出迹箱入而变 化。当WR1由“低”变“高”时,LE1变为低,数据被锁存到输入寄存卷巾,输入寄存器的 翰出线不再随外部数据的变化而变化。 对第二级锁存器,当XFER和WR2同时为低电平时,L2为高,8位DAC寄存器的输 出随输入而变化,当WR2出“低”变“高,12变为低,符输入寄存器的数据锁存到DAC 寄存器中,并送入D/A转换器进行转换。 二.DAC0332的工作方式 DAC0832有两级可控制的输入缓冲锁存器。根据对两级输入缓冲锁存器的不可控制方 法,DAC0832有单缓冲、双援冲、直通三种工作方式。 1.单缓冲方式 单缓冲方式是使输入寄存器和DAC寄存器中的一个处于直通状态,另一个处于可控状 态,或者使两个寄存器同时选通顾存。在单缓冲方式下,只需对DAC0832执行一次写操作, 数据写入输入寄存器后就直接经过DAC寄存器进入D/A转换器进行转换。此方式适用于只 有一路模拟最输出或几路模拟量同步输出的情况。 2,双缓冲方式 双缓冲方式下,输入寄存器和DAC脊存器分别处于可控状态。双缓冲方式下的数据马 入要分两次进行,第一次将待转换的数据与入输入寄存器,第二次冉对DΛC寄存器进行一 次写操作,这一次的马操作是“虚拟马”,即写入何数据并无意义,仅是为了使WR信号再 次有效,从而使DAC寄存卷写选通有效,把第一次写入柏入寄存器的数据锁存到DAC寄存 器,并送入D/A转换器进行转换, 双缓冲方式适用于以下情况: (1)在D/A转换的同时接受下·个转换数据,从面提高转换速度: (2)多路同步转换。方法是先分别对各路DAC0832写特特换数据,并锁存到各自的输 入寄存器中,然后再对各路DACD832的DAC寄存器同时发逃通信号,使各路输入膏存器中 的数据同时送入DAC寄存器,实现多路D/A同步转换输出。 3.直通方式 在直通方式下,输入寄存器和DAC寄存器都一直处于选证状态,输入的数据直接送到 D/A转换器进行转携。此方式适用于连续反馈控制电路中。 10,1,3DAC0832和MCS-51的接口方法
单片机技术及应用 5 DAC0832 内部有两级输入缓冲锁存器,一个 T 型电阻网络,为电流输出型芯片。T 型电 阻网络需要外接运算放大器,才能得到电压输出。ILE 是第一级输入缓冲锁存器(输入寄存 器)的锁存信号,XFER(通道控制信号)是第二级缓冲锁存器(DAC 寄存器)的锁存信号。 当 ILE 为高电平时,CS 和 WR1为低电平时,LE1 为高,输入寄存器的输出随输入而变 化。当 WR1由“低”变“高”时,LE1 变为低,数据被锁存到输入寄存器中,输入寄存器的 输出端不再随外部数据的变化而变化。 对第二级锁存器,当 XFER 和 WR2 同时为低电平时,LE2 为高,8 位 DAC 寄存器的输 出随输入而变化,当 WR2 由“低”变“高”,LE2 变为低,将输入寄存器的数据锁存到 DAC 寄存器中,并送入 D/A 转换器进行转换。 二.DAC0832 的工作方式 DAC0832 有两级可控制的输入缓冲锁存器。根据对两级输入缓冲锁存器的不同控制方 法,DAC0832 有单缓冲、双缓冲、直通三种工作方式。 1.单缓冲方式 单缓冲方式是使输入寄存器和 DAC 寄存器中的一个处于直通状态,另一个处于可控状 态,或者使两个寄存器同时选通锁存。在单缓冲方式下,只需对 DAC0832 执行一次写操作, 数据写入输入寄存器后就直接经过 DAC 寄存器进入 D/A 转换器进行转换。此方式适用于只 有一路模拟量输出或几路模拟量非同步输出的情况。 2.双缓冲方式 双缓冲方式下,输入寄存器和 DAC 寄存器分别处于可控状态。双缓冲方式下的数据写 入要分两次进行,第一次将待转换的数据写入输入寄存器,第二次再对 DAC 寄存器进行一 次写操作,这一次的写操作是“虚拟写”,即写入何数据并无意义,仅是为了使 WR 信号再 次有效,从而使 DAC 寄存器写选通有效,把第一次写入输入寄存器的数据锁存到 DAC 寄存 器,并送入 D/A 转换器进行转换。 双缓冲方式适用于以下情况: (1)在 D/A 转换的同时接受下一个转换数据,从而提高转换速度; (2)多路同步转换。方法是先分别对各路 DAC0832 写待转换数据,并锁存到各自的输 入寄存器中,然后再对各路 DAC0832 的 DAC 寄存器同时发选通信号,使各路输入寄存器中 的数据同时送入 DAC 寄存器,实现多路 D/A 同步转换输出。 3.直通方式 在直通方式下,输入寄存器和 DAC 寄存器都一直处于选通状态,输入的数据直接送到 D/A 转换器进行转换。此方式适用于连续反馈控制电路中。 10.1.3 DAC0832 和 MCS-51 的接口方法

常10单元外图设毒与续口 DAC0832与MCS-51单片机可以直接连接,扩限方便,但其内部无参考电压。须外接 参考电压电路,DAC0832是电流输出芯片,需接运算放大器将输出电流转换成电压,运放的 电:输出有单极性和双极性两种。 例101:单缓冲方式接口 用DAC0832扩展803引的D/A转换按口,输出据齿被。 图10-4是路模拟量输出的803】系统。单极性输出。DAC0832工作子单缓冲器方式, ILE接+5V,CS和XFER由8O31的P2,7控制,WR1和WR2由8031WR控制。8031对 DACO832执行·次写操作就把,个数据直接写入DAC嵛存器,并送D/A转换器转换,输出 慎拟量。 2.7-0时,C3和X正R有效,DAC0832选通,设无关位为1,则0832选通地址为7F 执行以下程序,运放的输出瑞将产生一个锯齿波, WAVE:MOV DPTR,07FFFH MOV A,0 LOOP: MOVX DPTR.A INC A AJMP LOOP 在以上程序中,可增加软件延时程序,调节输出据齿波的斜率和频率。 采用以上电路,通过编程可以实现三角波、方波等各种波形的拍出 -SV D 117-10 P2. AGND 6031 XFER louT2 -12W WR w原 V 2000 WR2 0W32 =0.01μ 图104一路模狐量徐出的803引系饶 例10-2:双缓冲器同步方式按口 用两片DAC0831扩展8031D/A转换接口,输出两路模拟量分州挖制示波器的X、Y偏 转。设控制示波器偏转的参数X、Y存放在30川和40山开始的各1D0个单元内。 对于多路D/A转换接口,要求同步进行D/A转换输出时,必须采用双缓冲器可步方式
第 10 单元 外围设备与接口 6 DAC0832 与 MCS-51 单片机可以直接连接,扩展方便,但其内部无参考电压,须外接 参考电压电路。DAC0832 是电流输出芯片,需接运算放大器将输出电流转换成电压。运放的 电压输出有单极性和双极性两种。 例 10-1:单缓冲方式接口 用 DAC0832 扩展 8031 的 D/A 转换接口,输出锯齿波。 图 10-4 是一路模拟量输出的 8031 系统,单极性输出。DAC0832 工作于单缓冲器方式, ILE 接+5V, CS 和 XFER 由 8031 的 P2.7 控制, WR1和 WR2 由 8031 WR 控制。8031 对 DAC0832 执行一次写操作就把一个数据直接写入 DAC 寄存器,并送 D/A 转换器转换,输出 模拟量。 P2.7=0 时,CS 和 XFER 有效,DAC0832 选通,设无关位为 1,则 0832 选通地址为 7FFFH。 执行以下程序,运放的输出端将产生一个锯齿波。 WAVE:MOV DPTR,#7FFFH MOV A,#0 LOOP: MOVX @DPTR,A INC A AJMP LOOP 在以上程序中,可增加软件延时程序,调节输出锯齿波的斜率和频率。 采用以上电路,通过编程可以实现三角波、方波等各种波形的输出。 例 10-2:双缓冲器同步方式接口 用两片 DAC0831 扩展 8031D/A 转换接口,输出两路模拟量分别控制示波器的 X、Y 偏 转。设控制示波器偏转的参数 X、Y 存放在 30H 和 40H 开始的各 100 个单元内。 对于多路 D/A 转换接口,要求同步进行 D/A 转换输出时,必须采用双缓冲器同步方式, +5V 图 10-4 一路模拟量输出的 8031 系统 ILE + - RFB AGND D7~D0 IOUT1 VREF CS XFER WR1 WR2 WR 0832 P2.7 P0 VCC 8031 -12V IOUT2 VOUT 200Ω 0.01F 0.01F 8V 510

草岸机技米及应用 数字量的输入锁存和D/A转换输出分两步完成,首先CPU分时地向各路D/A转换器输入要 转换的数字量并锁存在各自的输入寄存器中,然后CP风U对所有的D/A转换器发出控制信号, 使各个D/A转换器输入寄存器中的数据同时打入DAC将存器,实现同步转换输出。 图10-5所示电路是具有两路模拟量同步输出的8031系统.8031的P2.5和2.6分别接 DAC0832(1)和DAC0832(2)的CS:8031的WR接两片的WR1,WR2:8031的P2.7 接两片的XFER,使两片DAC832的DAC寄存器同步选通。设地址无关位为1,DAC0832 (1)输入寄存器的选通地址为DFFFH,DAC0832(2》输入寄存器的选通地址为FFF可I, 而两片的DAC寄存器同时选通,地址都是7FFFH, P2.5 ,I正V P2.7 XFER RFR 示波馨 LouT PO 17-0 0…5V X lour2 WRI AGND D-5V 8031 WR2 DGND 082(1) WR P+5V 正V -5V FER R道 D7-D0 Ixurr2 AGND WR2 DGND 0832421 图10一5两路校拟量月出第出的803引系统 执行下面程序,可使示被器上的光点根据参数X,Y的值同步移动。 MOVE:MOV R0,#30I ;取参数X的首址 MOV R1,40H :取参数Y的首址 MOV R7,#100 ;各100个参数 LOOP:MOV DPTR,4ODFFFH MOV A.RO MOV @DPTR,A :参数X写入DAC0832(1)输入存器 MOV DPTR,8OBFFFH MOV A,@R] MOV @DPTR,A :参数Y写入DAC0832(2)输入锁存器 MOV DPTR,47FFFH 7
单片机技术及应用 7 数字量的输入锁存和 D/A 转换输出分两步完成。首先 CPU 分时地向各路 D/A 转换器输入要 转换的数字量并锁存在各自的输入寄存器中,然后 CPU 对所有的 D/A 转换器发出控制信号, 使各个 D/A 转换器输入寄存器中的数据同时打入 DAC 寄存器,实现同步转换输出。 图 10-5 所示电路是具有两路模拟量同步输出的 8031 系统。8031 的 P2.5 和 P2.6 分别接 DAC0832(1)和 DAC0832(2)的CS ;8031 的 WR 接两片的 WR1、 WR2 ;8031 的 P2.7 接两片的 XFER ,使两片 DAC0832 的 DAC 寄存器同步选通。设地址无关位为 1,DAC0832 (1)输入寄存器的选通地址为 DFFFH,DAC0832(2)输入寄存器的选通地址为 BFFFH, 而两片的 DAC 寄存器同时选通,地址都是 7FFFH。 执行下面程序,可使示波器上的光点根据参数 X,Y 的值同步移动。 MOVE:MOV R0,#30H ;取参数 X 的首址 MOV R1,#40H ;取参数 Y 的首址 MOV R7,#100 ;各 100 个参数 LOOP: MOV DPTR,#0DFFFH MOV A,@R0 MOV @DPTR,A ;参数 X 写入 DAC0832(1)输入锁存器 MOV DPTR,#0BFFFH MOV A,@R1 MOV @DPTR,A ;参数 Y 写入 DAC0832(2)输入锁存器 MOV DPTR,#7FFFH 图 10-5 两路模拟量同步输出的 8031 系统 + - -5V + - -5V P2.5 P2.7 P2.6 P0 WR 8031 ILE RFB IOUT1 VREF CS XFER WR1 WR2 +5V IOUT2 AGND DGND 0832(1) VCC D7~D0 0~5V 0~5V 示波器 X Y ILE RFB IOUT1 VREF CS XFER WR1 WR2 +5V IOUT2 AGND DGND 0832(2) VCC D7~D0