51单片机之SPT2046芯片使用

SPT2046芯片

image.png
简单介绍:
image.png

要读入的数据

控制位命令
image.png

  • 控制字节由 DIN输入的控制字如表 5 所示,它用来启动转换,寻址,设置 ADC 分辨率,配置和对 XPT2046 进行掉电控制。图 12、表 5 和表 6 给出控制字的各控制位的详细说明。
  • 起始位——第一位,即 S 位。控制字的首位必须是 1,即 S=1。在 XPT2046 的 DIN 引脚检测到起始位前,所有的输入将被忽略。
  • 地址——接下来的 3 位(A2、A1 和 A0)选择多路选择器的现行通道(见表 3、表 4 和图 6),触摸屏驱动和参考源输入。
  • MODE——模式选择位,用于设置 ADC的分辨率。MODE=0,下一次的转换将是 12 位模式;MODE=1,下一次的转换将是 8 位模式。
  • 补:
    在这里插入图片描述
  • PD0 和 PD1——表 5 展示了掉电和内部参考电压配置的关系。ADC 的内部参考电压可以单独关闭或者打开,但是,在转换前,需要额外的时间让内部参考电压稳定到最终稳定值;如果内部参考源处于掉电状态,还要确保有足够的唤醒时间。ADC 要求是即时使用,无唤醒时间的。另外还得注意,当 BUSY 是 高电平的时候,内部参考源禁止进入掉电模式。XPT2046 的通道改变后,如果要关闭参考源,则要重新对 XPT2046 写入命令。
    [外链图片转存失败(img-SPoaeCqQ-1568038191511)(https://i.loli.net/2019/09/09/duFGCcmEIriMs9P.png)]
    所以:
  • 如果要检测转换电位器模拟信号,控制字命令寄存器值为0X94或者0XB4.
  • 如果要检测转换热敏电阻模拟信号,控制字命令寄存器值为0XD4.
  • 如果要检测转换光敏电阻模拟信号,控制字命令寄存器值为0XA4.
  • 如果要检测转换AIN3通道上模拟信号,控制字命令寄存器值为0XE4.

这个狗屎代码找了我2小时bug,最可气的是虽然最后bug解决了但是莫名其妙消失的,我根本不知道为什么
代码如下:

//#include <REGX52.H>
#include<XPT2046.H>

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

uchar disp[4];
uchar code smgduan[10]={
   0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}
  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值