当前位置: 首页 > article >正文

Proteus仿真——《51单片机AD和DA转换器的设计》

设计一个基于单片机的具有A/D和D/A功能的信号测控装置。要求该信号测控装置能够接入典型传感器、变送器信号,同时可输出标准电压/电流信号。并满足抗干扰、通用性、安全性、性价比等原则性要求。标准电压/电流信号此处定为:0~5V/0~20mA

A/D转换电路

1 选型

电压、电流采集及AD转换电路是利用ADC0808作为AD转换芯片。它是逐次逼近式A/D转换器,可以直接和单片机引脚相连。ADC0808可采集8路电压,通过AT89C51控制ADC0808的引脚,可以实现ADC0808通道切换、AD转换的功能。

2 ADC0808功能介绍

VCC:连接5V电源的正极。

GND:连接地。

OUT1-OUT8:AD转换后的8位数字量输出引脚。

IN0-IN7:8位模拟量输入引脚,输入电压范围均为0~5V,与单片机的P0口相连。

ALE、START:为地址锁存允许信号和转换启动信号输入端。

CLK:芯片时钟输入,时钟频率一般为500KHz。

EOC:ADC0808转换结束信号端口,在AD转换期间,该引脚为低电平,转换结束后,EOC引脚输出高电平

OE:输出允许信号,只有OE为低电平时,才能输出转换得到的数据。程序中先让OE为0,然后为1,这样把数据送入单片机P0口。

VREF+/VREF-:分别连接参考电压的正极和参考电压的负极。

ADD A、ADD B、ADD C:模拟量输入通道的选择端,用于控制IN0-IN7通道的导通。通道选择表如下:

图片

ADC0808电压电流采集电路如下:

图片

D/A转换电路

1 选型

D/A转换电路选择了DAC0832芯片,DAC0808芯片是8位数模转换集成芯片,数据输入可以采用双缓冲、单缓冲或直通方式,电流输出,输出电流线性度可在满量程下调节。

2 DAC0832功能介绍

DI0-DI7:8位并行数据输入端。

RFB:反馈信号输入线,芯片内部有反馈电阻。

IOUT1:电流输出端,当输入全为1时候,电流最大。

IOUT2:电流输出端,其值与IOUT1端电流和为常数。

ILE、CS、WR1:其中,ILE为数据锁存器允许输入端,高电平有效。CS为片选信号,低电平有效。WR1为输入寄存器的写选通信号,低电平有效。当ILE=1,CS=0,WR1=0时,DAC0832内部第一级的8位输入寄存器被选中。待转换的数字信号被锁存到第一级8位输入寄存器中。

XFER、WR2:其中,XREF为数据传输控制信号输入端,低电平有效。WR2为DAC寄存器的写选通输入端,低电平有效。当XFER=0,WR2=0时,DAC0832内部第一级的8位输入寄存器中待转换的数字进入第二级的8位DAC寄存器中。

WR2:DAC寄存器的写选通输入端,负脉冲有效(脉冲宽度大于500ns),当XREF为0且WR2有效时,数据寄存器的状态呗传道DAC寄存器中。

VREF:基准电压输入线,可接入的电压范围为-10v~+10v。

DAC0832输出电压电流电路如下:

图片

按键电路

按键电路由2个独立按键构成,加入键盘模块以方便人机互动,方便调整工况。其中K1用于增加DAC0832输出的电流值,K2用于减小DAC0832输出的电流值。按键电路连接如下:

图片

总电路图

图片

主程序框图

图片

图片

图片

图片

proteus仿真定制前往某鱼:两栖电子,各种模板和定制仿真设计均有:

 


http://www.kler.cn/a/456275.html

相关文章:

  • 在线学习平台-项目技术点-后台
  • Quartz任务调度框架实现任务动态执行
  • 【操作系统】课程 3进程同步与通信 同步测练 章节测验
  • 从CreateDialogIndirectParam起---我与大模型对话
  • acitvemq AMQP:因为消息映射策略配置导致的MQTT接收JMS消息乱码问题 x-opt-jms-dest x-opt-jms-msg-type
  • 2022博客之星年度总评选开始了
  • 【数据结构】单链表的使用
  • 【CSS in Depth 2 精译_096】16.4:CSS 中的三维变换 + 16.5:本章小结
  • 解决VSCODE输出python中文乱码问题
  • 【网络云计算】2024第52周-每日【2024/12/26】小测-理论实操-备份MySQL数据库并发送邮件-解析
  • 【从0带做】基于Springboot3+Vue3的高校食堂点餐系统
  • C# 编程系列:网络通信之TCP通信(第一篇:介绍TCP协议在C#中的基本概念和工作原理)
  • wordpres当前分类调用父分类的名称和链接
  • Vue3响应式:Proxy设计原理解析
  • 在 Linux 中如何使用粘滞位 (t-bit)共享文件
  • 基于websocket实现本地web语音聊天
  • 每日一题 347. 前 K 个高频元素
  • 数据库原理及应用(MySQL版-李月军)-习题参考答案
  • 【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
  • 如何使用fetch函数获取多个数据并同时使用(在嵌套的fetch函数之间传递数据)
  • 如何为运行在 PICO 4 Ultra 设备上的项目设置外部文件读写权限?
  • pdf有密码,如何实现pdf转换word?
  • 易基因: BS+ChIP-seq揭示DNA甲基化调控非编码RNA(VIM-AS1)抑制肿瘤侵袭性|Exp Mol Med
  • 在K8S中,nodePort的externalTrafficPolicy字段有什么作用?
  • Vue.js组件开发-如何实现vueFLow流程
  • pyqt6 OpenCV相关练习