51单片机的AD/DA转换
来源:互联网 发布:淘宝买家秀卖家秀搞笑 编辑:程序博客网 时间:2024/05/22 01:43
一、A/D(模数)、D/A(数模)转换
(一)、引脚
AOUT:模拟输出
Vref:参考电压
AGND:模拟地
EXT:接地
OSC:悬空
SCL,SDA:IIC
AIN0、AIN1、AIN2:模拟输入口
(二)、电路图
从电路图可以看出,A0,A1,A2接地,所以当写入的时候地址应该是0X90,读取的时候应该是0X91
(三)、AGND和DGND
模拟地和数字地隔离开,消除干扰
(四)、控制字节
(五)、AD读数据函数
#include <reg52.h>
#include "delay.h"
#include "iic.h"
#define SUCC 1
#define FAIL 0
unsigned char ad_read_byte(unsigned char device_addr,unsigned char channel)
{
unsigned char result;
unsigned char temp;
iic_start();
result = iic_send_byte(device_addr);
if(result == FAIL)
{
return FAIL;
}
result = iic_send_byte(0x44 + channel);
if(result == FAIL)
{
return FAIL;
}
iic_start();
result = iic_send_byte(device_addr + 1);
if(result == FAIL)
{
return FAIL;
}
temp = iic_rcv_byte();
iic_noack();
iic_stop();
return temp;
}
(六)、AD写数据函数
unsigned char ad_write_byte(unsigned char deviceaddr, unsigned char num)
{
unsigned char result;
iic_start();
result = iic_send_byte(deviceaddr);
if(result == FAIL) return FAIL;
result = iic_send_byte(0x40);
if(result == FAIL) return FAIL;
result = iic_send_byte(num);
if(result == FAIL) return FAIL;
iic_stop();
return SUCC;
}
0 0
- 51单片机的AD/DA转换
- 单片机AD-DA转换
- 单片机ad/da转换
- AD/DA的转换
- 51的AD/DA(模数转换)
- AD转换和DA转换的应用
- AD转换与DA转换的应用
- AD/DA转换
- PCF8591 AD/DA转换
- 51单片机 AD转换
- 51单片机AD转换的程序
- 51单片机STC89C52 DA数模转换
- AD/DA转换(程序)
- 【AD/DA】的一些基础知识
- AD-DA——51
- 常用高速AD/DA转换芯片
- 使用PCF8951进行AD/DA转换
- 51单片机STC89C52 AD模数转换
- Nodejs心跳包(一)简易监控 --学习笔记
- 【CSS3】右上角倾斜文字
- sql分页查询
- SpringBoot + MyBatis 重构 Web 应用
- 自己遇到的问题-easyui部分
- 51单片机的AD/DA转换
- 美团网技术团队分享的MySQL索引及慢查询优化教程
- CSS3 选择器
- 水仙花数
- java基础之数据运算
- Android 获取framebuffer相关信息
- 283. Move Zeroes
- Android6.0源码分析之录音功能(一)
- Vertica “ERROR: Too many ROS containers exist”