小白跟做江科大51单片机之AD/DA

1.看原理图找接口

2.看时序图编写读取数据代码

XPT2046.c代码

#include <REGX52.H>

//引脚定义

sbit XPY2046_DIN=P3^4;

sbit XPY2046_CS=P3^5;

sbit XPY2046_DCLK=P3^6;

sbit XPY2046_DOUT=P3^7;

unsigned int XPT2046_ReadAD(unsigned char Command)

{

unsigned char i;

unsigned int Data=0;

XPY2046_DCLK=0; //确保其为低位

XPY2046_CS=0; //拉低

for(i=0;i<8;i++)

{

XPY2046_DIN=Command&(0x80>>i); //给第i位数据

XPY2046_DCLK=1; //上升发送数据

XPY2046_DCLK=0; //下降

}

for(i=0;i<16;i++)

{

XPY2046_DCLK=1;

XPY2046_DCLK=0;

if(XPY2046_DOUT){Data|=(0x8000>>i);}

}

XPY2046_CS=1;

return Data>>8;

}

3.根据XPT2046原理图定义命令

S选为1,A2-A0自己选择,MODE选择分辨率第一个例子选1,SER根号DFR选1(单端模式),PD1-PD0选0

测量X+,根据单端模式输入配置图,A2-A0可以为001,也可以为011,以001为例,故命令码为1001 1100即0x9C,以此类推在XPT2046.h下定义一下命令

#define XPT2046_VBAT 0xAC

#define XPT2046_AUX 0xEC

#define XPT2046_XP 0x9C //0xBC

#define XPT2046_YP 0xDC

4.编写main代码

#include <REGX52.H>

#include "Delay.h"

#include "LCD1602.h"

#include "XPT2046.h"

unsigned int ADValue;

void main(void)

{

LCD_Init();

LCD_ShowString(1,1,"ADJ NTC GR");

while(1)

{

ADValue=XPT2046_ReadAD(XPT2046_XP); //读取AIN0,可调电阻

LCD_ShowNum(2,1,ADValue,3); //显示AIN0

ADValue=XPT2046_ReadAD(XPT2046_YP); //读取AIN1,热敏电阻

LCD_ShowNum(2,6,ADValue,3); //显示AIN1

ADValue=XPT2046_ReadAD(XPT2046_VBAT); //读取AIN2,光敏电阻

LCD_ShowNum(2,11,ADValue,3); //显示AIN2

Delay(100);

}

}

5.实现结果

XPT2046效果展示

相关推荐
糖糖单片机设计5 小时前
基于 STM32 与中移 OneNet 的智慧电梯监控平台系统
stm32·单片机·嵌入式硬件·51单片机·语音识别
创界工坊工作室8 小时前
55-基于STC89C52宠物智能饲喂控制系统设计
stm32·单片机·嵌入式硬件·51单片机·proteus·宠物
极客 - L U11 小时前
卡尔曼滤波从零到精通
c语言·数据结构·单片机·嵌入式硬件·mcu
AMASENSYS艾马斯11 小时前
变频器滤波器选型与EMC合规建议
驱动开发·单片机·其他·硬件工程·精益工程
码小文13 小时前
CAM350使用笔记(6)---Gerber文件铺铜间距检查
嵌入式硬件·cam350软件·cam350使用笔记
Yiran_G14 小时前
双频 Wi-Fi 6 + 蓝牙 5.4:无声讯通 WS8712 模组的开发与集成要点
网络·嵌入式硬件·物联网·智能家居
光子物联单片机15 小时前
ESP32传感器模块编程实践(一)DIY智能WIFI视频控制小车
嵌入式硬件·esp32·智能硬件·硬件
2501_9226395815 小时前
率能半导体 SS6628E直流双向马达驱动芯片:20V/7A,覆盖电子锁、玩具、无线充电、机器人四大应用场景
单片机·嵌入式硬件·硬件工程
硅基造物主15 小时前
STM32 从 0 到 1 做智能家居(五):工程结构与代码骨架
stm32·单片机·嵌入式硬件·智能家居
深圳老胡15 小时前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节