基于C8051F021和ADS7846的触摸屏系统设计
时间:11-04
来源:互联网
点击:
3 系统软件的设计与实现
ADS7846可通过片内模拟多路开关的切换,将X+/Y+端接VCC,将X-/Y-端接地,并将X+/Y+和X-/Y-以差分形式接到A/D转换器的输入端。这样,当点击触摸屏的不同位置时,输入到A/D转换器中的电压就不相同,然后再经A/D转换后,就可得到触点的输出值,该输出值与触点的位置成近似线性关系。ADS7846通过一般控制字来设置工作方式,其控制字如表1所列。
在表1中,S为数据传输起始标志位,该位必为“1”;A2~A0用于通道选择;MODE用来选择A/D转换精度: “1”选择8位, “0”选择12位;SER/DFR选择参考电压的输入模式;PD1、PD0选择省电模式: “00”为省电模式,可在两次A/D转换之间掉电,且允许中断,而“01”同“00”相似,但不允许中断; “10”为保留; “11”为禁止省电模式。
ADS7846与C8051F021之间通过标准的SPI接口相连。并由C8051F021启动3次SPI传送来完成转换。第1次SPI传送由 C8051F021向ADS7846发送控制字,含起始位、通道选择、8/12位模式选择、差分/单端选择和掉电模式选择;后两次SPI传送则是 C8051F021读取A/D转换后的结果数据,至此便完成了ADS7846和C8051F021之间的一次通信。其数据传送时序如图3所示。
本系统中的触摸屏应用流程图如图4所示。
在编程过程中,通常应该注意以下问题:
(1) C8051F021的初始化,一般还会包括显示模块的初始化等;
(2)DS7846的初始化,一般包括寄存器和笔中断的初始化等;
(3)防止抖动和连击,通常需要加入消抖子程序和延时子程序;
(4)减小测量误差,往往应采用多次测量并加入软件滤波子程序;
(5)触摸屏与液晶屏的坐标系不一致,还必须加入坐标变换子程序。
4 结束语
本文给出了一个基于C8051F021单片机和ADS7846触摸屏控制器的触摸屏控制系统的设计方法。讨论了在触摸屏控制系统开发过程中的若干软、硬件问题。在工程实际中,本系统经过多次测试,效果良好。
ADS7846可通过片内模拟多路开关的切换,将X+/Y+端接VCC,将X-/Y-端接地,并将X+/Y+和X-/Y-以差分形式接到A/D转换器的输入端。这样,当点击触摸屏的不同位置时,输入到A/D转换器中的电压就不相同,然后再经A/D转换后,就可得到触点的输出值,该输出值与触点的位置成近似线性关系。ADS7846通过一般控制字来设置工作方式,其控制字如表1所列。
在表1中,S为数据传输起始标志位,该位必为“1”;A2~A0用于通道选择;MODE用来选择A/D转换精度: “1”选择8位, “0”选择12位;SER/DFR选择参考电压的输入模式;PD1、PD0选择省电模式: “00”为省电模式,可在两次A/D转换之间掉电,且允许中断,而“01”同“00”相似,但不允许中断; “10”为保留; “11”为禁止省电模式。
ADS7846与C8051F021之间通过标准的SPI接口相连。并由C8051F021启动3次SPI传送来完成转换。第1次SPI传送由 C8051F021向ADS7846发送控制字,含起始位、通道选择、8/12位模式选择、差分/单端选择和掉电模式选择;后两次SPI传送则是 C8051F021读取A/D转换后的结果数据,至此便完成了ADS7846和C8051F021之间的一次通信。其数据传送时序如图3所示。
本系统中的触摸屏应用流程图如图4所示。
在编程过程中,通常应该注意以下问题:
(1) C8051F021的初始化,一般还会包括显示模块的初始化等;
(2)DS7846的初始化,一般包括寄存器和笔中断的初始化等;
(3)防止抖动和连击,通常需要加入消抖子程序和延时子程序;
(4)减小测量误差,往往应采用多次测量并加入软件滤波子程序;
(5)触摸屏与液晶屏的坐标系不一致,还必须加入坐标变换子程序。
4 结束语
本文给出了一个基于C8051F021单片机和ADS7846触摸屏控制器的触摸屏控制系统的设计方法。讨论了在触摸屏控制系统开发过程中的若干软、硬件问题。在工程实际中,本系统经过多次测试,效果良好。
电子 触摸屏 嵌入式 单片机 电阻 电容 红外 电压 传感器 总线 ADC MCU DAC 振荡器 看门狗 温度传感器 电路 相关文章:
- 利用蓝牙技术和远程信息控制单元实现汽车诊断(11-13)
- 六大特点助CMOS图像传感器席卷医疗电子应用(11-13)
- 汽车网络的分类及发展趋向(11-13)
- 多核嵌入式处理技术推动汽车技术发展(11-18)
- CAN总线的客车轻便换档系统设计与实现(02-13)
- 高性能嵌入式ARM MPU在医疗电子系统中的设计应用(05-12)