网站首页 > 技术教程 正文
1. 基于proteus的51单片机开发实例37-DAC0832
1.1. 实验目的
之前我们学习了数模转换芯片DAC0808,今天我们继续学习另一种D/A转换芯片DAC0832。
1.2. 设计思路
本例中使用51单片机控制D/A转换芯片DAC0832,通过单片机输出一系列的数字信号到DAC0832,DAC0832把这些数字信号转换成模拟信号,以电流的形式输出。
1.3. 基础知识
1.3.1. DAC0832的引脚说明
下图是DAC0832的引脚图,
DI0~DI7:8位数据输入端。
ILE:数据锁存允许信号输入端,高电平有效。
CS:片选端,低电平有效。
WR1:输入锁存器写选通信号输入端。
WR2:DAC寄存器写选通信号输入端。
XFER:数据传送控制信号输入端,低电平有效。
IOUT2:模拟电流输出端2.
IOUT1:模拟电流输出端1.
RFB:反馈信号输入端。
VCC:电源端。
VREF:基准电压输入端。
AGND:模拟地。
DGND:数字地。
1.3.2. DAC0832与51单片机的接口
VCC、ILE同时接到+5V,WR1和WR2同时接到单片机的同一个端口P3.6;CS和XFER也同时接到单片机的一个端口P2.7。这种接法使DAC0832相当于一个单片机的外部扩展存储器,其地址为0x7fff。只要采用对片外存储器寻址的方法将数据写入该地址,DAC0832就会自动开始数模转换。
1、选中DAC0832,单片机通过P2.7引脚送出一个低电平到DAC0832的CE和XFER,P3.6引脚送低电平到WR1和WR2。DAC0832就被选中。
2、向DAC0832写入数据,单片机通过P0口送入数据。
3、DAC0832对送来的数字量进行数模转换,并从IOUT1引脚输出信号电流。
DAC0832输出的信号是电流型的,当实际应用中需要的是电压信号。所以电路中需要采用运算放大器来实现电流-电压转换。
1.4. 电路设计
本实例的电路图如图1所示。51单片机的P0口的8位直接连到DAC0832的8位数据输入端口DI0~DI7。DAC0832的输出端I0UT1和IOUT2分别连接运算放大器的2、3引脚。
1.5. 程序设计
本实例程序代码如下。
#include<reg51.h> //包含单片机寄存器的头文件
#include<absacc.h> //包含对片外存储器地址进行操作的头文件
sbit CS=P2^7; //将CS位定义为P2.7引脚
sbit WR12=P3^6; //将WR12位定义为P3.6引脚
void main(void)
{
unsigned char i;
CS=0; //输出低电平以选中DAC0832
WR12=0; //输出低电平以选中DAC0832
while(1)
{
for(i=0;i<255;i++)
XBYTE[0x7fff]=i; //将数据i送入片外地址07FFFH ,实际上就是通过P0口将数据送入DAC0832
}
}
1.6. 实例仿真
按照前面实例中所介绍的在proteus环境下的仿真方法,对本实例进行仿真,观察仿真结果,验证电路和程序的正确性。
1.7. 总结
从实例36开始,我们已经学习了四种模数和数模转换芯片的电路设计及程序控制。这四种芯片都是模数、数模转换的基础芯片,用意使大家熟悉A/D和D/A的基础知识和电路、程序方法。后续我们将会继续学习相关知识
- 上一篇: 单片机常用电路3-按键检测、LED驱动电路
- 下一篇: 同学先别急着看单片机,先看看这个软件吧
猜你喜欢
- 2024-11-03 同学先别急着看单片机,先看看这个软件吧
- 2024-11-03 单片机常用电路3-按键检测、LED驱动电路
- 2024-11-03 51单片机教程 第一个51程序 :点亮一个发光二极管(含代码)
- 2024-11-03 1. 基于proteus的51单片机开发实例(2)--闪烁的灯光
- 2024-11-03 1. 基于proteus的51单片机开发实例(13)-LED指示那个按键被按下
- 2024-11-03 1. 基于proteus的51单片机开发实例30-模块化程序设计
- 2024-11-03 从一个简单的项目,学会单片机的使用:51单片机设计的8路抢答器
- 2024-11-03 PROTEUS仿真DHT11(1)(proteus仿真dht11一直为0)
- 2024-11-03 售前/售后技术支持工程师简历专业技能怎么写
- 2024-11-03 proteus软件下载教程:proteus的电路仿真和虚拟模型仿真的区别
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)