ai8051u驱动XPT2046 出现信号异常
软件spi定义//IO连接
/******* LCD *******/
#defineLCD_DataPortH P2 //高8位数据口,8位模式下只使用高8位
#defineLCD_DataPortL P3 //低8位数据口,8位模式下低8位可以不接线
sbit LCD_RS = P1^2; //数据/命令切换
sbit LCD_WR = P1^1; //写控制
sbit LCD_RD = P1^0; //读控制
sbit LCD_CS = P1^3; //片选
sbit LCD_RESET = P1^4; //复位
sbit LCD_BL=P1^5;
/******* Touch *******/
sbit DCLK = P1^6;
sbit TCS = P4^7;
sbit DIN = P1^7;
sbit DOUT = P1^5;
sbit Penirq = P5^1; //检测触摸屏响应信号
各个端口配置
//DCLK P1^6 推挽输出
//DIN P1^7 推挽输出 MOSI
//DOUT P1^5 高阻输入 MISO
//P16,P17口设置成高阻输出
//P15口设置成高阻输入
//P10 - P15口设置成推挽输出
P1M0 = 0xdf;
P1M1 = 0x20;
//TCS P4^7 推挽输出
//P47口设置成推挽输出
P4M0 = 0x80;
P4M1 = 0x00;
//Penirq P5^1 高阻输入
//P51口设置成高阻输入
P5M0 = 0x00;
P5M1 = 0x02;
烧入程序
Penirq(P51)出现异常波动
如果此时拔掉DCLK(P1^6)这时Penirq(P51)恢复正常
使用万用表测量DCLK与Penirq之间电阻为20k
实物展示
设备接线
异常触摸效果线条之间会有断触
示例代码
这毛刺,P51受干扰了吧,离其它信号线远点试试。
可以接个地线麻花一样均匀绞合在重要的信号线上,做成双绞线。
减少线距。
或者降低通讯频率试试
还不行的话立创上打个板吧~
页:
[1]