如何使用单片机去驱动控制触摸屏

如何使用单片机去驱动控制触摸屏,第1张

 触摸屏是目前最简单、方便、自然的而且又适用于中国多媒体信息查询国情的输入设备,它具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。触摸屏技术被认为是未来人机交互科技的主流方向之一,相关的产业及其产品的应用也正在成为一个热点。但是传统的触摸屏因为成本比较高而难以适用到更广泛的工业控制设备中,目前武汉谷鑫科技的触摸屏设计方案而能够很好的解决这个难题,利用触摸屏、单片机和液晶屏搭建了一个人机界面系统。

在用C8051F020实现对TFT6448BS-5.7的控制过程中,采用总线方式进行控制。因为TFT6448BS-5.7液晶控制器自带有锁存功能,所以在使用总线方式进行控制时并不需要外加锁存芯片,只须使用单片机C8051F020的P0、P2、P3口就可以实现。在系统加电之前,由于C8051F020的典型工作电压为3.3V,TFT6448BS-5.7的工作电压是5V,对P0、P2、P3口相应连接管脚进行驱动能力扩展根据控制需求,通过P0、P2、P3端口寄存器,将相应端口的引脚配置成漏极输出方式。将P3口配置成为数据/地址输出口,输出地址时,其为地址总线的低八位,P2口提供高位地址传输数据时,其为8位数据总线口。系统加电后,使得TFT6448BS-5.7的片选信号/CS有效,通过往TFT6448BS-5.7的相应行、列、控制、数据寄存器中写入数据,即可用C8051F020芯片实现对TFT6448BS-5.7的控制,从而实现彩色液晶的显示控制。

该触摸屏硬件接口电路的具体工作过程如下:

1、如图2所示电路,连接好线路,给电源输入端、参考基准电压端接入3.3V的直流电源

2、结合软件编程对AD0进行初始化,系统处于休眠状态时,软件开中断,截止PNP1、PNP2、NPN1,饱和导通NPN2

3、等待触摸屏被触摸

4、若触摸屏上发生触摸,进入中断服务程序,关掉外部中断,进行短暂延时以消除外界抖动。通过判断中断输入口P0.0的电平变化,确定抖动是否结束。通过软件截止PNP2、NPN2,饱和导通PNP1、NPN1,选择模数转换通道AIN0.0,采集触摸点的X方向坐标值,延时等待转换结束,移出转换结果电极电压切换,通过软件置位,截止PNP1、NPN1,饱和导通PNP2、NPN2,选择模数转换通道AIN0.1,采集触摸点的Y方向坐标值,延时等待转换结束,移出转换结果

5、通过将采集到的X和Y坐标值与设定的按键边界值进行比较,若比较结果为真,则切换到相应的子页面,否则,重新开中断,并返回主程序

6、触摸屏硬件接口电路工作过程重新回到步骤3,继续等待下一次触摸。

虚空古示人(){

TMOD = 0x59

TCON = 0×00

TH1 = 0x3C符号

TL1 = 0XAF

TH0 = 0

TL0 = 0

TR0 = 1

TR1 = 1

ET1 = 1

ET0 = 0

EA = 1

}

无效时间0/1/2()中断3

{

一个++

//这个调用根据您的电路图显示程序的书面程序

}

无效时间1()中断1

{

B ++如果

(二== 20){

/调用用于显示时间的子程序的数目的变量增加提高

B = 0

}

TH1 = 0x3C符号

TL0 = 0XAF

}

此时上面的计算是错误的,因为中断优先级

不够精确,那么调整TH1 TL1的值

但是,当开关松开的时候,K恢复到高电平,IF语句应该是不执行的。

这句话是对的。

无论按键如何 *** 作,灯始终处于点亮状态。这句话有问题。

你的按键能有什么 *** 作,不过就是按下去吗,松开吗,还有吗?

按下去,K=0,执行led=0灯亮啊。

你想要灯灭吗?那得有一行是:led=1那灯才能灭的,可程序中并没有这一行啊。

所以,灯就一直亮的,只要按过一次,led=0以后将永远为0,灯永远亮的。

你提问的标题有(while语句),可程序中并没有用的,这标题不符啊。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8109911.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存