




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机扩展触摸屏人机接口的应用实例 本文介绍了四线电阻式触摸屏控制器BBADS7843与AVR单片机Atmega128的硬件连接和驱动程序设计。 触摸屏 如图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”。A2A0进行通道选择。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 SPISPSR = 0x00; /setup SPI SPI主机传输函数: void SPI_MasterTransmit(char cData) SPDR = cData; /* 启动数据传输 */ while(!(SPSR & (1SPIF); /*等待传输 结束*/ 读取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_tem4; return(ad_tem); /返回的参数 不同的用户还需根据自己设计的系统,做一个简单的四点校正程序,这样可以获得一个精确度较高的触摸屏坐标体系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州省民族研究院第十三届贵州人才博览会引进人才1人模拟试卷有完整答案详解
- 2025广东广州市中级人民法院招聘劳动合同制审判辅助人员考前自测高频考点模拟试题参考答案详解
- 2025年冀北博望电力产业管理(北京)有限公司高校毕业生招聘(第三批)考前自测高频考点模拟试题附答案详解(完整版)
- 2025年冀北博望电力产业管理(北京)有限公司高校毕业生招聘(第三批)模拟试卷及答案详解(有一套)
- 2025年温州永嘉县茗岙乡卫生院招聘劳务派遣人员1人模拟试卷有完整答案详解
- 2025年西安凤城医院招聘(21人)考前自测高频考点模拟试题及一套参考答案详解
- 易制毒安全教育培训课件
- 2025云南昆明地铁运营有限公司招聘笔试题库历年考点版附带答案详解
- 2025中国铁建投资集团有限公司海外人才公开招聘8人笔试题库历年考点版附带答案详解
- 美国旅游线路介绍
- 高三运动会课件
- 法语幼儿教学课件1
- 钩针课件教学课件
- 淮阳豆门乡消防安全培训课件
- 海上风电场安全培训课件
- 2025版CSCO非小细胞肺癌诊疗指南解读
- 红星照耀中国第九章课件
- GB/T 13090-2025饲料中六六六、滴滴涕的测定
- (2025)学法用法考试题及答案
- 青少年毒品预防教育-初中版
- 整改技术服务报价单
评论
0/150
提交评论