单片机技术及应用(基于Proteus 的汇编和C语言版)项目10 DA转换控制及应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DAC0832是电流输出,为了取得电压输出,需在电流 输出端连接运算放大器,Rfb即为运算放大器的反馈电阻 端,运算放大器的接法如图所示 。
10.1.2 DAC0832及其接口电路分析
4、DAC0832接口电路与工作方式
在DAC0832内部有2个可控寄存器,输入信号要
经过这两个寄存器才能进入D-A转换器进行D-A转换。 控制这两个寄存器的控制信号有5个:输入寄存器 由LE、 、 DAC寄存器由 WR1 控制; CS 、 控制。 2 XFER WR
根据单片机与DAC0832芯片接口电路的不同,对这
两个可控寄存器的控制方式不同,DAC0832的工作
方式可分为三种。
10.1.2 DAC0832及其接口电路分析
(1)直通工作方式
直通工作方式是将这两个寄存
器的5个控制信号预先均设置为有效,
两个寄存器都开通,处于数据接收 状态,只要数字信号送到数据输入 端DI0~DI7,就立即进入D-A转换器 进行转换。
(3)
修改Keil安装目录 下的Tools.ini文
件,在C51字段中
加入 TDRV11=BIN\VDM5 1.DLL (“PROTEUS 6 EMULATOR”)并保 存。
10.2.5 基于Proteus的调试与仿真
(4) (5) (6)
打开“简易波形发 生器控制.DSN ” 文件,在Proteus 的“Debug”菜单 中选中“Use Remote Debug Monitor(远程监 控)”。右键选中 STC89C51单片机, 在弹出的对话框 “Program File” 项中,导入在 Keil中生成的HEX 文件。
10.2.2 硬件系统与控制流程分析
2、任务控制流程分析
图
简 易 波 形 发 生 器 控 制 流 程 图
10-8
10.2.3 汇编语言程序分析与设计
程序初始 化子程序 INIT 外部中断0 子程序 INT_0
程序 初始部分 主程序 MAIN
汇编 程序
外部中断1 子程序 INT_1
字符数据表 DELAY_AX500
10.1.2 DAC0832及其接口电路分析
(3)双缓冲工作方式
双缓冲工作方式时的接口电路
任务10.2 简易波形发生器控制
10.2.1 控制要求与功能展示
实物运行视频
任务10.2 单通道电压采集控制
10.2.1 控制要求与功能展示
简易波形发生器控制电路原理图
10.2.2 硬件系统与控制流程分析
1、任务硬件系统分析
如电路原理图所示,该电路实际上是单片机
采用单缓冲的工作方式驱动DAC0832数模转换芯 片,实现数模转换输出。由于DAC0832是模拟电 流输出,为了取得电压输出,在电流输出端连接 有运算放大器uA741,将电流信号转换为电压信
号。同时两个控制按键K1和K2分别连接于单片机
的外部中断引脚P3.2与P3.3上,通过按键外部中 断来实现波形变化的控制。
10.1.2 DAC0832及其接口电路分析
(2)单缓冲工作方式
所谓单缓冲方式,就是使DAC0832的两个输入寄存
器中有一个处于直通方式,而另一个处于受控的锁存方式, 或者使两个输入寄存器同时处于受控的方式。在实际应用 中,如果只有一路模拟量输出或虽有几路模拟量但并不要 求同步输出的情况,就可采用单缓冲方式。
10.2.5 基于Proteus的调试与仿真
3、Proteus与Keil联调
程序初始化运行时状态界面
10.2.5 基于Proteus的调试与仿真
3、Proteus与Keil联调
开始出现波形
程序开始输出波形界面
10.2.Βιβλιοθήκη Baidu 基于Proteus的调试与仿真
3、Proteus与Keil联调
A=0xFF
熟悉D-A转换及其转换器的基本知 识; 掌握单片机与DAC0832的接口电 路分析与设计; 掌握单片机与DAC0832的接口电 路分析与设计; 熟练使用Proteus进行单片机应用 程序开发与调试。
4
技能训练1:波形发生器控制
仿真运行视频
按键中断切换波形状态
10.2.5 基于Proteus的调试与仿真
3、Proteus与Keil联调
切换为锯齿波
波形切换后开始输出界面
10.2.5 基于Proteus的调试与仿真
4、Proteus仿真运行
10.2.5 基于Proteus的调试与仿真
仿真运行视频
技能训练1:波形发生器控制
1 2 3
D/A转换控制及应用
项目10 D/A转换控制及应用
知识与能力目标
1 2 3 4
熟悉D/A转换及其转换器的基本知识; 理解并掌握D/A转换器的控制方法; 学会单片机与DAC0832的接口电路分析与设计;
1
初步学会D/A转换应用程序的分析与设计;
熟练使用Proteus进行单片机应用程序开发与调试。
5
项目10 D/A转换控制及应用
(6)建立 时间1微妙。
10.1.2 DAC0832及其接口电路分析
2、DAC0832芯片内部原理结构
DAC0832由输入寄存器和DAC寄存器构成两级数据输入锁存
10.1.2 DAC0832及其接口电路分析
3、DAC0832引脚功能
DAC0832外部引脚图
10.1.2 DAC0832及其接口电路分析
1、创建Proteus仿真电路图
(1)列出元器件表;(2)绘制仿真电路图
10.2.5 基于Proteus的调试与仿真
2、OSCILLOSCOPE(示波器)的使用
虚拟示波器界面
10.2.5 基于Proteus的调试与仿真
2、OSCILLOSCOPE(示波器)的使用
虚拟示波器与真实示波器的使用方法类似。 ◆ 依照电路的属性设置扫描速度,用户可看到所测量的信号波形。 ◆ 如果被测信号有直流分量,则在相应的信号输入通道选择AC (交流)工作方式。 ◆ 调整增益,以便在示波器中可以显示适当大小的波形。 ◆ 调节垂直位移滑轮,以便在示波器中可以显示适当位置的波形。 ◆ 波动相应的通道定位选择按钮,再调节水平定位和垂直定位, 以便观测波形。 ◆ 如果在大的直流电压波形中含有小的交流信号,需要在连接的 测试点和示波器之间加一个电容器。
任务10.1 D/A转换认知与分析 10.1.1 D/A转换的初步认知 10.1.2 DAC0832及其接口电路分析
任务10.2 简易波形发生器控制 10.2.1 控制要求与功能展示 10.2.2 硬件系统与控制流程分析 10.2.3 汇编语言程序分析与设计 10.2.4 C语言程序分析与设计 10.2.5 基于Proteus的调试与仿真
10.1.2 DAC0832及其接口电路分析
(2)单缓冲工作方式
单缓冲工作方式时的接口电路
10.1.2 DAC0832及其接口电路分析
(3)双缓冲工作方式
所谓双缓冲方式就是把DAC0832的2个锁存器都连接 成受控锁存方式,同时为了实现寄存器的可控,应当给 每个寄存器分配一个地址,以便能按地址进行操作。 在多路D-A转换情况下,若要求模拟信号同步输出, 则必须采用双缓冲工作方式。
延时子程序 DELAY
汇编程序
10.2.4 C语言程序分析与设计
3、汇编程序设计
外部中断0 服务子函数 int0( ) 外部中断1 服务子函数 int1( )
程序初始 部分 (含数据定义)
C语言程序
主函数 main( )
延时子函数 DelayUS(A)
延时子函数 DelayUS(B)
C程序
10.2.5 基于Proteus的调试与仿真
10.1.1 D/A转换的初步认知
2、D-A转换器的主要性能指标
(4)建立时间:指 当D-A转换器的输入 数据发生变化后,输 出模拟量达到稳定数 值(即进入规定的精 度范围内)所需的时 间。
(5)温度系数:在 满刻度输出的条件 下,温度每升高一 度,输出变化的百 分数。
10.1.2 DAC0832及其接口电路分析
1、D-A转换器的类型
10.1.1 D/A转换的初步认知
2、D-A转换器的主要性能指标
(1)分辨率:其定义是当输入数字量发生单位数码 变化(即1LSB)时,所对应的输出模拟量的变化量。
(2)线性度:通常用非线性误差的大小表示D-A转换
的线性度。 (3)转换精度:转换精度以最大静态误差的形式给 出。
10.2.5 基于Proteus的调试与仿真
2、Proteus与Keil联调
(1)
安装插件 vdmagdi.e(注意: 应把插件安装在 Keil3的安装目录 下)
(2)
将Keil安装目录 \C51\BIN中的 VDM51.dll文件 复制到Proteus 软件的安装目录 Proteus\MODE LS目录下
Keil打开“简易 波形发生器控 制.UV2”,打开 窗口“Option for Target‘工 程名’”。在 Debug选项中右 栏上部的下拉菜 单选中Proteus VSM Simulator。 点击进入 Settings窗口, 设置IP为 127.0.0.1,端 口号为8000。
在Keil中点击,使 用单步执行来调 试程序,同时在 Proteus中查看直 观的仿真结果。
1、DAC0832主要性能指标
(4)DIP20封装, 单电源(+5V~15V, 典型值为5V); (1)8位并行 D-A转换; (2)片内二级数据 锁存,提供数据输入 双缓冲、单缓冲、 直通三种工作方式; (3)电流输出型 的芯片,通过外接 一个运算放大器, 可以很方便地提供 电压输出 (5)uP兼容, 可以很方便地 与MCS-51连接;
2
10.1.1 D/A转换的初步认知
DAC(数/模转换器)是将数字量转换成相 应的模拟量,每一个数字量都是二进制代码 按位组合,每一位数字代码都对应着一定大
小的模拟量。为了将数字量转换成模拟量,
应将其每一位转换成相应的模拟量,然后求 和即得到与数字量成正比的模拟量。
10.1.1 D/A转换的初步认知