DA转换(IIC总线)

本文介绍了一个项目,涉及通过IIC总线与PCF8591芯片进行交互,实现模拟电压的AD转换和DA转换。在AD转换后,数据经单片机处理并在LCD上实时显示;DA转换则控制LED灯亮度反映模拟量大小。
摘要由CSDN通过智能技术生成

项目描述
向PCF8591芯片的AN2通道输入一个电压模拟量,经过AD转换后,单片机通过IIC总线读取转换后的数据,并将其量化后实时显示在LCD上。然后将AD转换后的数据写入PCF8591中进行DA转换,并用LED灯的亮度来显示模拟量的大小。
仿真原理图如下:
在这里插入图片描述
C语言代码如下:

/*------------------------
FileName: DAC.h
Function: 头文件
Author: Zhang Kaizhou
Date: 2019-6-13 17:12:49
------------------------*/
#include <reg52.h>
#include <intrins.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
#define FACTOR 0.01953125 // 量化单位(用一个字节来量化表示5V的电压值,共为256个量化等级; FACTOR = 5 / 256)
	
/*IIC总线端口定义*/
sbit SDA = P2^0;
sbit SCL = P2^1;

/*LCD1602显示模块端口定义*/
sbit lcdrs = P1^0;
sbit lcdrw = P1^1;
sbit lcden = P1^2;

/*IIC总线模块函数声明*/
void initIIC();
void startIIC();
void responseIIC();
void stopIIC();
void writeDataIIC(uchar dat)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值