中国触摸屏网
首页
触摸屏
一体机
触摸显示器
供求商机
产品展示
厂商资料
资讯中心
触摸软件
触摸论坛
触摸屏资讯 | 触控一体机 | 触摸屏屏幕 | 触摸屏机柜 | 触摸显示器 | 触摸控制器 | 自助终端 | 呼叫系统 | 触摸屏软件| 全国经销商
触摸屏外设 | 考勤排队机 | 触摸屏新品 | 解决之方案 | 选购与维护 | 驱动与软件 | 数字城市 | POS 系统 |LED电子大屏| 触摸屏论坛
导航: 首页 >> 选购与维护 >> 触摸屏技术 >> 正文 全国触摸屏销售热线:(点击查看)
全国触摸屏经销商 全国触摸屏经销商
·广东广州 ·广东深圳
·福建福州 ·福建厦门
·福建泉州 ·湖南长沙
·江西南昌 ·上 海 市
·江苏南京 ·江苏苏州
·北 京 市 ·山西太原
·山东济南 ·四川成都
·重 庆 市 ·云南昆明
·>>> 经销商加入指南
·>>> 经销商加入指南
单片机扩展触摸屏人机接口的应用实例  
单片机扩展触摸屏人机接口的应用实例
副标题:单片机扩展触摸屏人机接口的应用实例
日期:2007-8-6 22:36:32     来源:电子产品世界   编辑: 

摘要: 本文介绍了四线电阻式触摸屏控制器BBADS7843与AVR单片机Atmega128的硬件连接和驱动程序设计。

关键词: 触摸屏;ADS7843

触摸屏

如图1,典型触摸屏的工作部分一般由三部分组成:两层透明的阻性导体层、两层导体之间的隔离层、电极。阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。隔离层为粘性绝缘液体材料,如聚脂薄膜。电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。

图1  触摸屏

触摸屏工作时,上下导体层相当于电阻网络。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。比如,在顶层的电极(X+,X-)上加上电压,则在顶层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在底层就可以测得接触点处的电压,再根据该电压与电极(X+)之间的距离关系,知道该处的X坐标。然后,将电压切换到底层电极(Y+,Y-)上,并在顶层测量接触点处的电压,从而知道Y坐标。四线制电阻触摸屏也是目前最常用的触摸屏产品。本系统中选用AMT9502。
  
触摸屏控制器硬件设计

Atmega128 单片机是Atmel公司的8位RISC单片机,片内有128Kflash、4K RAM、4K EEPROM、两个可编程的USART、1个可工作在主机/从机的SPI串行接口。此外还有丰富的I/O接口,8通道10位分辨率ADC转换器等硬件资源。

单片机最小系统设计如图2所示。低电压版本的 Atmega 128支持3.3V、5V两种供电电压,本系统采用5V供电,便于供电电压统一。晶振采用常规直插晶振7.373800M,选用标准晶振的目的主要是为了提高USART通讯波特率的准确性,使单片机能够使用于比较高的通讯波特率。复位电路采用常规的RC复位,没有使用特殊的复位器件,Atmega 128已经内置了看门狗,并且可以通过编程使看门狗在程序启动前启动,即上电后程序启动前,看门狗已经启动,这样系统的可靠性可以得到保证,看门狗最高分频系数是2048K,最小分频系统是16K。系统中PB0(SS)已经直接接到+5V,这样硬件配置了单片机为主机,下面所有外挂的均为从机,本系统外挂只有一个就是ADS7843。单片机和触摸屏控制器连接如图3所示,PB1(CLK) 为SPI时钟,PB2(MOSI)为SPI主机输出从机输入, PB3(MISO)SPI主机输入从机输出。这三根线为SPI总线。

图2 单片机最小系统图


图3 单片机和触摸屏控制器连接图

ADS7843是TI公司的触摸屏控制器芯片 专门应用于四线电阻式触摸屏,最高达到125K的转换率 8位或者12位可编程精度。外部参考电压范围从1V到VCC均可,VCC最高电压为5V,高速低功耗使得ADS7843非常适合于使用电阻触摸屏的手持设备。宽温度设计使得它很适用于大量的工业现场。

ADS7843连接触摸屏的示意图如图4所示。


图4 ADS7843和触摸屏连接图

触摸屏是一个四线电阻屏幕,可以示意出两个电阻,测量X方向的时候,将X+,X-之间加上参考电压Vref,Y-断开,Y+作为A/D输入,进行A/D转换获得X方向的电压,同理测量Y方向的时候,将Y+,Y-之间加上参考电压Vref,X-断开,X+作为A/D输入,进行A/D转换获得Y方向的电压,之后再完成电压与坐标的换算。整个过程类似一个电位器,触摸不同的位置分得不同的电压。

以上所需要的加参考电压断开A/D转换等工作都是ADS7843直接完成的,只需要将相应的命令传输到ADS7843即可,等待转换周期完成,检测到BUSY信号不再忙,即可以获得相应电压的数据。

此外PENIRQ一般需要一个上拉电阻,因为ADS7843是一个OC门输出结构,本系统中直接使用Atmega 128内部的上拉电阻。单片机中断系统中将INT0分配给触摸屏控制器,并且设定成低电平触发,这样可以检测按键时间,可以用按键长短处理不同的功能。

触摸屏控制器驱动程序

驱动程序的编写与硬件的设计是直接相关,驱动程序是以上面所设计的硬件为基础的。
表1 ADS7843的控制字及数据传输格式

根据ADS7843的Datasheet,ADS7843的控制字及数据传输格式如表1。其中S为数据传输起始标志位,该位必为“1”。A2~A0进行通道选择。MODE用来选择A/D转换的精度,“1”选择8位,“0”选择12位。SER/选择参考电压的输入模式。PD1、PD0选择省电模式:“00”省电模式允许,在两次A/D转换之间掉电,且中断允许;“01”同“00”,只是不允许中断;“10”保留;“11”禁止省电模式。
为了完成一次电极电压切换和A/D转换,需要先通过串口往ADS7843发送控制字,转换完成后再通过串口读出电压转换值。标准的一次转换需要24个时钟周期。由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期。如果条件允许,CPU可以产生15个CLK的话(比如FPGA和ASIC),转换速率还可以提高到每次15个时钟周期。
所以我们选择控制字 :

0x94-----X+输入得到Y AD值    0xe4----Y+输入得到X AD值
SPI初始化程序:
void spi_init(void)
{
 SPCR = 0x53; //setup SPI
 SPSR = 0x00; //setup SPI
}
SPI主机传输函数:
void SPI_MasterTransmit(char cData)
{
SPDR = cData; /* 启动数据传输 */
while(!(SPSR & (1<<SPIF))); /*等待传输
  结束*/
}
读取ADS7843的模拟量值;
unsigned int Get_Touch_Ad(unsigned char
  channel)
{
unsigned int ad_tem;            
SPI_MasterTransmit(channel);//发送控制字
if(PING&&0x08==0)  ;      //判断busy
delayms(1);
SPI_MasterTransmit(0);
delayms(1);              //等待发送完毕 
ad_tem=SPDR;
ad_tem=ad_tem<<8;
SPI_MasterTransmit(0);       //启动spi传送
delayms(1);    //等待发送完毕  
 ad_tem|=SPDR;
ad_tem=ad_tem>>4;
return(ad_tem);  //返回的参数
}

不同的用户还需根据自己设计的系统,做一个简单的四点校正程序,这样可以获得一个精确度较高的触摸屏坐标体系。

结语

本系统已经在国家重点建设项目扬州二电厂工程2×600MW发电机组的自动化设备中得到应用,共使用了64套,运行一年以来使用情况良好。

参考文献:

1.  金春林等编著,AVR单片机C语言编程实例,清华大学出版社
2.  BBADS7843 Datasheet,www.ti.com

对这篇文章您有更多的想法? 请去论坛发表意见吧   
“单片机扩展触摸屏人机接口的应用实例” 的相关新闻
触摸屏及相关厂家
广东洪毅触摸设备
台湾嵩达光电科技
广东深越光电技术
台湾理义科技股份
北京联控兴业科技
台湾宇宙光电股份
3M中国触控系统部
南京华睿川电子科技
>> 触摸屏相关厂商加入
站内搜索 站内搜索
软件开发 软件开发
Toucher2.2在线演示
时代广场软件首页
荣威触摸屏查询软件首页
眉山经济贸易委员会软件首页
推荐新闻 推荐新闻
友达、华映将推新品,电
触摸屏浏览器Toucher V4
触控屏技术能否开启手机
专门为零售商开发的触摸
触摸屏浏览器Toucher触摸
在便携设备中应用电容式
KTV市场触摸屏 又掀娱乐
加入收藏网站地图友情链接联系我们  |  广告联系全国销售网络
    网站广告、经销商加盟、触摸屏软件销售:028-87439508 13183843395 028-66219290 联系人:张小姐 传真:028-87439508 全国各地经销商如下:
   广 州   020-87599875 深 圳   0755-21949677 福 州   0591-87818596 厦 门   0592-5615268 泉 州   0595-88150378
   湖 南   15863470449 江 西   0791-6283683 上 海   13916222245 南 京   025-83610010 苏 州   0512-65581867
   北 京   010-62631382 山 西   0351-8390152 济 南   13396407999 四 川   028-81934978 重 庆   023-68609756
   云 南   0871-5109466 其 他… 028-87439508   >>> 经销商加入指南    
电子邮件: 51touch(A)126.com 请将地址中的"(A)"改成"@",避免垃圾邮件出此下策,望谅
版权所有 Copyright© 2003-2008 中国触摸屏网 地址:成都市晋吉南路146号 电话:028-87439508  13183843395  028-66219290

在线咨询QQ: 

触摸屏、触摸屏软件、触控一体机咨询 43361182 触摸屏、触摸屏软件、触控一体机咨询 893008608 MSN 帐号:touch8(A)gmail.com 将"(A)"改成"@"即可