51单片机AD/DA

AD为模拟信号转为数字信号,STC89C52RC使用了一个触摸屏芯片来实现模数转换,通信协议采用的是SPI通信协议。

SPI通信协议采用了四根线CS、DCLK、DIN、DOUT,其中CS是片选位,每个芯片独立,而其它三根线是所有芯片共用的。DCLK为时钟线,上升沿芯片从主机读数据,下降沿芯片向主机写数据。DIN是芯片从主机读数据的线,DOUT是芯片向主机写数据的线。

代码如下:

复制代码
#include <REGX52.H>


sbit CS = P3^5;
sbit DIN= P3^4;
sbit DOUT = P3^7;
sbit DCLK = P3^6;


unsigned int AD_SPI(unsigned char address)
{
	unsigned char i;
	unsigned int Data;
	DCLK = 0;
	CS = 0;
	for(i=0;i<8;i++)
	{
		DIN = address & (0x80>>i);
		DCLK = 1;
		DCLK = 0;
	}
	for(i=0;i<16;i++)
	{
		DCLK = 1;
		DCLK = 0;
		if(DOUT)
		{
			Data |= (0x8000>>i);
		}
	}
	CS = 1;
	if(Command&0x08)
	{
		return Data>>8;
	}
	else
	{
		return Data>>4;
	}
	
}




下面为关键字的地址:

#define AD_XP_8     0X9C
#define AD_YP_8     0XDC
#define AD_AUX_8    0XEC
#define AD_VBAT_8   0XAC


#define AD_XP_16     0X94
#define AD_YP_16     0XD4
#define AD_AUX_16    0XE4
#define AD_VBAT_16   0XA4

STC89C52的DAC采用的是PWM波转为模拟信号,及将不同占空比的信号转为不同电压的模拟信号。用处不广泛。但可以实现降压的功能。

相关推荐
发光小北4 小时前
Modbus TCP 转 Profinet 主站网关如何应用?
网络·网络协议·tcp/ip
易连EDI—EasyLink7 小时前
易连EDI–EasyLink实现OCR智能数据采集
网络·人工智能·安全·汽车·ocr·edi
@insist1237 小时前
信息安全工程师考点精讲:身份认证核心原理与分类体系(上篇)
大数据·网络·分类·信息安全工程师·软件水平考试
SmartRadio8 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
_.Switch8 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
金色光环9 小时前
FreeModbus释放底层的 TCP 监听端口
服务器·网络·tcp/ip
数智化精益手记局9 小时前
拆解物料管理erp系统的核心功能,看物料管理erp系统如何解决库存积压与缺料难题
大数据·网络·人工智能·安全·信息可视化·精益工程
灰子学技术11 小时前
Envoy HTTP 过滤器处理技术文档
网络·网络协议·http
Wave84511 小时前
基于 STM32 + ESP8266 + W25Q64 的双核 OTA 底层架构总结
stm32·嵌入式硬件·架构
xiangw@GZ12 小时前
WiFi 全世代(WiFi1~WiFi7)技术规范与核心参数总结
嵌入式硬件