当前位置:首页 > 单片机 > 单片机
[导读]触摸屏工作原理:四线电阻屏结构,是在玻璃或丙稀酸基板上覆盖两层均匀导电的ITO层,分别作为x电极和y电极,他们之间由均匀排列的透明格点分来绝缘。X电极和y电极的正负端由导电线(黑色粗体线)从两端引出,引出x-,

触摸屏工作原理:


四线电阻屏结构,是在玻璃或丙稀酸基板上覆盖两层均匀导电的ITO层,分别作为x电极和y电极,他们之间由均匀排列的透明格点分来绝缘。X电极和y电极的正负端由导电线(黑色粗体线)从两端引出,引出x-,x+,y-,y+.

当接触触摸屏表面并施加压力时,上层的ITO导电层和下层的ITO导电层发生接触,形成上面右图的等效电路。

1.y坐标计算:

在y+加驱动电压V-drive,y-接地。X+作为引出端测量接触点的电压,由于ITO层均匀导电,触电电压与V-drive电压之比等于Y坐标与屏高度之比。

2.x坐标计算:

在x+加驱动电压V-drive电压,x-接地。Y+作为引出端测量接触点的电压,由于ITO层均匀导电,触点电压与V-drive电压比等于x坐标与屏宽度之比。

y=Vx/V-driv *heightx=Vy/ V-driv * width

触摸屏工作流程(理解好这几步流程,代码至少能看懂30%)

1.设置触摸屏接口为等待中断模式,等待触摸屏被按下。

2.如果中断(INT_TC)发生,选择X,Y坐标转换模式(x/y坐标分别转换模式,x/y坐标自动转换),启动AD转换。

3.当AD转换完后,通过中断(INT_ADC),获取x/y坐标,

ADCDAT0 bit[9:0]-x坐标;

ADCDAT1 bit[9:0]-y坐标;

4.设置触摸屏接口为等待中断模式,等待触摸笔离开触摸屏。

5.返回步骤1,等待下次触摸笔被按下。


#defineGLOBAL_CLK1

#include

#include

#include"def.h"

#include"option.h"

#include"2440addr.h"

#include"2440lib.h"

#include"2440slib.h"

#include"mmu.h"

#include"profile.h"

#include"memtest.h"

#defineADC_FREQ2500000

//#defineADC_FREQ1250000

intcount=0;

volatileU32preScaler;

intxdata,ydata;

voidTest_Touchpanel(void);

staticvoid__irqAdcTsAuto(void);

staticvoidcal_cpu_bus_clk(void);

voidSet_Clk(void);

/*************************************************

Functionname:delay

Parameter:times

Description:延时函数

Return:void

Argument:void

Autor&date:Daniel

**************************************************/

voiddelay(inttimes)

{

inti,j;

for(i=0;i

for(j=0;j<400;j++);

}

/*************************************************

Functionname:Main

Parameter:void

Description:主功能函数

Return:void

Argument:void

Autor&date:Daniel

**************************************************/

intMain(void)

{

intScom=0;

MMU_Init();

Set_Clk();

Uart_Init(0,115200);

Uart_Select(Scom);

//Uart_Printf("nHelloWorld!n");

Test_Touchpanel();

while(1);

return0;

}

/*************************************************

Functionname:Test_Touchpanel

Parameter:void

Description:触摸屏初始化

Return:void

Argument:void

Autor&date:Daniel

**************************************************/

voidTest_Touchpanel(void)

{

rADCDLY=50000;//Normalconversionmodedelayabout(1/3.6864M)*50000=13.56ms

/*设置AD转频率*/

preScaler=ADC_FREQ;

Uart_Printf("ADCconv,freq.=%dHzn",preScaler);

preScaler=50000000/ADC_FREQ-1;//PCLK=50M

rADCCON=(1<<14)|(preScaler<<6);//ADCPRSEn,PRSCVL

//rADCCON=(1<<14)+(preScaler<<6);//ADCPRSEn,ADCPRSValue

Uart_Printf("ADCtouchscreentestn");

/*设置触摸屏为等待中断模式,等待触摸笔被按下*/

rADCTSC=0xd3;//Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En

/*clearirq*/

//ClearPending(BIT_ADC);

rSRCPND=0x80000000;

rINTPND=0x80000000;

ClearSubPending(BIT_SUB_TC);

pISR_ADC=(U32)AdcTsAuto;

/*enableINT_TCirq*/

//EnableIrq(BIT_ADC);

rINTMSK=0x7fffffff;//允许中断

EnableSubIrq(BIT_SUB_TC);

}

/*************************************************

Functionname:AdcTsAuto

Parameter:void

Description:中断服务程序

Return:void

Argument:void

Autor&date:Daniel

**************************************************/

staticvoid__irqAdcTsAuto(void)

{

U32saveAdcdly;

/****************stylus down************************/

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

系统设计师通常侧重于为应用选择最合适的数据转换器,在向数据转换器提供输入的时钟发生器件的选择上往往少有考虑。然而,如果不慎重考虑时钟发生器、相位噪声和抖动性能,数据转换器、动态范围和线性度性能可能受到严重的影响。

关键字: 时钟发生器 adc

专注于引入新品并提供海量库存的电子元器件分销商贸泽电子 (Mouser Electronics) 即日起开始备货TI TLV915x运算放大器和ADS7128 12位模数转换器 (ADC)。

关键字: 贸泽 adc 模数转换器

自然界产生的信号,都是模拟信号,比如我们说话的声音,看到的景色,感受到的温度、湿度、压力、流速、光、电、风及个人的呼吸、血压、体温、心跳、体重、血糖,体脂等等。这些模拟信号都得最终放在电脑,手机等数字领域进行处理,存储或...

关键字: adc 模拟信号

为增进大家对ADC的认识和了解,本文将基于两方面对ADC予以介绍:1.什么是并行ADC,并行ADC的基本原理是什么?2.流水线ADC与其它ADC有何区别。

关键字: adc 指数 流水线adc

ADC是电子电路中常用器件,大家对于ADC也较为熟悉。为增进大家对ADC的了解,本文将对高速ADC以及流水线ADC结构予以介绍。

关键字: adc 指数 流水线adc

ADC也即数模转换器,在现实中,ADC具备重要作用。对于ADC,电子相关专业的朋友想必相当熟悉。为增进大家对ADC的认识,本文将对管道ADC以及其原理予以介绍。

关键字: adc 指数 管道adc

设计人员有各种模数转换器(ADC)可以选择,数字数据输出类型是选择过程中需要考虑的一项重要参数。

关键字: 高速转换器 数字数据 adc

ADC包括三个基本功能:抽样、量化和编码。如何实现这三个功能,就决定了ADC的形式和性能。

关键字: 模数转换 adc

自然界产生的信号,都是模拟信号,比如我们说话的声音,看到的景色,感受到的温度、湿度、压力、流速、光、电、风及个人的呼吸、血压、体温、心跳、体重、血糖,体脂等。这些模拟信号都得最终放在电脑,手机等数字领域进行处理,存储或者...

关键字: adc 电源设计

在设计ADC电路时,一个常见的问题是“如何在过压条件下保护ADC输入”。那么,在过压情形中,可能出现哪些问题?发生的频率又是怎样的?有木有潜在的补救措施?

关键字: adc 电源设计
关闭