单片机扩展触摸屏人机接口的应用实例
发布时间:2008/6/3 0:00:00 访问次数:710
摘要:本文介绍了四线电阻式触摸屏控制器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转换之间掉电,
摘要:本文介绍了四线电阻式触摸屏控制器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转换之间掉电,
上一篇:新型LCD驱动器推动移动电视发展